Include full AJV error on api
This commit is contained in:
parent
95d13499d4
commit
c41c3c068e
@ -144,7 +144,7 @@ export function route(opts: RouteOptions) {
|
||||
`[VALIDATION ERROR] ${req.method} ${req.originalUrl} - SCHEMA='${opts.requestBody}' -`,
|
||||
validate?.errors,
|
||||
);
|
||||
throw FieldErrors(fields);
|
||||
throw FieldErrors(fields, validate.errors!);
|
||||
}
|
||||
}
|
||||
next();
|
||||
|
||||
@ -16,6 +16,8 @@
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
import { ErrorObject } from "ajv";
|
||||
|
||||
export interface FieldErrorResponse {
|
||||
code: number;
|
||||
message: string;
|
||||
@ -25,7 +27,7 @@ export interface FieldErrorResponse {
|
||||
export type ErrorContent = { code: string; message: string };
|
||||
export type ObjectErrorContent = { _errors: ErrorContent[] };
|
||||
|
||||
export function FieldErrors(fields: Record<string, { code?: string; message: string }>) {
|
||||
export function FieldErrors(fields: Record<string, { code?: string; message: string }>, errors?: ErrorObject[]) {
|
||||
return new FieldError(
|
||||
50035,
|
||||
"Invalid Form Body",
|
||||
@ -37,6 +39,7 @@ export function FieldErrors(fields: Record<string, { code?: string; message: str
|
||||
},
|
||||
],
|
||||
})),
|
||||
errors
|
||||
);
|
||||
}
|
||||
|
||||
@ -48,6 +51,7 @@ export class FieldError extends Error {
|
||||
public code: string | number,
|
||||
public message: string,
|
||||
public errors?: object, // TODO: I don't like this typing.
|
||||
public _ajvErrors?: ErrorObject[]
|
||||
) {
|
||||
super(message);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user