diff --git a/src/utils/create-validation-error.ts b/src/utils/create-validation-error.ts index bad586e..c081d4e 100644 --- a/src/utils/create-validation-error.ts +++ b/src/utils/create-validation-error.ts @@ -1,15 +1,29 @@ import { ValidationError } from 'admin-bro' export const createValidationError = (originalError): ValidationError => { - const errors = Object.keys(originalError.errors).reduce((memo, key) => { - const { message, kind, name } = originalError.errors[key] - return { + let errors + if (originalError.errors) { + errors = Object.keys(originalError.errors).reduce((memo, key) => { + const { message, kind, name } = originalError.errors[key] + return { + ...memo, + [key]: { + message, + type: kind || name, + }, + } + }, {}) + } + + if (originalError.name && originalError.name === 'ValidationError') { + errors = Object.keys(originalError.data).reduce((memo, key) => ({ ...memo, [key]: { - message, - type: kind || name, + message: originalError.data[key], + type: originalError.name, }, - } - }, {}) + }), {}) + } + return new ValidationError(errors) }