/* * 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 { SDKValidationError } from "../errors/sdkvalidationerror.js"; import { EvidenceType, EvidenceType$inboundSchema, EvidenceType$outboundSchema, } from "./evidencetype.js"; /** * Details of a successfully uploaded evidence file. */ export type EvidenceUploadResponse = { /** * The ID of the evidence. */ evidenceID: string; /** * The ID of the dispute the evidence is associated with. */ disputeID: string; /** * The name of the evidence file. */ filename: string; /** * The MIME type of the evidence file. */ mimeType: string; /** * The size of the evidence file. */ size: number; evidenceType: EvidenceType; /** * The date and time the evidence was uploaded. */ createdOn: Date; }; /** @internal */ export const EvidenceUploadResponse$inboundSchema: z.ZodType< EvidenceUploadResponse, z.ZodTypeDef, unknown > = z.object({ evidenceID: z.string(), disputeID: z.string(), filename: z.string(), mimeType: z.string(), size: z.number().int(), evidenceType: EvidenceType$inboundSchema, createdOn: z.string().datetime({ offset: true }).transform(v => new Date(v)), }); /** @internal */ export type EvidenceUploadResponse$Outbound = { evidenceID: string; disputeID: string; filename: string; mimeType: string; size: number; evidenceType: string; createdOn: string; }; /** @internal */ export const EvidenceUploadResponse$outboundSchema: z.ZodType< EvidenceUploadResponse$Outbound, z.ZodTypeDef, EvidenceUploadResponse > = z.object({ evidenceID: z.string(), disputeID: z.string(), filename: z.string(), mimeType: z.string(), size: z.number().int(), evidenceType: EvidenceType$outboundSchema, createdOn: z.date().transform(v => v.toISOString()), }); export function evidenceUploadResponseToJSON( evidenceUploadResponse: EvidenceUploadResponse, ): string { return JSON.stringify( EvidenceUploadResponse$outboundSchema.parse(evidenceUploadResponse), ); } export function evidenceUploadResponseFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => EvidenceUploadResponse$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'EvidenceUploadResponse' from JSON`, ); }