UNPKG

@dreesq/serpent

Version:

An express wrapper for developing fast web applications

26 lines (20 loc) 574 B
const {error} = require('../utils'); /** * Middleware to check if user has permissions * @param roles * @returns {Function} */ module.exports = roles => { return (req, res, next) => { const {user} = req; if (!user) { next(true); return res.status(401).json(error(req.translate('errors.requiresAuth'))); } if (!user.is.apply(this, Object.keys(roles))) { next(true); return res.status(401).json(error(req.translate('errors.requiresPermission'))); } next(); }; };