bknd
Version:
Lightweight Firebase/Supabase alternative built to run anywhere — incl. Next.js, React Router, Astro, Cloudflare, Bun, Node, AWS Lambda & more.
202 lines (201 loc) • 11.9 kB
TypeScript
import type { ConfigUpdateResponse } from "../modules/server/SystemController";
import { ModuleApi } from "./ModuleApi";
import type { ModuleConfigs, ModuleKey, ModuleSchemas } from "./ModuleManager";
export type ApiSchemaResponse = {
version: number;
schema: ModuleSchemas;
config: ModuleConfigs;
permissions: string[];
};
export declare class SystemApi extends ModuleApi<any> {
protected getDefaultOptions(): Partial<any>;
readConfig(): import("./ModuleApi").FetchPromise<import("./ModuleApi").ResponseObject<{
version: number;
} & ModuleConfigs, {
basepath?: string | undefined;
indices?: {
[x: string]: {
unique?: boolean | undefined;
fields: string[];
entity: string;
};
} | undefined;
default_primary_format?: "uuid" | "integer" | undefined;
entities?: {
[x: string]: {
type?: string | undefined;
config?: {
description?: string | undefined;
name?: string | undefined;
name_singular?: string | undefined;
sort_field?: string | undefined;
sort_dir?: "asc" | "desc" | undefined;
primary_format?: "uuid" | "integer" | undefined;
} | undefined;
fields?: {
[x: string]: {
config?: {
required?: boolean | undefined;
description?: string | undefined;
default_value?: any;
minLength?: number | undefined;
maxLength?: number | undefined;
pattern?: string | undefined;
html_config?: {
element?: string | undefined;
props?: {} | undefined;
} | undefined;
label?: string | undefined;
fillable?: boolean | ("create" | "read" | "update" | "delete")[] | undefined;
hidden?: boolean | ("form" | "table" | "create" | "read" | "update" | "delete" | "submit")[] | undefined;
virtual?: boolean | undefined;
} | {
required?: boolean | undefined;
description?: string | undefined;
default_value?: any;
label?: string | undefined;
fillable?: boolean | ("create" | "read" | "update" | "delete")[] | undefined;
hidden?: boolean | ("form" | "table" | "create" | "read" | "update" | "delete" | "submit")[] | undefined;
virtual?: boolean | undefined;
} | {
required?: boolean | undefined;
description?: string | undefined;
default_value?: any;
label?: string | undefined;
fillable?: boolean | ("create" | "read" | "update" | "delete")[] | undefined;
hidden?: boolean | ("form" | "table" | "create" | "read" | "update" | "delete" | "submit")[] | undefined;
virtual?: boolean | undefined;
minimum?: number | undefined;
maximum?: number | undefined;
exclusiveMinimum?: number | undefined;
exclusiveMaximum?: number | undefined;
multipleOf?: number | undefined;
} | {
required?: boolean | undefined;
description?: string | undefined;
default_value?: any;
label?: string | undefined;
fillable?: boolean | ("create" | "read" | "update" | "delete")[] | undefined;
hidden?: boolean | ("form" | "table" | "create" | "read" | "update" | "delete" | "submit")[] | undefined;
virtual?: boolean | undefined;
timezone?: string | undefined;
min_date?: string | undefined;
max_date?: string | undefined;
type: "date" | "week" | "datetime";
} | {
required?: boolean | undefined;
description?: string | undefined;
default_value?: any;
label?: string | undefined;
fillable?: boolean | ("create" | "read" | "update" | "delete")[] | undefined;
hidden?: boolean | ("form" | "table" | "create" | "read" | "update" | "delete" | "submit")[] | undefined;
virtual?: boolean | undefined;
} | {
required?: boolean | undefined;
description?: string | undefined;
default_value?: any;
label?: string | undefined;
fillable?: boolean | ("create" | "read" | "update" | "delete")[] | undefined;
hidden?: boolean | ("form" | "table" | "create" | "read" | "update" | "delete" | "submit")[] | undefined;
virtual?: boolean | undefined;
target_field?: string | undefined;
target_field_type?: "text" | "integer" | undefined;
on_delete?: "no action" | "restrict" | "cascade" | "set null" | "set default" | undefined;
reference: string;
target: string;
} | {
required?: false | undefined;
description?: string | undefined;
default_value?: any;
label?: string | undefined;
fillable?: boolean | ("create" | "read" | "update" | "delete")[] | undefined;
hidden?: boolean | ("form" | "table" | "create" | "read" | "update" | "delete" | "submit")[] | undefined;
virtual?: boolean | undefined;
format?: "uuid" | "integer" | undefined;
} | {
required?: boolean | undefined;
description?: string | undefined;
default_value?: any;
label?: string | undefined;
fillable?: boolean | ("create" | "read" | "update" | "delete")[] | undefined;
hidden?: boolean | ("form" | "table" | "create" | "read" | "update" | "delete" | "submit")[] | undefined;
virtual?: boolean | undefined;
min_items?: number | undefined;
max_items?: number | undefined;
mime_types?: string[] | undefined;
entity: string;
} | {
required?: boolean | undefined;
description?: string | undefined;
default_value?: any;
label?: string | undefined;
fillable?: boolean | ("create" | "read" | "update" | "delete")[] | undefined;
hidden?: boolean | ("form" | "table" | "create" | "read" | "update" | "delete" | "submit")[] | undefined;
virtual?: boolean | undefined;
options?: {
type: "strings";
values: string[];
} | {
type: "objects";
values: {
label: string;
value: string;
}[];
} | undefined;
} | {
required?: boolean | undefined;
description?: string | undefined;
default_value?: any;
label?: string | undefined;
fillable?: boolean | ("create" | "read" | "update" | "delete")[] | undefined;
hidden?: boolean | ("form" | "table" | "create" | "read" | "update" | "delete" | "submit")[] | undefined;
virtual?: boolean | undefined;
ui_schema?: {} | undefined;
default_from_schema?: boolean | undefined;
schema: {};
} | undefined;
type: "number" | "boolean" | "json" | "text" | "media" | "enum" | "date" | "primary" | "relation" | "jsonschema";
};
} | undefined;
};
} | undefined;
relations?: {
[x: string]: {
config?: {
required?: boolean | undefined;
mappedBy?: string | undefined;
inversedBy?: string | undefined;
connectionTable?: string | undefined;
connectionTableMappedName?: string | undefined;
} | {
required?: boolean | undefined;
mappedBy?: string | undefined;
inversedBy?: string | undefined;
sourceCardinality?: number | undefined;
with_limit?: number | undefined;
fieldConfig?: {
label: string;
} | undefined;
} | {
required?: boolean | undefined;
mappedBy?: string | undefined;
inversedBy?: string | undefined;
targetCardinality?: number | undefined;
} | undefined;
type: string;
source: string;
target: string;
};
} | undefined;
}>>;
readSchema(options?: {
config?: boolean;
secrets?: boolean;
fresh?: boolean;
}): import("./ModuleApi").FetchPromise<import("./ModuleApi").ResponseObject<ApiSchemaResponse, ApiSchemaResponse>>;
setConfig<Module extends ModuleKey>(module: Module, value: ModuleConfigs[Module], force?: boolean): import("./ModuleApi").FetchPromise<import("./ModuleApi").ResponseObject<ConfigUpdateResponse, ConfigUpdateResponse>>;
addConfig<Module extends ModuleKey>(module: Module, path: string, value: any): import("./ModuleApi").FetchPromise<import("./ModuleApi").ResponseObject<ConfigUpdateResponse, ConfigUpdateResponse>>;
patchConfig<Module extends ModuleKey>(module: Module, path: string, value: any): import("./ModuleApi").FetchPromise<import("./ModuleApi").ResponseObject<ConfigUpdateResponse, ConfigUpdateResponse>>;
overwriteConfig<Module extends ModuleKey>(module: Module, path: string, value: any): import("./ModuleApi").FetchPromise<import("./ModuleApi").ResponseObject<ConfigUpdateResponse, ConfigUpdateResponse>>;
removeConfig<Module extends ModuleKey>(module: Module, path: string): import("./ModuleApi").FetchPromise<import("./ModuleApi").ResponseObject<ConfigUpdateResponse, ConfigUpdateResponse>>;
}