feat: frontend call now include the token and send the email from the token to backen servie
This commit is contained in:
		| @@ -5,6 +5,8 @@ import enseirb.myinpulse.service.AdminApiService; | ||||
|  | ||||
| import org.springframework.beans.factory.annotation.Autowired; | ||||
| import org.springframework.boot.autoconfigure.SpringBootApplication; | ||||
| import org.springframework.security.core.annotation.AuthenticationPrincipal; | ||||
| import org.springframework.security.oauth2.jwt.Jwt; | ||||
| import org.springframework.web.bind.annotation.*; | ||||
|  | ||||
| @SpringBootApplication | ||||
| @@ -24,8 +26,8 @@ public class AdminApi { | ||||
|      * @return a list of all project managed by the current admin user | ||||
|      */ | ||||
|     @GetMapping("/admin/projects") | ||||
|     public Iterable<Administrateurs> getProjects() { | ||||
|         return adminApiService.getProjects(); | ||||
|     public Iterable<Administrateurs> getProjects(@AuthenticationPrincipal Jwt principal) { | ||||
|         return adminApiService.getProjects(principal.getClaimAsString("email")); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
| @@ -34,8 +36,8 @@ public class AdminApi { | ||||
|      * @return a list of upcoming appointments for the current user | ||||
|      */ | ||||
|     @GetMapping("/admin/appointments/upcoming") | ||||
|     public Iterable<Appointment> getUpcomingAppointments() { | ||||
|         return adminApiService.getUpcomingAppointments(); | ||||
|     public Iterable<Appointment> getUpcomingAppointments(@AuthenticationPrincipal Jwt principal) { | ||||
|         return adminApiService.getUpcomingAppointments(principal.getClaimAsString("email")); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
| @@ -51,6 +53,8 @@ public class AdminApi { | ||||
|     /** | ||||
|      * Endpoint used to make a decision about a project. | ||||
|      * | ||||
|      * <p>The decision must contains the administrator | ||||
|      * | ||||
|      * @return the status code of the request | ||||
|      */ | ||||
|     @PostMapping("/admin/projects/decision") | ||||
| @@ -77,8 +81,11 @@ public class AdminApi { | ||||
|      */ | ||||
|     @PostMapping("/admin/appoitements/report/{appointmentId}") | ||||
|     public void createAppointmentReport( | ||||
|             @PathVariable String appointmentId, @RequestBody Report report) { | ||||
|         adminApiService.createAppointmentReport(appointmentId, report); | ||||
|             @PathVariable String appointmentId, | ||||
|             @RequestBody Report report, | ||||
|             @AuthenticationPrincipal Jwt principal) { | ||||
|         adminApiService.createAppointmentReport( | ||||
|                 appointmentId, report, principal.getClaimAsString("email")); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|   | ||||
| @@ -6,6 +6,8 @@ import enseirb.myinpulse.service.EntrepreneurApiService; | ||||
|  | ||||
| import org.springframework.beans.factory.annotation.Autowired; | ||||
| import org.springframework.boot.autoconfigure.SpringBootApplication; | ||||
| import org.springframework.security.core.annotation.AuthenticationPrincipal; | ||||
| import org.springframework.security.oauth2.jwt.Jwt; | ||||
| import org.springframework.web.bind.annotation.*; | ||||
|  | ||||
| @SpringBootApplication | ||||
| @@ -27,8 +29,12 @@ public class EntrepreneurApi { | ||||
|      * @return status code | ||||
|      */ | ||||
|     @PutMapping("/entrepreneur/lcsection/modify/{sectionId}") | ||||
|     public void editLCSection(@PathVariable String sectionId, @RequestBody LCSection section) { | ||||
|         entrepreneurApiService.editLCSection(sectionId, section); | ||||
|     public void editLCSection( | ||||
|             @PathVariable String sectionId, | ||||
|             @RequestBody LCSection section, | ||||
|             @AuthenticationPrincipal Jwt principal) { | ||||
|         entrepreneurApiService.editLCSection( | ||||
|                 sectionId, section, principal.getClaimAsString("email")); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
| @@ -39,8 +45,9 @@ public class EntrepreneurApi { | ||||
|      * @return status code | ||||
|      */ | ||||
|     @DeleteMapping("/entrepreneur/lcsection/remove/{sectionId}") | ||||
|     public void removeLCSection(@PathVariable String sectionId) { | ||||
|         entrepreneurApiService.removeLCSection(sectionId); | ||||
|     public void removeLCSection( | ||||
|             @PathVariable String sectionId, @AuthenticationPrincipal Jwt principal) { | ||||
|         entrepreneurApiService.removeLCSection(sectionId, principal.getClaimAsString("email")); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
| @@ -51,8 +58,12 @@ public class EntrepreneurApi { | ||||
|      * @return status code | ||||
|      */ | ||||
|     @PostMapping("/entrepreneur/lcsection/add/{sectionId}") | ||||
|     public void addLCSection(@PathVariable String sectionId, @RequestBody LCSection section) { | ||||
|         entrepreneurApiService.addLCSection(sectionId, section); | ||||
|     public void addLCSection( | ||||
|             @PathVariable String sectionId, | ||||
|             @RequestBody LCSection section, | ||||
|             @AuthenticationPrincipal Jwt principal) { | ||||
|         entrepreneurApiService.addLCSection( | ||||
|                 sectionId, section, principal.getClaimAsString("email")); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
| @@ -63,7 +74,8 @@ public class EntrepreneurApi { | ||||
|      * @return status code | ||||
|      */ | ||||
|     @PostMapping("/entrepreneur/project/request") | ||||
|     public void requestNewProject(@RequestBody Project project) { | ||||
|         entrepreneurApiService.requestNewProject(project); | ||||
|     public void requestNewProject( | ||||
|             @RequestBody Project project, @AuthenticationPrincipal Jwt principal) { | ||||
|         entrepreneurApiService.requestNewProject(project, principal.getClaimAsString("email")); | ||||
|     } | ||||
| } | ||||
|   | ||||
| @@ -8,6 +8,8 @@ import enseirb.myinpulse.service.SharedApiService; | ||||
|  | ||||
| import org.springframework.beans.factory.annotation.Autowired; | ||||
| import org.springframework.boot.autoconfigure.SpringBootApplication; | ||||
| import org.springframework.security.core.annotation.AuthenticationPrincipal; | ||||
| import org.springframework.security.oauth2.jwt.Jwt; | ||||
| import org.springframework.web.bind.annotation.*; | ||||
|  | ||||
| @SpringBootApplication | ||||
| @@ -34,8 +36,10 @@ public class SharedApi { | ||||
|     public Iterable<Sections> getLCSection( | ||||
|             @PathVariable("projectId") String projectId, | ||||
|             @PathVariable("title") String title, | ||||
|             @PathVariable("date") String date) { | ||||
|         return sharedApiService.getLCSection(projectId, title, date); | ||||
|             @PathVariable("date") String date, | ||||
|             @AuthenticationPrincipal Jwt principal) { | ||||
|         return sharedApiService.getLCSection( | ||||
|                 projectId, title, date, principal.getClaimAsString("email")); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
| @@ -44,34 +48,33 @@ public class SharedApi { | ||||
|      * @return a list of all entrepreneurs in a project | ||||
|      */ | ||||
|     @GetMapping("/shared/entrepreneurs/{projectId}") | ||||
|     public Iterable<Entrepreneurs> getEntrepreneursByProjectId(@PathVariable int projectId) { | ||||
|         return sharedApiService.getEntrepreneursByProjectId(projectId); | ||||
|     public Iterable<Entrepreneurs> getEntrepreneursByProjectId( | ||||
|             @PathVariable int projectId, @AuthenticationPrincipal Jwt principal) { | ||||
|         return sharedApiService.getEntrepreneursByProjectId( | ||||
|                 projectId, principal.getClaimAsString("email")); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * TODO: is it really useful for the admin ? We can already get all the project of the current | ||||
|      * administrator. | ||||
|      * | ||||
|      * <p>Endpoint used to get the administrator of a project. | ||||
|      * Endpoint used to get the administrator of a project. | ||||
|      * | ||||
|      * @return a list of all project managed by the current admin user | ||||
|      */ | ||||
|     @GetMapping("/shared/projects/admin/{projectId}") | ||||
|     public Iterable<Administrateurs> getAdminByProjectId(@PathVariable int projectId) { | ||||
|         return sharedApiService.getAdminByProjectId(projectId); | ||||
|     public Iterable<Administrateurs> getAdminByProjectId( | ||||
|             @PathVariable int projectId, @AuthenticationPrincipal Jwt principal) { | ||||
|         return sharedApiService.getAdminByProjectId(projectId, principal.getClaimAsString("email")); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * TODO: Should it really be all appointments? all future appointments ? a flag to choose \\ | ||||
|      * TODO: between both ? | ||||
|      * | ||||
|      * <p>Endpoint used to get all appointments of a single project. | ||||
|      * Endpoint used to get all appointments of a single project. | ||||
|      * | ||||
|      * @return a list of all appointments. | ||||
|      */ | ||||
|     @GetMapping("/shared/projects/appointments/{projectId}") | ||||
|     public Iterable<Appointment> getAppointmentsByProjectId(@PathVariable int projectId) { | ||||
|         return sharedApiService.getAppointmentsByProjectId(projectId); | ||||
|     public Iterable<Appointment> getAppointmentsByProjectId( | ||||
|             @PathVariable int projectId, @AuthenticationPrincipal Jwt principal) { | ||||
|         return sharedApiService.getAppointmentsByProjectId( | ||||
|                 projectId, principal.getClaimAsString("email")); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
| @@ -80,17 +83,17 @@ public class SharedApi { | ||||
|      * @return a PDF file? TODO: how does that works ? | ||||
|      */ | ||||
|     @GetMapping("/shared/projects/appointments/report/{appointmentId}") | ||||
|     public void getPDFReport(@PathVariable int appointmentId) { | ||||
|         sharedApiService.getPDFReport(appointmentId); | ||||
|     public void getPDFReport( | ||||
|             @PathVariable int appointmentId, @AuthenticationPrincipal Jwt principal) { | ||||
|         sharedApiService.getPDFReport(appointmentId, principal.getClaimAsString("email")); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * TODO | ||||
|      * | ||||
|      * @return TODO | ||||
|      */ | ||||
|     @PostMapping("/shared/appointment/request") | ||||
|     public void createAppointmentRequest(@RequestBody Appointment appointment) { | ||||
|         sharedApiService.createAppointmentRequest(appointment); | ||||
|     public void createAppointmentRequest( | ||||
|             @RequestBody Appointment appointment, @AuthenticationPrincipal Jwt principal) { | ||||
|         sharedApiService.createAppointmentRequest(appointment, principal.getClaimAsString("email")); | ||||
|     } | ||||
| } | ||||
|   | ||||
| @@ -10,12 +10,12 @@ import org.springframework.web.server.ResponseStatusException; | ||||
| @Service | ||||
| public class AdminApiService { | ||||
|     // TODO | ||||
|     public Iterable<Administrateurs> getProjects() { | ||||
|     public Iterable<Administrateurs> getProjects(String mail) { | ||||
|         throw new ResponseStatusException(HttpStatus.NOT_IMPLEMENTED, "Not implemented yet"); | ||||
|     } | ||||
|  | ||||
|     // TODO | ||||
|     public Iterable<Appointment> getUpcomingAppointments() { | ||||
|     public Iterable<Appointment> getUpcomingAppointments(String mail) { | ||||
|         throw new ResponseStatusException(HttpStatus.NOT_IMPLEMENTED, "Not implemented yet"); | ||||
|     } | ||||
|  | ||||
| @@ -35,7 +35,7 @@ public class AdminApiService { | ||||
|     } | ||||
|  | ||||
|     // TODO | ||||
|     public void createAppointmentReport(String appointmentId, Report report) { | ||||
|     public void createAppointmentReport(String appointmentId, Report report, String email) { | ||||
|         throw new ResponseStatusException(HttpStatus.NOT_IMPLEMENTED, "Not implemented yet"); | ||||
|     } | ||||
|  | ||||
|   | ||||
| @@ -11,19 +11,19 @@ import org.springframework.web.server.ResponseStatusException; | ||||
| @Service | ||||
| public class EntrepreneurApiService { | ||||
|  | ||||
|     public void editLCSection(String sectionId, LCSection section) { | ||||
|     public void editLCSection(String sectionId, LCSection section, String mail) { | ||||
|         throw new ResponseStatusException(HttpStatus.NOT_IMPLEMENTED, "Not implemented yet"); | ||||
|     } | ||||
|  | ||||
|     public void removeLCSection(String sectionId) { | ||||
|     public void removeLCSection(String sectionId, String mail) { | ||||
|         throw new ResponseStatusException(HttpStatus.NOT_IMPLEMENTED, "Not implemented yet"); | ||||
|     } | ||||
|  | ||||
|     public void addLCSection(String sectionId, LCSection section) { | ||||
|     public void addLCSection(String sectionId, LCSection section, String mail) { | ||||
|         throw new ResponseStatusException(HttpStatus.NOT_IMPLEMENTED, "Not implemented yet"); | ||||
|     } | ||||
|  | ||||
|     public void requestNewProject(Project project) { | ||||
|     public void requestNewProject(Project project, String mail) { | ||||
|         throw new ResponseStatusException(HttpStatus.NOT_IMPLEMENTED, "Not implemented yet"); | ||||
|     } | ||||
| } | ||||
|   | ||||
| @@ -9,28 +9,28 @@ import org.springframework.web.server.ResponseStatusException; | ||||
| @Service | ||||
| public class SharedApiService { | ||||
|  | ||||
|     public Iterable<Sections> getLCSection(String projectId, String title, String date) { | ||||
|  | ||||
|     public Iterable<Sections> getLCSection( | ||||
|             String projectId, String title, String date, String mail) { | ||||
|         throw new ResponseStatusException(HttpStatus.NOT_IMPLEMENTED, "Not implemented yet"); | ||||
|     } | ||||
|  | ||||
|     public Iterable<Entrepreneurs> getEntrepreneursByProjectId(int projectId) { | ||||
|     public Iterable<Entrepreneurs> getEntrepreneursByProjectId(int projectId, String mail) { | ||||
|         throw new ResponseStatusException(HttpStatus.NOT_IMPLEMENTED, "Not implemented yet"); | ||||
|     } | ||||
|  | ||||
|     public Iterable<Administrateurs> getAdminByProjectId(int projectId) { | ||||
|     public Iterable<Administrateurs> getAdminByProjectId(int projectId, String mail) { | ||||
|         throw new ResponseStatusException(HttpStatus.NOT_IMPLEMENTED, "Not implemented yet"); | ||||
|     } | ||||
|  | ||||
|     public Iterable<Appointment> getAppointmentsByProjectId(int projectId) { | ||||
|     public Iterable<Appointment> getAppointmentsByProjectId(int projectId, String mail) { | ||||
|         throw new ResponseStatusException(HttpStatus.NOT_IMPLEMENTED, "Not implemented yet"); | ||||
|     } | ||||
|  | ||||
|     public void getPDFReport(int appointmentId) { | ||||
|     public void getPDFReport(int appointmentId, String mail) { | ||||
|         throw new ResponseStatusException(HttpStatus.NOT_IMPLEMENTED, "Not implemented yet"); | ||||
|     } | ||||
|  | ||||
|     public void createAppointmentRequest(Appointment appointment) { | ||||
|     public void createAppointmentRequest(Appointment appointment, String mail) { | ||||
|         throw new ResponseStatusException(HttpStatus.NOT_IMPLEMENTED, "Not implemented yet"); | ||||
|     } | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user