@bitblit/ratchet-rdbms
Version:
Ratchet tooling for working with relational databases
30 lines (29 loc) • 1.77 kB
TypeScript
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[];
}