fix creation session avec activite
This commit is contained in:
@@ -70,10 +70,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 = {
|
||||
|
||||
@@ -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 {
|
||||
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<Session> {
|
||||
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<SessionDTO>("/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) {
|
||||
|
||||
Reference in New Issue
Block a user