From 1d99d5f0974f3888c6a1623c8585fa99586a7e1d Mon Sep 17 00:00:00 2001 From: Alexis Leboeuf Date: Fri, 9 Jan 2026 17:12:51 +0100 Subject: [PATCH] Setting null to ids before creation to avoir problems Postgre was using the given id instead of generating one --- .../main/java/hackathon/FrisbYEE/rest/ActiviteResource.java | 1 + .../src/main/java/hackathon/FrisbYEE/rest/AdminResource.java | 1 + .../main/java/hackathon/FrisbYEE/rest/AthleteResource.java | 1 + .../src/main/java/hackathon/FrisbYEE/rest/CoachResource.java | 1 + .../main/java/hackathon/FrisbYEE/rest/SessionResource.java | 5 +++++ 5 files changed, 9 insertions(+) diff --git a/back_end/src/main/java/hackathon/FrisbYEE/rest/ActiviteResource.java b/back_end/src/main/java/hackathon/FrisbYEE/rest/ActiviteResource.java index 6f91e6e..d5c5c1d 100644 --- a/back_end/src/main/java/hackathon/FrisbYEE/rest/ActiviteResource.java +++ b/back_end/src/main/java/hackathon/FrisbYEE/rest/ActiviteResource.java @@ -53,6 +53,7 @@ public class ActiviteResource { System.out.println("ROLE TEST " + hackathon.FrisbYEE.jpa.metier.Role.coach); Session session = sessionDAO.findById(dto.getSessionId()).get(); Activite activite = mapToEntity(dto); + activite.setId(null); activite.setSession(session); activiteDAO.save(activite); } catch (Exception ex) { diff --git a/back_end/src/main/java/hackathon/FrisbYEE/rest/AdminResource.java b/back_end/src/main/java/hackathon/FrisbYEE/rest/AdminResource.java index f06be02..6ac63b9 100644 --- a/back_end/src/main/java/hackathon/FrisbYEE/rest/AdminResource.java +++ b/back_end/src/main/java/hackathon/FrisbYEE/rest/AdminResource.java @@ -30,6 +30,7 @@ public class AdminResource { @PreAuthorize("hasRole('Admin')") // Only admin can create public ResponseEntity create(@RequestBody AdminDTO dto) { Admin admin = mapToEntity(dto); + admin.setId(null); if(adminDAO.findByKeycloakId(admin.getKeycloakId()).isPresent()) { return ResponseEntity.status(200).body(mapToDTO(adminDAO.findByKeycloakId(admin.getKeycloakId()).get())); } 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 0e4b0b8..ae5cf4b 100644 --- a/back_end/src/main/java/hackathon/FrisbYEE/rest/AthleteResource.java +++ b/back_end/src/main/java/hackathon/FrisbYEE/rest/AthleteResource.java @@ -50,6 +50,7 @@ public class AthleteResource { @PreAuthorize("hasRole('admin') or hasRole('coach') or hasRole('athlete')") public ResponseEntity create(@RequestBody AthleteDTO dto) { Athlete athlete = mapToEntity(dto); + athlete.setId(null); if(athleteDAO.existsByKeycloakId(athlete.getKeycloakId())) { return ResponseEntity.status(200).body(mapToDTO(athleteDAO.findByKeycloakId(athlete.getKeycloakId()).get())); } 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 6e22191..5b34f03 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,7 @@ public class CoachResource { @PreAuthorize("hasRole('Admin')") // Only admin can create public ResponseEntity create(@RequestBody CoachDTO dto) { Coach coach = mapToEntity(dto); + coach.setId(null); if(coachDAO.existsByKeycloakId(coach.getKeycloakId())) { return ResponseEntity.status(200).body(mapToDTO(coachDAO.findByKeycloakId(coach.getKeycloakId()).get())); } diff --git a/back_end/src/main/java/hackathon/FrisbYEE/rest/SessionResource.java b/back_end/src/main/java/hackathon/FrisbYEE/rest/SessionResource.java index 9e8df8c..9440eb7 100644 --- a/back_end/src/main/java/hackathon/FrisbYEE/rest/SessionResource.java +++ b/back_end/src/main/java/hackathon/FrisbYEE/rest/SessionResource.java @@ -45,6 +45,11 @@ public class SessionResource { public ResponseEntity create(@RequestBody SessionDTO dto) { try { Session session = maptoEntity(dto); + session.setId(null); + if(sessionDAO.findById(session.getId()).isPresent()) { + return ResponseEntity.status(HttpStatus.OK).body("Session with ID " + session.getId() + " already exists."); + + } Coach c = coachDAO.findById(dto.getCoachId()).orElse(null); session.setCoach(c); sessionDAO.save(session);