UNPKG

vulcain-corejs

Version:
55 lines (54 loc) 1.57 kB
import { Logger, RequestContext } from './../../servers/requestContext'; import { IProvider, ListOptions } from "../provider"; import { Schema } from "../../schemas/schema"; /** * Default mongo provider */ export declare class MongoProvider implements IProvider<any> { private _logger; private ctx; private options; state: { keyPropertyNameBySchemas: Map<string, string>; uri: string; dispose?: () => void; _mongo?; }; readonly address: string; constructor(_logger: Logger, ctx: RequestContext, uri: string, options?: any); initializeTenantAsync(tenant: string): Promise<{}>; private ensureSchemaReadyAsync(schema); /** * Return a list of entities * @param options * @returns {Promise} */ getAllAsync(schema: Schema, options: ListOptions): Promise<Array<any>>; findOneAsync(schema: Schema, query: any): Promise<{}>; /** * Read an entity * @param name * @returns {Promise} */ getAsync(schema: Schema, name: string): Promise<{}>; /** * Delete an entity * @param id * @returns {Promise} */ deleteAsync(schema: Schema, old: string | any): Promise<{}>; private normalizeErrors(id, err); /** * Persist an entity * @param entity * @returns {Promise} */ createAsync(schema: Schema, entity: any): Promise<{}>; /** * Update an entity * @param entity * @param old * @returns {Promise<T>} */ updateAsync(schema: Schema, entity: any, old: any): Promise<{}>; }