rokojori-auth/source/server/middleware/requireAdmin.ts

23 lines
596 B
TypeScript
Raw Permalink Normal View History

2026-07-13 03:48:45 +00:00
import { Request, Response, NextFunction } from 'express';
import { isAdmin, isSuperAdmin } from '../roles';
export function requireAdmin( req: Request, res: Response, next: NextFunction ): void
{
if ( !req.auth || !isAdmin( req.auth.roles ) )
{
res.status( 403 ).json( { error: 'Admin access required' } );
return;
}
next();
}
export function requireSuperAdmin( req: Request, res: Response, next: NextFunction ): void
{
if ( !req.auth || !isSuperAdmin( req.auth.roles ) )
{
res.status( 403 ).json( { error: 'Superadmin access required' } );
return;
}
next();
}