ajinkya-mhetre-mern
Version:
A MERN starter with frontend and backend folders
24 lines (20 loc) • 593 B
JavaScript
// ===== src/middleware/roleCheck.js =====
const checkRole = (...roles) => {
return (req, res, next) => {
if (!roles.includes(req.user.role)) {
return res.status(403).json({
message: 'Access denied. Insufficient permissions.'
});
}
next();
};
};
const checkVerified = (req, res, next) => {
if (req.user.role === 'farmer' && !req.user.isVerified) {
return res.status(403).json({
message: 'Account not verified. Please wait for admin approval.'
});
}
next();
};
module.exports = { checkRole, checkVerified };