16 lines
551 B
TypeScript
16 lines
551 B
TypeScript
import { Request, Response, NextFunction } from 'express';
|
|
|
|
// Guard per le route di moderazione (es. approvazione/rifiuto di un materiale
|
|
// proposto nel catalogo). Da usare dopo verifyToken, solo su quelle route: il
|
|
// possesso del ruolo realm moderatore non è richiesto altrove.
|
|
export function requireModeratore(req: Request, res: Response, next: NextFunction): void {
|
|
const roles = req.auth?.roles ?? [];
|
|
|
|
if (!roles.includes('moderatore')) {
|
|
res.status(403).json({ message: 'Ruolo moderatore richiesto' });
|
|
return;
|
|
}
|
|
|
|
next();
|
|
}
|