UNPKG

node-express-mongodb-jwt-rest-api-skeleton

Version:

Node.js express.js MongoDB JWT REST API - This is a basic API REST skeleton written on JavaScript using async/await. Great for building a starter web API for your front-end (Android, iOS, Vue, react, angular, or anything that can consume an API)

26 lines (23 loc) 720 B
const User = require('../../../models/user') const { itemNotFound, buildErrObject } = require('../../../middleware/utils') /** * Checks against user if has quested role * @param {Object} data - data object * @param {*} next - next callback */ const checkPermissions = ({ id = '', roles = [] }, next) => { return new Promise((resolve, reject) => { User.findById(id, async (err, result) => { try { await itemNotFound(err, result, 'USER_NOT_FOUND') if (roles.indexOf(result.role) > -1) { return resolve(next()) } reject(buildErrObject(401, 'UNAUTHORIZED')) } catch (error) { reject(error) } }) }) } module.exports = { checkPermissions }