bknd
Version:
Lightweight Firebase/Supabase alternative built to run anywhere — incl. Next.js, React Router, Astro, Cloudflare, Bun, Node, AWS Lambda & more.
181 lines (180 loc) • 21.3 kB
TypeScript
import { type EntityManager } from "../data";
import { Module } from "../modules/Module";
import { type AppDataConfig, dataConfigSchema } from "./data-schema";
export declare class AppData extends Module<typeof dataConfigSchema> {
build(): Promise<void>;
onBeforeUpdate(from: AppDataConfig, to: AppDataConfig): Promise<AppDataConfig>;
getSchema(): import("@sinclair/typebox").TObject<{
basepath: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
default_primary_format: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnsafe<"uuid" | "integer">>;
entities: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TObject<{
type: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
config: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
name: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
name_singular: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
sort_field: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
sort_dir: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnsafe<"asc" | "desc">>;
primary_format: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnsafe<"uuid" | "integer">>;
}>>;
fields: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TUnion<import("@sinclair/typebox").TObject<{
type: import("@sinclair/typebox").TLiteral<"number"> | import("@sinclair/typebox").TLiteral<"boolean"> | import("@sinclair/typebox").TLiteral<"json"> | import("@sinclair/typebox").TLiteral<"text"> | import("@sinclair/typebox").TLiteral<"media"> | import("@sinclair/typebox").TLiteral<"enum"> | import("@sinclair/typebox").TLiteral<"date"> | import("@sinclair/typebox").TLiteral<"primary"> | import("@sinclair/typebox").TLiteral<"relation"> | import("@sinclair/typebox").TLiteral<"jsonschema">;
config: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
default_value: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TIntersect<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TAny]>>;
minLength: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
maxLength: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
pattern: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
html_config: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
element: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
props: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{}>>;
}>>;
required: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
label: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
fillable: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnsafe<"create" | "read" | "update" | "delete">>]>>;
hidden: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnsafe<"form" | "table" | "create" | "read" | "update" | "delete" | "submit">>]>>;
virtual: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
}>> | import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
default_value: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TIntersect<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TAny]>>;
required: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
label: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
fillable: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnsafe<"create" | "read" | "update" | "delete">>]>>;
hidden: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnsafe<"form" | "table" | "create" | "read" | "update" | "delete" | "submit">>]>>;
virtual: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
}>> | import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
default_value: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TIntersect<[import("@sinclair/typebox").TNumber, import("@sinclair/typebox").TAny]>>;
minimum: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
maximum: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
exclusiveMinimum: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
exclusiveMaximum: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
multipleOf: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
required: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
label: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
fillable: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnsafe<"create" | "read" | "update" | "delete">>]>>;
hidden: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnsafe<"form" | "table" | "create" | "read" | "update" | "delete" | "submit">>]>>;
virtual: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
}>> | import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
type: import("@sinclair/typebox").TUnsafe<"date" | "week" | "datetime">;
timezone: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
min_date: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
max_date: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
default_value: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TAny>;
required: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
label: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
fillable: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnsafe<"create" | "read" | "update" | "delete">>]>>;
hidden: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnsafe<"form" | "table" | "create" | "read" | "update" | "delete" | "submit">>]>>;
virtual: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
}>> | import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
default_value: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TAny>;
required: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
label: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
fillable: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnsafe<"create" | "read" | "update" | "delete">>]>>;
hidden: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnsafe<"form" | "table" | "create" | "read" | "update" | "delete" | "submit">>]>>;
virtual: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
}>> | import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
default_value: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TAny>;
required: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
label: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
fillable: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnsafe<"create" | "read" | "update" | "delete">>]>>;
hidden: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnsafe<"form" | "table" | "create" | "read" | "update" | "delete" | "submit">>]>>;
virtual: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
reference: import("@sinclair/typebox").TString;
target: import("@sinclair/typebox").TString;
target_field: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
target_field_type: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnsafe<"text" | "integer">>;
on_delete: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnsafe<"no action" | "restrict" | "cascade" | "set null" | "set default">>;
}>> | import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
default_value: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TAny>;
description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
label: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
fillable: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnsafe<"create" | "read" | "update" | "delete">>]>>;
hidden: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnsafe<"form" | "table" | "create" | "read" | "update" | "delete" | "submit">>]>>;
virtual: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
required: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TLiteral<false>>;
format: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnsafe<"uuid" | "integer">>;
}>> | import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
entity: import("@sinclair/typebox").TString;
min_items: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
max_items: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
mime_types: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
default_value: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TAny>;
required: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
label: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
fillable: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnsafe<"create" | "read" | "update" | "delete">>]>>;
hidden: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnsafe<"form" | "table" | "create" | "read" | "update" | "delete" | "submit">>]>>;
virtual: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
}>> | import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
default_value: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TIntersect<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TAny]>>;
options: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
type: import("@sinclair/typebox").TLiteral<"strings">;
values: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
}>, import("@sinclair/typebox").TObject<{
type: import("@sinclair/typebox").TLiteral<"objects">;
values: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
label: import("@sinclair/typebox").TString;
value: import("@sinclair/typebox").TString;
}>>;
}>]>>;
required: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
label: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
fillable: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnsafe<"create" | "read" | "update" | "delete">>]>>;
hidden: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnsafe<"form" | "table" | "create" | "read" | "update" | "delete" | "submit">>]>>;
virtual: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
}>> | import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
schema: import("@sinclair/typebox").TObject<{}>;
ui_schema: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{}>>;
default_from_schema: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
default_value: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TAny>;
required: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
label: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
fillable: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnsafe<"create" | "read" | "update" | "delete">>]>>;
hidden: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnsafe<"form" | "table" | "create" | "read" | "update" | "delete" | "submit">>]>>;
virtual: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
}>>;
}>[]>>>;
}>>>;
relations: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TUnion<import("@sinclair/typebox").TObject<{
type: import("@sinclair/typebox").TLiteral<string>;
source: import("@sinclair/typebox").TString;
target: import("@sinclair/typebox").TString;
config: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
required: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
mappedBy: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
inversedBy: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
connectionTable: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
connectionTableMappedName: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
}>> | import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
required: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
mappedBy: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
inversedBy: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
sourceCardinality: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
with_limit: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
fieldConfig: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
label: import("@sinclair/typebox").TString;
}>>;
}>> | import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
required: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
mappedBy: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
inversedBy: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
targetCardinality: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
}>>;
}>[]>>>;
indices: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TObject<{
entity: import("@sinclair/typebox").TString;
fields: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
unique: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
}>>>;
}>;
get em(): EntityManager;
private get basepath();
getOverwritePaths(): RegExp[];
toJSON(secrets?: boolean): AppDataConfig;
}