UNPKG

@breautek/storm

Version:

Object-Oriented REST API framework

18 lines (17 loc) 991 B
import { DatabaseConnection } from './DatabaseConnection'; import { IDatabasePosition } from './IDatabasePosition'; export declare abstract class Database<TDatabaseConfig, TConnectionAPI> { private $clusterConfigMap; constructor(); addMaster(config: TDatabaseConfig): void; removeMaster(): void; addSlave(slaveID: string, config: TDatabaseConfig): string; removeSlave(slaveID: string): void; getConnection(requireWriteAccess?: boolean, nodeID?: string, requiredPosition?: IDatabasePosition): Promise<DatabaseConnection<TConnectionAPI>>; destroy(): Promise<void>; protected abstract _destroy(): Promise<void>; protected abstract _addNode(name: string, config: TDatabaseConfig): void; protected abstract _removeNode(name: string): void; protected abstract _getConnection(query: string, requireWriteAccess: boolean, requiredPosition?: IDatabasePosition): Promise<DatabaseConnection<TConnectionAPI>>; abstract escape(query: string): string; }