@thisisagile/easy
Version:
Straightforward library for building domain-driven microservice architectures
23 lines (22 loc) • 1.02 kB
TypeScript
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>;
}