Skip to main content
server.SeriesTableDefinition A typed series declaration in the ordinary application schema.

Type parameters

Hierarchy

Properties

isSource

• Readonly isSource: false Type-only source ownership, preserved by every builder method.

Inherited from

TableDefinition.isSource

relations

• Readonly relations: Object Type-only declared relations, preserved by every builder method.

Inherited from

TableDefinition.relations

validator

• validator: VObject<{ values: Expand<{ [Property in string | number | symbol]?: Exclude<Infer<Fields[Property]>, undefined> } & { [Property in string | number | symbol]: Infer<Fields[Property]> }> ; key: string ; source: string ; series: string ; event: string ; time: bigint ; order: bigint ; receivedAt: bigint ; admission: bigint ; late: boolean }, { series: VString<string, "required"> ; source: VString<string, "required"> ; event: VString<string, "required"> ; key: VString<string, "required"> ; time: VInt64<bigint, "required"> ; order: VInt64<bigint, "required"> ; receivedAt: VInt64<bigint, "required"> ; admission: VInt64<bigint, "required"> ; late: VBoolean<boolean, "required"> ; values: VObject<Expand<{ [Property in string | number | symbol]?: Exclude<Infer<Fields[Property]>, undefined> } & { [Property in string | number | symbol]: Infer<Fields[Property]> }>, Fields, "required", { [Property in string | number | symbol]: Property | `\{Property & string}.{Fields[Property][“fieldPaths”]}` }[keyof Fields] & string> }, "required", "values" | "key" | "source" | "series" | "event" | "time" | "order" | "receivedAt" | "admission" | "late" | `values.\{\{ [Property in string \| number \| symbol]: Property \| \`{Property & string}.${Fields[Property][“fieldPaths”]}` }[keyof Fields] & string}`>

Inherited from

TableDefinition.validator

Methods

access

▸ access(definition): SeriesTableDefinition<Fields> Authorize reads of this complete table or view, without filtering rows or redacting fields. View inputs must independently permit disclosure. The query returns null or the existing positive validity result; throwing refuses access. Declare at most 32 distinct ordinary policy input tables.

Parameters

Returns

SeriesTableDefinition<Fields>

Inherited from

TableDefinition.access ▸ access(definition): SeriesTableDefinition<Fields> Let the application’s members read and change this table’s rows and files, decided by the application’s member policies. The table must not already declare read access or a governing rule.

Parameters

Returns

SeriesTableDefinition<Fields>

Inherited from

TableDefinition.access ▸ access<R, B>(definition, ...binding): SeriesTableDefinition<Fields> & AccessTableBinding<R, B> Bind a semantic resource to this table’s storage. defineSchema infers its table identity and parent index, validates the field bindings, and installs the model’s read, write and disclosure policies.

Type parameters

Parameters

Returns

SeriesTableDefinition<Fields> & AccessTableBinding<R, B>

Inherited from

TableDefinition.access

input

▸ input(...limits): Object The operation arguments of this table’s documents, each file field an upload with its limits: args: reports.input({ files: { maxSize: "10 MB", maxFiles: 2 } }).

Parameters

Returns

Object

Inherited from

TableDefinition.input
▸ link<Fields, Names>(this, endpoints, names?): TableDefinition<VObject<{ values: Expand<{ [Property in string | number | symbol]?: Exclude<Infer<Fields[Property]>, undefined> } & { [Property in string | number | symbol]: Infer<Fields[Property]> }> ; key: string ; source: string ; series: string ; event: string ; time: bigint ; order: bigint ; receivedAt: bigint ; admission: bigint ; late: boolean }, { series: VString<string, "required"> ; source: VString<string, "required"> ; event: VString<string, "required"> ; key: VString<string, "required"> ; time: VInt64<bigint, "required"> ; order: VInt64<bigint, "required"> ; receivedAt: VInt64<bigint, "required"> ; admission: VInt64<bigint, "required"> ; late: VBoolean<boolean, "required"> ; values: VObject<Expand<{ [Property in string | number | symbol]?: Exclude<Infer<Fields[Property]>, undefined> } & { [Property in string | number | symbol]: Infer<Fields[Property]> }>, Fields, "required", { [Property in string | number | symbol]: Property | `\{Property & string}.{Fields[Property][“fieldPaths”]}` }[keyof Fields] & string> }, "required", "values" | "key" | "source" | "series" | "event" | "time" | "order" | "receivedAt" | "admission" | "late" | `values.\{\{ [Property in string \| number \| symbol]: Property \| \`{Property & string}.\{Fields[Property]["fieldPaths"]\}\` }[keyof Fields] & string}\`\>, \{\}, \{\}, \{\}, ``false``, [`LinkRelations`](/api/modules/server#linkrelations)\<[`VObject`](/api/classes/values.VObject)\<\{ `values`: [`Expand`](/api/modules/server#expand)\<\{ [Property in string \| number \| symbol]?: Exclude\<Infer\<Fields[Property]\>, undefined\> \} & \{ [Property in string \| number \| symbol]: Infer\<Fields[Property]\> \}\> ; `key`: `string` ; `source`: `string` ; `series`: `string` ; `event`: `string` ; `time`: `bigint` ; `order`: `bigint` ; `receivedAt`: `bigint` ; `admission`: `bigint` ; `late`: `boolean` \}, \{ `series`: [`VString`](/api/classes/values.VString)\<`string`, ``"required"``\> ; `source`: [`VString`](/api/classes/values.VString)\<`string`, ``"required"``\> ; `event`: [`VString`](/api/classes/values.VString)\<`string`, ``"required"``\> ; `key`: [`VString`](/api/classes/values.VString)\<`string`, ``"required"``\> ; `time`: [`VInt64`](/api/classes/values.VInt64)\<`bigint`, ``"required"``\> ; `order`: [`VInt64`](/api/classes/values.VInt64)\<`bigint`, ``"required"``\> ; `receivedAt`: [`VInt64`](/api/classes/values.VInt64)\<`bigint`, ``"required"``\> ; `admission`: [`VInt64`](/api/classes/values.VInt64)\<`bigint`, ``"required"``\> ; `late`: [`VBoolean`](/api/classes/values.VBoolean)\<`boolean`, ``"required"``\> ; `values`: [`VObject`](/api/classes/values.VObject)\<[`Expand`](/api/modules/server#expand)\<\{ [Property in string \| number \| symbol]?: Exclude\<Infer\<Fields[Property]\>, undefined\> \} & \{ [Property in string \| number \| symbol]: Infer\<Fields[Property]\> \}\>, `Fields`, ``"required"``, \{ [Property in string \| number \| symbol]: Property \| \`{Property & string}.\{Fields[Property]["fieldPaths"]}\` \}[keyof `Fields`] & `string`\> \}, ``"required"``, ``"values"`` \| ``"key"`` \| ``"source"`` \| ``"series"`` \| ``"event"`` \| ``"time"`` \| ``"order"`` \| ``"receivedAt"`` \| ``"admission"`` \| ``"late"`` \| \`values.{{ [Property in string | number | symbol]: Property | `\{Property & string\}.{Fields[Property][“fieldPaths”]}` }[keyof Fields] & string}`>, Fields, Names>> Declare a binary association on required typed ID fields. Each bound counts live associations incident on an endpoint. A nonzero minimum applies to every live row in that endpoint’s declared table. Endpoints are immutable; ending and restoring a pair preserves its retained identity. Native identity and commit enforcement are required for admission. One endpoint may name _storage when its minimum is zero and the relationship declares read access and a governing rule. Such attachments require sealed content and preserve the file’s existing source restrictions. Each endpoint is a required reference of the link table, with the same navigation defaults as reference: as reaches the endpoint from a link row, inverse (default: this table’s name) lists an endpoint’s incident link rows, and opposite, when named, lists the endpoints linked to it. A link between two rows of one table needs explicit names for both roles.

Type parameters

Parameters

Returns

TableDefinition<VObject<{ values: Expand<{ [Property in string | number | symbol]?: Exclude<Infer<Fields[Property]>, undefined> } & { [Property in string | number | symbol]: Infer<Fields[Property]> }> ; key: string ; source: string ; series: string ; event: string ; time: bigint ; order: bigint ; receivedAt: bigint ; admission: bigint ; late: boolean }, { series: VString<string, "required"> ; source: VString<string, "required"> ; event: VString<string, "required"> ; key: VString<string, "required"> ; time: VInt64<bigint, "required"> ; order: VInt64<bigint, "required"> ; receivedAt: VInt64<bigint, "required"> ; admission: VInt64<bigint, "required"> ; late: VBoolean<boolean, "required"> ; values: VObject<Expand<{ [Property in string | number | symbol]?: Exclude<Infer<Fields[Property]>, undefined> } & { [Property in string | number | symbol]: Infer<Fields[Property]> }>, Fields, "required", { [Property in string | number | symbol]: Property | `\{Property & string}.{Fields[Property][“fieldPaths”]}` }[keyof Fields] & string> }, "required", "values" | "key" | "source" | "series" | "event" | "time" | "order" | "receivedAt" | "admission" | "late" | `values.\{\{ [Property in string \| number \| symbol]: Property \| \`{Property & string}.\{Fields[Property]["fieldPaths"]\}\` }[keyof Fields] & string}\`\>, \{\}, \{\}, \{\}, ``false``, [`LinkRelations`](/api/modules/server#linkrelations)\<[`VObject`](/api/classes/values.VObject)\<\{ `values`: [`Expand`](/api/modules/server#expand)\<\{ [Property in string \| number \| symbol]?: Exclude\<Infer\<Fields[Property]\>, undefined\> \} & \{ [Property in string \| number \| symbol]: Infer\<Fields[Property]\> \}\> ; `key`: `string` ; `source`: `string` ; `series`: `string` ; `event`: `string` ; `time`: `bigint` ; `order`: `bigint` ; `receivedAt`: `bigint` ; `admission`: `bigint` ; `late`: `boolean` \}, \{ `series`: [`VString`](/api/classes/values.VString)\<`string`, ``"required"``\> ; `source`: [`VString`](/api/classes/values.VString)\<`string`, ``"required"``\> ; `event`: [`VString`](/api/classes/values.VString)\<`string`, ``"required"``\> ; `key`: [`VString`](/api/classes/values.VString)\<`string`, ``"required"``\> ; `time`: [`VInt64`](/api/classes/values.VInt64)\<`bigint`, ``"required"``\> ; `order`: [`VInt64`](/api/classes/values.VInt64)\<`bigint`, ``"required"``\> ; `receivedAt`: [`VInt64`](/api/classes/values.VInt64)\<`bigint`, ``"required"``\> ; `admission`: [`VInt64`](/api/classes/values.VInt64)\<`bigint`, ``"required"``\> ; `late`: [`VBoolean`](/api/classes/values.VBoolean)\<`boolean`, ``"required"``\> ; `values`: [`VObject`](/api/classes/values.VObject)\<[`Expand`](/api/modules/server#expand)\<\{ [Property in string \| number \| symbol]?: Exclude\<Infer\<Fields[Property]\>, undefined\> \} & \{ [Property in string \| number \| symbol]: Infer\<Fields[Property]\> \}\>, `Fields`, ``"required"``, \{ [Property in string \| number \| symbol]: Property \| \`{Property & string}.\{Fields[Property]["fieldPaths"]}\` \}[keyof `Fields`] & `string`\> \}, ``"required"``, ``"values"`` \| ``"key"`` \| ``"source"`` \| ``"series"`` \| ``"event"`` \| ``"time"`` \| ``"order"`` \| ``"receivedAt"`` \| ``"admission"`` \| ``"late"`` \| \`values.{{ [Property in string | number | symbol]: Property | `\{Property & string\}.{Fields[Property][“fieldPaths”]}` }[keyof Fields] & string}`>, Fields, Names>>

Inherited from

TableDefinition.link

indexes

▸ ** indexes**(): { indexDescriptor: string ; fields: string[] }[] This API is experimental: it may change or disappear. Returns indexes defined on this table. Intended for the advanced use cases of dynamically deciding which index to use for a query. If you think you need this, please chime in on ths issue in the Bijection JS GitHub repo.

Returns

{ indexDescriptor: string ; fields: string[] }[]

Inherited from

TableDefinition.[ indexes](server.TableDefinition.md# indexes)

self

▸ Protected self(): TableDefinition<VObject<{ values: Expand<{ [Property in string | number | symbol]?: Exclude<Infer<Fields[Property]>, undefined> } & { [Property in string | number | symbol]: Infer<Fields[Property]> }> ; key: string ; source: string ; series: string ; event: string ; time: bigint ; order: bigint ; receivedAt: bigint ; admission: bigint ; late: boolean }, { series: VString<string, "required"> ; source: VString<string, "required"> ; event: VString<string, "required"> ; key: VString<string, "required"> ; time: VInt64<bigint, "required"> ; order: VInt64<bigint, "required"> ; receivedAt: VInt64<bigint, "required"> ; admission: VInt64<bigint, "required"> ; late: VBoolean<boolean, "required"> ; values: VObject<Expand<{ [Property in string | number | symbol]?: Exclude<Infer<Fields[Property]>, undefined> } & { [Property in string | number | symbol]: Infer<Fields[Property]> }>, Fields, "required", { [Property in string | number | symbol]: Property | `\{Property & string}.{Fields[Property][“fieldPaths”]}` }[keyof Fields] & string> }, "required", "values" | "key" | "source" | "series" | "event" | "time" | "order" | "receivedAt" | "admission" | "late" | `values.\{\{ [Property in string \| number \| symbol]: Property \| \`{Property & string}.${Fields[Property][“fieldPaths”]}` }[keyof Fields] & string}`>, {}, {}, {}, false, {}> Work around for https://github.com/microsoft/TypeScript/issues/57035

Returns

TableDefinition<VObject<{ values: Expand<{ [Property in string | number | symbol]?: Exclude<Infer<Fields[Property]>, undefined> } & { [Property in string | number | symbol]: Infer<Fields[Property]> }> ; key: string ; source: string ; series: string ; event: string ; time: bigint ; order: bigint ; receivedAt: bigint ; admission: bigint ; late: boolean }, { series: VString<string, "required"> ; source: VString<string, "required"> ; event: VString<string, "required"> ; key: VString<string, "required"> ; time: VInt64<bigint, "required"> ; order: VInt64<bigint, "required"> ; receivedAt: VInt64<bigint, "required"> ; admission: VInt64<bigint, "required"> ; late: VBoolean<boolean, "required"> ; values: VObject<Expand<{ [Property in string | number | symbol]?: Exclude<Infer<Fields[Property]>, undefined> } & { [Property in string | number | symbol]: Infer<Fields[Property]> }>, Fields, "required", { [Property in string | number | symbol]: Property | `\{Property & string}.{Fields[Property][“fieldPaths”]}` }[keyof Fields] & string> }, "required", "values" | "key" | "source" | "series" | "event" | "time" | "order" | "receivedAt" | "admission" | "late" | `values.\{\{ [Property in string \| number \| symbol]: Property \| \`{Property & string}.${Fields[Property][“fieldPaths”]}` }[keyof Fields] & string}`>, {}, {}, {}, false, {}>

Inherited from

TableDefinition.self