Role nd token Based Routing completed for Project,trash,home which is in Controller. Token, Auth Purpose,Rolebased middlewares created. Auth API,Project token Based API, Home Token Based API, Trash Token Based API In v1 AuthRoutes
This commit is contained in:
13
src/shared/middleware/rbacMiddleware.ts
Normal file
13
src/shared/middleware/rbacMiddleware.ts
Normal file
@@ -0,0 +1,13 @@
|
||||
import { Response, Request, NextFunction } from "express";
|
||||
import { AuthenticatedRequest } from "../../shared/utils/token.ts";
|
||||
type Role = "Admin" | "User";
|
||||
const authorizedRoles = (...allowedRoles: Role[]) => {
|
||||
return (req: AuthenticatedRequest, res: Response, next: NextFunction) => {
|
||||
if (!req.user || !allowedRoles.includes(req.user.role as Role)) {
|
||||
res.status(403).json({ message: "Access Denied" });
|
||||
return;
|
||||
}
|
||||
next();
|
||||
};
|
||||
};
|
||||
export default authorizedRoles;
|
||||
Reference in New Issue
Block a user