feat: Gestion multi-profil multi-école

This commit is contained in:
N3WT DE COMPET
2025-03-09 16:22:28 +01:00
parent 95c154a4a2
commit 16178296ec
51 changed files with 1621 additions and 802 deletions

View File

@ -11,24 +11,23 @@ const options = {
name: 'Credentials',
credentials: {
email: { label: 'Email', type: 'email' },
password: { label: 'Password', type: 'password' }
password: { label: 'Password', type: 'password' },
role_type: { label: 'Role Type', type: 'text' }
},
authorize: async (credentials, req) => {
try {
const data = {
email: credentials.email,
password: credentials.password
password: credentials.password,
role_type: credentials.role_type
};
const user = await getJWT(data);
if (user) {
logger.debug("API response:", user);
return user;
}
logger.error('Invalid credentials')
} catch (error) {
logger.error('Invalid credentials')
throw new Error(error.message || 'Invalid credentials');
}
}
@ -88,16 +87,15 @@ const options = {
},
async session({ session, token }) {
if (token && token?.token) {
const {user_id, droit, email, establishment} = jwt_decode.decode(token.token);
const { user_id, email, roles } = jwt_decode.decode(token.token);
session.user = {
...session.user,
token: token.token,
refresh: token.refresh
refresh: token.refresh,
user_id: user_id,
email: email,
roles: roles
};
session.user.user_id = user_id;
session.user.droit = droit;
session.user.email = email;
session.user.establishment = establishment;
}
return session;
}