From dc814d4a7bb9313fd1883c2b3e1c01a4f7f39d18 Mon Sep 17 00:00:00 2001 From: Alexis Leboeuf Date: Fri, 9 Jan 2026 08:27:52 +0100 Subject: [PATCH] Addd user retrieval if exists on creation for Coach and Athlete --- .../src/main/java/hackathon/FrisbYEE/rest/AthleteResource.java | 3 +++ .../src/main/java/hackathon/FrisbYEE/rest/CoachResource.java | 3 +++ 2 files changed, 6 insertions(+) diff --git a/back_end/src/main/java/hackathon/FrisbYEE/rest/AthleteResource.java b/back_end/src/main/java/hackathon/FrisbYEE/rest/AthleteResource.java index 339bb05..2ea0c44 100644 --- a/back_end/src/main/java/hackathon/FrisbYEE/rest/AthleteResource.java +++ b/back_end/src/main/java/hackathon/FrisbYEE/rest/AthleteResource.java @@ -51,6 +51,9 @@ public class AthleteResource { @PreAuthorize("hasRole('admin') or hasRole('coach') or hasRole('athlete')") public ResponseEntity create(@RequestBody AthleteDTO dto) { Athlete athlete = mapToEntity(dto); + if(athleteDAO.existsByKeycloakId(athlete.getKeycloakId())) { + return ResponseEntity.status(HttpStatus.CONFLICT).body(mapToDTO(athleteDAO.findByKeycloakId(athlete.getKeycloakId()).get())); + } athleteDAO.save(athlete); return ResponseEntity.status(HttpStatus.CREATED).body(mapToDTO(athlete)); } diff --git a/back_end/src/main/java/hackathon/FrisbYEE/rest/CoachResource.java b/back_end/src/main/java/hackathon/FrisbYEE/rest/CoachResource.java index 064438a..4805146 100644 --- a/back_end/src/main/java/hackathon/FrisbYEE/rest/CoachResource.java +++ b/back_end/src/main/java/hackathon/FrisbYEE/rest/CoachResource.java @@ -24,6 +24,9 @@ public class CoachResource { @PreAuthorize("hasRole('Admin')") // Only admin can create public ResponseEntity create(@RequestBody CoachDTO dto) { Coach coach = mapToEntity(dto); + if(coachDAO.existsByKeycloakId(coach.getKeycloakId())) { + return ResponseEntity.status(HttpStatus.CONFLICT).body(mapToDTO(coachDAO.findByKeycloakId(coach.getKeycloakId()).get())); + } coachDAO.save(coach); return ResponseEntity.status(HttpStatus.CREATED).body(mapToDTO(coach)); }