helpyourneighbour/backend/middleware/role.middleware.js
BibaBot 963d8c3aa5
Some checks are pending
Docker Test / test (push) Waiting to run
feat: Implement role-based access control middleware and tests
2026-03-17 10:09:15 +00:00

26 lines
No EOL
669 B
JavaScript

// Role-based access control middleware
const requireRole = (requiredRoles) => {
return (req, res, next) => {
// Check if user is authenticated
if (!req.user) {
return res.status(401).json({
error: 'Authentication required'
});
}
// Check if user has the required role
const userRole = req.user.role;
if (requiredRoles.includes(userRole)) {
// User has the required role, allow access
next();
} else {
// User does not have the required role, deny access
return res.status(403).json({
error: 'Insufficient permissions'
});
}
};
};
module.exports = { requireRole };