Merge remote-tracking branch 'origin/main'
# Conflicts: # back_end/src/main/java/hackathon/FrisbYEE/rest/SessionResource.java
This commit is contained in:
@@ -130,6 +130,18 @@ public class SessionResource {
|
|||||||
return ResponseEntity.ok(activiteDTOs);
|
return ResponseEntity.ok(activiteDTOs);
|
||||||
} catch (Exception ex) {
|
} catch (Exception ex) {
|
||||||
return ResponseEntity.status(HttpStatus.NOT_FOUND).body(ex.getMessage());
|
return ResponseEntity.status(HttpStatus.NOT_FOUND).body(ex.getMessage());
|
||||||
|
//Commented because not finished
|
||||||
|
|
||||||
|
@GetMapping("/{id_session}/activities/add/{id_act}")
|
||||||
|
@PreAuthorize("hasRole('coach') or hasRole('admin')")
|
||||||
|
public ResponseEntity<?> addActivity(@PathVariable Integer id_sess, @PathVariable Integer id_act) {
|
||||||
|
Session s = sessionDAO.findById(id_sess).get();
|
||||||
|
if(s.equals(null)){
|
||||||
|
return ResponseEntity.status(HttpStatus.NOT_FOUND).body("Session not found");
|
||||||
|
}
|
||||||
|
Activite a = activiteDAO.findById(id_act).get();
|
||||||
|
if(a.equals(null)){
|
||||||
|
return ResponseEntity.status(HttpStatus.NOT_FOUND).body("Activite not found");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -137,7 +149,7 @@ public class SessionResource {
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* @GetMapping("/activities/add")
|
* @GetMapping("/activities/add")
|
||||||
*
|
*
|
||||||
* @PreAuthorize("hasRole('coach') or hasRole('admin')")
|
* @PreAuthorize("hasRole('coach') or hasRole('admin')")
|
||||||
* public ResponseEntity<?> addActivity(@RequestBody ActiviteDTO dto) {
|
* public ResponseEntity<?> addActivity(@RequestBody ActiviteDTO dto) {
|
||||||
* try {
|
* try {
|
||||||
@@ -149,6 +161,12 @@ public class SessionResource {
|
|||||||
* }
|
* }
|
||||||
* }
|
* }
|
||||||
*/
|
*/
|
||||||
|
List<Activite> l = s.getActivites();
|
||||||
|
l.add(a);
|
||||||
|
s.setActivites(l);
|
||||||
|
sessionDAO.save(s);
|
||||||
|
return ResponseEntity.status(200).body(maptoDTO(s));
|
||||||
|
}
|
||||||
|
|
||||||
private SessionDTO maptoDTO(Session s) {
|
private SessionDTO maptoDTO(Session s) {
|
||||||
SessionDTO dto = new SessionDTO();
|
SessionDTO dto = new SessionDTO();
|
||||||
@@ -183,13 +201,13 @@ public class SessionResource {
|
|||||||
|
|
||||||
private Session maptoEntity(SessionDTO dto) {
|
private Session maptoEntity(SessionDTO dto) {
|
||||||
Session session = new Session();
|
Session session = new Session();
|
||||||
System.out.println("ID " + session.getId());
|
System.out.println("ID "+ session.getId());
|
||||||
session.setName(dto.getName());
|
session.setName(dto.getName());
|
||||||
session.setIsRecurrent(dto.getIsRecurrent());
|
session.setIsRecurrent(dto.getIsRecurrent());
|
||||||
session.setCreneau(dto.getCreneau());
|
session.setCreneau(dto.getCreneau());
|
||||||
session.setDuree(dto.getDuree());
|
session.setDuree(dto.getDuree());
|
||||||
session.setGroupe(dto.getGroupe());
|
session.setGroupe(dto.getGroupe());
|
||||||
|
|
||||||
return session;
|
return session;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -50,6 +50,7 @@ export const athleteService = {
|
|||||||
getActivitiesForSession: (sessionId: number | string) => api.get(`/athletes/session/${sessionId}/activities`),
|
getActivitiesForSession: (sessionId: number | string) => api.get(`/athletes/session/${sessionId}/activities`),
|
||||||
getSessionsAfterDate: (athleteId: number | string, date: string) => api.get(`/athletes/${athleteId}/session/after/${encodeURIComponent(date)}`),
|
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)}`),
|
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 = {
|
export const activiteService = {
|
||||||
@@ -70,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 = {
|
||||||
|
|||||||
@@ -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) {
|
||||||
|
|||||||
Reference in New Issue
Block a user