UNPKG

vulcain-corejs

Version:
57 lines (56 loc) 1.66 kB
import { CommonRequestData, CommonActionMetadata, ServiceHandlerMetadata, CommonRequestResponse, IManager } from './common'; import { IContainer } from '../di/resolvers'; import { Domain } from '../schemas/schema'; import { RequestContext } from '../servers/requestContext'; import { HttpResponse } from './response'; export interface QueryData extends CommonRequestData { maxByPage?: number; page?: number; } export interface QueryResponse<T> extends CommonRequestResponse<T> { maxByPage?: number; page?: number; totalPages?: number; total?: number; } /** * * * @export * @interface QueryMetadata * @extends {ServiceHandlerMetadata} */ export interface QueryMetadata extends ServiceHandlerMetadata { } /** * * * @export * @interface QueryActionMetadata * @extends {CommonActionMetadata} */ export interface QueryActionMetadata extends CommonActionMetadata { outputSchema?: string | Function; outputType?: "one" | "many"; } export declare class QueryManager implements IManager { container: IContainer; private _domain; private _serviceDescriptors; /** * Get the current domain model * @returns {Domain} */ readonly domain: Domain; constructor(container: IContainer); private createResponse(ctx, query, error?); getInfoHandler(command: CommonRequestData, container?: IContainer): { handler: any; metadata: QueryActionMetadata; method: string; verb: string; kind: "query" | "action" | "event"; }; private validateRequestData(ctx, info, query); runAsync(query: QueryData, ctx: RequestContext): Promise<HttpResponse>; }