Files
fiscad/src/main/java/io/gmss/fiscad/implementations/decoupage/SecteurDecoupageServiceImpl.java
2025-03-19 08:34:15 +01:00

67 lines
2.7 KiB
Java

package io.gmss.fiscad.implementations.decoupage;
import io.gmss.fiscad.entities.decoupage.SecteurDecoupage;
import io.gmss.fiscad.exceptions.BadRequestException;
import io.gmss.fiscad.exceptions.NotFoundException;
import io.gmss.fiscad.interfaces.decoupage.SecteurDecoupageService;
import io.gmss.fiscad.repositories.decoupage.SecteurDecoupageRepository;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Optional;
@Service
public class SecteurDecoupageServiceImpl implements SecteurDecoupageService {
private final SecteurDecoupageRepository secteurDecoupageRepository;
public SecteurDecoupageServiceImpl(SecteurDecoupageRepository secteurDecoupageRepository) {
this.secteurDecoupageRepository = secteurDecoupageRepository;
}
@Override
public SecteurDecoupage createSecteurDecoupage(SecteurDecoupage secteurDecoupage) throws BadRequestException {
if (secteurDecoupage.getId() != null) {
throw new BadRequestException("Impossible de créer un nouveau secteur découpage ayant un id non null.");
}
return secteurDecoupageRepository.save(secteurDecoupage);
}
@Override
public SecteurDecoupage updateSecteurDecoupage(Long id, SecteurDecoupage secteurDecoupage) throws NotFoundException {
if (secteurDecoupage.getId() == null) {
throw new BadRequestException("Impossible de mettre à jour un nouveau secteur découpage ayant un id null.");
}
if (!secteurDecoupageRepository.existsById(secteurDecoupage.getId())) {
throw new NotFoundException("Impossible de trouver le secteur découpage spécifié.");
}
return secteurDecoupageRepository.save(secteurDecoupage);
}
@Override
public void deleteSecteurDecoupage(Long id) throws NotFoundException {
Optional<SecteurDecoupage> secteurDecoupageOptional = secteurDecoupageRepository.findById(id);
if (secteurDecoupageOptional.isPresent()) {
secteurDecoupageRepository.deleteById(secteurDecoupageOptional.get().getId());
} else {
throw new NotFoundException("Impossible de trouver le secteur découpage spécifié.");
}
}
@Override
public Page<SecteurDecoupage> getSecteurDecoupageList(Pageable pageable) {
return secteurDecoupageRepository.findAll(pageable);
}
@Override
public List<SecteurDecoupage> getSecteurDecoupageList() {
return secteurDecoupageRepository.findAll();
}
@Override
public Optional<SecteurDecoupage> getSecteurDecoupageById(Long id) {
return secteurDecoupageRepository.findById(id);
}
}