From f79433d0fbfd90b2f4efcc632b1d97c55968c355 Mon Sep 17 00:00:00 2001 From: Alexis Leboeuf Date: Fri, 9 Jan 2026 18:20:04 +0100 Subject: [PATCH 1/2] Added endpoint to add an existing activity to session --- .../FrisbYEE/rest/SessionResource.java | 24 ++++++++++++------- 1 file changed, 15 insertions(+), 9 deletions(-) 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 e25b2d5..5ec326f 100644 --- a/back_end/src/main/java/hackathon/FrisbYEE/rest/SessionResource.java +++ b/back_end/src/main/java/hackathon/FrisbYEE/rest/SessionResource.java @@ -116,17 +116,23 @@ public class SessionResource { //Commented because not finished - /*@GetMapping("/activities/add") + @GetMapping("/{id_session}/activities/add/{id_act}") @PreAuthorize("hasRole('coach') or hasRole('admin')") - public ResponseEntity addActivity(@RequestBody ActiviteDTO dto) { - try { - Activite activite = maptoEntity(dto); - activiteDAO.save(activite); - return ResponseEntity.status(HttpStatus.CREATED).body(maptoDTO(activite)); - } catch (Exception ex) { - return ResponseEntity.status(HttpStatus.BAD_REQUEST).body(ex.getMessage()); + public ResponseEntity addActivity(@PathVariable Integer id_sess, @PathVariable Integer id_act) { + Session s = sessionDAO.findById(id_sess).get(); + if(s.equals(null)){ + return ResponseEntity.status(HttpStatus.NOT_FOUND).body("Session not found"); } - }*/ + Activite a = activiteDAO.findById(id_act).get(); + if(a.equals(null)){ + return ResponseEntity.status(HttpStatus.NOT_FOUND).body("Activite not found"); + } + List l = s.getActivites(); + l.add(a); + s.setActivites(l); + sessionDAO.save(s); + return ResponseEntity.status(200).body(maptoDTO(s)); + } private SessionDTO maptoDTO(Session s) { SessionDTO dto = new SessionDTO(); From a4963aed6a86a34a81573a72cc184df578a36a1a Mon Sep 17 00:00:00 2001 From: Alexis Leboeuf Date: Fri, 9 Jan 2026 18:20:42 +0100 Subject: [PATCH 2/2] Modifying front API to accept new endpoint --- front_end/src/api.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/front_end/src/api.ts b/front_end/src/api.ts index bd74948..c0098c3 100644 --- a/front_end/src/api.ts +++ b/front_end/src/api.ts @@ -50,6 +50,7 @@ export const athleteService = { getActivitiesForSession: (sessionId: number | string) => api.get(`/athletes/session/${sessionId}/activities`), getSessionsAfterDate: (athleteId: number | string, date: string) => api.get(`/athletes/${athleteId}/session/after/${encodeURIComponent(date)}`), getSessionsBetweenDates: (athleteId: number | string, startDate: string, endDate: string) => api.get(`/athletes/${athleteId}/session/between/${encodeURIComponent(startDate)}/${encodeURIComponent(endDate)}`), + addActivity: (id_sess: number, id_act: number) => api.get(`/${id_sess}/activities/add/${id_act}`) }; export const activiteService = {