UNPKG

arrest

Version:

OpenAPI v3 compliant REST framework for Node.js, with support for MongoDB and JSON-Schema

43 lines (42 loc) 1.39 kB
import { Operation } from './operation.js'; import { Resource } from './resource.js'; import { APIRequest, APIResponse, Method } from './types.js'; import { CSVOptions } from './util.js'; export interface Job { req: APIRequest; res: APIResponse; query?: any; doc?: any; opts?: any; data?: any; feat?: { filter?: { fields: boolean; data: boolean; }; format?: { type: 'json'; } | ({ type: 'csv'; filename?: string; } & CSVOptions); }; } export declare abstract class PipelineOperation extends Operation { createJob(req: APIRequest, res: APIResponse): Promise<Job>; prepareQuery(job: Job): Promise<Job>; prepareDoc(job: Job): Promise<Job>; prepareOpts(job: Job): Promise<Job>; abstract runOperation(job: Job): Promise<Job>; redactResult(job: Job): Promise<Job>; processResult(job: Job): Promise<Job>; handler(req: APIRequest, res: APIResponse): Promise<void>; } export interface PipelineOperationRunner { (job: Job): Promise<Job>; } export declare class SimplePipelineOperation extends PipelineOperation { protected customRunner: PipelineOperationRunner; constructor(customRunner: PipelineOperationRunner, resource: Resource, path: string, method: Method, id?: string); runOperation(job: Job): Promise<Job>; }