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

import io.gmss.fiscad.entities.infocad.parametre.Personne;
import io.gmss.fiscad.exceptions.BadRequestException;
import io.gmss.fiscad.exceptions.NotFoundException;
import io.gmss.fiscad.paylaods.dto.PersonneCompletDTO;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;

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

public interface PersonneService {

    Personne createPersonne(Personne personne) throws BadRequestException;

    Personne updatePersonne(Long id, Personne personne) throws NotFoundException;

    void deletePersonne(Long id) throws NotFoundException;

    Page<Personne> getPersonneList(Pageable pageable);

    List<Personne> getPersonneList();

    Optional<Personne> getPersonneById(Long id);
    PersonneCompletDTO getPersonneComplete(Long id);
}
