У меня есть endpoint. И два коллбека ниже.
router.put('/fixtures/change/main/:fixtoId', jwtTokenUserRole,ChangeMainFixture)
exports.jwtTokenUserRole = async (req, res,next) =>{
let head = req.headers
var token = head.authorization.replace('Bearer ','')
let j = jwt.decode(token)
req.auth = j.role
next()
}
exports.ChangeMainFixture = (req,res) =>{
let fixMain = req.fixtur
fixMain = _.extend(fixMain, req.body)
fixMain.save((err, result) => {
if (err) {
return res.status(400).json({
error: err
})
}
res.json(result)
})
}
Я хочу что бы первый калбек, определял права пользователя. И если запрос сделал не админ. То дальше по калбекам не шло. Я нашел в документации функцию process.exit(1); Но разработчики Nodejs не рекомендуют это использовать. Отслеживать, права в последнем калбеке и от туда отдавать респонс, не вариант. Я могу уставить это тысячей if(), но хотелось бы найти решение по лучше.