50 lines
1.6 KiB
Java
50 lines
1.6 KiB
Java
package enseirb.myinpulse.service.database;
|
|
|
|
import enseirb.myinpulse.model.Administrator;
|
|
import enseirb.myinpulse.repository.AdministratorRepository;
|
|
|
|
import org.apache.logging.log4j.LogManager;
|
|
import org.apache.logging.log4j.Logger;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.http.HttpStatus;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.web.server.ResponseStatusException;
|
|
|
|
import java.util.Optional;
|
|
|
|
@Service
|
|
public class AdministratorService {
|
|
protected static final Logger logger = LogManager.getLogger();
|
|
|
|
private final AdministratorRepository administratorRepository;
|
|
|
|
@Autowired
|
|
AdministratorService(AdministratorRepository administratorRepository) {
|
|
this.administratorRepository = administratorRepository;
|
|
}
|
|
|
|
public Iterable<Administrator> allAdministrators() {
|
|
return this.administratorRepository.findAll();
|
|
}
|
|
|
|
public Administrator getAdministratorById(long id) {
|
|
Optional<Administrator> administrator = this.administratorRepository.findById(id);
|
|
if (administrator.isEmpty()) {
|
|
logger.error("No administrator found with id {}", id);
|
|
throw new ResponseStatusException(
|
|
HttpStatus.NOT_FOUND, "Cet administrateur n'existe pas");
|
|
}
|
|
return administrator.get();
|
|
}
|
|
|
|
public Administrator addAdministrator(Administrator administrator) {
|
|
return this.administratorRepository.save(administrator);
|
|
}
|
|
|
|
/*
|
|
public Administrator getAdministratorByProject(Project project) {
|
|
r
|
|
}
|
|
*/
|
|
}
|