2016-09-11 16:01:46 +00:00
|
|
|
/// <reference types="q" />
|
|
|
|
import * as plugins from './smartdata.plugins';
|
2016-09-13 20:53:21 +00:00
|
|
|
import { Objectmap } from 'lik';
|
|
|
|
import { DbCollection } from './smartdata.classes.dbcollection';
|
2016-11-17 11:20:52 +00:00
|
|
|
/**
|
|
|
|
* interface - indicates the database type
|
|
|
|
*/
|
|
|
|
export declare type TDbType = 'mongodb' | 'nedb';
|
|
|
|
/**
|
|
|
|
* interface - indicates the connection status of the db
|
|
|
|
*/
|
2016-09-12 21:50:25 +00:00
|
|
|
export declare type TConnectionStatus = 'disconnected' | 'connected' | 'failed';
|
|
|
|
export declare class Db {
|
2016-11-17 11:20:52 +00:00
|
|
|
dbType: TDbType;
|
2016-09-11 16:01:46 +00:00
|
|
|
dbUrl: string;
|
2016-11-17 21:36:12 +00:00
|
|
|
db: plugins.mongodb.Db;
|
2016-09-12 21:50:25 +00:00
|
|
|
status: TConnectionStatus;
|
2016-09-13 20:53:21 +00:00
|
|
|
collections: Objectmap<DbCollection<any>>;
|
2016-11-17 11:20:52 +00:00
|
|
|
constructor(dbUrlArg: string, dbTypeArg?: TDbType);
|
2016-09-13 20:53:21 +00:00
|
|
|
/**
|
|
|
|
* connects to the database that was specified during instance creation
|
|
|
|
*/
|
2016-09-11 16:01:46 +00:00
|
|
|
connect(): plugins.q.Promise<any>;
|
2016-09-13 20:53:21 +00:00
|
|
|
/**
|
|
|
|
* closes the connection to the databse
|
|
|
|
*/
|
2016-09-11 16:01:46 +00:00
|
|
|
close(): plugins.q.Promise<any>;
|
2016-09-13 20:53:21 +00:00
|
|
|
/**
|
|
|
|
* gets a collection by name: string
|
|
|
|
*/
|
|
|
|
getCollectionByName<T>(nameArg: string): plugins.q.Promise<DbCollection<T>>;
|
2016-09-13 23:02:11 +00:00
|
|
|
addCollection(dbCollectionArg: DbCollection<any>): void;
|
2016-09-11 16:01:46 +00:00
|
|
|
}
|