UNPKG

koa-mongo-router

Version:
70 lines (69 loc) 3.45 kB
/// <reference types="node" /> import { Readable } from 'stream'; import { ICollectionQuery } from './query-string'; export interface IPutItemsResponse { inserted: string[]; modified: string[]; unchanged: string[]; deleted: string[]; failed: string[]; } export interface IDatabaseFunctions { getDatabases: () => Promise<string[]>; getDatabaseCollections: (databaseName: string) => Promise<any[]>; deleteDatabase: (databaseName: string) => Promise<number>; getCollectionItemsExplain: (databaseName: string, collectionName: string, collectionQuery?: ICollectionQuery) => Promise<any>; getCollectionItemsStream: (databaseName: string, collectionName: string, collectionQuery?: ICollectionQuery) => Promise<{ count: number; pipe<T extends NodeJS.WritableStream>(destination: T, options?: { end?: boolean; }): T; }>; getCollectionItems: (databaseName: string, collectionName: string, collectionQuery?: ICollectionQuery) => Promise<{ count: number; items: any[]; }>; putCollectionItems: (databaseName: string, collectionName: string, querystring: string, items: any[]) => Promise<{ status: number; response?: IPutItemsResponse; }>; putCollectionItemsStream: (databaseName: string, collectionName: string, querystring: string, inputStream: Readable) => Promise<{ status: number; response?: IPutItemsResponse; }>; postCollectionItems: (databaseName: string, collectionName: string, item: any) => Promise<{ status: number; _id: string; }>; patchCollectionItems: (databaseName: string, collectionName: string, update: any, querystring: string) => Promise<{ status: number; matchedCount: number; modifiedCount: number; }>; deleteCollectionItems: (databaseName: string, collectionName: string, querystring: string) => Promise<{ status: number; deletedCount: number; }>; getCollectionItem: (databaseName: string, collectionName: string, id: string) => Promise<{ status: number; item?: any; }>; putCollectionItem: (databaseName: string, collectionName: string, id: string, item: any) => Promise<number>; putCollectionItemOnlyIfAlreadyExists: (databaseName: string, collectionName: string, id: string, item: any) => Promise<number>; putCollectionItemOnlyIfDoesNotAlreadyExist: (databaseName: string, collectionName: string, id: string, item: any) => Promise<number>; patchCollectionItem: (databaseName: string, collectionName: string, id: string, patch: any) => Promise<number>; deleteCollectionItem: (databaseName: string, collectionName: string, id: string) => Promise<number>; getCollectionSchema: (databaseName: string, collectionName: string) => Promise<{ status: number; schema?: any; }>; putCollectionSchema: (databaseName: string, collectionName: string, schema: any) => Promise<{ status: number; result?: any; error?: string; }>; deleteCollectionSchema: (databaseName: string, collectionName: string) => Promise<number>; getCollectionIndices: (databaseName: string, collectionName: string) => Promise<any>; postCollectionIndex: (databaseName: string, collectionName: string, index: any) => Promise<any>; deleteCollectionIndex: (databaseName: string, collectionName: string, id: string) => Promise<any>; }