import { z } from "zod"; export const documentLogoMimeTypes = [ "image/png", "image/jpeg", "image/svg+xml", ] as const; export type DocumentLogoMimeType = (typeof documentLogoMimeTypes)[number]; export const maxDocumentLogoBytes = 2 * 1024 * 1024; export const uploadDocumentLogoSchema = z .object({ fileName: z.string().trim().min(1).max(200), mimeType: z.enum(documentLogoMimeTypes), contentBase64: z .string() .min(1) // Base64 expands by 4/3; the decoded size is checked again server-side. .max(Math.ceil((maxDocumentLogoBytes * 4) / 3) + 4), }) .strict(); export type UploadDocumentLogoInput = z.infer;