Files
dlearn-api/middleware/hasPermissions.js
T
Mr Swift ee6bd01224 Init
2024-04-27 20:10:55 +03:30

17 lines
548 B
JavaScript

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 };