/* * 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 { FilePatch, FilePatch$Outbound, FilePatch$outboundSchema, } from "../components/filepatch.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 FilesUpdateRequest = { /** * The file ID. */ id: string; filePatch: FilePatch; }; /** * File updated. */ export type FilesUpdateResponseFilesUpdate = | DownloadableFileRead | ProductMediaFileRead | OrganizationAvatarFileRead; /** @internal */ export type FilesUpdateRequest$Outbound = { id: string; FilePatch: FilePatch$Outbound; }; /** @internal */ export const FilesUpdateRequest$outboundSchema: z.ZodMiniType< FilesUpdateRequest$Outbound, FilesUpdateRequest > = z.pipe( z.object({ id: z.string(), filePatch: FilePatch$outboundSchema, }), z.transform((v) => { return remap$(v, { filePatch: "FilePatch", }); }), ); export function filesUpdateRequestToJSON( filesUpdateRequest: FilesUpdateRequest, ): string { return JSON.stringify( FilesUpdateRequest$outboundSchema.parse(filesUpdateRequest), ); } /** @internal */ export const FilesUpdateResponseFilesUpdate$inboundSchema: z.ZodMiniType< FilesUpdateResponseFilesUpdate, unknown > = z.union([ DownloadableFileRead$inboundSchema, ProductMediaFileRead$inboundSchema, OrganizationAvatarFileRead$inboundSchema, ]); export function filesUpdateResponseFilesUpdateFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => FilesUpdateResponseFilesUpdate$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'FilesUpdateResponseFilesUpdate' from JSON`, ); }