Files
flood/server/middleware/requireAdmin.ts
Jesse Chan 9e03d2a385 shared: schema: split enums from schemas
Otherwise zod will be included in client dependency graph and
increase the bundle size by 10kB unnecessarily.
2020-10-28 12:34:52 +08:00

12 lines
367 B
TypeScript

import type {Request, Response, NextFunction} from 'express';
import {AccessLevel} from '../../shared/schema/constants/Auth';
export default (req: Request, res: Response, next: NextFunction) => {
if (req.user == null || req.user.level !== AccessLevel.ADMINISTRATOR) {
res.status(403).json({message: 'User is not admin.'}).send();
return;
}
next();
};