package io.gmss.fiscad.interfaces.infocad.parametre;

import io.gmss.fiscad.entities.infocad.parametre.PositionRepresentation;
import io.gmss.fiscad.exceptions.BadRequestException;
import io.gmss.fiscad.exceptions.NotFoundException;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;

import java.util.List;
import java.util.Optional;

public interface PositionRepresentationService {

    PositionRepresentation createPositionRepresentation(PositionRepresentation positionRepresentation) throws BadRequestException;

    PositionRepresentation updatePositionRepresentation(Long id, PositionRepresentation positionRepresentation) throws NotFoundException;

    void deletePositionRepresentation(Long id) throws NotFoundException;

    Page<PositionRepresentation> getPositionRepresentationList(Pageable pageable);

    List<PositionRepresentation> getPositionRepresentationList();

    Optional<PositionRepresentation> getPositionRepresentationById(Long id);
}
