UNPKG

appwrite-utils

Version:

`appwrite-utils` is a comprehensive TypeScript library designed to streamline the development process for Appwrite projects. It provides a suite of utilities and helper functions that facilitate data manipulation, schema management, and seamless integrati

600 lines (599 loc) 23.7 kB
import { z } from "zod"; export declare const attributeSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{ key: z.ZodString; type: z.ZodDefault<z.ZodLiteral<"string">>; error: z.ZodOptional<z.ZodDefault<z.ZodString>>; required: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>; array: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>; size: z.ZodDefault<z.ZodOptional<z.ZodNumber>>; xdefault: z.ZodOptional<z.ZodNullable<z.ZodString>>; encrypted: z.ZodOptional<z.ZodBoolean>; format: z.ZodOptional<z.ZodNullable<z.ZodString>>; description: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>>; }, "strip", z.ZodTypeAny, { type: "string"; key: string; size: number; format?: string | null | undefined; description?: string | Record<string, string> | undefined; required?: boolean | undefined; array?: boolean | undefined; error?: string | undefined; xdefault?: string | null | undefined; encrypted?: boolean | undefined; }, { key: string; type?: "string" | undefined; format?: string | null | undefined; description?: string | Record<string, string> | undefined; required?: boolean | undefined; array?: boolean | undefined; error?: string | undefined; size?: number | undefined; xdefault?: string | null | undefined; encrypted?: boolean | undefined; }>, z.ZodObject<{ key: z.ZodString; type: z.ZodDefault<z.ZodLiteral<"integer">>; error: z.ZodOptional<z.ZodDefault<z.ZodString>>; required: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>; array: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>; min: z.ZodOptional<z.ZodNumber>; max: z.ZodOptional<z.ZodNumber>; xdefault: z.ZodOptional<z.ZodNullable<z.ZodNumber>>; description: z.ZodOptional<z.ZodNullable<z.ZodUnion<[z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>>>; }, "strip", z.ZodTypeAny, { type: "integer"; key: string; description?: string | Record<string, string> | null | undefined; required?: boolean | undefined; array?: boolean | undefined; error?: string | undefined; xdefault?: number | null | undefined; min?: number | undefined; max?: number | undefined; }, { key: string; type?: "integer" | undefined; description?: string | Record<string, string> | null | undefined; required?: boolean | undefined; array?: boolean | undefined; error?: string | undefined; xdefault?: number | null | undefined; min?: number | undefined; max?: number | undefined; }>, z.ZodObject<{ key: z.ZodString; type: z.ZodDefault<z.ZodLiteral<"float">>; error: z.ZodOptional<z.ZodDefault<z.ZodString>>; required: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>; array: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>; min: z.ZodOptional<z.ZodNumber>; max: z.ZodOptional<z.ZodNumber>; xdefault: z.ZodOptional<z.ZodNullable<z.ZodNumber>>; description: z.ZodOptional<z.ZodNullable<z.ZodUnion<[z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>>>; }, "strip", z.ZodTypeAny, { type: "float"; key: string; description?: string | Record<string, string> | null | undefined; required?: boolean | undefined; array?: boolean | undefined; error?: string | undefined; xdefault?: number | null | undefined; min?: number | undefined; max?: number | undefined; }, { key: string; type?: "float" | undefined; description?: string | Record<string, string> | null | undefined; required?: boolean | undefined; array?: boolean | undefined; error?: string | undefined; xdefault?: number | null | undefined; min?: number | undefined; max?: number | undefined; }>, z.ZodObject<{ key: z.ZodString; type: z.ZodDefault<z.ZodLiteral<"boolean">>; error: z.ZodOptional<z.ZodDefault<z.ZodString>>; required: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>; array: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>; xdefault: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>; description: z.ZodOptional<z.ZodNullable<z.ZodUnion<[z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>>>; }, "strip", z.ZodTypeAny, { type: "boolean"; key: string; description?: string | Record<string, string> | null | undefined; required?: boolean | undefined; array?: boolean | undefined; error?: string | undefined; xdefault?: boolean | null | undefined; }, { key: string; type?: "boolean" | undefined; description?: string | Record<string, string> | null | undefined; required?: boolean | undefined; array?: boolean | undefined; error?: string | undefined; xdefault?: boolean | null | undefined; }>, z.ZodObject<{ key: z.ZodString; type: z.ZodDefault<z.ZodLiteral<"datetime">>; error: z.ZodOptional<z.ZodDefault<z.ZodString>>; required: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>; array: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>; xdefault: z.ZodOptional<z.ZodNullable<z.ZodString>>; description: z.ZodOptional<z.ZodNullable<z.ZodUnion<[z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>>>; }, "strip", z.ZodTypeAny, { type: "datetime"; key: string; description?: string | Record<string, string> | null | undefined; required?: boolean | undefined; array?: boolean | undefined; error?: string | undefined; xdefault?: string | null | undefined; }, { key: string; type?: "datetime" | undefined; description?: string | Record<string, string> | null | undefined; required?: boolean | undefined; array?: boolean | undefined; error?: string | undefined; xdefault?: string | null | undefined; }>, z.ZodObject<{ key: z.ZodString; type: z.ZodDefault<z.ZodLiteral<"email">>; error: z.ZodOptional<z.ZodDefault<z.ZodString>>; required: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>; array: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>; xdefault: z.ZodOptional<z.ZodNullable<z.ZodString>>; description: z.ZodOptional<z.ZodNullable<z.ZodUnion<[z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>>>; }, "strip", z.ZodTypeAny, { type: "email"; key: string; description?: string | Record<string, string> | null | undefined; required?: boolean | undefined; array?: boolean | undefined; error?: string | undefined; xdefault?: string | null | undefined; }, { key: string; type?: "email" | undefined; description?: string | Record<string, string> | null | undefined; required?: boolean | undefined; array?: boolean | undefined; error?: string | undefined; xdefault?: string | null | undefined; }>, z.ZodObject<{ key: z.ZodString; type: z.ZodLiteral<"ip">; error: z.ZodOptional<z.ZodDefault<z.ZodString>>; required: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>; array: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>; xdefault: z.ZodOptional<z.ZodNullable<z.ZodString>>; description: z.ZodOptional<z.ZodNullable<z.ZodUnion<[z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>>>; }, "strip", z.ZodTypeAny, { type: "ip"; key: string; description?: string | Record<string, string> | null | undefined; required?: boolean | undefined; array?: boolean | undefined; error?: string | undefined; xdefault?: string | null | undefined; }, { type: "ip"; key: string; description?: string | Record<string, string> | null | undefined; required?: boolean | undefined; array?: boolean | undefined; error?: string | undefined; xdefault?: string | null | undefined; }>, z.ZodObject<{ key: z.ZodString; type: z.ZodDefault<z.ZodLiteral<"url">>; error: z.ZodOptional<z.ZodDefault<z.ZodString>>; required: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>; array: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>; xdefault: z.ZodOptional<z.ZodNullable<z.ZodString>>; description: z.ZodOptional<z.ZodNullable<z.ZodUnion<[z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>>>; }, "strip", z.ZodTypeAny, { type: "url"; key: string; description?: string | Record<string, string> | null | undefined; required?: boolean | undefined; array?: boolean | undefined; error?: string | undefined; xdefault?: string | null | undefined; }, { key: string; type?: "url" | undefined; description?: string | Record<string, string> | null | undefined; required?: boolean | undefined; array?: boolean | undefined; error?: string | undefined; xdefault?: string | null | undefined; }>, z.ZodObject<{ key: z.ZodString; type: z.ZodDefault<z.ZodLiteral<"enum">>; error: z.ZodOptional<z.ZodDefault<z.ZodString>>; required: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>; array: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>; elements: z.ZodDefault<z.ZodArray<z.ZodString, "many">>; xdefault: z.ZodOptional<z.ZodNullable<z.ZodString>>; description: z.ZodOptional<z.ZodNullable<z.ZodUnion<[z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>>>; }, "strip", z.ZodTypeAny, { type: "enum"; key: string; elements: string[]; description?: string | Record<string, string> | null | undefined; required?: boolean | undefined; array?: boolean | undefined; error?: string | undefined; xdefault?: string | null | undefined; }, { key: string; type?: "enum" | undefined; description?: string | Record<string, string> | null | undefined; required?: boolean | undefined; array?: boolean | undefined; error?: string | undefined; xdefault?: string | null | undefined; elements?: string[] | undefined; }>, z.ZodObject<{ key: z.ZodString; type: z.ZodDefault<z.ZodLiteral<"relationship">>; error: z.ZodOptional<z.ZodDefault<z.ZodString>>; required: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>; array: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>; relatedCollection: z.ZodString; relationType: z.ZodEnum<["oneToMany", "manyToOne", "oneToOne", "manyToMany"]>; twoWay: z.ZodBoolean; twoWayKey: z.ZodString; onDelete: z.ZodDefault<z.ZodEnum<["setNull", "cascade", "restrict"]>>; side: z.ZodEnum<["parent", "child"]>; importMapping: z.ZodOptional<z.ZodObject<{ originalIdField: z.ZodString; targetField: z.ZodOptional<z.ZodString>; }, "strip", z.ZodTypeAny, { originalIdField: string; targetField?: string | undefined; }, { originalIdField: string; targetField?: string | undefined; }>>; description: z.ZodOptional<z.ZodNullable<z.ZodUnion<[z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>>>; }, "strip", z.ZodTypeAny, { type: "relationship"; key: string; relatedCollection: string; relationType: "oneToMany" | "manyToOne" | "oneToOne" | "manyToMany"; twoWay: boolean; twoWayKey: string; onDelete: "setNull" | "cascade" | "restrict"; side: "parent" | "child"; description?: string | Record<string, string> | null | undefined; required?: boolean | undefined; array?: boolean | undefined; error?: string | undefined; importMapping?: { originalIdField: string; targetField?: string | undefined; } | undefined; }, { key: string; relatedCollection: string; relationType: "oneToMany" | "manyToOne" | "oneToOne" | "manyToMany"; twoWay: boolean; twoWayKey: string; side: "parent" | "child"; type?: "relationship" | undefined; description?: string | Record<string, string> | null | undefined; required?: boolean | undefined; array?: boolean | undefined; error?: string | undefined; onDelete?: "setNull" | "cascade" | "restrict" | undefined; importMapping?: { originalIdField: string; targetField?: string | undefined; } | undefined; }>]>; export type Attribute = z.infer<typeof attributeSchema>; export declare const attributesSchema: z.ZodArray<z.ZodDiscriminatedUnion<"type", [z.ZodObject<{ key: z.ZodString; type: z.ZodDefault<z.ZodLiteral<"string">>; error: z.ZodOptional<z.ZodDefault<z.ZodString>>; required: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>; array: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>; size: z.ZodDefault<z.ZodOptional<z.ZodNumber>>; xdefault: z.ZodOptional<z.ZodNullable<z.ZodString>>; encrypted: z.ZodOptional<z.ZodBoolean>; format: z.ZodOptional<z.ZodNullable<z.ZodString>>; description: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>>; }, "strip", z.ZodTypeAny, { type: "string"; key: string; size: number; format?: string | null | undefined; description?: string | Record<string, string> | undefined; required?: boolean | undefined; array?: boolean | undefined; error?: string | undefined; xdefault?: string | null | undefined; encrypted?: boolean | undefined; }, { key: string; type?: "string" | undefined; format?: string | null | undefined; description?: string | Record<string, string> | undefined; required?: boolean | undefined; array?: boolean | undefined; error?: string | undefined; size?: number | undefined; xdefault?: string | null | undefined; encrypted?: boolean | undefined; }>, z.ZodObject<{ key: z.ZodString; type: z.ZodDefault<z.ZodLiteral<"integer">>; error: z.ZodOptional<z.ZodDefault<z.ZodString>>; required: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>; array: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>; min: z.ZodOptional<z.ZodNumber>; max: z.ZodOptional<z.ZodNumber>; xdefault: z.ZodOptional<z.ZodNullable<z.ZodNumber>>; description: z.ZodOptional<z.ZodNullable<z.ZodUnion<[z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>>>; }, "strip", z.ZodTypeAny, { type: "integer"; key: string; description?: string | Record<string, string> | null | undefined; required?: boolean | undefined; array?: boolean | undefined; error?: string | undefined; xdefault?: number | null | undefined; min?: number | undefined; max?: number | undefined; }, { key: string; type?: "integer" | undefined; description?: string | Record<string, string> | null | undefined; required?: boolean | undefined; array?: boolean | undefined; error?: string | undefined; xdefault?: number | null | undefined; min?: number | undefined; max?: number | undefined; }>, z.ZodObject<{ key: z.ZodString; type: z.ZodDefault<z.ZodLiteral<"float">>; error: z.ZodOptional<z.ZodDefault<z.ZodString>>; required: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>; array: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>; min: z.ZodOptional<z.ZodNumber>; max: z.ZodOptional<z.ZodNumber>; xdefault: z.ZodOptional<z.ZodNullable<z.ZodNumber>>; description: z.ZodOptional<z.ZodNullable<z.ZodUnion<[z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>>>; }, "strip", z.ZodTypeAny, { type: "float"; key: string; description?: string | Record<string, string> | null | undefined; required?: boolean | undefined; array?: boolean | undefined; error?: string | undefined; xdefault?: number | null | undefined; min?: number | undefined; max?: number | undefined; }, { key: string; type?: "float" | undefined; description?: string | Record<string, string> | null | undefined; required?: boolean | undefined; array?: boolean | undefined; error?: string | undefined; xdefault?: number | null | undefined; min?: number | undefined; max?: number | undefined; }>, z.ZodObject<{ key: z.ZodString; type: z.ZodDefault<z.ZodLiteral<"boolean">>; error: z.ZodOptional<z.ZodDefault<z.ZodString>>; required: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>; array: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>; xdefault: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>; description: z.ZodOptional<z.ZodNullable<z.ZodUnion<[z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>>>; }, "strip", z.ZodTypeAny, { type: "boolean"; key: string; description?: string | Record<string, string> | null | undefined; required?: boolean | undefined; array?: boolean | undefined; error?: string | undefined; xdefault?: boolean | null | undefined; }, { key: string; type?: "boolean" | undefined; description?: string | Record<string, string> | null | undefined; required?: boolean | undefined; array?: boolean | undefined; error?: string | undefined; xdefault?: boolean | null | undefined; }>, z.ZodObject<{ key: z.ZodString; type: z.ZodDefault<z.ZodLiteral<"datetime">>; error: z.ZodOptional<z.ZodDefault<z.ZodString>>; required: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>; array: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>; xdefault: z.ZodOptional<z.ZodNullable<z.ZodString>>; description: z.ZodOptional<z.ZodNullable<z.ZodUnion<[z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>>>; }, "strip", z.ZodTypeAny, { type: "datetime"; key: string; description?: string | Record<string, string> | null | undefined; required?: boolean | undefined; array?: boolean | undefined; error?: string | undefined; xdefault?: string | null | undefined; }, { key: string; type?: "datetime" | undefined; description?: string | Record<string, string> | null | undefined; required?: boolean | undefined; array?: boolean | undefined; error?: string | undefined; xdefault?: string | null | undefined; }>, z.ZodObject<{ key: z.ZodString; type: z.ZodDefault<z.ZodLiteral<"email">>; error: z.ZodOptional<z.ZodDefault<z.ZodString>>; required: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>; array: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>; xdefault: z.ZodOptional<z.ZodNullable<z.ZodString>>; description: z.ZodOptional<z.ZodNullable<z.ZodUnion<[z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>>>; }, "strip", z.ZodTypeAny, { type: "email"; key: string; description?: string | Record<string, string> | null | undefined; required?: boolean | undefined; array?: boolean | undefined; error?: string | undefined; xdefault?: string | null | undefined; }, { key: string; type?: "email" | undefined; description?: string | Record<string, string> | null | undefined; required?: boolean | undefined; array?: boolean | undefined; error?: string | undefined; xdefault?: string | null | undefined; }>, z.ZodObject<{ key: z.ZodString; type: z.ZodLiteral<"ip">; error: z.ZodOptional<z.ZodDefault<z.ZodString>>; required: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>; array: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>; xdefault: z.ZodOptional<z.ZodNullable<z.ZodString>>; description: z.ZodOptional<z.ZodNullable<z.ZodUnion<[z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>>>; }, "strip", z.ZodTypeAny, { type: "ip"; key: string; description?: string | Record<string, string> | null | undefined; required?: boolean | undefined; array?: boolean | undefined; error?: string | undefined; xdefault?: string | null | undefined; }, { type: "ip"; key: string; description?: string | Record<string, string> | null | undefined; required?: boolean | undefined; array?: boolean | undefined; error?: string | undefined; xdefault?: string | null | undefined; }>, z.ZodObject<{ key: z.ZodString; type: z.ZodDefault<z.ZodLiteral<"url">>; error: z.ZodOptional<z.ZodDefault<z.ZodString>>; required: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>; array: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>; xdefault: z.ZodOptional<z.ZodNullable<z.ZodString>>; description: z.ZodOptional<z.ZodNullable<z.ZodUnion<[z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>>>; }, "strip", z.ZodTypeAny, { type: "url"; key: string; description?: string | Record<string, string> | null | undefined; required?: boolean | undefined; array?: boolean | undefined; error?: string | undefined; xdefault?: string | null | undefined; }, { key: string; type?: "url" | undefined; description?: string | Record<string, string> | null | undefined; required?: boolean | undefined; array?: boolean | undefined; error?: string | undefined; xdefault?: string | null | undefined; }>, z.ZodObject<{ key: z.ZodString; type: z.ZodDefault<z.ZodLiteral<"enum">>; error: z.ZodOptional<z.ZodDefault<z.ZodString>>; required: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>; array: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>; elements: z.ZodDefault<z.ZodArray<z.ZodString, "many">>; xdefault: z.ZodOptional<z.ZodNullable<z.ZodString>>; description: z.ZodOptional<z.ZodNullable<z.ZodUnion<[z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>>>; }, "strip", z.ZodTypeAny, { type: "enum"; key: string; elements: string[]; description?: string | Record<string, string> | null | undefined; required?: boolean | undefined; array?: boolean | undefined; error?: string | undefined; xdefault?: string | null | undefined; }, { key: string; type?: "enum" | undefined; description?: string | Record<string, string> | null | undefined; required?: boolean | undefined; array?: boolean | undefined; error?: string | undefined; xdefault?: string | null | undefined; elements?: string[] | undefined; }>, z.ZodObject<{ key: z.ZodString; type: z.ZodDefault<z.ZodLiteral<"relationship">>; error: z.ZodOptional<z.ZodDefault<z.ZodString>>; required: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>; array: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>; relatedCollection: z.ZodString; relationType: z.ZodEnum<["oneToMany", "manyToOne", "oneToOne", "manyToMany"]>; twoWay: z.ZodBoolean; twoWayKey: z.ZodString; onDelete: z.ZodDefault<z.ZodEnum<["setNull", "cascade", "restrict"]>>; side: z.ZodEnum<["parent", "child"]>; importMapping: z.ZodOptional<z.ZodObject<{ originalIdField: z.ZodString; targetField: z.ZodOptional<z.ZodString>; }, "strip", z.ZodTypeAny, { originalIdField: string; targetField?: string | undefined; }, { originalIdField: string; targetField?: string | undefined; }>>; description: z.ZodOptional<z.ZodNullable<z.ZodUnion<[z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>>>; }, "strip", z.ZodTypeAny, { type: "relationship"; key: string; relatedCollection: string; relationType: "oneToMany" | "manyToOne" | "oneToOne" | "manyToMany"; twoWay: boolean; twoWayKey: string; onDelete: "setNull" | "cascade" | "restrict"; side: "parent" | "child"; description?: string | Record<string, string> | null | undefined; required?: boolean | undefined; array?: boolean | undefined; error?: string | undefined; importMapping?: { originalIdField: string; targetField?: string | undefined; } | undefined; }, { key: string; relatedCollection: string; relationType: "oneToMany" | "manyToOne" | "oneToOne" | "manyToMany"; twoWay: boolean; twoWayKey: string; side: "parent" | "child"; type?: "relationship" | undefined; description?: string | Record<string, string> | null | undefined; required?: boolean | undefined; array?: boolean | undefined; error?: string | undefined; onDelete?: "setNull" | "cascade" | "restrict" | undefined; importMapping?: { originalIdField: string; targetField?: string | undefined; } | undefined; }>]>, "many">; export type Attributes = z.infer<typeof attributesSchema>;