15 lines
394 B
TypeScript
15 lines
394 B
TypeScript
import { Request, Response, NextFunction } from 'express';
|
|
|
|
export const authorize = (roles: string[]) => {
|
|
return (req: Request, res: Response, next: NextFunction) => {
|
|
if (!req.user) {
|
|
return res.status(401).json({ message: 'Unauthorized' });
|
|
}
|
|
|
|
if (!roles.includes(req.user.role)) {
|
|
return res.status(403).json({ message: 'Forbidden' });
|
|
}
|
|
|
|
next();
|
|
};
|
|
};
|