login presque fix

This commit is contained in:
trochas
2026-01-09 13:38:50 +01:00
parent 2651c34df5
commit e52ba2fe3b
3 changed files with 22 additions and 21 deletions

View File

@@ -101,6 +101,7 @@ public class CoachResource {
//coach.setId(dto.getId()); //coach.setId(dto.getId());
coach.setKeycloakId(dto.getId_keycloak()); coach.setKeycloakId(dto.getId_keycloak());
coach.setName(dto.getName()); coach.setName(dto.getName());
coach.setRole(hackathon.FrisbYEE.jpa.metier.Role.coach);
return coach; return coach;
} }
} }

View File

@@ -105,7 +105,7 @@ export class Coach extends User{
id_keycloak: this.keycloakId, id_keycloak: this.keycloakId,
name: this.nom, name: this.nom,
prenom: this.prenom, prenom: this.prenom,
sessionIds: this.sessionsID, sessionIds: this.sessionsID ,
}; };
return dto; return dto;
} }

View File

@@ -22,32 +22,32 @@ export async function loginOrRegister(keycloak:Keycloak): Promise<User|null>{
const roles = keycloak.tokenParsed?.realm_access?.roles const roles = keycloak.tokenParsed?.realm_access?.roles
if(roles!=null){ if(roles!=null){
if(roles.includes("admin")){ if(roles.includes("admin")){
const id = keycloak.tokenParsed?.sub; const id = keycloak.tokenParsed?.sub;
if(id!=null){ if(id!=null){
const response = await athleteService.getByKeycloakId(id); const response = await athleteService.create(id);
const admin = new Admin(response.data); const admin = new Admin(response.data);
return admin; return admin;
}
} }
}
else if(roles.includes("coach")){ else if(roles.includes("coach")){
const id = keycloak.tokenParsed?.sub; const newCoach: Coach = new Coach();
if(id!=null){ newCoach.keycloakId = keycloak.tokenParsed.sub || "";
const response = await coachService.getByKeycloakId(id); newCoach.email = keycloak.tokenParsed.email || "";
newCoach.nom = keycloak.tokenParsed.family_name || "";
newCoach.prenom = keycloak.tokenParsed.given_name || "";
const response = await coachService.create(newCoach.toDTO());
const coach = new Coach(response.data); const coach = new Coach(response.data);
return coach; return coach;
} }
} else if(roles.includes("athlete")){
else if(roles.includes("athlete")){ const newAthlete: Athlete = new Athlete();
console.error("role = Athlete"); newAthlete.keycloakId = keycloak.tokenParsed.sub || "";
const newAthlete: Athlete = new Athlete(); newAthlete.email = keycloak.tokenParsed.email || "";
newAthlete.keycloakId = keycloak.tokenParsed.sub || ""; newAthlete.nom = keycloak.tokenParsed.family_name || "";
newAthlete.email = keycloak.tokenParsed.email || ""; newAthlete.prenom = keycloak.tokenParsed.given_name || "";
newAthlete.nom = keycloak.tokenParsed.family_name || ""; const response = await athleteService.create(newAthlete.toDTO());
newAthlete.prenom = keycloak.tokenParsed.given_name || "";
const response = await athleteService.create(newAthlete.toDTO());
console.log(response);
const athlete = new Athlete(response.data); const athlete = new Athlete(response.data);
console.log(athlete);
return athlete; return athlete;
} }
else console.error("Error : role inconnu"); else console.error("Error : role inconnu");