/* * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. */ import * as z from "zod/v4-mini"; import { remap as remap$ } from "../../lib/primitives.js"; import { safeParse } from "../../lib/schemas.js"; import { Result as SafeParseResult } from "../../types/fp.js"; import { DownloadableFileRead, DownloadableFileRead$inboundSchema, } from "../components/downloadablefileread.js"; import { FileUploadCompleted, FileUploadCompleted$Outbound, FileUploadCompleted$outboundSchema, } from "../components/fileuploadcompleted.js"; import { OrganizationAvatarFileRead, OrganizationAvatarFileRead$inboundSchema, } from "../components/organizationavatarfileread.js"; import { ProductMediaFileRead, ProductMediaFileRead$inboundSchema, } from "../components/productmediafileread.js"; import { SDKValidationError } from "../errors/sdkvalidationerror.js"; export type FilesUploadedRequest = { /** * The file ID. */ id: string; fileUploadCompleted: FileUploadCompleted; }; /** * File upload completed. */ export type FilesUploadedResponseFilesUploaded = | DownloadableFileRead | ProductMediaFileRead | OrganizationAvatarFileRead; /** @internal */ export type FilesUploadedRequest$Outbound = { id: string; FileUploadCompleted: FileUploadCompleted$Outbound; }; /** @internal */ export const FilesUploadedRequest$outboundSchema: z.ZodMiniType< FilesUploadedRequest$Outbound, FilesUploadedRequest > = z.pipe( z.object({ id: z.string(), fileUploadCompleted: FileUploadCompleted$outboundSchema, }), z.transform((v) => { return remap$(v, { fileUploadCompleted: "FileUploadCompleted", }); }), ); export function filesUploadedRequestToJSON( filesUploadedRequest: FilesUploadedRequest, ): string { return JSON.stringify( FilesUploadedRequest$outboundSchema.parse(filesUploadedRequest), ); } /** @internal */ export const FilesUploadedResponseFilesUploaded$inboundSchema: z.ZodMiniType< FilesUploadedResponseFilesUploaded, unknown > = z.union([ DownloadableFileRead$inboundSchema, ProductMediaFileRead$inboundSchema, OrganizationAvatarFileRead$inboundSchema, ]); export function filesUploadedResponseFilesUploadedFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => FilesUploadedResponseFilesUploaded$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'FilesUploadedResponseFilesUploaded' from JSON`, ); }