33 lines
866 B
JavaScript
33 lines
866 B
JavaScript
const errorHandling = require('../assets/utils/errorHandling')
|
|
const { serverError } = require('../assets/config/errors')
|
|
const Users = require('../models/users')
|
|
|
|
module.exports = (req, _res, next) => {
|
|
if (!req.userId) {
|
|
return errorHandling(next, {
|
|
message: "Vous n'êtes pas connecté.",
|
|
statusCode: 403
|
|
})
|
|
}
|
|
Users.findOne({ where: { id: req.userId } })
|
|
.then(user => {
|
|
if (!user) {
|
|
return errorHandling(next, {
|
|
message: "Le mot de passe ou l'adresse email n'est pas valide.",
|
|
statusCode: 403
|
|
})
|
|
}
|
|
if (!user.isAdmin) {
|
|
return errorHandling(next, {
|
|
message: "Vous n'êtes pas administrateur.",
|
|
statusCode: 403
|
|
})
|
|
}
|
|
next()
|
|
})
|
|
.catch(error => {
|
|
console.log(error)
|
|
return errorHandling(next, serverError)
|
|
})
|
|
}
|