wisdom #2

Merged
yogiedigital merged 126 commits from wisdom into main 2025-10-20 03:26:33 +00:00
2 changed files with 28 additions and 14 deletions
Showing only changes of commit 1cadf8c69d - Show all commits

View File

@@ -1,14 +0,0 @@
const { ErrorHandler } = require("../helpers/error");
module.exports = (req, res, next) => {
const { roles } = req.user;
if (roles && roles.includes("admin")) {
req.user = {
...req.user,
roles,
};
return next();
} else {
throw new ErrorHandler(401, "require admin role");
}
};

28
middleware/verifyRole.js Normal file
View File

@@ -0,0 +1,28 @@
const { ErrorHandler } = require("../helpers/error");
const verifyRole = (allowedRoles) => {
return (req, res, next) => {
try {
const user = req.user;
if (!user) {
throw new ErrorHandler(401, "Unauthorized: User not found");
}
// Super Admin bypass semua role
if (user.is_sa) {
return next();
}
if (!allowedRoles.includes(user.role_id)) {
throw new ErrorHandler(403, "Forbidden: Access denied");
}
next();
} catch (err) {
next(err);
}
};
};
module.exports = verifyRole;