UNPKG

@qualifyze/airtable

Version:
41 lines (40 loc) 2.22 kB
import { FieldsValidator, UnknownFields } from "./fields"; import { ActionPoint, ActionPointOptions } from "./action-point"; import { ValidationContext } from "./validator"; import { RestMethod, UnknownActionPayload } from "./endpoint"; import { AirtableRecord } from "./record"; import { SelectQuery, SelectQueryParams } from "./select-query"; import { RecordData } from "./raw-types"; import { DeletedRecord } from "./raw-types"; export declare type TableDataSource = ActionPoint; export interface TableActionPoint { runTableAction<P extends UnknownActionPayload, R>(method: RestMethod, { path, ...options }: ActionPointOptions<P, R>): Promise<R>; } export declare class Table<Fields extends UnknownFields> implements TableActionPoint, FieldsValidator<Fields> { readonly base: TableDataSource; readonly name: string; validator?: FieldsValidator<Fields>; constructor(base: TableDataSource, tableName: string, validator?: FieldsValidator<Fields>); createValidation(reference?: string): ValidationContext<unknown, Fields>; private subPath; runTableAction<P extends UnknownActionPayload, R>(method: RestMethod, { path, ...options }: ActionPointOptions<P, R>): Promise<R>; find(recordId: string): Promise<AirtableRecord<Fields>>; findOrNull(recordId: string): Promise<AirtableRecord<Fields> | null>; select(query?: SelectQueryParams<Fields>): SelectQuery<Fields>; private createSingleRecord; private createMultipleRecords; create(data: Fields): Promise<AirtableRecord<Fields>>; create(data: Fields[]): Promise<AirtableRecord<Fields>[]>; private updateSingleRecord; private updateMultipleRecords; private replaceSingleRecord; private replaceMultipleRecords; update(data: RecordData<Partial<Fields>>): Promise<AirtableRecord<Fields>>; update(data: RecordData<Partial<Fields>>[]): Promise<AirtableRecord<Fields>[]>; replace(data: RecordData<Fields>): Promise<AirtableRecord<Fields>>; replace(data: RecordData<Fields>[]): Promise<AirtableRecord<Fields>[]>; private destroySingleRecord; private destroyMultipleRecords; destroy(id: string): Promise<DeletedRecord>; destroy(ids: string[]): Promise<DeletedRecord[]>; }