From fce2c22fa778a58c817a1af2e45f4a33a54b7f5d Mon Sep 17 00:00:00 2001 From: trochas Date: Fri, 9 Jan 2026 15:24:27 +0100 Subject: [PATCH 1/3] getSessions --- front_end/src/api.ts | 4 ++-- front_end/src/components/ressourcePanel.tsx | 5 ++++- front_end/src/requetes.tsx | 7 ++++++- 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/front_end/src/api.ts b/front_end/src/api.ts index 0a57c87..3b46f62 100644 --- a/front_end/src/api.ts +++ b/front_end/src/api.ts @@ -2,7 +2,7 @@ import axios from "axios"; import keycloak from "./keycloak"; import { get } from "http"; -import { ActiviteDTO, AdminDTO, AthleteDTO, CoachDTO } from "./classesDTO"; +import { ActiviteDTO, AdminDTO, AthleteDTO, CoachDTO, SessionDTO } from "./classesDTO"; const api = axios.create({ @@ -65,7 +65,7 @@ export const activiteService = { export const sessionService = { // controller uses singular /session/* endpoints create: (data: any) => api.post(`/session/create`, data), - getAll: () => api.get(`/session/all`), + getAll: () => api.get(`/session/all`), getById: (id: number | string) => api.get(`/session/${id}`), delete: (id: number | string) => api.delete(`/session/delete/${id}`), update: (id: number | string, data: any) => api.put(`/session/update/${id}`, data), diff --git a/front_end/src/components/ressourcePanel.tsx b/front_end/src/components/ressourcePanel.tsx index cdadcde..c54aa2c 100644 --- a/front_end/src/components/ressourcePanel.tsx +++ b/front_end/src/components/ressourcePanel.tsx @@ -19,6 +19,7 @@ import { useKeycloak } from "@react-keycloak/web"; const [value,setValue] = useState("sessions"); const[allAthletes,setAllAthletes] = useState([]); + const[allActivites,setAllActivites] = useState([]); const[allCoachs,setAllCoachs] = useState([]); const[allSessions,setAllSessions] = useState([]); const[allLignes,setAllLignes] = useState([]); @@ -33,6 +34,8 @@ import { useKeycloak } from "@react-keycloak/web"; async function updateSessions() { const sessions:Session[] = await getAllSessionsAPI(); + setAllSessions(sessions); + console.log("GET ALL SESSION "); } async function updateLignes() { @@ -85,7 +88,7 @@ import { useKeycloak } from "@react-keycloak/web"; )) )} {value==="activites" && ( - allActivites.map((activite) => ( + allActivites.map(activite => ( )) )} diff --git a/front_end/src/requetes.tsx b/front_end/src/requetes.tsx index c733157..b8f1eef 100644 --- a/front_end/src/requetes.tsx +++ b/front_end/src/requetes.tsx @@ -223,7 +223,12 @@ export async function getSessionsOfUserAPI(user:Coach|Athlete){ export async function getAllSessionsAPI():Promise{ try { const response = await sessionService.getAll(); - return response.data; + const sessions:Session[] = []; + response.data.forEach(sessionDTO => { + sessions.push(new Session(sessionDTO)); + + }); + return sessions; } catch (error) { console.error("Error fetching sessions:", error); throw error; From b6cffcdb44019f628aebb92e7b709252911398b4 Mon Sep 17 00:00:00 2001 From: tuanvu Date: Fri, 9 Jan 2026 15:25:41 +0100 Subject: [PATCH 2/3] j'oublie --- front_end/src/requetes.tsx | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/front_end/src/requetes.tsx b/front_end/src/requetes.tsx index c3cbb59..764eb77 100644 --- a/front_end/src/requetes.tsx +++ b/front_end/src/requetes.tsx @@ -199,6 +199,16 @@ export async function getAllUserAPI(): Promise { } } +export async function getCoachByIdAPI(id:number): Promise { + try{ + const response = await coachService.getById(id); + return new Coach(response.data); + }catch (error) { + console.error("Error fetching coach by id:", error); + return null; + } +} + //SESSION export async function getSessionsOfUserAPI(user:Coach|Athlete){ try { From 58e89779a5c3bca1ce12f930dd78ae46f95f06a4 Mon Sep 17 00:00:00 2001 From: trochas Date: Fri, 9 Jan 2026 15:33:48 +0100 Subject: [PATCH 3/3] fix loading du coach des sessions --- front_end/src/components/ressourcePanel.tsx | 1 - front_end/src/requetes.tsx | 17 ++++++++++++----- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/front_end/src/components/ressourcePanel.tsx b/front_end/src/components/ressourcePanel.tsx index 6a99572..c54aa2c 100644 --- a/front_end/src/components/ressourcePanel.tsx +++ b/front_end/src/components/ressourcePanel.tsx @@ -23,7 +23,6 @@ import { useKeycloak } from "@react-keycloak/web"; const[allCoachs,setAllCoachs] = useState([]); const[allSessions,setAllSessions] = useState([]); const[allLignes,setAllLignes] = useState([]); - const[allActivites,setAllActivites] = useState([]); async function updateAthletes() { diff --git a/front_end/src/requetes.tsx b/front_end/src/requetes.tsx index c21083d..c114d61 100644 --- a/front_end/src/requetes.tsx +++ b/front_end/src/requetes.tsx @@ -228,11 +228,18 @@ export async function getSessionsOfUserAPI(user:Coach|Athlete){ export async function getAllSessionsAPI():Promise{ try { const response = await sessionService.getAll(); - const sessions:Session[] = []; - response.data.forEach(sessionDTO => { - sessions.push(new Session(sessionDTO)); - - }); + const sessions = await Promise.all( + response.data.map(async sessionDTO => { + const session = new Session(sessionDTO); + const coach = await getCoachByIdAPI(sessionDTO.coachId); + + if (coach != null) { + session.coach = coach; + } + return session; + }) + ); + return sessions; } catch (error) { console.error("Error fetching sessions:", error);