UNPKG

appwrite-utils-cli

Version:

Appwrite Utility Functions to help with database management, data conversion, data import, migrations, and much more. Meant to be used as a CLI tool, I do not recommend installing this in frontend environments.

843 lines (842 loc) 32.9 kB
import { z } from "zod"; export declare const BackupSchema: z.ZodObject<{ $id: z.ZodString; $createdAt: z.ZodString; $updatedAt: z.ZodString; database: z.ZodString; collections: z.ZodArray<z.ZodString>; documents: z.ZodDefault<z.ZodArray<z.ZodObject<{ collectionId: z.ZodString; data: z.ZodString; }, z.core.$strip>>>; }, z.core.$strip>; export type Backup = z.infer<typeof BackupSchema>; export declare const BackupCreateSchema: z.ZodObject<{ documents: z.ZodDefault<z.ZodArray<z.ZodObject<{ collectionId: z.ZodString; data: z.ZodString; }, z.core.$strip>>>; collections: z.ZodArray<z.ZodString>; database: z.ZodString; }, z.core.$strip>; export type BackupCreate = z.infer<typeof BackupCreateSchema>; export declare const BatchSchema: z.ZodObject<{ $id: z.ZodString; $createdAt: z.ZodString; $updatedAt: z.ZodString; data: z.ZodString; processed: z.ZodDefault<z.ZodBoolean>; }, z.core.$strip>; export type Batch = z.infer<typeof BatchSchema>; export declare const BatchCreateSchema: z.ZodObject<{ data: z.ZodString; processed: z.ZodDefault<z.ZodBoolean>; }, z.core.$strip>; export type BatchCreate = z.infer<typeof BatchCreateSchema>; export declare const OperationSchema: z.ZodObject<{ $id: z.ZodString; $createdAt: z.ZodString; $updatedAt: z.ZodString; operationType: z.ZodString; collectionId: z.ZodString; data: z.ZodAny; batches: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodString>>>; progress: z.ZodNumber; total: z.ZodNumber; error: z.ZodString; status: z.ZodDefault<z.ZodEnum<{ error: "error"; pending: "pending"; ready: "ready"; in_progress: "in_progress"; completed: "completed"; cancelled: "cancelled"; }>>; }, z.core.$strip>; export type Operation = z.infer<typeof OperationSchema>; export declare const OperationCreateSchema: z.ZodObject<{ error: z.ZodString; data: z.ZodAny; status: z.ZodDefault<z.ZodEnum<{ error: "error"; pending: "pending"; ready: "ready"; in_progress: "in_progress"; completed: "completed"; cancelled: "cancelled"; }>>; collectionId: z.ZodString; operationType: z.ZodString; batches: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodString>>>; progress: z.ZodNumber; total: z.ZodNumber; }, z.core.$strip>; export type OperationCreate = z.infer<typeof OperationCreateSchema>; export declare const getMigrationCollectionSchemas: () => { CurrentOperations: { collection: { name: string; attributes: ({ key: string; required: boolean; type: "string"; size: number; array?: boolean | undefined; format?: string | undefined; status?: string | undefined; attributes?: string[] | undefined; orders?: string[] | undefined; $createdAt?: string | undefined; $updatedAt?: string | undefined; error?: string | undefined; xdefault?: string | null | undefined; encrypt?: boolean | undefined; } | { key: string; required: boolean; type: "integer"; array?: boolean | undefined; format?: string | undefined; status?: string | undefined; attributes?: string[] | undefined; orders?: string[] | undefined; $createdAt?: string | undefined; $updatedAt?: string | undefined; error?: string | undefined; min?: number | undefined; max?: number | undefined; xdefault?: number | null | undefined; } | { key: string; required: boolean; type: "double"; array?: boolean | undefined; format?: string | undefined; status?: string | undefined; attributes?: string[] | undefined; orders?: string[] | undefined; $createdAt?: string | undefined; $updatedAt?: string | undefined; error?: string | undefined; min?: number | undefined; max?: number | undefined; xdefault?: number | null | undefined; } | { key: string; required: boolean; type: "float"; array?: boolean | undefined; format?: string | undefined; status?: string | undefined; attributes?: string[] | undefined; orders?: string[] | undefined; $createdAt?: string | undefined; $updatedAt?: string | undefined; error?: string | undefined; min?: number | undefined; max?: number | undefined; xdefault?: number | null | undefined; } | { key: string; required: boolean; type: "boolean"; array?: boolean | undefined; format?: string | undefined; status?: string | undefined; attributes?: string[] | undefined; orders?: string[] | undefined; $createdAt?: string | undefined; $updatedAt?: string | undefined; error?: string | undefined; xdefault?: boolean | null | undefined; } | { key: string; required: boolean; type: "datetime"; array?: boolean | undefined; format?: string | undefined; status?: string | undefined; attributes?: string[] | undefined; orders?: string[] | undefined; $createdAt?: string | undefined; $updatedAt?: string | undefined; error?: string | undefined; xdefault?: string | null | undefined; } | { key: string; required: boolean; type: "email"; array?: boolean | undefined; format?: string | undefined; status?: string | undefined; attributes?: string[] | undefined; orders?: string[] | undefined; $createdAt?: string | undefined; $updatedAt?: string | undefined; error?: string | undefined; xdefault?: string | null | undefined; } | { key: string; required: boolean; type: "ip"; array?: boolean | undefined; format?: string | undefined; status?: string | undefined; attributes?: string[] | undefined; orders?: string[] | undefined; $createdAt?: string | undefined; $updatedAt?: string | undefined; error?: string | undefined; xdefault?: string | null | undefined; } | { key: string; required: boolean; type: "url"; array?: boolean | undefined; format?: string | undefined; status?: string | undefined; attributes?: string[] | undefined; orders?: string[] | undefined; $createdAt?: string | undefined; $updatedAt?: string | undefined; error?: string | undefined; xdefault?: string | null | undefined; } | { key: string; required: boolean; type: "enum"; elements: string[]; array?: boolean | undefined; format?: string | undefined; status?: string | undefined; attributes?: string[] | undefined; orders?: string[] | undefined; $createdAt?: string | undefined; $updatedAt?: string | undefined; error?: string | undefined; xdefault?: string | null | undefined; } | { key: string; required: boolean; type: "relationship"; relatedCollection: string; relationType: "oneToMany" | "manyToOne" | "oneToOne" | "manyToMany"; twoWay: boolean; onDelete: "setNull" | "cascade" | "restrict"; array?: boolean | undefined; format?: string | undefined; status?: string | undefined; attributes?: string[] | undefined; orders?: string[] | undefined; $createdAt?: string | undefined; $updatedAt?: string | undefined; error?: string | undefined; twoWayKey?: string | undefined; side?: "parent" | "child" | undefined; importMapping?: { originalIdField: string; targetField?: string | undefined; } | undefined; })[]; $permissions: { permission: string; target: string; }[]; indexes: { key: string; type: "key" | "unique" | "fulltext"; attributes: string[]; status?: string | undefined; error?: string | undefined; orders?: string[] | undefined; }[]; importDefs: { filePath: string; primaryKeyField: string; attributeMappings: { targetKey: string; oldKey?: string | undefined; oldKeys?: string[] | undefined; valueToSet?: any; fileData?: { name: string; path: string; } | undefined; converters?: string[] | undefined; validationActions?: { action: string; params: string[]; }[] | undefined; postImportActions?: { action: string; params: (string | Record<string, any>)[]; }[] | undefined; }[]; type?: "create" | "update" | undefined; basePath?: string | undefined; idMappings?: { sourceField: string; targetField: string; targetCollection: string; fieldToSet?: string | undefined; targetFieldToMatch?: string | undefined; }[] | undefined; createUsers?: boolean | null | undefined; updateMapping?: { originalIdField: string; targetField: string; } | undefined; }[]; $id?: string | undefined; enabled?: boolean | undefined; documentSecurity?: boolean | undefined; databaseId?: string | undefined; databaseIds?: string[] | undefined; }; attributes: ({ key: string; required: boolean; type: "string"; size: number; array?: boolean | undefined; format?: string | undefined; status?: string | undefined; attributes?: string[] | undefined; orders?: string[] | undefined; $createdAt?: string | undefined; $updatedAt?: string | undefined; error?: string | undefined; xdefault?: string | null | undefined; encrypt?: boolean | undefined; } | { key: string; required: boolean; type: "integer"; array?: boolean | undefined; format?: string | undefined; status?: string | undefined; attributes?: string[] | undefined; orders?: string[] | undefined; $createdAt?: string | undefined; $updatedAt?: string | undefined; error?: string | undefined; min?: number | undefined; max?: number | undefined; xdefault?: number | null | undefined; } | { key: string; required: boolean; type: "double"; array?: boolean | undefined; format?: string | undefined; status?: string | undefined; attributes?: string[] | undefined; orders?: string[] | undefined; $createdAt?: string | undefined; $updatedAt?: string | undefined; error?: string | undefined; min?: number | undefined; max?: number | undefined; xdefault?: number | null | undefined; } | { key: string; required: boolean; type: "float"; array?: boolean | undefined; format?: string | undefined; status?: string | undefined; attributes?: string[] | undefined; orders?: string[] | undefined; $createdAt?: string | undefined; $updatedAt?: string | undefined; error?: string | undefined; min?: number | undefined; max?: number | undefined; xdefault?: number | null | undefined; } | { key: string; required: boolean; type: "boolean"; array?: boolean | undefined; format?: string | undefined; status?: string | undefined; attributes?: string[] | undefined; orders?: string[] | undefined; $createdAt?: string | undefined; $updatedAt?: string | undefined; error?: string | undefined; xdefault?: boolean | null | undefined; } | { key: string; required: boolean; type: "datetime"; array?: boolean | undefined; format?: string | undefined; status?: string | undefined; attributes?: string[] | undefined; orders?: string[] | undefined; $createdAt?: string | undefined; $updatedAt?: string | undefined; error?: string | undefined; xdefault?: string | null | undefined; } | { key: string; required: boolean; type: "email"; array?: boolean | undefined; format?: string | undefined; status?: string | undefined; attributes?: string[] | undefined; orders?: string[] | undefined; $createdAt?: string | undefined; $updatedAt?: string | undefined; error?: string | undefined; xdefault?: string | null | undefined; } | { key: string; required: boolean; type: "ip"; array?: boolean | undefined; format?: string | undefined; status?: string | undefined; attributes?: string[] | undefined; orders?: string[] | undefined; $createdAt?: string | undefined; $updatedAt?: string | undefined; error?: string | undefined; xdefault?: string | null | undefined; } | { key: string; required: boolean; type: "url"; array?: boolean | undefined; format?: string | undefined; status?: string | undefined; attributes?: string[] | undefined; orders?: string[] | undefined; $createdAt?: string | undefined; $updatedAt?: string | undefined; error?: string | undefined; xdefault?: string | null | undefined; } | { key: string; required: boolean; type: "enum"; elements: string[]; array?: boolean | undefined; format?: string | undefined; status?: string | undefined; attributes?: string[] | undefined; orders?: string[] | undefined; $createdAt?: string | undefined; $updatedAt?: string | undefined; error?: string | undefined; xdefault?: string | null | undefined; } | { key: string; required: boolean; type: "relationship"; relatedCollection: string; relationType: "oneToMany" | "manyToOne" | "oneToOne" | "manyToMany"; twoWay: boolean; onDelete: "setNull" | "cascade" | "restrict"; array?: boolean | undefined; format?: string | undefined; status?: string | undefined; attributes?: string[] | undefined; orders?: string[] | undefined; $createdAt?: string | undefined; $updatedAt?: string | undefined; error?: string | undefined; twoWayKey?: string | undefined; side?: "parent" | "child" | undefined; importMapping?: { originalIdField: string; targetField?: string | undefined; } | undefined; })[]; }; Batches: { collection: { name: string; attributes: ({ key: string; required: boolean; type: "string"; size: number; array?: boolean | undefined; format?: string | undefined; status?: string | undefined; attributes?: string[] | undefined; orders?: string[] | undefined; $createdAt?: string | undefined; $updatedAt?: string | undefined; error?: string | undefined; xdefault?: string | null | undefined; encrypt?: boolean | undefined; } | { key: string; required: boolean; type: "integer"; array?: boolean | undefined; format?: string | undefined; status?: string | undefined; attributes?: string[] | undefined; orders?: string[] | undefined; $createdAt?: string | undefined; $updatedAt?: string | undefined; error?: string | undefined; min?: number | undefined; max?: number | undefined; xdefault?: number | null | undefined; } | { key: string; required: boolean; type: "double"; array?: boolean | undefined; format?: string | undefined; status?: string | undefined; attributes?: string[] | undefined; orders?: string[] | undefined; $createdAt?: string | undefined; $updatedAt?: string | undefined; error?: string | undefined; min?: number | undefined; max?: number | undefined; xdefault?: number | null | undefined; } | { key: string; required: boolean; type: "float"; array?: boolean | undefined; format?: string | undefined; status?: string | undefined; attributes?: string[] | undefined; orders?: string[] | undefined; $createdAt?: string | undefined; $updatedAt?: string | undefined; error?: string | undefined; min?: number | undefined; max?: number | undefined; xdefault?: number | null | undefined; } | { key: string; required: boolean; type: "boolean"; array?: boolean | undefined; format?: string | undefined; status?: string | undefined; attributes?: string[] | undefined; orders?: string[] | undefined; $createdAt?: string | undefined; $updatedAt?: string | undefined; error?: string | undefined; xdefault?: boolean | null | undefined; } | { key: string; required: boolean; type: "datetime"; array?: boolean | undefined; format?: string | undefined; status?: string | undefined; attributes?: string[] | undefined; orders?: string[] | undefined; $createdAt?: string | undefined; $updatedAt?: string | undefined; error?: string | undefined; xdefault?: string | null | undefined; } | { key: string; required: boolean; type: "email"; array?: boolean | undefined; format?: string | undefined; status?: string | undefined; attributes?: string[] | undefined; orders?: string[] | undefined; $createdAt?: string | undefined; $updatedAt?: string | undefined; error?: string | undefined; xdefault?: string | null | undefined; } | { key: string; required: boolean; type: "ip"; array?: boolean | undefined; format?: string | undefined; status?: string | undefined; attributes?: string[] | undefined; orders?: string[] | undefined; $createdAt?: string | undefined; $updatedAt?: string | undefined; error?: string | undefined; xdefault?: string | null | undefined; } | { key: string; required: boolean; type: "url"; array?: boolean | undefined; format?: string | undefined; status?: string | undefined; attributes?: string[] | undefined; orders?: string[] | undefined; $createdAt?: string | undefined; $updatedAt?: string | undefined; error?: string | undefined; xdefault?: string | null | undefined; } | { key: string; required: boolean; type: "enum"; elements: string[]; array?: boolean | undefined; format?: string | undefined; status?: string | undefined; attributes?: string[] | undefined; orders?: string[] | undefined; $createdAt?: string | undefined; $updatedAt?: string | undefined; error?: string | undefined; xdefault?: string | null | undefined; } | { key: string; required: boolean; type: "relationship"; relatedCollection: string; relationType: "oneToMany" | "manyToOne" | "oneToOne" | "manyToMany"; twoWay: boolean; onDelete: "setNull" | "cascade" | "restrict"; array?: boolean | undefined; format?: string | undefined; status?: string | undefined; attributes?: string[] | undefined; orders?: string[] | undefined; $createdAt?: string | undefined; $updatedAt?: string | undefined; error?: string | undefined; twoWayKey?: string | undefined; side?: "parent" | "child" | undefined; importMapping?: { originalIdField: string; targetField?: string | undefined; } | undefined; })[]; $permissions: { permission: string; target: string; }[]; indexes: { key: string; type: "key" | "unique" | "fulltext"; attributes: string[]; status?: string | undefined; error?: string | undefined; orders?: string[] | undefined; }[]; importDefs: { filePath: string; primaryKeyField: string; attributeMappings: { targetKey: string; oldKey?: string | undefined; oldKeys?: string[] | undefined; valueToSet?: any; fileData?: { name: string; path: string; } | undefined; converters?: string[] | undefined; validationActions?: { action: string; params: string[]; }[] | undefined; postImportActions?: { action: string; params: (string | Record<string, any>)[]; }[] | undefined; }[]; type?: "create" | "update" | undefined; basePath?: string | undefined; idMappings?: { sourceField: string; targetField: string; targetCollection: string; fieldToSet?: string | undefined; targetFieldToMatch?: string | undefined; }[] | undefined; createUsers?: boolean | null | undefined; updateMapping?: { originalIdField: string; targetField: string; } | undefined; }[]; $id?: string | undefined; enabled?: boolean | undefined; documentSecurity?: boolean | undefined; databaseId?: string | undefined; databaseIds?: string[] | undefined; }; attributes: ({ key: string; required: boolean; type: "string"; size: number; array?: boolean | undefined; format?: string | undefined; status?: string | undefined; attributes?: string[] | undefined; orders?: string[] | undefined; $createdAt?: string | undefined; $updatedAt?: string | undefined; error?: string | undefined; xdefault?: string | null | undefined; encrypt?: boolean | undefined; } | { key: string; required: boolean; type: "integer"; array?: boolean | undefined; format?: string | undefined; status?: string | undefined; attributes?: string[] | undefined; orders?: string[] | undefined; $createdAt?: string | undefined; $updatedAt?: string | undefined; error?: string | undefined; min?: number | undefined; max?: number | undefined; xdefault?: number | null | undefined; } | { key: string; required: boolean; type: "double"; array?: boolean | undefined; format?: string | undefined; status?: string | undefined; attributes?: string[] | undefined; orders?: string[] | undefined; $createdAt?: string | undefined; $updatedAt?: string | undefined; error?: string | undefined; min?: number | undefined; max?: number | undefined; xdefault?: number | null | undefined; } | { key: string; required: boolean; type: "float"; array?: boolean | undefined; format?: string | undefined; status?: string | undefined; attributes?: string[] | undefined; orders?: string[] | undefined; $createdAt?: string | undefined; $updatedAt?: string | undefined; error?: string | undefined; min?: number | undefined; max?: number | undefined; xdefault?: number | null | undefined; } | { key: string; required: boolean; type: "boolean"; array?: boolean | undefined; format?: string | undefined; status?: string | undefined; attributes?: string[] | undefined; orders?: string[] | undefined; $createdAt?: string | undefined; $updatedAt?: string | undefined; error?: string | undefined; xdefault?: boolean | null | undefined; } | { key: string; required: boolean; type: "datetime"; array?: boolean | undefined; format?: string | undefined; status?: string | undefined; attributes?: string[] | undefined; orders?: string[] | undefined; $createdAt?: string | undefined; $updatedAt?: string | undefined; error?: string | undefined; xdefault?: string | null | undefined; } | { key: string; required: boolean; type: "email"; array?: boolean | undefined; format?: string | undefined; status?: string | undefined; attributes?: string[] | undefined; orders?: string[] | undefined; $createdAt?: string | undefined; $updatedAt?: string | undefined; error?: string | undefined; xdefault?: string | null | undefined; } | { key: string; required: boolean; type: "ip"; array?: boolean | undefined; format?: string | undefined; status?: string | undefined; attributes?: string[] | undefined; orders?: string[] | undefined; $createdAt?: string | undefined; $updatedAt?: string | undefined; error?: string | undefined; xdefault?: string | null | undefined; } | { key: string; required: boolean; type: "url"; array?: boolean | undefined; format?: string | undefined; status?: string | undefined; attributes?: string[] | undefined; orders?: string[] | undefined; $createdAt?: string | undefined; $updatedAt?: string | undefined; error?: string | undefined; xdefault?: string | null | undefined; } | { key: string; required: boolean; type: "enum"; elements: string[]; array?: boolean | undefined; format?: string | undefined; status?: string | undefined; attributes?: string[] | undefined; orders?: string[] | undefined; $createdAt?: string | undefined; $updatedAt?: string | undefined; error?: string | undefined; xdefault?: string | null | undefined; } | { key: string; required: boolean; type: "relationship"; relatedCollection: string; relationType: "oneToMany" | "manyToOne" | "oneToOne" | "manyToMany"; twoWay: boolean; onDelete: "setNull" | "cascade" | "restrict"; array?: boolean | undefined; format?: string | undefined; status?: string | undefined; attributes?: string[] | undefined; orders?: string[] | undefined; $createdAt?: string | undefined; $updatedAt?: string | undefined; error?: string | undefined; twoWayKey?: string | undefined; side?: "parent" | "child" | undefined; importMapping?: { originalIdField: string; targetField?: string | undefined; } | undefined; })[]; }; };