UNPKG

arrest

Version:

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

25 lines (24 loc) 1.04 kB
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>; }