UNPKG

mongodb-dynamic-api

Version:

Auto generated CRUD API for MongoDB using NestJS

51 lines (50 loc) 2.11 kB
/// <reference types="mongoose/types/aggregate" /> /// <reference types="mongoose/types/callback" /> /// <reference types="mongoose/types/collection" /> /// <reference types="mongoose/types/connection" /> /// <reference types="mongoose/types/cursor" /> /// <reference types="mongoose/types/document" /> /// <reference types="mongoose/types/error" /> /// <reference types="mongoose/types/expressions" /> /// <reference types="mongoose/types/helpers" /> /// <reference types="mongoose/types/middlewares" /> /// <reference types="mongoose/types/indexes" /> /// <reference types="mongoose/types/models" /> /// <reference types="mongoose/types/mongooseoptions" /> /// <reference types="mongoose/types/pipelinestage" /> /// <reference types="mongoose/types/populate" /> /// <reference types="mongoose/types/query" /> /// <reference types="mongoose/types/schemaoptions" /> /// <reference types="mongoose/types/schematypes" /> /// <reference types="mongoose/types/session" /> /// <reference types="mongoose/types/types" /> /// <reference types="mongoose/types/utility" /> /// <reference types="mongoose/types/validation" /> /// <reference types="mongoose/types/virtuals" /> /// <reference types="mongoose/types/inferschematype" /> import { IndexDefinition, IndexOptions, Schema } from 'mongoose'; import { RouteType } from './dynamic-api-route-type.type'; type HookEvent = RouteType; type MongoDBQuery = 'deleteMany' | 'deleteOne' | 'find' | 'findOne' | 'findOneAndReplace' | 'findOneAndUpdate' | 'save' | 'updateMany' | 'updateOne'; type SchemaHook = { type: HookEvent; method: 'pre' | 'post'; callback: (...args: any[]) => void; options?: { document?: boolean; query?: boolean; }; }; export declare const queryByRouteTypeMap: Map<HookEvent, { query: MongoDBQuery; softDeletableQuery?: MongoDBQuery; }>; interface DynamicAPISchemaOptionsInterface { indexes?: { fields: IndexDefinition; options?: IndexOptions; }[]; hooks?: SchemaHook[]; customInit?: (schema: Schema) => void; } export type { SchemaHook, DynamicAPISchemaOptionsInterface };