arrest
Version:
OpenAPI v3 compliant REST framework for Node.js, with support for MongoDB and JSON-Schema
25 lines (24 loc) • 1.04 kB
TypeScript
import { Ability } from '@casl/ability';
import { Collection, CollectionOptions } from 'mongodb';
import { Job, PipelineOperation } from '../../pipeline.js';
import { APIRequest, APIResponse, Method } from '../../types.js';
import { MongoResource } from '../resource.js';
export interface MongoJob extends Job {
coll: Collection;
}
export declare abstract class MongoOperation extends PipelineOperation {
resource: MongoResource;
constructor(resource: MongoResource, path: string, method: Method, id?: string);
get collection(): Promise<Collection>;
get requestSchema(): any;
get responseSchema(): any;
protected getCollectionOptions(): CollectionOptions | undefined;
protected getItemQuery(_id: any): {
[x: string]: any;
};
protected parseFields(fields: string[]): any;
getAbilityConstraints(ability: Ability): any;
createJob(req: APIRequest, res: APIResponse): Promise<MongoJob>;
prepareQuery(job: MongoJob): Promise<MongoJob>;
redactResult(job: MongoJob): Promise<MongoJob>;
}