Init
This commit is contained in:
@@ -0,0 +1,17 @@
|
||||
const asyncHandler = require("express-async-handler");
|
||||
const User = require("../models/userModels");
|
||||
|
||||
|
||||
const hasPerma = (perm) => {
|
||||
return asyncHandler(async (req, res, next) => {
|
||||
const user = await User.findId(req.user.id)
|
||||
if (user && (user.permissions.includes(perm) || !user.permissions.includes("ADMIN"))) {
|
||||
return next()
|
||||
} else {
|
||||
res.status(401); throw new Error('کاربر مجوز لازم را ندارد');
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
module.exports = { name: "hasPermission", run: hasPerma };
|
||||
Reference in New Issue
Block a user