UNPKG

@thisisagile/easy

Version:

Straightforward library for building domain-driven microservice architectures

23 lines (22 loc) 1.02 kB
import { Table } from './Table'; import { PageList, PageOptions } from '../types/PageList'; import { QueryProvider } from '../data/QueryProvider'; import { Gateway } from '../types/Gateway'; import { Json } from '../types/Json'; import { Id } from '../types/Id'; import { Optional } from '../types/Types'; export type TableOptions = PageOptions & { provider?: QueryProvider; }; export declare class TableGateway<T extends Table> extends Gateway<PageOptions> { readonly table: T; readonly provider: QueryProvider; constructor(table: T, provider?: QueryProvider); protected provide: ({ provider }?: TableOptions) => QueryProvider; all(options?: TableOptions): Promise<PageList<Json>>; byId(id: Id, options?: TableOptions): Promise<Optional<Json>>; exists(id: Id, options?: TableOptions): Promise<boolean>; add(item: Json, options?: TableOptions): Promise<Json>; remove(id: Id, options?: TableOptions): Promise<boolean>; update(item: Json, options?: TableOptions): Promise<Json>; }