/* * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. */ import * as z from "zod/v3"; import { remap as remap$ } from "../../lib/primitives.js"; import { ClosedEnum } from "../../types/enums.js"; /** * The resource type to associate localizations with */ export const ResourceType = { Workflow: "workflow", Layout: "layout", } as const; /** * The resource type to associate localizations with */ export type ResourceType = ClosedEnum; export type Files = { fileName: string; content: ReadableStream | Blob | ArrayBuffer | Uint8Array; }; export type TranslationControllerUploadTranslationFilesRequestBody = { /** * The resource ID to associate localizations with. Accepts identifier or slug format */ resourceId: string; /** * The resource type to associate localizations with */ resourceType: ResourceType; /** * One or more JSON translation files. Filenames must match locale format (e.g., en_US.json, fr_FR.json). Field name can be "files" or "files[]". */ files: Array; }; export type TranslationControllerUploadTranslationFilesRequest = { /** * A header for idempotency purposes */ idempotencyKey?: string | undefined; requestBody: TranslationControllerUploadTranslationFilesRequestBody; }; /** @internal */ export const ResourceType$outboundSchema: z.ZodNativeEnum = z.nativeEnum(ResourceType); /** @internal */ export type Files$Outbound = { fileName: string; content: ReadableStream | Blob | ArrayBuffer | Uint8Array; }; /** @internal */ export const Files$outboundSchema: z.ZodType< Files$Outbound, z.ZodTypeDef, Files > = z.object({ fileName: z.string(), content: z.union([ z.instanceof(ReadableStream), z.instanceof(Blob), z.instanceof(ArrayBuffer), z.instanceof(Uint8Array), ]), }); export function filesToJSON(files: Files): string { return JSON.stringify(Files$outboundSchema.parse(files)); } /** @internal */ export type TranslationControllerUploadTranslationFilesRequestBody$Outbound = { resourceId: string; resourceType: string; files: Array; }; /** @internal */ export const TranslationControllerUploadTranslationFilesRequestBody$outboundSchema: z.ZodType< TranslationControllerUploadTranslationFilesRequestBody$Outbound, z.ZodTypeDef, TranslationControllerUploadTranslationFilesRequestBody > = z.object({ resourceId: z.string(), resourceType: ResourceType$outboundSchema, files: z.array(z.lazy(() => Files$outboundSchema)), }); export function translationControllerUploadTranslationFilesRequestBodyToJSON( translationControllerUploadTranslationFilesRequestBody: TranslationControllerUploadTranslationFilesRequestBody, ): string { return JSON.stringify( TranslationControllerUploadTranslationFilesRequestBody$outboundSchema.parse( translationControllerUploadTranslationFilesRequestBody, ), ); } /** @internal */ export type TranslationControllerUploadTranslationFilesRequest$Outbound = { "idempotency-key"?: string | undefined; RequestBody: TranslationControllerUploadTranslationFilesRequestBody$Outbound; }; /** @internal */ export const TranslationControllerUploadTranslationFilesRequest$outboundSchema: z.ZodType< TranslationControllerUploadTranslationFilesRequest$Outbound, z.ZodTypeDef, TranslationControllerUploadTranslationFilesRequest > = z.object({ idempotencyKey: z.string().optional(), requestBody: z.lazy(() => TranslationControllerUploadTranslationFilesRequestBody$outboundSchema ), }).transform((v) => { return remap$(v, { idempotencyKey: "idempotency-key", requestBody: "RequestBody", }); }); export function translationControllerUploadTranslationFilesRequestToJSON( translationControllerUploadTranslationFilesRequest: TranslationControllerUploadTranslationFilesRequest, ): string { return JSON.stringify( TranslationControllerUploadTranslationFilesRequest$outboundSchema.parse( translationControllerUploadTranslationFilesRequest, ), ); }