74 lines
2.7 KiB
Java
74 lines
2.7 KiB
Java
package io.gmss.fiscad.implementations.decoupage;
|
|
|
|
import io.gmss.fiscad.entities.decoupage.Departement;
|
|
import io.gmss.fiscad.exceptions.BadRequestException;
|
|
import io.gmss.fiscad.exceptions.NotFoundException;
|
|
import io.gmss.fiscad.interfaces.decoupage.DepartementService;
|
|
import io.gmss.fiscad.repositories.decoupage.DepartementRepository;
|
|
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 DepartementServiceImpl implements DepartementService {
|
|
|
|
private final DepartementRepository departementRepository;
|
|
|
|
public DepartementServiceImpl(DepartementRepository departementRepository) {
|
|
this.departementRepository = departementRepository;
|
|
}
|
|
|
|
@Override
|
|
public Departement createDepartement(Departement departement) throws BadRequestException {
|
|
if (departement.getId() != null) {
|
|
throw new BadRequestException("Impossible de créer un nouveau département ayant un id non null.");
|
|
}
|
|
return departementRepository.save(departement);
|
|
}
|
|
|
|
@Override
|
|
public Departement updateDepartement(Long id, Departement departement) throws NotFoundException {
|
|
if (departement.getId() == null) {
|
|
throw new BadRequestException("Impossible de mettre à jour un nouveau département ayant un id null.");
|
|
}
|
|
if (!departementRepository.existsById(departement.getId())) {
|
|
throw new NotFoundException("Impossible de trouver le département spécifié dans notre base de données.");
|
|
}
|
|
return departementRepository.save(departement);
|
|
}
|
|
|
|
@Override
|
|
public void deleteDepartement(Long id) throws NotFoundException {
|
|
Optional<Departement> departementOptional = departementRepository.findById(id);
|
|
if (departementOptional.isPresent()) {
|
|
departementRepository.deleteById(departementOptional.get().getId());
|
|
} else {
|
|
throw new NotFoundException("Impossible de trouver le département spécifié dans notre base de données.");
|
|
}
|
|
}
|
|
|
|
@Override
|
|
public Page<Departement> getDepartementList(Pageable pageable) {
|
|
return departementRepository.findAll(pageable);
|
|
}
|
|
|
|
@Override
|
|
public List<Departement> getDepartementList() {
|
|
return departementRepository.findAll();
|
|
}
|
|
|
|
|
|
@Override
|
|
public Optional<Departement> getDepartementById(Long id) {
|
|
if (departementRepository.existsById(id)) {
|
|
return departementRepository.findById(id);
|
|
} else {
|
|
throw new NotFoundException("Impossible de trouver le département spécifié dans la base de données.");
|
|
}
|
|
|
|
}
|
|
}
|