From e66fa3357784a3f26d7ea9f66d60f143fc4d9814 Mon Sep 17 00:00:00 2001 From: Pierre Tellier Date: Wed, 26 Feb 2025 10:32:44 +0100 Subject: [PATCH] feat: added a new database service --- ...ectController.java => ProjectService.java} | 30 ++++++++++--------- 1 file changed, 16 insertions(+), 14 deletions(-) rename MyINPulse-back/src/main/java/enseirb/myinpulse/service/database/{old_controllers_to_convert_to_services/ProjectController.java => ProjectService.java} (72%) diff --git a/MyINPulse-back/src/main/java/enseirb/myinpulse/service/database/old_controllers_to_convert_to_services/ProjectController.java b/MyINPulse-back/src/main/java/enseirb/myinpulse/service/database/ProjectService.java similarity index 72% rename from MyINPulse-back/src/main/java/enseirb/myinpulse/service/database/old_controllers_to_convert_to_services/ProjectController.java rename to MyINPulse-back/src/main/java/enseirb/myinpulse/service/database/ProjectService.java index ffbc8e4..c697a64 100644 --- a/MyINPulse-back/src/main/java/enseirb/myinpulse/service/database/old_controllers_to_convert_to_services/ProjectController.java +++ b/MyINPulse-back/src/main/java/enseirb/myinpulse/service/database/ProjectService.java @@ -1,29 +1,32 @@ -package enseirb.myinpulse.service.database.old_controllers_to_convert_to_services; +package enseirb.myinpulse.service.database; import enseirb.myinpulse.model.Project; import enseirb.myinpulse.repository.ProjectRepository; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; -import org.springframework.web.bind.annotation.*; +import org.springframework.stereotype.Service; import org.springframework.web.server.ResponseStatusException; import java.time.LocalDate; import java.util.Optional; -@RestController -public class ProjectController { +@Service +public class ProjectService { - @Autowired ProjectRepository projectRepository; + private final ProjectRepository projectRepository; - @GetMapping("/Project") - @ResponseBody - public Iterable allProjects() { + @Autowired + ProjectService(ProjectRepository projectRepository) { + this.projectRepository = projectRepository; + } + + public Iterable getAllProjects() { return this.projectRepository.findAll(); } - @GetMapping("/Project/{id}") - public Project getProjectById(@PathVariable Long id) { + // TODO: change error + public Project getProjectById(Long id) { Optional project = this.projectRepository.findById(id); if (project.isEmpty()) { throw new ResponseStatusException(HttpStatus.NOT_FOUND, "Ce projet n'existe pas"); @@ -31,14 +34,13 @@ public class ProjectController { return project.get(); } - @PostMapping("/Project") - public Project addProject(@RequestBody Project project) { + // TODO: validation + public Project addNewProject(Project project) { return this.projectRepository.save(project); } - @PostMapping("/Project/{id}") public Project updateProject( - @PathVariable Long id, + Long id, String projectName, byte[] logo, LocalDate creationDate,