UNPKG

zod-to-appwrite

Version:

Generate Appwrite database collections from Zod schemas

29 lines (28 loc) 779 B
import { Databases } from "node-appwrite"; import { ZodObject } from "zod"; export interface ZodToAppwriteOptions { databases: Databases; databaseId: string; collectionId: string; collectionName: string; permissions?: Array<{ permission: string; role: string; }>; logLevel?: "silent" | "info" | "verbose"; enumSizeLimit?: number; stringDefaultSize?: number; skipExisting?: boolean; } export interface AttributeCreationResult { created: string[]; skipped: string[]; failed: string[]; } export interface CollectionCreationResult { success: boolean; collectionId: string; result?: AttributeCreationResult; error?: string; } export type InferZodSchema<T> = T extends ZodObject<infer U> ? U : never;