UNPKG

koa-mongo-router

Version:
27 lines (26 loc) 1.9 kB
import * as Koa from 'koa'; export interface IDatabaseRouterOptions { permissionCheck?: (ctx: Koa.Context, next: () => Promise<any>, database: string, collection: string) => Promise<any>; getItemTransform?: (item: any) => Promise<any>; putItemTransform?: (item: any) => Promise<any>; databases?: { [databaseName: string]: { getItemTransform?: (item: any) => Promise<any>; putItemTransform?: (item: any) => Promise<any>; collections?: { [collectionName: string]: { getItemTransform?: (item: any) => Promise<any>; putItemTransform?: (item: any) => Promise<any>; }; }; }; }; } export declare function getItemTransform(routerOptions: IDatabaseRouterOptions, databaseName: string, collectionName: string): (item: any) => Promise<any>; export declare function getGlobalGetItemTransform(routerOptions: IDatabaseRouterOptions): (item: any) => Promise<any>; export declare function getDatabaseGetItemTransform(routerOptions: IDatabaseRouterOptions, databaseName: string): (item: any) => Promise<any>; export declare function getCollectionGetItemTransform(routerOptions: IDatabaseRouterOptions, databaseName: string, collectionName: string): (item: any) => Promise<any>; export declare function putItemTransform(routerOptions: IDatabaseRouterOptions, databaseName: string, collectionName: string): (item: any) => Promise<any>; export declare function getGlobalPutItemTransform(routerOptions: IDatabaseRouterOptions): (item: any) => Promise<any>; export declare function getDatabasePutItemTransform(routerOptions: IDatabaseRouterOptions, databaseName: string): (item: any) => Promise<any>; export declare function getCollectionPutItemTransform(routerOptions: IDatabaseRouterOptions, databaseName: string, collectionName: string): (item: any) => Promise<any>;