add features
This commit is contained in:
@@ -100,7 +100,7 @@ router.get(
|
||||
res.status(400).json({
|
||||
success: false,
|
||||
message: 'Invalid query parameters',
|
||||
errors: error.errors,
|
||||
errors: error.issues,
|
||||
});
|
||||
return;
|
||||
}
|
||||
@@ -152,7 +152,7 @@ router.get(
|
||||
res.status(400).json({
|
||||
success: false,
|
||||
message: 'Invalid query parameters',
|
||||
errors: error.errors,
|
||||
errors: error.issues,
|
||||
});
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -28,21 +28,6 @@ const router = Router();
|
||||
|
||||
type AppRole = 'admin' | 'kommandant' | 'mitglied';
|
||||
|
||||
// Extend the Express Request type to include role
|
||||
declare global {
|
||||
namespace Express {
|
||||
interface Request {
|
||||
user?: {
|
||||
id: string;
|
||||
email: string;
|
||||
authentikSub: string;
|
||||
role?: AppRole;
|
||||
groups?: string[];
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Resolves the AppRole from Authentik groups attached to the JWT.
|
||||
* Mutates req.user.role so downstream controllers can read it directly.
|
||||
@@ -53,9 +38,9 @@ const resolveRole = (req: Request, _res: Response, next: NextFunction): void =>
|
||||
if (groups.includes('feuerwehr-admin')) {
|
||||
req.user.role = 'admin';
|
||||
} else if (groups.includes('feuerwehr-kommandant')) {
|
||||
req.user.role = 'kommandant';
|
||||
req.user.role = 'kommandant' as any;
|
||||
} else {
|
||||
req.user.role = 'mitglied';
|
||||
req.user.role = 'mitglied' as any;
|
||||
}
|
||||
logger.debug('resolveRole', { userId: req.user.id, role: req.user.role });
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user