bknd
Version:
Lightweight Firebase/Supabase alternative built to run anywhere — incl. Next.js, React Router, Astro, Cloudflare, Bun, Node, AWS Lambda & more.
49 lines (48 loc) • 2.34 kB
TypeScript
import type { Static } from "../core/utils";
import { Field } from "../data";
import * as tbbox from "@sinclair/typebox";
export declare const mediaFieldConfigSchema: tbbox.TObject<{
entity: tbbox.TString;
min_items: tbbox.TOptional<tbbox.TNumber>;
max_items: tbbox.TOptional<tbbox.TNumber>;
mime_types: tbbox.TOptional<tbbox.TArray<tbbox.TString>>;
default_value: tbbox.TOptional<tbbox.TAny>;
required: tbbox.TOptional<tbbox.TBoolean>;
description: tbbox.TOptional<tbbox.TString>;
label: tbbox.TOptional<tbbox.TString>;
fillable: tbbox.TOptional<tbbox.TUnion<[tbbox.TBoolean, tbbox.TArray<tbbox.TUnsafe<"create" | "read" | "update" | "delete">>]>>;
hidden: tbbox.TOptional<tbbox.TUnion<[tbbox.TBoolean, tbbox.TArray<tbbox.TUnsafe<"form" | "table" | "create" | "read" | "update" | "delete" | "submit">>]>>;
virtual: tbbox.TOptional<tbbox.TBoolean>;
}>;
export type MediaFieldConfig = Static<typeof mediaFieldConfigSchema>;
export type MediaItem = {
id: number;
path: string;
mime_type: string;
size: number;
scope: number;
etag: string;
modified_at: Date;
folder: boolean;
};
export declare class MediaField<Required extends true | false = false, TypeOverride = MediaItem[]> extends Field<MediaFieldConfig, TypeOverride, Required> {
readonly type = "media";
constructor(name: string, config: Partial<MediaFieldConfig>);
protected getSchema(): tbbox.TObject<{
entity: tbbox.TString;
min_items: tbbox.TOptional<tbbox.TNumber>;
max_items: tbbox.TOptional<tbbox.TNumber>;
mime_types: tbbox.TOptional<tbbox.TArray<tbbox.TString>>;
default_value: tbbox.TOptional<tbbox.TAny>;
required: tbbox.TOptional<tbbox.TBoolean>;
description: tbbox.TOptional<tbbox.TString>;
label: tbbox.TOptional<tbbox.TString>;
fillable: tbbox.TOptional<tbbox.TUnion<[tbbox.TBoolean, tbbox.TArray<tbbox.TUnsafe<"create" | "read" | "update" | "delete">>]>>;
hidden: tbbox.TOptional<tbbox.TUnion<[tbbox.TBoolean, tbbox.TArray<tbbox.TUnsafe<"form" | "table" | "create" | "read" | "update" | "delete" | "submit">>]>>;
virtual: tbbox.TOptional<tbbox.TBoolean>;
}>;
getMaxItems(): number | undefined;
getMinItems(): number | undefined;
schema(): undefined;
toJsonSchema(): any;
}