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
1,262 lines • 97.6 kB
TypeScript
import { z } from "zod";
export declare const CollectionSchema: z.ZodObject<{
name: z.ZodString;
$id: z.ZodOptional<z.ZodString>;
enabled: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
documentSecurity: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
description: z.ZodOptional<z.ZodString>;
$createdAt: z.ZodString;
$updatedAt: z.ZodString;
$permissions: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{
permission: z.ZodString;
target: z.ZodString;
}, "strip", z.ZodTypeAny, {
permission: string;
target: string;
}, {
permission: string;
target: string;
}>, "many">>>;
attributes: z.ZodDefault<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">>;
indexes: z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{
key: z.ZodString;
type: z.ZodDefault<z.ZodOptional<z.ZodEnum<["key", "unique", "fulltext"]>>>;
status: z.ZodOptional<z.ZodString>;
error: z.ZodOptional<z.ZodString>;
attributes: z.ZodArray<z.ZodString, "many">;
orders: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
}, "strip", z.ZodTypeAny, {
type: "key" | "unique" | "fulltext";
key: string;
attributes: string[];
status?: string | undefined;
error?: string | undefined;
orders?: string[] | undefined;
}, {
key: string;
attributes: string[];
type?: "key" | "unique" | "fulltext" | undefined;
status?: string | undefined;
error?: string | undefined;
orders?: string[] | undefined;
}>, "many">>>, {
type: "key" | "unique" | "fulltext";
key: string;
attributes: string[];
status?: string | undefined;
error?: string | undefined;
orders?: string[] | undefined;
}[], {
key: string;
attributes: string[];
type?: "key" | "unique" | "fulltext" | undefined;
status?: string | undefined;
error?: string | undefined;
orders?: string[] | undefined;
}[] | undefined>;
importDefs: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{
type: z.ZodOptional<z.ZodDefault<z.ZodEnum<["create", "update"]>>>;
filePath: z.ZodString;
basePath: z.ZodOptional<z.ZodString>;
primaryKeyField: z.ZodDefault<z.ZodString>;
idMappings: z.ZodOptional<z.ZodArray<z.ZodObject<{
sourceField: z.ZodString;
fieldToSet: z.ZodOptional<z.ZodString>;
targetFieldToMatch: z.ZodOptional<z.ZodString>;
targetField: z.ZodString;
targetCollection: z.ZodString;
}, "strip", z.ZodTypeAny, {
sourceField: string;
targetField: string;
targetCollection: string;
fieldToSet?: string | undefined;
targetFieldToMatch?: string | undefined;
}, {
sourceField: string;
targetField: string;
targetCollection: string;
fieldToSet?: string | undefined;
targetFieldToMatch?: string | undefined;
}>, "many">>;
createUsers: z.ZodOptional<z.ZodNullable<z.ZodDefault<z.ZodBoolean>>>;
updateMapping: z.ZodOptional<z.ZodObject<{
originalIdField: z.ZodString;
targetField: z.ZodString;
}, "strip", z.ZodTypeAny, {
targetField: string;
originalIdField: string;
}, {
targetField: string;
originalIdField: string;
}>>;
attributeMappings: z.ZodArray<z.ZodObject<{
oldKey: z.ZodOptional<z.ZodString>;
oldKeys: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
targetKey: z.ZodString;
valueToSet: z.ZodOptional<z.ZodAny>;
fileData: z.ZodOptional<z.ZodObject<{
name: z.ZodString;
path: z.ZodString;
}, "strip", z.ZodTypeAny, {
path: string;
name: string;
}, {
path: string;
name: string;
}>>;
converters: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodString, "many">>>;
validationActions: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodObject<{
action: z.ZodString;
params: z.ZodArray<z.ZodString, "many">;
}, "strip", z.ZodTypeAny, {
params: string[];
action: string;
}, {
params: string[];
action: string;
}>, "many">>>;
postImportActions: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodObject<{
action: z.ZodString;
params: z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodRecord<z.ZodString, z.ZodAny>]>, "many">;
}, "strip", z.ZodTypeAny, {
params: (string | Record<string, any>)[];
action: string;
}, {
params: (string | Record<string, any>)[];
action: string;
}>, "many">>>;
}, "strip", z.ZodTypeAny, {
targetKey: string;
oldKey?: string | undefined;
oldKeys?: string[] | undefined;
valueToSet?: any;
fileData?: {
path: string;
name: string;
} | undefined;
converters?: string[] | undefined;
validationActions?: {
params: string[];
action: string;
}[] | undefined;
postImportActions?: {
params: (string | Record<string, any>)[];
action: string;
}[] | undefined;
}, {
targetKey: string;
oldKey?: string | undefined;
oldKeys?: string[] | undefined;
valueToSet?: any;
fileData?: {
path: string;
name: string;
} | undefined;
converters?: string[] | undefined;
validationActions?: {
params: string[];
action: string;
}[] | undefined;
postImportActions?: {
params: (string | Record<string, any>)[];
action: string;
}[] | undefined;
}>, "many">;
}, "strip", z.ZodTypeAny, {
filePath: string;
primaryKeyField: string;
attributeMappings: {
targetKey: string;
oldKey?: string | undefined;
oldKeys?: string[] | undefined;
valueToSet?: any;
fileData?: {
path: string;
name: string;
} | undefined;
converters?: string[] | undefined;
validationActions?: {
params: string[];
action: string;
}[] | undefined;
postImportActions?: {
params: (string | Record<string, any>)[];
action: string;
}[] | 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?: {
targetField: string;
originalIdField: string;
} | undefined;
}, {
filePath: string;
attributeMappings: {
targetKey: string;
oldKey?: string | undefined;
oldKeys?: string[] | undefined;
valueToSet?: any;
fileData?: {
path: string;
name: string;
} | undefined;
converters?: string[] | undefined;
validationActions?: {
params: string[];
action: string;
}[] | undefined;
postImportActions?: {
params: (string | Record<string, any>)[];
action: string;
}[] | undefined;
}[];
type?: "create" | "update" | undefined;
basePath?: string | undefined;
primaryKeyField?: string | undefined;
idMappings?: {
sourceField: string;
targetField: string;
targetCollection: string;
fieldToSet?: string | undefined;
targetFieldToMatch?: string | undefined;
}[] | undefined;
createUsers?: boolean | null | undefined;
updateMapping?: {
targetField: string;
originalIdField: string;
} | undefined;
}>, "many">>>;
databaseId: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
name: string;
attributes: ({
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;
} | {
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;
} | {
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;
} | {
type: "boolean";
key: string;
description?: string | Record<string, string> | null | undefined;
required?: boolean | undefined;
array?: boolean | undefined;
error?: string | undefined;
xdefault?: boolean | null | undefined;
} | {
type: "datetime";
key: string;
description?: string | Record<string, string> | null | undefined;
required?: boolean | undefined;
array?: boolean | undefined;
error?: string | undefined;
xdefault?: string | null | undefined;
} | {
type: "email";
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;
} | {
type: "url";
key: string;
description?: string | Record<string, string> | null | undefined;
required?: boolean | undefined;
array?: boolean | undefined;
error?: string | undefined;
xdefault?: string | null | undefined;
} | {
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;
} | {
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;
})[];
$createdAt: string;
$updatedAt: string;
$permissions: {
permission: string;
target: string;
}[];
indexes: {
type: "key" | "unique" | "fulltext";
key: string;
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?: {
path: string;
name: string;
} | undefined;
converters?: string[] | undefined;
validationActions?: {
params: string[];
action: string;
}[] | undefined;
postImportActions?: {
params: (string | Record<string, any>)[];
action: string;
}[] | 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?: {
targetField: string;
originalIdField: string;
} | undefined;
}[];
description?: string | undefined;
$id?: string | undefined;
enabled?: boolean | undefined;
documentSecurity?: boolean | undefined;
databaseId?: string | undefined;
}, {
name: string;
$createdAt: string;
$updatedAt: string;
description?: string | undefined;
attributes?: ({
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;
} | {
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;
} | {
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;
} | {
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;
} | {
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;
} | {
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;
} | {
type: "ip";
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;
} | {
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;
} | {
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;
})[] | undefined;
$id?: string | undefined;
enabled?: boolean | undefined;
documentSecurity?: boolean | undefined;
$permissions?: {
permission: string;
target: string;
}[] | undefined;
indexes?: {
key: string;
attributes: string[];
type?: "key" | "unique" | "fulltext" | undefined;
status?: string | undefined;
error?: string | undefined;
orders?: string[] | undefined;
}[] | undefined;
importDefs?: {
filePath: string;
attributeMappings: {
targetKey: string;
oldKey?: string | undefined;
oldKeys?: string[] | undefined;
valueToSet?: any;
fileData?: {
path: string;
name: string;
} | undefined;
converters?: string[] | undefined;
validationActions?: {
params: string[];
action: string;
}[] | undefined;
postImportActions?: {
params: (string | Record<string, any>)[];
action: string;
}[] | undefined;
}[];
type?: "create" | "update" | undefined;
basePath?: string | undefined;
primaryKeyField?: string | undefined;
idMappings?: {
sourceField: string;
targetField: string;
targetCollection: string;
fieldToSet?: string | undefined;
targetFieldToMatch?: string | undefined;
}[] | undefined;
createUsers?: boolean | null | undefined;
updateMapping?: {
targetField: string;
originalIdField: string;
} | undefined;
}[] | undefined;
databaseId?: string | undefined;
}>;
export declare const CollectionCreateSchema: z.ZodObject<Omit<{
name: z.ZodString;
$id: z.ZodOptional<z.ZodString>;
enabled: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
documentSecurity: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
description: z.ZodOptional<z.ZodString>;
$createdAt: z.ZodString;
$updatedAt: z.ZodString;
$permissions: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{
permission: z.ZodString;
target: z.ZodString;
}, "strip", z.ZodTypeAny, {
permission: string;
target: string;
}, {
permission: string;
target: string;
}>, "many">>>;
attributes: z.ZodDefault<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">>;
indexes: z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{
key: z.ZodString;
type: z.ZodDefault<z.ZodOptional<z.ZodEnum<["key", "unique", "fulltext"]>>>;
status: z.ZodOptional<z.ZodString>;
error: z.ZodOptional<z.ZodString>;
attributes: z.ZodArray<z.ZodString, "many">;
orders: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
}, "strip", z.ZodTypeAny, {
type: "key" | "unique" | "fulltext";
key: string;
attributes: string[];
status?: string | undefined;
error?: string | undefined;
orders?: string[] | undefined;
}, {
key: string;
attributes: string[];
type?: "key" | "unique" | "fulltext" | undefined;
status?: string | undefined;
error?: string | undefined;
orders?: string[] | undefined;
}>, "many">>>, {
type: "key" | "unique" | "fulltext";
key: string;
attributes: string[];
status?: string | undefined;
error?: string | undefined;
orders?: string[] | undefined;
}[], {
key: string;
attributes: string[];
type?: "key" | "unique" | "fulltext" | undefined;
status?: string | undefined;
error?: string | undefined;
orders?: string[] | undefined;
}[] | undefined>;
importDefs: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{
type: z.ZodOptional<z.ZodDefault<z.ZodEnum<["create", "update"]>>>;
filePath: z.ZodString;
basePath: z.ZodOptional<z.ZodString>;
primaryKeyField: z.ZodDefault<z.ZodString>;
idMappings: z.ZodOptional<z.ZodArray<z.ZodObject<{
sourceField: z.ZodString;
fieldToSet: z.ZodOptional<z.ZodString>;
targetFieldToMatch: z.ZodOptional<z.ZodString>;
targetField: z.ZodString;
targetCollection: z.ZodString;
}, "strip", z.ZodTypeAny, {
sourceField: string;
targetField: string;
targetCollection: string;
fieldToSet?: string | undefined;
targetFieldToMatch?: string | undefined;
}, {
sourceField: string;
targetField: string;
targetCollection: string;
fieldToSet?: string | undefined;
targetFieldToMatch?: string | undefined;
}>, "many">>;
createUsers: z.ZodOptional<z.ZodNullable<z.ZodDefault<z.ZodBoolean>>>;
updateMapping: z.ZodOptional<z.ZodObject<{
originalIdField: z.ZodString;
targetField: z.ZodString;
}, "strip", z.ZodTypeAny, {
targetField: string;
originalIdField: string;
}, {
targetField: string;
originalIdField: string;
}>>;
attributeMappings: z.ZodArray<z.ZodObject<{
oldKey: z.ZodOptional<z.ZodString>;
oldKeys: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
targetKey: z.ZodString;
valueToSet: z.ZodOptional<z.ZodAny>;
fileData: z.ZodOptional<z.ZodObject<{
name: z.ZodString;
path: z.ZodString;
}, "strip", z.ZodTypeAny, {
path: string;
name: string;
}, {
path: string;
name: string;
}>>;
converters: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodString, "many">>>;
validationActions: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodObject<{
action: z.ZodString;
params: z.ZodArray<z.ZodString, "many">;
}, "strip", z.ZodTypeAny, {
params: string[];
action: string;
}, {
params: string[];
action: string;
}>, "many">>>;
postImportActions: z.ZodOptio