login fix
This commit is contained in:
@@ -4,6 +4,7 @@ import { Athlete, User } from '../classes';
|
|||||||
import { useLocalData } from '../context/useLocalData';
|
import { useLocalData } from '../context/useLocalData';
|
||||||
import { postAthlete } from '../requetes';
|
import { postAthlete } from '../requetes';
|
||||||
import { clearAuthToken, setAuthToken } from '../api';
|
import { clearAuthToken, setAuthToken } from '../api';
|
||||||
|
import { AthleteDTO } from '../classesDTO';
|
||||||
|
|
||||||
export const Login =() =>{
|
export const Login =() =>{
|
||||||
const {user,setUser} = useLocalData()
|
const {user,setUser} = useLocalData()
|
||||||
@@ -11,12 +12,23 @@ export const Login =() =>{
|
|||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
const syncAndLoadUser = async () => {
|
const syncAndLoadUser = async () => {
|
||||||
const newAthlete:Athlete = new Athlete()
|
if (keycloak.authenticated && keycloak.token && keycloak.tokenParsed) {
|
||||||
|
try {
|
||||||
const athlete:Athlete = await postAthlete(newAthlete)
|
const newAthlete: Athlete = new Athlete();
|
||||||
|
newAthlete.keycloakId = keycloak.tokenParsed.sub || "";
|
||||||
setAuthToken(keycloak.token);
|
newAthlete.email = keycloak.tokenParsed.email || "";
|
||||||
setUser(athlete);
|
newAthlete.nom = keycloak.tokenParsed.family_name || "";
|
||||||
|
newAthlete.prenom = keycloak.tokenParsed.given_name || "";
|
||||||
|
|
||||||
|
const newAthleteDTO: AthleteDTO =newAthlete.toDTO();
|
||||||
|
setAuthToken(keycloak.token);
|
||||||
|
const athlete: Athlete = await postAthlete(newAthlete);
|
||||||
|
setUser(athlete);
|
||||||
|
} catch (error) {
|
||||||
|
console.error("Error :", error);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
/*postAthlete
|
/*postAthlete
|
||||||
if (keycloak.authenticated && keycloak.token) {
|
if (keycloak.authenticated && keycloak.token) {
|
||||||
const tokenParsed = keycloak.tokenParsed;
|
const tokenParsed = keycloak.tokenParsed;
|
||||||
@@ -44,7 +56,7 @@ export const Login =() =>{
|
|||||||
console.error("Sync fetch failed:", error);
|
console.error("Sync fetch failed:", error);
|
||||||
}
|
}
|
||||||
}*/
|
}*/
|
||||||
};
|
|
||||||
|
|
||||||
syncAndLoadUser();
|
syncAndLoadUser();
|
||||||
}, [keycloak.authenticated, keycloak.token, setUser]);
|
}, [keycloak.authenticated, keycloak.token, setUser]);
|
||||||
|
|||||||
@@ -128,7 +128,7 @@ export async function postActivityAPI(session: Session, activity: Activite){
|
|||||||
|
|
||||||
export async function postAthlete(athlete: Athlete):Promise<Athlete>{
|
export async function postAthlete(athlete: Athlete):Promise<Athlete>{
|
||||||
try {
|
try {
|
||||||
const response = await api.post<Athlete>("/athlete/create/",athlete);
|
const response = await api.post<Athlete>("/athlete/create/",athlete.toDTO);
|
||||||
console.log(response);
|
console.log(response);
|
||||||
return response.data;
|
return response.data;
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
|
|||||||
Reference in New Issue
Block a user