package io.gmss.fiscad.interfaces.decoupage;

import io.gmss.fiscad.entities.decoupage.Arrondissement;
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 ArrondissementService {

    Arrondissement createArrondissement(Arrondissement arrondissement) throws BadRequestException;

    Arrondissement updateArrondissement(Long id, Arrondissement arrondissement) throws NotFoundException;

    void deleteArrondissement(Long id) throws NotFoundException;

    Page<Arrondissement> getArrondissementList(Pageable pageable);

    List<Arrondissement> getArrondissementList();

    Optional<Arrondissement> getArrondissementById(Long id);

    List<Arrondissement> getArrondissementByComune(Long communeId);
}
