package io.gmss.fiscad.interfaces.rfu.metier;

import io.gmss.fiscad.entities.rfu.metier.CaracteristiqueUniteLogement;
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 CaracteristiqueUniteLogementService {

    CaracteristiqueUniteLogement createCaracteristiqueUniteLogement(CaracteristiqueUniteLogement caracteristiqueUniteLogement) throws BadRequestException;

    CaracteristiqueUniteLogement updateCaracteristiqueUniteLogement(Long id, CaracteristiqueUniteLogement caracteristiqueUniteLogement) throws NotFoundException;

    void deleteCaracteristiqueUniteLogement(Long id) throws NotFoundException;

    Page<CaracteristiqueUniteLogement> getCaracteristiqueUniteLogementList(Pageable pageable);

    List<CaracteristiqueUniteLogement> getCaracteristiqueUniteLogementList();

    Optional<CaracteristiqueUniteLogement> getCaracteristiqueUniteLogementById(Long id);
}
