From fca7362bb70505528a33c09472fe01ee8909740c Mon Sep 17 00:00:00 2001 From: trochas Date: Sat, 10 Jan 2026 11:31:24 +0100 Subject: [PATCH] fix add activite --- front_end/src/api.ts | 14 +++++++------- .../src/components/object/detailSession.tsx | 18 ++++++++++-------- front_end/src/requetes.tsx | 12 ++++++------ 3 files changed, 23 insertions(+), 21 deletions(-) diff --git a/front_end/src/api.ts b/front_end/src/api.ts index 831d2fd..9b4ad47 100644 --- a/front_end/src/api.ts +++ b/front_end/src/api.ts @@ -67,14 +67,14 @@ export const sessionService = { // controller uses singular /session/* endpoints create: (data: any) => api.post(`/session/create`, data), 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), + getById: (id: number | null) => api.get(`/session/${id}`), + delete: (id: number | null) => api.delete(`/session/delete/${id}`), + update: (id: number | null, data: any) => api.put(`/session/update/${id}`, data), - getActivities: (sessionId: number | string) => api.get(`/session/${sessionId}/activities`), - addActivity: (sessionId: number | string, activityId: number) => api.post(`/session/${sessionId}/activities/${activityId}`), - subscribe: (sessionId: number | string, userId: number | string) => api.post(`/session/${sessionId}/subscribe`, { userId }), - unsubscribe: (sessionId: number | string, userId: number | string) => api.post(`/session/${sessionId}/unsubscribe`, { userId }), + getActivities: (sessionId: number | null) => api.get(`/session/${sessionId}/activities`), + addActivity: (sessionId: number | null, activityId: number) => api.post(`/session/${sessionId}/activities/${activityId}`), + subscribe: (sessionId: number | null, userId: number | string) => api.post(`/session/${sessionId}/subscribe`, { userId }), + unsubscribe: (sessionId: number | null, userId: number | string) => api.post(`/session/${sessionId}/unsubscribe`, { userId }), }; export const coachService = { diff --git a/front_end/src/components/object/detailSession.tsx b/front_end/src/components/object/detailSession.tsx index 7c02c09..632d76a 100644 --- a/front_end/src/components/object/detailSession.tsx +++ b/front_end/src/components/object/detailSession.tsx @@ -4,7 +4,7 @@ import { dateToString, hoursToString } from "../edt"; import { Modal } from "../Modal"; import CreateActivite from "../createActivite"; import Loading from "../loading"; -import { addActiviteToSession, delay, deletActiviteFromSession, getSessionOfActivite } from "../../requetes"; +import { addActiviteToSession, createActivityAPI, delay, deletActiviteFromSession, getSessionOfActivite } from "../../requetes"; type Props = { session:Session; @@ -31,9 +31,6 @@ function DetailSession({session,open,setOpen}:Props){ } async function updateActivites(){ - //TODO - //await delay(2000); - //await updateActivitiesOfSessionAPI(session); const newActivites = await getSessionOfActivite(session); if(newActivites!=null){ session.activites=newActivites; @@ -50,11 +47,16 @@ function DetailSession({session,open,setOpen}:Props){ },[open]) - function returnActivite(activite: Activite|null){ + async function returnActivite(activite: Activite|null){ if(activite!==null){ - addActiviteToSession(session,activite); - session.activites.push(activite); - setActivites([...session.activites]) + activite.session = session; + const newActivite = await createActivityAPI(activite); + await addActiviteToSession(session,newActivite); + if(newActivite!=null){ + session.activites.push(newActivite); + setActivites([...session.activites]) + } + } setOpen2(false); } diff --git a/front_end/src/requetes.tsx b/front_end/src/requetes.tsx index ddb0a5f..2c44b83 100644 --- a/front_end/src/requetes.tsx +++ b/front_end/src/requetes.tsx @@ -94,23 +94,23 @@ export async function deletActiviteFromSession(activite:Activite){ } } -export async function addActiviteToSession(session:Session,activite:Activite){ +export async function addActiviteToSession(session:Session,activite:Activite):Promise{ try { if(activite.id !=null && session.id !=null){ - sessionService.addActivity(session.id,activite.id) + await sessionService.addActivity(session.id,activite.id) + return true; + } + return false } catch (error) { console.error("Error getting session:", error); + return false; } } export async function updateActivitiesOfSessionAPI(session:Session){ try { - const session_id = session.id - console.log("TEST:"); - console.log(session.activites); session.activites.forEach(activite => { - console.log("FOR"); if(activite.id!=null){ activiteService.update(activite.id, activite.toDTO()); }