UNPKG

1.62 kBTypeScriptView Raw
1import { MongoClientOptions } from 'mongodb';
2import { Database, SeederDatabaseConfig } from '.';
3import { LogFn } from '../common';
4/**
5 * Provides functionality to manage connection to a MongoDB database.
6 */
7export declare class DatabaseConnector {
8 /**
9 * Masked URI credentials token.
10 */
11 static MASKED_URI_CREDENTIALS: string;
12 static DEFAULT_CLIENT_OPTIONS: MongoClientOptions;
13 /**
14 * MongoDB Client options
15 */
16 clientOptions: MongoClientOptions;
17 /**
18 * Logger instance
19 */
20 log: LogFn;
21 /**
22 * Constructs the `DatabaseConnector` object.
23 *
24 * @param reconnectTimeoutMillis Reconnect timeout in milliseconds. Ignored when custom MongoClientOptions are passed.
25 * @param mongoClientOptions Optional Mongo Client options
26 * @param log Optional logger
27 */
28 constructor(reconnectTimeoutMillis?: number, mongoClientOptions?: MongoClientOptions, log?: LogFn);
29 /**
30 * Connects to database.
31 *
32 * @param config Database configuration
33 */
34 connect(config: SeederDatabaseConfig): Promise<Database>;
35 /**
36 * Gets MongoDB Connection URI from config.
37 *
38 * @param config Database configuration
39 */
40 private getUri;
41 /**
42 * Constructs database connection URI from database configuration object.
43 *
44 * @param param0 Database connection object
45 */
46 private getDbConnectionUri;
47 /**
48 * Detects database connection credentials and masks them, replacing with masked URI credentials token.
49 *
50 * @param uri Database connection URI
51 */
52 private maskUriCredentials;
53}