UNPKG

@bitblit/ratchet-rdbms

Version:

Ratchet tooling for working with relational databases

30 lines (29 loc) 1.77 kB
import { Connection, ConnectionOptions } from 'mysql2/promise'; import { SshTunnelService } from '../service/ssh-tunnel-service.js'; import { DatabaseConfigList } from '../model/database-config-list.js'; import { QueryDefaults } from '../model/query-defaults.js'; import { ConnectionAndTunnel } from '../model/connection-and-tunnel.js'; import { DatabaseAccessProvider } from '../model/database-access-provider.js'; import { DatabaseAccess } from '../model/database-access.js'; import { MysqlDbConfig } from './model/mysql-db-config.js'; export declare class RdsMysqlStyleConnectionProvider implements DatabaseAccessProvider { private configPromiseProvider; private additionalConfig; private ssh?; static DEFAULT_CONNECTION_OPTIONS: ConnectionOptions; private connectionCache; private cacheConfigPromise; constructor(configPromiseProvider: () => Promise<DatabaseConfigList<MysqlDbConfig>>, additionalConfig?: ConnectionOptions, ssh?: SshTunnelService); get usingSshTunnel(): boolean; private addShutdownHandlerToProcess; clearDatabaseAccessCache(): Promise<boolean>; getConnectionAndTunnel(name: string): Promise<ConnectionAndTunnel<Connection, MysqlDbConfig>>; getDatabaseAccess(name: string): Promise<DatabaseAccess | undefined>; createNonPooledConnectionAndTunnel(queryDefaults: QueryDefaults, additionalConfig?: ConnectionOptions): Promise<ConnectionAndTunnel<Connection, MysqlDbConfig>>; createNonPooledDatabaseConnection(queryDefaults: QueryDefaults, additionalConfig?: ConnectionOptions): Promise<Connection | undefined>; private getDbConfig; private createConnectionAndTunnel; private configPromise; private createConnectionConfig; static validDbConfig(cfg: MysqlDbConfig): string[]; }