Merge remote-tracking branch 'origin/main'

# Conflicts:
#	back_end/src/main/java/hackathon/FrisbYEE/rest/SessionResource.java
This commit is contained in:
tuanvu
2026-01-09 18:48:54 +01:00
3 changed files with 45 additions and 17 deletions

View File

@@ -50,6 +50,7 @@ export const athleteService = {
getActivitiesForSession: (sessionId: number | string) => api.get(`/athletes/session/${sessionId}/activities`),
getSessionsAfterDate: (athleteId: number | string, date: string) => api.get(`/athletes/${athleteId}/session/after/${encodeURIComponent(date)}`),
getSessionsBetweenDates: (athleteId: number | string, startDate: string, endDate: string) => api.get(`/athletes/${athleteId}/session/between/${encodeURIComponent(startDate)}/${encodeURIComponent(endDate)}`),
addActivity: (id_sess: number, id_act: number) => api.get(`/${id_sess}/activities/add/${id_act}`)
};
export const activiteService = {
@@ -70,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 = {

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 {
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) {