mirror of
https://github.com/HabitRPG/habitica.git
synced 2025-12-15 21:57:22 +01:00
format express-validator errors
This commit is contained in:
@@ -103,7 +103,7 @@ describe('errorHandler', () => {
|
||||
});
|
||||
|
||||
it('handle express-validator errors', () => {
|
||||
let error = [{param: 'param', msg: 'invalid param'}];
|
||||
let error = [{param: 'param', msg: 'invalid param', value: 123}];
|
||||
|
||||
errorHandler(error, req, res, next);
|
||||
|
||||
@@ -114,7 +114,9 @@ describe('errorHandler', () => {
|
||||
expect(res.json).to.be.calledWith({
|
||||
error: 'BadRequest',
|
||||
message: 'Invalid request parameters.',
|
||||
errors: error,
|
||||
errors: [
|
||||
{param: error[0].param, value: error[0].value, message: error[0].msg}
|
||||
],
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
@@ -35,7 +35,13 @@ export default function errorHandler (err, req, res, next) { // eslint-disable-l
|
||||
// Handle errors by express-validator
|
||||
if (Array.isArray(err) && err[0].param && err[0].msg) {
|
||||
responseErr = new BadRequest(res.t('invalidReqParams'));
|
||||
responseErr.errors = err; // TODO format
|
||||
responseErr.errors = err.map((paramErr) => {
|
||||
return {
|
||||
message: paramErr.msg,
|
||||
param: paramErr.param,
|
||||
value: paramErr.value,
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
// Handle mongoose validation errors
|
||||
@@ -43,8 +49,8 @@ export default function errorHandler (err, req, res, next) { // eslint-disable-l
|
||||
responseErr = new BadRequest(err.message);
|
||||
responseErr.errors = map(err.errors, (mongooseErr) => {
|
||||
return {
|
||||
path: mongooseErr.path,
|
||||
message: mongooseErr.message,
|
||||
path: mongooseErr.path,
|
||||
value: mongooseErr.value,
|
||||
};
|
||||
});
|
||||
|
||||
@@ -21,7 +21,7 @@ export default function attachMiddlewares (app) {
|
||||
extended: true, // Uses 'qs' library as old connect middleware
|
||||
}));
|
||||
app.use(bodyParser.json());
|
||||
app.use(expressValidator()); // TODO config
|
||||
app.use(expressValidator());
|
||||
app.use(analytics);
|
||||
app.use(responseHandler);
|
||||
app.use(getUserLanguage);
|
||||
|
||||
Reference in New Issue
Block a user