1 | import { MongoClient } from 'mongodb';
|
2 | import { Database, SeederDatabaseConfig, SeederDatabaseConfigObject } from '.';
|
3 | import { SeederDatabaseConfigObjectOptions } from './config';
|
4 |
|
5 |
|
6 |
|
7 | export declare class DatabaseConnector {
|
8 | |
9 |
|
10 |
|
11 | static DEFAULT_DB_NAME: string;
|
12 | |
13 |
|
14 |
|
15 | static DEFAULT_RECONNECT_TIMEOUT_MILLIS: number;
|
16 | |
17 |
|
18 |
|
19 | static SLEEP_INTERVAL_MILLIS: number;
|
20 | |
21 |
|
22 |
|
23 | static MASKED_URI_CREDENTIALS: string;
|
24 | |
25 |
|
26 |
|
27 | client?: MongoClient;
|
28 | |
29 |
|
30 |
|
31 | reconnectTimeoutMillis: number;
|
32 | |
33 |
|
34 |
|
35 |
|
36 |
|
37 | constructor(reconnectTimeoutMillis?: number);
|
38 | /**
|
39 | * Connects to database.
|
40 | *
|
41 | * @param config Database configuration
|
42 | */
|
43 | connect(config: SeederDatabaseConfig): Promise<Database>;
|
44 | /**
|
45 | * Connects to database using database connection URI.
|
46 | *
|
47 | * @param dbConnectionUri Database connection URI
|
48 | * @param dbName Database name
|
49 | */
|
50 | connectWithUri(dbConnectionUri: string, dbName: string): Promise<Database>;
|
51 | /**
|
52 | * Closes connection with database.
|
53 | */
|
54 | close(): Promise<void>;
|
55 | /**
|
56 | * Constructs database connection URI from database configuration object.
|
57 | *
|
58 | * @param param0 Database connection object
|
59 | */
|
60 | getDbConnectionUri({ protocol, host, port, name, username, password, options, }: SeederDatabaseConfigObject): string;
|
61 | /**
|
62 | * Constructs database connection options query string from database configuration object.
|
63 | *
|
64 | * @param options Database configuration object
|
65 | */
|
66 | getOptionsUriPart(options: SeederDatabaseConfigObjectOptions): string;
|
67 | /**
|
68 | * Detects database connection credentials and masks them, replacing with masked URI credentials token.
|
69 | *
|
70 | * @param uri Database connection URI
|
71 | */
|
72 | maskUriCredentials(uri: string): string;
|
73 | /**
|
74 | * Extracts database name from database connection URI.
|
75 | *
|
76 | * @param dbConnectionUri Database connection URI
|
77 | */
|
78 | getDbName(dbConnectionUri: string): string;
|
79 | }
|