smartdata/dist/smartdata.classes.db.d.ts

36 lines
1.2 KiB
TypeScript
Raw Normal View History

import * as plugins from "./smartdata.plugins";
import { Objectmap } from "lik";
import { DbTable } from "./smartdata.classes.dbtable";
import { ConnectionOptions } from "rethinkdb";
2017-07-15 22:11:03 +00:00
/**
* interface - indicates the connection status of the db
*/
export declare type TConnectionStatus = "initial" | "disconnected" | "connected" | "failed";
2017-07-15 22:11:03 +00:00
export declare class Db {
dbName: string;
connectionOptions: plugins.rethinkDb.ConnectionOptions;
2018-01-07 16:26:34 +00:00
dbConnection: plugins.rethinkDb.Connection;
2017-07-15 22:11:03 +00:00
status: TConnectionStatus;
dbTablesMap: Objectmap<DbTable<any>>;
constructor(connectionOptionsArg: ConnectionOptions);
/**
* supply additional SSl options needed to connect to certain Rethink DB servers (e.g. compose.io)
*/
setSsl(certificateStringArg: string, formatArg: "base64" | "clearText"): void;
2017-07-15 22:11:03 +00:00
/**
* connects to the database that was specified during instance creation
*/
connect(): Promise<any>;
/**
* closes the connection to the databse
*/
close(): Promise<any>;
addTable(dbTableArg: DbTable<any>): void;
2017-07-15 22:11:03 +00:00
/**
* Gets a table's name and returns smartdata's DbTable class
* @param nameArg
* @returns DbTable
2017-07-15 22:11:03 +00:00
*/
getDbTableByName<T>(nameArg: string): Promise<DbTable<T>>;
2017-07-15 22:11:03 +00:00
}