koa-mongo-router
Version:
KOA REST API Router for MongoDB
27 lines (26 loc) • 1.9 kB
TypeScript
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>;