UNPKG

gamoraa-mongostore

Version:

Plugin provides firestore kind of functionality but based on mongodb.

127 lines (126 loc) 3.37 kB
import GrpcBoom from 'grpc-boom'; import { ChangeStream } from 'mongodb'; import { Model, QueryCursor } from 'mongoose'; import { GrpcServerMiddleware, GrpcServerCallContext } from 'gamoraa'; import { ModelRouteConfig, ModelServiceConfig, ActionType } from '../types'; /** * * @param modelOptions */ export declare function createModelsMap(modelOptions: ReadonlyArray<ModelServiceConfig>): Record<string, ModelServiceConfig>; /** * * @param action * @param readRoles * @param writeRoles * @param routeConfig */ export declare function createRouteMiddlewares(action: ActionType, readRoles: ReadonlyArray<string> | undefined, writeRoles: ReadonlyArray<string> | undefined, routeConfig: ModelRouteConfig): ReadonlyArray<GrpcServerMiddleware<any, any>>; /** * * @param context * @param routeMiddlewares */ export declare function executeRouteMiddlewares(context: GrpcServerCallContext<any, any>, routeMiddlewares: ReadonlyArray<GrpcServerMiddleware<any, any>>): Promise<unknown>; /** * * @param model * @param modelsMap */ export declare function checkModelExist(model: string, modelsMap: Record<string, ModelServiceConfig>): GrpcBoom | undefined; /** * * @param model * @param request */ export declare function createDocument(model: Model<any>, request: any): Promise<any>; /** * * @param model * @param request */ export declare function insertManyDocuments(model: Model<any>, request: any): Promise<any>; /** * * @param model * @param request */ export declare function findByIdDocument(model: Model<any>, request: any): Promise<any>; /** * * @param model * @param request */ export declare function findOneDocument(model: Model<any>, request: any): Promise<any>; /** * * @param model * @param request */ export declare function findDocuments(model: Model<any>, request: any): Promise<any>; /** * * @param model * @param request */ export declare function findDocumentsAndStreamResponse(model: Model<any>, request: any): QueryCursor<any>; /** * * @param model * @param request */ export declare function findDocumentsLive(model: Model<any>, request: any): ChangeStream; /** * * @param model * @param request */ export declare function findByIdAndUpdateDocument(model: Model<any>, request: any): Promise<any>; /** * * @param model * @param request */ export declare function findOneAndUpdateDocument(model: Model<any>, request: any): Promise<any>; /** * * @param model * @param request */ export declare function updateManyDocuments(model: Model<any>, request: any): Promise<any>; /** * * @param model * @param request */ export declare function findByIdAndDeleteDocument(model: Model<any>, request: any): Promise<any>; /** * * @param model * @param request */ export declare function findOneAndDeleteDocument(model: Model<any>, request: any): Promise<any>; /** * * @param model * @param request */ export declare function deleteManyDocuments(model: Model<any>, request: any): Promise<any>; /** * * @param model * @param request */ export declare function countDocumentsUtil(model: Model<any>, request: any): Promise<any>; /** * * @param model * @param request */ export declare function estimatedDocumentCountUtil(model: Model<any>, request: any): Promise<any>; /** * * @param model * @param request */ export declare function watchUtil(model: Model<any>, request: any): ChangeStream;