diff --git a/back_end/src/main/java/hackathon/FrisbYEE/rest/SessionResource.java b/back_end/src/main/java/hackathon/FrisbYEE/rest/SessionResource.java index 5fd3a74..756442a 100644 --- a/back_end/src/main/java/hackathon/FrisbYEE/rest/SessionResource.java +++ b/back_end/src/main/java/hackathon/FrisbYEE/rest/SessionResource.java @@ -54,7 +54,7 @@ public class SessionResource { } @GetMapping("/all") - @PreAuthorize("hasRole('coach') or hasRole('athlete')") + @PreAuthorize("hasRole('admin') or hasRole('coach') or hasRole('athlete')") public ResponseEntity> getAll() { List sessions = sessionDAO.findAll(); List dtos = new ArrayList<>(); diff --git a/front_end/src/api.ts b/front_end/src/api.ts index 3b46f62..a7d0649 100644 --- a/front_end/src/api.ts +++ b/front_end/src/api.ts @@ -80,7 +80,8 @@ export const coachService = { // controller doesn't declare a class-level path consistently; support both common patterns create: (data: any) => api.post(`/coach/create`, data), getAll: () => api.get(`/coach/all`), - getByKeycloakId: (id: number | string) => api.get(`/coach/${id}`), + getById: (id: number) => api.get(`/coach/${id}`), + getByKeycloakId: (keycloakId: string) => api.get(`/coach/keycloak/${keycloakId}`), update: (id: number | string, data: any) => api.put(`/coach/update/${id}`, data), delete: (id: number | string) => api.delete(`/coach/delete/${id}`), getSessionsForCoach: (coachId: number | string) => api.get(`/coach/${coachId}/session`), diff --git a/front_end/src/components/ressourcePanel.tsx b/front_end/src/components/ressourcePanel.tsx index c54aa2c..6a99572 100644 --- a/front_end/src/components/ressourcePanel.tsx +++ b/front_end/src/components/ressourcePanel.tsx @@ -23,6 +23,7 @@ import { useKeycloak } from "@react-keycloak/web"; const[allCoachs,setAllCoachs] = useState([]); const[allSessions,setAllSessions] = useState([]); const[allLignes,setAllLignes] = useState([]); + const[allActivites,setAllActivites] = useState([]); async function updateAthletes() { diff --git a/front_end/src/components/test_api.tsx b/front_end/src/components/test_api.tsx index a1c54e2..e4ed6d0 100644 --- a/front_end/src/components/test_api.tsx +++ b/front_end/src/components/test_api.tsx @@ -1,5 +1,5 @@ import { useKeycloak } from "@react-keycloak/web" -import { getAllCoach, getUsersAPI, postAdmin } from "../requetes" +import { getAllCoach } from "../requetes" import { Admin } from "../classes"; @@ -15,7 +15,7 @@ function TestAPI(){ admin.nom = "admin"; admin.email = "admin@gmail.com"; - postAdmin(admin); + //createAdminAPI(admin); } return( diff --git a/front_end/src/requetes.tsx b/front_end/src/requetes.tsx index b8f1eef..805b402 100644 --- a/front_end/src/requetes.tsx +++ b/front_end/src/requetes.tsx @@ -78,7 +78,6 @@ export async function updateActivitiesOfSessionAPI(session:Session,activities:Ac } catch (error) { console.error("Error fetching activities for session:", error); } - } export async function subscribeSessionAPI(user:User, session:Session):Promise{ @@ -105,11 +104,7 @@ export async function unsubscribeSessionAPI(user:User, session:Session):Promise< } } -// ADMIN : -export async function updateAllUserAPI(){ - -} // POST ///////////////////////////////////////////////////////// @@ -125,7 +120,8 @@ export async function createSessionAPI(session: Session): Promise { } } -export async function postActivityAPI(session: Session, activity: Activite){ + +export async function createActivityAPI(session: Session, activity: Activite){ try { const response = await api.post(`/session/${session.id}/activities`, activity); return response.data; @@ -178,7 +174,8 @@ export async function postSession(session: Session){ } } -export async function postAdmin(athlete: Admin):Promise{ +// SET ///////////////////////////////////////////////////////// +export async function createAdminAPI(athlete: Admin):Promise{ try { const response = await api.post("/admin/create/",athlete); console.log(response); @@ -189,22 +186,20 @@ export async function postAdmin(athlete: Admin):Promise{ } } -// SET ///////////////////////////////////////////////////////// - -//ADMIN -export async function setUserNameAPI(user: User, name: string){ - -} - -//COACH -export async function setSessionCreneauAPI(session: Session, date:Date){ - -} - //GET ///////////////////////////////////////////////////////// -//SESSION +//USER +export async function getAllUserAPI(): Promise { + try{ + const response = await api.get("/users/all"); + return response.data; + }catch (error) { + console.error("Error fetching users:", error); + throw error; + } +} +//SESSION export async function getSessionsOfUserAPI(user:Coach|Athlete){ try { if (user instanceof Coach) {