UNPKG

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
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; }