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

import io.gmss.fiscad.entities.rfu.parametre.TypeCaracteristique;
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 TypeCaracteristiqueService {

    TypeCaracteristique createTypeCaracteristique(TypeCaracteristique typeCaracteristique) throws BadRequestException;

    TypeCaracteristique updateTypeCaracteristique(Long id, TypeCaracteristique typeCaracteristique) throws NotFoundException;

    void deleteTypeCaracteristique(Long id) throws NotFoundException;

    Page<TypeCaracteristique> getTypeCaracteristiqueList(Pageable pageable);

    List<TypeCaracteristique> getTypeCaracteristiqueList();

    Optional<TypeCaracteristique> getTypeCaracteristiqueById(Long id);
}
