feat: map and expose objection.js errors

This commit is contained in:
Ali BARIN
2024-08-26 12:14:30 +00:00
parent 81c39d7d93
commit 0b63922f46
2 changed files with 25 additions and 2 deletions

View File

@@ -1,8 +1,9 @@
import logger from './logger.js';
import objection from 'objection';
import * as Sentry from './sentry.ee.js';
const { NotFoundError, DataError } = objection;
const { NotFoundError, DataError, ValidationError } = objection;
import HttpError from '../errors/http.js';
import { renderObjectionError } from './renderer.js';
// Do not remove `next` argument as the function signature will not fit for an error handler middleware
// eslint-disable-next-line no-unused-vars
@@ -15,6 +16,10 @@ const errorHandler = (error, request, response, next) => {
response.status(404).end();
}
if (error instanceof ValidationError) {
renderObjectionError(response, error);
}
if (error instanceof DataError) {
response.status(400).end();
}