Merge remote-tracking branch 'refs/remotes/origin/main'

This commit is contained in:
Alexis Leboeuf
2026-01-09 18:47:10 +01:00
2 changed files with 23 additions and 14 deletions

View File

@@ -71,10 +71,10 @@ export const sessionService = {
delete: (id: number | string) => api.delete(`/session/delete/${id}`), delete: (id: number | string) => api.delete(`/session/delete/${id}`),
update: (id: number | string, data: any) => api.put(`/session/update/${id}`, data), update: (id: number | string, data: any) => api.put(`/session/update/${id}`, data),
getActivities: (sessionId: number | string) => api.get(`/sessions/${sessionId}/activities`), getActivities: (sessionId: number | string) => api.get(`/session/${sessionId}/activities`),
addActivity: (sessionId: number | string, activity: any) => api.post(`/sessions/${sessionId}/activities`, activity), addActivity: (sessionId: number | string, activity: any) => api.post(`/session/${sessionId}/activities`, activity),
subscribe: (sessionId: number | string, userId: number | string) => api.post(`/sessions/${sessionId}/subscribe`, { userId }), subscribe: (sessionId: number | string, userId: number | string) => api.post(`/session/${sessionId}/subscribe`, { userId }),
unsubscribe: (sessionId: number | string, userId: number | string) => api.post(`/sessions/${sessionId}/unsubscribe`, { userId }), unsubscribe: (sessionId: number | string, userId: number | string) => api.post(`/session/${sessionId}/unsubscribe`, { userId }),
}; };
export const coachService = { export const coachService = {

View File

@@ -66,15 +66,20 @@ export async function loginOrRegister(keycloak:Keycloak): Promise<User|null>{
} }
} }
export async function updateActivitiesOfSessionAPI(session:Session,activities:Activite[]){ export async function updateActivitiesOfSessionAPI(session:Session){
try { try {
const session_id = session.id const session_id = session.id
for (const activity of activities) { console.log("TEST:");
const response = await activiteService.update(activity.id!, activity.toDTO()); 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 // To refresh the activities in the session object
const response = await sessionService.getActivities(session_id!); //const response = await sessionService.getActivities(session_id!);
session.activites = response.data; //session.activites = response.data;
} catch (error) { } catch (error) {
console.error("Error fetching activities for session:", error); console.error("Error fetching activities for session:", error);
} }
@@ -113,16 +118,20 @@ export async function createSessionAPI(session: Session): Promise<Session> {
async function postActivite(activite:Activite,sessionRes:Session){ async function postActivite(activite:Activite,sessionRes:Session){
activite.session = sessionRes; activite.session = sessionRes;
const activite2 = await createActivityAPI(activite); const activite2 = await createActivityAPI(activite);
activite2.session = sessionRes;
sessionRes.activites.push(activite2); sessionRes.activites.push(activite2);
} }
try { try {
const response = await api.post<SessionDTO>("/session/create", session.toDTO()); const response = await api.post<SessionDTO>("/session/create", session.toDTO());
const sessionRes:Session = new Session(response.data); const sessionRes:Session = new Session(response.data);
await session.activites.forEach(activite => { await Promise.all(
postActivite(activite,sessionRes); session.activites.map(activite =>
}); postActivite(activite, sessionRes)
updateActivitiesOfSessionAPI(session,session.activites); )
);
console.log(sessionRes.activites);
updateActivitiesOfSessionAPI(sessionRes);
return sessionRes; return sessionRes;
} catch (error) { } catch (error) {