fix(error-handler): use HTTP 422 for validation errors

This commit is contained in:
Ali BARIN
2024-08-26 12:46:00 +00:00
parent 337ba6ea87
commit 5995038e21
3 changed files with 9 additions and 15 deletions

View File

@@ -64,22 +64,16 @@ const renderError = (response, errors, status, type) => {
return response.status(errorStatus).send(payload);
};
const renderObjectionError = (response, error) => {
const {
statusCode,
type,
data = {},
} = error;
const renderObjectionError = (response, error, status) => {
const { statusCode, type, data = {} } = error;
const errorEntries = Object.entries(data);
const computedStatusCode = status || statusCode;
const computedErrors = errorEntries.reduce((errors, [fieldName, fieldErrors]) => {
const computedErrors = fieldErrors.map(fieldError => fieldError.message);
const computedErrors = Object.entries(data).map(([fieldName, fieldErrors]) => ({
[fieldName]: fieldErrors.map(({ message }) => message)
}));
return errors.concat({ [fieldName]: computedErrors });
}, []);
return renderError(response, computedErrors, statusCode, type);
return renderError(response, computedErrors, computedStatusCode, type);
};
export { renderObject, renderError, renderObjectionError };