consigno-core
Version:
Consigno Core
31 lines (27 loc) • 800 B
JavaScript
const PowerRouter = require('express-power-router');
const { BadRequestError } = PowerRouter;
const { ValidationError } = require('sequelize');
const powerRouter = PowerRouter();
powerRouter.createInterceptor({
intercepts: () => true,
execute: async (parameters, req, res, stack) => {
try {
return await stack.next();
} catch (err) {
if (err instanceof ValidationError) {
const errors = {};
for (let error of err.errors) {
let field = errors[error.path];
if (!field) {
field = [];
errors[error.path] = field;
}
field.push(error.message);
}
throw new BadRequestError('Problemas de validação', { errors });
}
throw err;
}
},
});
module.exports = powerRouter;