toDTO pour les user
This commit is contained in:
@@ -12,7 +12,7 @@ export class Ligne{
|
||||
|
||||
export class User{
|
||||
id!: number;
|
||||
keycloakId!: String;
|
||||
keycloakId!: string;
|
||||
nom!: string;
|
||||
prenom!:string;
|
||||
email!: string;
|
||||
@@ -32,6 +32,16 @@ export class Admin extends User{
|
||||
this.email = ""; //TODO
|
||||
}
|
||||
|
||||
toDTO():AdminDTO{
|
||||
const dto:AdminDTO = {
|
||||
id: this.id,
|
||||
id_keycloak: this.keycloakId,
|
||||
name: this.nom,
|
||||
prenom: this.prenom,
|
||||
};
|
||||
return dto;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
export class Athlete extends User{
|
||||
@@ -53,6 +63,21 @@ export class Athlete extends User{
|
||||
this.sessionsID = dto?.sessionIds ?? [];
|
||||
this.sessions = [];
|
||||
}
|
||||
|
||||
toDTO():AthleteDTO{
|
||||
const dto:AthleteDTO = {
|
||||
id: this.id,
|
||||
id_keycloak: this.keycloakId,
|
||||
name: this.nom,
|
||||
prenom: this.prenom,
|
||||
categorie: "",
|
||||
niveau: "",
|
||||
groupes: this.groupes,
|
||||
sessionIds: this.sessionsID,
|
||||
};
|
||||
return dto;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
export class Coach extends User{
|
||||
@@ -73,6 +98,19 @@ export class Coach extends User{
|
||||
this.sessionsID = dto?.sessionIds ?? [];
|
||||
this.sessions = [];
|
||||
}
|
||||
|
||||
toDTO():CoachDTO{
|
||||
const dto:CoachDTO = {
|
||||
id: this.id,
|
||||
id_keycloak: this.keycloakId,
|
||||
name: this.nom,
|
||||
prenom: this.prenom,
|
||||
sessionIds: this.sessionsID,
|
||||
};
|
||||
return dto;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
export class Session{
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { useEffect, useState } from "react"
|
||||
import { getUserTest, Session, User } from "../classes"
|
||||
import { Athlete, Coach, Session} from "../classes"
|
||||
import { useLocalData } from "../context/useLocalData"
|
||||
import './style/edt.css';
|
||||
import {updateSessionsOfUserAPI } from "../requetes";
|
||||
@@ -41,11 +41,13 @@ export const EDT =() =>{
|
||||
var maxDate = getNextDay(date,6)
|
||||
|
||||
var newWeek: Session[] = []
|
||||
user.sessions.forEach(session => {
|
||||
if((session.creneau >= date && session.creneau <= maxDate && !session.isRecurrent) || (session.isRecurrent && session.creneau<maxDate)){
|
||||
newWeek.push(session);
|
||||
}
|
||||
});
|
||||
if(user instanceof Athlete || user instanceof Coach){
|
||||
user.sessions.forEach(session => {
|
||||
if((session.creneau >= date && session.creneau <= maxDate && !session.isRecurrent) || (session.isRecurrent && session.creneau<maxDate)){
|
||||
newWeek.push(session);
|
||||
}
|
||||
});
|
||||
}
|
||||
setSessions(newWeek);
|
||||
}
|
||||
|
||||
|
||||
@@ -1,20 +0,0 @@
|
||||
import React, { useState } from "react";
|
||||
import { getUserTest, User, Session } from "../classes";
|
||||
import RessourcePanel from "./ressourcePanel";
|
||||
import { LocalDataContext } from "../context/LocalDataContext";
|
||||
|
||||
export default function TestApp() {
|
||||
const initialUser = getUserTest();
|
||||
initialUser.role = "Athlete"; // Change role here for testing
|
||||
const [user, setUser] = useState<User>(initialUser);
|
||||
const [sessions, setSessions] = useState<Session[]>(initialUser.sessions || []);
|
||||
const [users, setUsers] = useState<User[]>([initialUser]);
|
||||
|
||||
return (
|
||||
<LocalDataContext.Provider value={{ user, setUser, sessions, setSessions, users, setUsers }}>
|
||||
<h1>Test Utilisateur</h1>
|
||||
<div>Nom: {String(user.nom)}</div>
|
||||
<RessourcePanel />
|
||||
</LocalDataContext.Provider>
|
||||
);
|
||||
}
|
||||
Reference in New Issue
Block a user