fix(perm): allow array of permissions in permissionMiddleware and accept classes:update or classes:delete
This commit is contained in:
@@ -3,6 +3,7 @@
|
||||
const AppError = require('../utils/AppError');
|
||||
|
||||
const requirePermission = (requiredPermission) => {
|
||||
const perms = Array.isArray(requiredPermission) ? requiredPermission : [requiredPermission];
|
||||
return (req, res, next) => {
|
||||
try {
|
||||
if (!req.user) {
|
||||
@@ -19,8 +20,8 @@ const requirePermission = (requiredPermission) => {
|
||||
return next();
|
||||
}
|
||||
|
||||
// Check if required permission is held by role
|
||||
if (Array.isArray(role.permissions) && role.permissions.includes(requiredPermission)) {
|
||||
// Check if any required permission is held by role
|
||||
if (Array.isArray(role.permissions) && perms.some((p) => role.permissions.includes(p))) {
|
||||
return next();
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user