diff --git a/front_end/src/api.ts b/front_end/src/api.ts index c0098c3..cf5a953 100644 --- a/front_end/src/api.ts +++ b/front_end/src/api.ts @@ -71,10 +71,10 @@ export const sessionService = { delete: (id: number | string) => api.delete(`/session/delete/${id}`), update: (id: number | string, data: any) => api.put(`/session/update/${id}`, data), - getActivities: (sessionId: number | string) => api.get(`/sessions/${sessionId}/activities`), - addActivity: (sessionId: number | string, activity: any) => api.post(`/sessions/${sessionId}/activities`, activity), - subscribe: (sessionId: number | string, userId: number | string) => api.post(`/sessions/${sessionId}/subscribe`, { userId }), - unsubscribe: (sessionId: number | string, userId: number | string) => api.post(`/sessions/${sessionId}/unsubscribe`, { userId }), + getActivities: (sessionId: number | string) => api.get(`/session/${sessionId}/activities`), + addActivity: (sessionId: number | string, activity: any) => api.post(`/session/${sessionId}/activities`, activity), + 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 }), }; export const coachService = { diff --git a/front_end/src/requetes.tsx b/front_end/src/requetes.tsx index b5ff9c4..836c2f2 100644 --- a/front_end/src/requetes.tsx +++ b/front_end/src/requetes.tsx @@ -66,15 +66,20 @@ export async function loginOrRegister(keycloak:Keycloak): Promise{ } } -export async function updateActivitiesOfSessionAPI(session:Session,activities:Activite[]){ +export async function updateActivitiesOfSessionAPI(session:Session){ try { const session_id = session.id - for (const activity of activities) { - const response = await activiteService.update(activity.id!, activity.toDTO()); - } + console.log("TEST:"); + console.log(session.activites); + session.activites.forEach(activite => { + console.log("FOR"); + if(activite.id!=null){ + activiteService.update(activite.id, activite.toDTO()); + } + }); // To refresh the activities in the session object - const response = await sessionService.getActivities(session_id!); - session.activites = response.data; + //const response = await sessionService.getActivities(session_id!); + //session.activites = response.data; } catch (error) { console.error("Error fetching activities for session:", error); } @@ -113,16 +118,20 @@ export async function createSessionAPI(session: Session): Promise { async function postActivite(activite:Activite,sessionRes:Session){ activite.session = sessionRes; const activite2 = await createActivityAPI(activite); + activite2.session = sessionRes; sessionRes.activites.push(activite2); } try { const response = await api.post("/session/create", session.toDTO()); const sessionRes:Session = new Session(response.data); - await session.activites.forEach(activite => { - postActivite(activite,sessionRes); - }); - updateActivitiesOfSessionAPI(session,session.activites); + await Promise.all( + session.activites.map(activite => + postActivite(activite, sessionRes) + ) + ); + console.log(sessionRes.activites); + updateActivitiesOfSessionAPI(sessionRes); return sessionRes; } catch (error) {