From 3dc211d546e4da852095dfa7da46629882598be6 Mon Sep 17 00:00:00 2001 From: Paul Cancel <paul.cancel.etu@univ-lille.fr> Date: Thu, 23 Jan 2025 11:55:29 +0100 Subject: [PATCH] RestController correctif --- .../controller/MeetingRestController.java | 18 ++++++++++-------- .../meetingplannr/security/Security.java | 3 ++- 2 files changed, 12 insertions(+), 9 deletions(-) diff --git a/src/main/java/fr/but/infoetu/meetingplannr/controller/MeetingRestController.java b/src/main/java/fr/but/infoetu/meetingplannr/controller/MeetingRestController.java index aaa0289..ddc36fc 100644 --- a/src/main/java/fr/but/infoetu/meetingplannr/controller/MeetingRestController.java +++ b/src/main/java/fr/but/infoetu/meetingplannr/controller/MeetingRestController.java @@ -11,11 +11,13 @@ import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RequestMapping; import fr.but.infoetu.meetingplannr.pojo.Meeting; +import fr.but.infoetu.meetingplannr.pojo.User; import fr.but.infoetu.meetingplannr.repository.MeetingRepository; import fr.but.infoetu.meetingplannr.repository.UserRepository; import java.time.LocalDate; import java.util.List; +import java.util.Optional; import org.springframework.http.MediaType; import org.springframework.http.ResponseEntity; @@ -37,20 +39,22 @@ public class MeetingRestController { try { List<Meeting> meetings = meetingRepository.findByRequestDate(date); return ResponseEntity.ok() - .contentType(MediaType.APPLICATION_JSON) - .body(meetings); + .contentType(MediaType.APPLICATION_JSON) + .body(meetings != null ? meetings : List.of()); } catch (Exception e) { return ResponseEntity.badRequest().build(); } } @GetMapping("/myappointments/{username}") - public ResponseEntity<?> getFutureMeetingsByName(@PathVariable String username) { + public ResponseEntity<List<Meeting>> getFutureMeetingsByName(@PathVariable String username) { try { - var user = userRepository.findByUsername(username); + Optional<User> user = userRepository.findByUsername(username); if (user.isEmpty()) { - return ResponseEntity.notFound().build(); + return ResponseEntity.ok() + .contentType(MediaType.APPLICATION_JSON) + .body(List.of()); } List<Meeting> meetings = meetingRepository @@ -64,9 +68,7 @@ public class MeetingRestController { .body(meetings); } catch (Exception e) { - return ResponseEntity - .status(HttpStatus.INTERNAL_SERVER_ERROR) - .body("Error retrieving meetings: " + e.getMessage()); + return ResponseEntity.badRequest().build(); } } } diff --git a/src/main/java/fr/but/infoetu/meetingplannr/security/Security.java b/src/main/java/fr/but/infoetu/meetingplannr/security/Security.java index e593c5a..e97bc2b 100644 --- a/src/main/java/fr/but/infoetu/meetingplannr/security/Security.java +++ b/src/main/java/fr/but/infoetu/meetingplannr/security/Security.java @@ -72,7 +72,8 @@ public class Security { .requestMatchers(mvc.pattern("/public/**"), mvc.pattern("styles/**"), mvc.pattern("/common/**"), - mvc.pattern("/uploads/**")).permitAll() + mvc.pattern("/uploads/**"), + mvc.pattern("/api/**")).permitAll() .requestMatchers(mvc.pattern("/perform_login")).permitAll() .requestMatchers(mvc.pattern("/user/**")).authenticated() .requestMatchers(mvc.pattern("/admin/**")).hasRole("ADMIN") -- GitLab