arrest
Version:
OpenAPI v3 compliant REST framework for Node.js, with support for MongoDB and JSON-Schema
43 lines (42 loc) • 1.39 kB
TypeScript
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>;
}