/* * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. */ import * as z from "zod/v3"; import { safeParse } from "../../lib/schemas.js"; import { Result as SafeParseResult } from "../../types/fp.js"; import * as components from "../components/index.js"; import { NovuError } from "./novuerror.js"; import { SDKValidationError } from "./sdkvalidationerror.js"; export type MessagePayloadValidationExceptionDto5 = | string | number | boolean | { [k: string]: any }; export type MessagePayloadValidationExceptionDto4 = {}; /** * Value that failed validation */ export type PayloadValidationExceptionDtoMessage = | string | number | boolean | MessagePayloadValidationExceptionDto4 | Array; /** * The JSON schema that was used for validation */ export type Schema = {}; export type PayloadValidationExceptionDtoData = { /** * HTTP status code of the error response. */ statusCode: number; /** * Timestamp of when the error occurred. */ timestamp: string; /** * The path where the error occurred. */ path: string; /** * Value that failed validation */ message?: | string | number | boolean | MessagePayloadValidationExceptionDto4 | Array | null | undefined; /** * Optional context object for additional error details. */ ctx?: { [k: string]: any } | undefined; /** * Optional unique identifier for the error, useful for tracking using Sentry and * * @remarks * New Relic, only available for 500. */ errorId?: string | undefined; /** * Type identifier for payload validation errors */ type: string; /** * Array of detailed validation errors */ errors: Array; /** * The JSON schema that was used for validation */ schema?: Schema | undefined; }; export class PayloadValidationExceptionDto extends NovuError { /** * Timestamp of when the error occurred. */ timestamp: string; /** * The path where the error occurred. */ path: string; /** * Optional context object for additional error details. */ ctx?: { [k: string]: any } | undefined; /** * Optional unique identifier for the error, useful for tracking using Sentry and * * @remarks * New Relic, only available for 500. */ errorId?: string | undefined; /** * Type identifier for payload validation errors */ type: string; /** * Array of detailed validation errors */ errors: Array; /** * The JSON schema that was used for validation */ schema?: Schema | undefined; /** The original data that was passed to this error instance. */ data$: PayloadValidationExceptionDtoData; constructor( err: PayloadValidationExceptionDtoData, httpMeta: { response: Response; request: Request; body: string }, ) { const message = "message" in err && typeof err.message === "string" ? err.message : `API error occurred: ${JSON.stringify(err)}`; super(message, httpMeta); this.data$ = err; this.timestamp = err.timestamp; this.path = err.path; if (err.ctx != null) this.ctx = err.ctx; if (err.errorId != null) this.errorId = err.errorId; this.type = err.type; this.errors = err.errors; if (err.schema != null) this.schema = err.schema; this.name = "PayloadValidationExceptionDto"; } } /** @internal */ export const MessagePayloadValidationExceptionDto5$inboundSchema: z.ZodType< MessagePayloadValidationExceptionDto5, z.ZodTypeDef, unknown > = z.union([z.string(), z.number(), z.boolean(), z.record(z.any())]); export function messagePayloadValidationExceptionDto5FromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => MessagePayloadValidationExceptionDto5$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'MessagePayloadValidationExceptionDto5' from JSON`, ); } /** @internal */ export const MessagePayloadValidationExceptionDto4$inboundSchema: z.ZodType< MessagePayloadValidationExceptionDto4, z.ZodTypeDef, unknown > = z.object({}); export function messagePayloadValidationExceptionDto4FromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => MessagePayloadValidationExceptionDto4$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'MessagePayloadValidationExceptionDto4' from JSON`, ); } /** @internal */ export const PayloadValidationExceptionDtoMessage$inboundSchema: z.ZodType< PayloadValidationExceptionDtoMessage, z.ZodTypeDef, unknown > = z.union([ z.string(), z.number(), z.boolean(), z.lazy(() => MessagePayloadValidationExceptionDto4$inboundSchema), z.array( z.nullable( z.union([z.string(), z.number(), z.boolean(), z.record(z.any())]), ), ), ]); export function payloadValidationExceptionDtoMessageFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => PayloadValidationExceptionDtoMessage$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'PayloadValidationExceptionDtoMessage' from JSON`, ); } /** @internal */ export const Schema$inboundSchema: z.ZodType = z .object({}); export function schemaFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => Schema$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'Schema' from JSON`, ); } /** @internal */ export const PayloadValidationExceptionDto$inboundSchema: z.ZodType< PayloadValidationExceptionDto, z.ZodTypeDef, unknown > = z.object({ statusCode: z.number(), timestamp: z.string(), path: z.string(), message: z.nullable( z.union([ z.string(), z.number(), z.boolean(), z.lazy(() => MessagePayloadValidationExceptionDto4$inboundSchema), z.array( z.nullable( z.union([z.string(), z.number(), z.boolean(), z.record(z.any())]), ), ), ]), ).optional(), ctx: z.record(z.any()).optional(), errorId: z.string().optional(), type: z.string(), errors: z.array(components.PayloadValidationErrorDto$inboundSchema), schema: z.lazy(() => Schema$inboundSchema).optional(), request$: z.instanceof(Request), response$: z.instanceof(Response), body$: z.string(), }) .transform((v) => { return new PayloadValidationExceptionDto(v, { request: v.request$, response: v.response$, body: v.body$, }); });