import { z } from "zod"; export const directoryInfoResponse = z.object({ metadata: z .object({ mekVersion: z.number().int().positive(), dek: z.string().base64().nonempty(), dekVersion: z.string().datetime(), name: z.string().base64().nonempty(), nameIv: z.string().base64().nonempty(), }) .optional(), subDirectories: z.number().int().positive().array(), files: z.number().int().positive().array(), }); export type DirectoryInfoResponse = z.infer; export const directoryDeleteResponse = z.object({ deletedFiles: z.number().int().positive().array(), }); export type DirectoryDeleteResponse = z.infer; export const directoryRenameRequest = z.object({ dekVersion: z.string().datetime(), name: z.string().base64().nonempty(), nameIv: z.string().base64().nonempty(), }); export type DirectoryRenameRequest = z.infer; export const directoryCreateRequest = z.object({ parentId: z.union([z.enum(["root"]), z.number().int().positive()]), mekVersion: z.number().int().positive(), dek: z.string().base64().nonempty(), dekVersion: z.string().datetime(), name: z.string().base64().nonempty(), nameIv: z.string().base64().nonempty(), }); export type DirectoryCreateRequest = z.infer;