diff --git a/backend/src/routes/auth.routes.ts b/backend/src/routes/auth.routes.ts index a708710..ede39d7 100644 --- a/backend/src/routes/auth.routes.ts +++ b/backend/src/routes/auth.routes.ts @@ -189,11 +189,17 @@ router.post("/logout", (_req: Request, res: Response): void => { /** * GET /api/auth/me - * Retourne l'utilisateur courant (cookie ou Bearer). + * Retourne l'utilisateur courant (cookie ou Bearer) + ses rĂ´les locaux. */ -router.get("/me", requireAuth, (req: Request, res: Response): void => { +router.get("/me", requireAuth, async (req: Request, res: Response): Promise => { const { user } = req as AuthenticatedRequest; - res.json({ success: true, data: { user } }); + + const localUser = await AppDataSource.getRepository(User) + .findOne({ where: { superOAuthId: user.id }, relations: ["userRoles", "userRoles.role"] }); + + const roles = localUser?.userRoles.map((ur) => ur.role.slug) ?? []; + + res.json({ success: true, data: { user: { ...user, roles } } }); }); /**