Files
old.admin.gaertan.art/src/schemas/imageSchema.ts
2025-07-12 22:08:55 +02:00

28 lines
803 B
TypeScript

import * as z from "zod/v4";
export const imageUploadSchema = z.object({
file: z
.custom<FileList>()
.refine((files) => files instanceof FileList && files.length > 0, {
message: "Image file is required",
}),
})
export const imageSchema = z.object({
fileKey: z.string().min(1, "File key is required"),
originalFile: z.string().min(1, "Original file is required"),
nsfw: z.boolean(),
published: z.boolean(),
altText: z.string().optional(),
description: z.string().optional(),
fileType: z.string().optional(),
name: z.string().optional(),
slug: z.string().optional(),
type: z.string().optional(),
fileSize: z.number().optional(),
creationDate: z.date().optional(),
categoryIds: z.array(z.string()).optional(),
tagIds: z.array(z.string()).optional(),
})