@thisisagile/easy
Version:
Straightforward library for building domain-driven microservice architectures
26 lines (25 loc) • 1.2 kB
TypeScript
import { Api, RouteOptions } from './Api';
import { ApiGateway } from './ApiGateway';
import { Func } from '../types/Func';
import { Uri } from '../types/Uri';
import { PageList } from '../types/PageList';
import { Json, JsonValue } from '../types/Json';
import { Id } from '../types/Id';
import { Optional } from '../types/Types';
import { List } from '../types/List';
export declare class RouteGateway extends ApiGateway {
readonly route: Func<Uri>;
readonly routeId: Func<Uri>;
readonly api: Api;
constructor(route: Func<Uri>, routeId: Func<Uri>, api?: Api);
all(options?: RouteOptions): Promise<PageList<Json>>;
byId(id: Id, options?: RouteOptions): Promise<Optional<Json>>;
byIds(...ids: Id[]): Promise<List<Json>>;
search(q: JsonValue, options?: RouteOptions): Promise<PageList<Json>>;
exists(id: Id, options?: RouteOptions): Promise<boolean>;
add(item: Json, options?: RouteOptions): Promise<Json>;
filter(options?: RouteOptions): Promise<PageList<Json>>;
update(item: Json, options?: RouteOptions): Promise<Json>;
upsert(item: Json, options?: RouteOptions): Promise<Json>;
remove(id: Id, options?: RouteOptions): Promise<boolean>;
}