face / src /middleware /roleGuard.js
aliroohan179's picture
feat: implement core backend POS API with authentication, role-based access control, menu management, and order processing logic.
1e480b5
Raw History Blame Contribute Delete
466 Bytes
/**
* Role guard factory.
* Usage: requireRole('owner') or requireRole('owner', 'cashier')
*/
const requireRole = (...roles) => {
return (req, res, next) => {
if (!req.user) {
return res.status(401).json({ message: 'Not authenticated' });
}
if (!roles.includes(req.user.role)) {
return res.status(403).json({ message: `Access denied. Required role: ${roles.join(' or ')}` });
}
next();
};
};
module.exports = { requireRole };