diff --git a/packages/backend/src/helpers/error-handler.js b/packages/backend/src/helpers/error-handler.js index 30bebeab..49a74956 100644 --- a/packages/backend/src/helpers/error-handler.js +++ b/packages/backend/src/helpers/error-handler.js @@ -1,14 +1,19 @@ import logger from './logger.js'; +import { NotFoundError, DataError } from 'objection'; // Do not remove `next` argument as the function signature will not fit for an error handler middleware // eslint-disable-next-line no-unused-vars const errorHandler = (error, request, response, next) => { - if (error.message === 'Not Found' || error.message === 'NotFoundError') { + if (error.message === 'Not Found' || error instanceof NotFoundError) { response.status(404).end(); - } else { - logger.error(error.message + '\n' + error.stack); - response.status(error.statusCode || 500); } + + if (error instanceof DataError) { + response.status(400).end(); + } + + logger.error(error.message + '\n' + error.stack); + response.status(error.statusCode || 500); }; export default errorHandler;