refactor(create-config): move unique violation error handling to error-handler

This commit is contained in:
Ali BARIN
2024-08-27 16:30:05 +00:00
parent 48b2b006c0
commit 0800642a2a
5 changed files with 55 additions and 30 deletions

View File

@@ -64,16 +64,31 @@ const renderError = (response, errors, status, type) => {
return response.status(errorStatus).send(payload);
};
const renderUniqueViolationError = (response, error) => {
const errors = error.columns.map((column) => ({
[column]: [`'${column}' must be unique.`],
}));
return renderError(response, errors, 422, 'UniqueViolationError');
};
const renderObjectionError = (response, error, status) => {
const { statusCode, type, data = {} } = error;
const computedStatusCode = status || statusCode;
const computedErrors = Object.entries(data).map(([fieldName, fieldErrors]) => ({
[fieldName]: fieldErrors.map(({ message }) => message)
}));
const computedErrors = Object.entries(data).map(
([fieldName, fieldErrors]) => ({
[fieldName]: fieldErrors.map(({ message }) => message),
})
);
return renderError(response, computedErrors, computedStatusCode, type);
};
export { renderObject, renderError, renderObjectionError };
export {
renderObject,
renderError,
renderObjectionError,
renderUniqueViolationError,
};