mongodb-data-service 21.13.0 → 21.16.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/connect-mongo-client.d.ts +6 -4
- package/lib/connect-mongo-client.d.ts.map +1 -0
- package/lib/connect-mongo-client.js +34 -63
- package/lib/connect-mongo-client.js.map +1 -1
- package/lib/connect.d.ts +2 -1
- package/lib/connect.d.ts.map +1 -0
- package/lib/connection-info.d.ts +4 -4
- package/lib/connection-info.d.ts.map +1 -0
- package/lib/connection-options.d.ts +1 -1
- package/lib/connection-options.d.ts.map +1 -0
- package/lib/connection-secrets.d.ts +3 -1
- package/lib/connection-secrets.d.ts.map +1 -0
- package/lib/connection-secrets.js +22 -17
- package/lib/connection-secrets.js.map +1 -1
- package/lib/connection-storage.d.ts +6 -5
- package/lib/connection-storage.d.ts.map +1 -0
- package/lib/connection-storage.js +7 -6
- package/lib/connection-storage.js.map +1 -1
- package/lib/connection-title.d.ts +2 -1
- package/lib/connection-title.d.ts.map +1 -0
- package/lib/data-service.d.ts +22 -10
- package/lib/data-service.d.ts.map +1 -0
- package/lib/data-service.js +97 -57
- package/lib/data-service.js.map +1 -1
- package/lib/index.d.ts +5 -3
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +5 -1
- package/lib/index.js.map +1 -1
- package/lib/instance-detail-helper.d.ts +12 -8
- package/lib/instance-detail-helper.d.ts.map +1 -0
- package/lib/instance-detail-helper.js +44 -28
- package/lib/instance-detail-helper.js.map +1 -1
- package/lib/legacy/legacy-connection-model.d.ts +7 -5
- package/lib/legacy/legacy-connection-model.d.ts.map +1 -0
- package/lib/legacy/legacy-connection-model.js +49 -43
- package/lib/legacy/legacy-connection-model.js.map +1 -1
- package/lib/redact.d.ts +6 -4
- package/lib/redact.d.ts.map +1 -0
- package/lib/redact.js +3 -12
- package/lib/redact.js.map +1 -1
- package/lib/run-command.d.ts +9 -1
- package/lib/run-command.d.ts.map +1 -0
- package/lib/run-command.js.map +1 -1
- package/lib/ssh-tunnel.d.ts +7 -3
- package/lib/ssh-tunnel.d.ts.map +1 -0
- package/lib/ssh-tunnel.js +24 -18
- package/lib/ssh-tunnel.js.map +1 -1
- package/lib/types.d.ts +6 -3
- package/lib/types.d.ts.map +1 -0
- package/package.json +19 -21
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import { MongoClientOptions
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
|
|
1
|
+
import type { MongoClientOptions } from 'mongodb';
|
|
2
|
+
import { MongoClient } from 'mongodb';
|
|
3
|
+
import type SSHTunnel from '@mongodb-js/ssh-tunnel';
|
|
4
|
+
import type { ConnectionOptions } from './connection-options';
|
|
5
|
+
export default function connectMongoClientCompass(connectionOptions: ConnectionOptions, setupListeners: (client: MongoClient) => void): Promise<[
|
|
5
6
|
MongoClient,
|
|
6
7
|
SSHTunnel | undefined,
|
|
7
8
|
{
|
|
@@ -9,3 +10,4 @@ export default function connectMongoClient(connectionOptions: ConnectionOptions,
|
|
|
9
10
|
options: MongoClientOptions;
|
|
10
11
|
}
|
|
11
12
|
]>;
|
|
13
|
+
//# sourceMappingURL=connect-mongo-client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"connect-mongo-client.d.ts","sourceRoot":"","sources":["../src/connect-mongo-client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEtC,OAAO,KAAK,SAAS,MAAM,wBAAwB,CAAC;AAKpD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAS9D,wBAA8B,yBAAyB,CACrD,iBAAiB,EAAE,iBAAiB,EACpC,cAAc,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,IAAI,GAC5C,OAAO,CACR;IACE,WAAW;IACX,SAAS,GAAG,SAAS;IACrB;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,kBAAkB,CAAA;KAAE;CAC7C,CACF,CA6DA"}
|
|
@@ -4,79 +4,50 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
const mongodb_1 = require("mongodb");
|
|
7
|
-
const
|
|
8
|
-
const
|
|
7
|
+
const devtools_connect_1 = require("@mongodb-js/devtools-connect");
|
|
8
|
+
const events_1 = __importDefault(require("events"));
|
|
9
9
|
const redact_1 = require("./redact");
|
|
10
10
|
const compass_logging_1 = __importDefault(require("@mongodb-js/compass-logging"));
|
|
11
11
|
const ssh_tunnel_1 = require("./ssh-tunnel");
|
|
12
|
-
const { debug, log
|
|
13
|
-
async function
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
const
|
|
17
|
-
const
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
12
|
+
const { debug, log } = (0, compass_logging_1.default)('COMPASS-CONNECT');
|
|
13
|
+
async function connectMongoClientCompass(connectionOptions, setupListeners) {
|
|
14
|
+
debug('connectMongoClient invoked', (0, redact_1.redactConnectionOptions)(connectionOptions));
|
|
15
|
+
const url = connectionOptions.connectionString;
|
|
16
|
+
const options = { monitorCommands: true };
|
|
17
|
+
const [tunnel, socks5Options] = await (0, ssh_tunnel_1.openSshTunnel)(connectionOptions.sshTunnel);
|
|
18
|
+
if (socks5Options) {
|
|
19
|
+
Object.assign(options, socks5Options);
|
|
20
|
+
}
|
|
21
|
+
class CompassMongoClient extends mongodb_1.MongoClient {
|
|
22
|
+
constructor(url, options) {
|
|
23
|
+
super(url, options);
|
|
24
|
+
if (setupListeners) {
|
|
25
|
+
setupListeners(this);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
const connectLogger = new events_1.default();
|
|
30
|
+
(0, devtools_connect_1.hookLogger)(connectLogger, log.unbound, 'compass', redact_1.redactConnectionString);
|
|
31
|
+
let mongoClient;
|
|
27
32
|
try {
|
|
28
33
|
debug('waiting for MongoClient to connect ...');
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
return [
|
|
34
|
+
mongoClient = await Promise.race([
|
|
35
|
+
(async () => {
|
|
36
|
+
const mongoClient = await (0, devtools_connect_1.connectMongoClient)(url, options, connectLogger, CompassMongoClient);
|
|
37
|
+
await mongoClient.db('admin').command({ ping: 1 });
|
|
38
|
+
return mongoClient;
|
|
39
|
+
})(),
|
|
40
|
+
(0, ssh_tunnel_1.waitForTunnelError)(tunnel),
|
|
41
|
+
]);
|
|
42
|
+
return [mongoClient, tunnel, { url, options }];
|
|
38
43
|
}
|
|
39
44
|
catch (err) {
|
|
40
|
-
log.error(mongoLogId(1001000013), 'Connect', 'Connection attempt failed', { error: err.message });
|
|
41
45
|
debug('connection error', err);
|
|
42
46
|
debug('force shutting down ssh tunnel ...');
|
|
43
|
-
await ssh_tunnel_1.forceCloseTunnel(tunnel)
|
|
44
|
-
throw err;
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
exports.default = connectMongoClient;
|
|
48
|
-
function connectionOptionsToMongoClientParams(connectionOptions) {
|
|
49
|
-
const url = new mongodb_connection_string_url_1.default(connectionOptions.connectionString);
|
|
50
|
-
const options = {
|
|
51
|
-
monitorCommands: true,
|
|
52
|
-
};
|
|
53
|
-
if (connectionOptions.tlsCertificateFile) {
|
|
54
|
-
options.tlsCertificateFile = connectionOptions.tlsCertificateFile;
|
|
55
|
-
}
|
|
56
|
-
const isLoadBalanced = url.searchParams.get('loadBalanced') === 'true';
|
|
57
|
-
const isReplicaSet = url.isSRV || url.hosts.length > 1 || url.searchParams.has('replicaSet');
|
|
58
|
-
if (!isReplicaSet && !isLoadBalanced) {
|
|
59
|
-
url.searchParams.set('directConnection', 'true');
|
|
60
|
-
}
|
|
61
|
-
if (!url.searchParams.has('tlsCertificateFile') &&
|
|
62
|
-
url.searchParams.has('tlsCertificateKeyFile')) {
|
|
63
|
-
url.searchParams.set('tlsCertificateFile', url.searchParams.get('tlsCertificateKeyFile'));
|
|
64
|
-
}
|
|
65
|
-
return [url.href, options];
|
|
66
|
-
}
|
|
67
|
-
async function resolveSrvRecord(url) {
|
|
68
|
-
let resolvedUrl;
|
|
69
|
-
try {
|
|
70
|
-
resolvedUrl = await resolve_mongodb_srv_1.default(url);
|
|
71
|
-
log.info(mongoLogId(1001000010), 'Connect', 'Resolved SRV record', {
|
|
72
|
-
from: redact_1.redactConnectionString(url),
|
|
73
|
-
to: redact_1.redactConnectionString(resolvedUrl),
|
|
47
|
+
await Promise.all([(0, ssh_tunnel_1.forceCloseTunnel)(tunnel), mongoClient === null || mongoClient === void 0 ? void 0 : mongoClient.close()]).catch(() => {
|
|
74
48
|
});
|
|
49
|
+
throw err;
|
|
75
50
|
}
|
|
76
|
-
catch (error) {
|
|
77
|
-
log.error(mongoLogId(1001000011), 'Connect', 'Resolving SRV record failed', { from: redact_1.redactConnectionString(url), error: error.message });
|
|
78
|
-
throw error;
|
|
79
|
-
}
|
|
80
|
-
return resolvedUrl;
|
|
81
51
|
}
|
|
52
|
+
exports.default = connectMongoClientCompass;
|
|
82
53
|
//# sourceMappingURL=connect-mongo-client.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connect-mongo-client.js","sourceRoot":"","sources":["../src/connect-mongo-client.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"connect-mongo-client.js","sourceRoot":"","sources":["../src/connect-mongo-client.ts"],"names":[],"mappings":";;;;;AACA,qCAAsC;AACtC,mEAA8E;AAE9E,oDAAkC;AAClC,qCAA2E;AAE3E,kFAAmE;AAEnE,6CAIsB;AAEtB,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,IAAA,yBAAwB,EAAC,iBAAiB,CAAC,CAAC;AAEpD,KAAK,UAAU,yBAAyB,CACrD,iBAAoC,EACpC,cAA6C;IAQ7C,KAAK,CACH,4BAA4B,EAC5B,IAAA,gCAAuB,EAAC,iBAAiB,CAAC,CAC3C,CAAC;IAEF,MAAM,GAAG,GAAG,iBAAiB,CAAC,gBAAgB,CAAC;IAC/C,MAAM,OAAO,GAAuB,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC;IAM9D,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,GAAG,MAAM,IAAA,0BAAa,EACjD,iBAAiB,CAAC,SAAS,CAC5B,CAAC;IAEF,IAAI,aAAa,EAAE;QACjB,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;KACvC;IAED,MAAM,kBAAmB,SAAQ,qBAAW;QAC1C,YAAY,GAAW,EAAE,OAA4B;YACnD,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;YACpB,IAAI,cAAc,EAAE;gBAClB,cAAc,CAAC,IAAI,CAAC,CAAC;aACtB;QACH,CAAC;KACF;IAED,MAAM,aAAa,GAAG,IAAI,gBAAY,EAAE,CAAC;IACzC,IAAA,6BAAU,EAAC,aAAa,EAAE,GAAG,CAAC,OAAO,EAAE,SAAS,EAAE,+BAAsB,CAAC,CAAC;IAE1E,IAAI,WAAoC,CAAC;IACzC,IAAI;QACF,KAAK,CAAC,wCAAwC,CAAC,CAAC;QAChD,WAAW,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC;YAC/B,CAAC,KAAK,IAAI,EAAE;gBACV,MAAM,WAAW,GAAG,MAAM,IAAA,qCAAkB,EAC1C,GAAG,EACH,OAAO,EACP,aAAa,EACb,kBAAkB,CACnB,CAAC;gBACF,MAAM,WAAW,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;gBACnD,OAAO,WAAW,CAAC;YACrB,CAAC,CAAC,EAAE;YACJ,IAAA,+BAAkB,EAAC,MAAM,CAAC;SAC3B,CAAC,CAAC;QAEH,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;KAChD;IAAC,OAAO,GAAQ,EAAE;QACjB,KAAK,CAAC,kBAAkB,EAAE,GAAG,CAAC,CAAC;QAC/B,KAAK,CAAC,oCAAoC,CAAC,CAAC;QAC5C,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,IAAA,6BAAgB,EAAC,MAAM,CAAC,EAAE,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CACvE,GAAG,EAAE;QAEL,CAAC,CACF,CAAC;QACF,MAAM,GAAG,CAAC;KACX;AACH,CAAC;AAtED,4CAsEC"}
|
package/lib/connect.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
-
import { ConnectionOptions } from './connection-options';
|
|
1
|
+
import type { ConnectionOptions } from './connection-options';
|
|
2
2
|
import DataService from './data-service';
|
|
3
3
|
export default function connect(connectionOptions: ConnectionOptions): Promise<DataService>;
|
|
4
|
+
//# sourceMappingURL=connect.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"connect.d.ts","sourceRoot":"","sources":["../src/connect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,WAAW,MAAM,gBAAgB,CAAC;AAEzC,wBAA8B,OAAO,CACnC,iBAAiB,EAAE,iBAAiB,GACnC,OAAO,CAAC,WAAW,CAAC,CAItB"}
|
package/lib/connection-info.d.ts
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { ConnectionOptions } from './connection-options';
|
|
1
|
+
import type { ConnectionOptions } from './connection-options';
|
|
2
2
|
export interface ConnectionInfo {
|
|
3
|
-
readonly id
|
|
3
|
+
readonly id: string;
|
|
4
4
|
lastUsed?: Date;
|
|
5
5
|
favorite?: ConnectionFavoriteOptions;
|
|
6
6
|
connectionOptions: ConnectionOptions;
|
|
7
7
|
}
|
|
8
|
-
interface ConnectionFavoriteOptions {
|
|
8
|
+
export interface ConnectionFavoriteOptions {
|
|
9
9
|
name: string;
|
|
10
10
|
color?: string;
|
|
11
11
|
}
|
|
12
|
-
|
|
12
|
+
//# sourceMappingURL=connection-info.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"connection-info.d.ts","sourceRoot":"","sources":["../src/connection-info.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAE9D,MAAM,WAAW,cAAc;IAI7B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IAKpB,QAAQ,CAAC,EAAE,IAAI,CAAC;IAKhB,QAAQ,CAAC,EAAE,yBAAyB,CAAC;IAKrC,iBAAiB,EAAE,iBAAiB,CAAC;CACtC;AAED,MAAM,WAAW,yBAAyB;IAIxC,IAAI,EAAE,MAAM,CAAC;IAKb,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
export interface ConnectionOptions {
|
|
2
2
|
connectionString: string;
|
|
3
|
-
tlsCertificateFile?: string;
|
|
4
3
|
sshTunnel?: ConnectionSshOptions;
|
|
5
4
|
}
|
|
6
5
|
export interface ConnectionSshOptions {
|
|
@@ -11,3 +10,4 @@ export interface ConnectionSshOptions {
|
|
|
11
10
|
identityKeyFile?: string;
|
|
12
11
|
identityKeyPassphrase?: string;
|
|
13
12
|
}
|
|
13
|
+
//# sourceMappingURL=connection-options.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"connection-options.d.ts","sourceRoot":"","sources":["../src/connection-options.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,iBAAiB;IAIhC,gBAAgB,EAAE,MAAM,CAAC;IAKzB,SAAS,CAAC,EAAE,oBAAoB,CAAC;CAClC;AAED,MAAM,WAAW,oBAAoB;IAInC,IAAI,EAAE,MAAM,CAAC;IAKb,IAAI,EAAE,MAAM,CAAC;IAKb,QAAQ,EAAE,MAAM,CAAC;IAKjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAKlB,eAAe,CAAC,EAAE,MAAM,CAAC;IAKzB,qBAAqB,CAAC,EAAE,MAAM,CAAC;CAChC"}
|
|
@@ -1,12 +1,14 @@
|
|
|
1
|
-
import { ConnectionInfo } from './connection-info';
|
|
1
|
+
import type { ConnectionInfo } from './connection-info';
|
|
2
2
|
export interface ConnectionSecrets {
|
|
3
3
|
password?: string;
|
|
4
4
|
sshTunnelPassphrase?: string;
|
|
5
5
|
awsSessionToken?: string;
|
|
6
6
|
tlsCertificateKeyFilePassword?: string;
|
|
7
|
+
proxyPassword?: string;
|
|
7
8
|
}
|
|
8
9
|
export declare function mergeSecrets(connectionInfo: Readonly<ConnectionInfo>, secrets: ConnectionSecrets | undefined): ConnectionInfo;
|
|
9
10
|
export declare function extractSecrets(connectionInfo: Readonly<ConnectionInfo>): {
|
|
10
11
|
connectionInfo: ConnectionInfo;
|
|
11
12
|
secrets: ConnectionSecrets;
|
|
12
13
|
};
|
|
14
|
+
//# sourceMappingURL=connection-secrets.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"connection-secrets.d.ts","sourceRoot":"","sources":["../src/connection-secrets.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAGxD,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,6BAA6B,CAAC,EAAE,MAAM,CAAC;IACvC,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,wBAAgB,YAAY,CAC1B,cAAc,EAAE,QAAQ,CAAC,cAAc,CAAC,EACxC,OAAO,EAAE,iBAAiB,GAAG,SAAS,GACrC,cAAc,CAoDhB;AAED,wBAAgB,cAAc,CAAC,cAAc,EAAE,QAAQ,CAAC,cAAc,CAAC,GAAG;IACxE,cAAc,EAAE,cAAc,CAAC;IAC/B,OAAO,EAAE,iBAAiB,CAAC;CAC5B,CAuDA"}
|
|
@@ -25,9 +25,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
25
25
|
exports.extractSecrets = exports.mergeSecrets = void 0;
|
|
26
26
|
const lodash_1 = __importDefault(require("lodash"));
|
|
27
27
|
const mongodb_connection_string_url_1 = __importStar(require("mongodb-connection-string-url"));
|
|
28
|
-
const AWS_SESSION_TOKEN_PROPERTY = 'AWS_SESSION_TOKEN';
|
|
29
|
-
const AUTH_MECHANISM_PROPERTIES_PARAM = 'authMechanismProperties';
|
|
30
|
-
const TLS_CERTIFICATE_KEY_FILE_PASSWORD_PARAM = 'tlsCertificateKeyFilePassword';
|
|
31
28
|
function mergeSecrets(connectionInfo, secrets) {
|
|
32
29
|
const connectionInfoWithSecrets = lodash_1.default.cloneDeep(connectionInfo);
|
|
33
30
|
if (!secrets) {
|
|
@@ -35,6 +32,7 @@ function mergeSecrets(connectionInfo, secrets) {
|
|
|
35
32
|
}
|
|
36
33
|
const connectionOptions = connectionInfoWithSecrets.connectionOptions;
|
|
37
34
|
const uri = new mongodb_connection_string_url_1.default(connectionOptions.connectionString);
|
|
35
|
+
const searchParams = uri.typedSearchParams();
|
|
38
36
|
if (secrets.password) {
|
|
39
37
|
uri.password = secrets.password;
|
|
40
38
|
}
|
|
@@ -43,12 +41,15 @@ function mergeSecrets(connectionInfo, secrets) {
|
|
|
43
41
|
secrets.sshTunnelPassphrase;
|
|
44
42
|
}
|
|
45
43
|
if (secrets.tlsCertificateKeyFilePassword) {
|
|
46
|
-
|
|
44
|
+
searchParams.set('tlsCertificateKeyFilePassword', secrets.tlsCertificateKeyFilePassword);
|
|
45
|
+
}
|
|
46
|
+
if (secrets.proxyPassword) {
|
|
47
|
+
searchParams.set('proxyPassword', secrets.proxyPassword);
|
|
47
48
|
}
|
|
48
49
|
if (secrets.awsSessionToken) {
|
|
49
|
-
const authMechanismProperties = new mongodb_connection_string_url_1.CommaAndColonSeparatedRecord(
|
|
50
|
-
authMechanismProperties.set(
|
|
51
|
-
|
|
50
|
+
const authMechanismProperties = new mongodb_connection_string_url_1.CommaAndColonSeparatedRecord(searchParams.get('authMechanismProperties'));
|
|
51
|
+
authMechanismProperties.set('AWS_SESSION_TOKEN', secrets.awsSessionToken);
|
|
52
|
+
searchParams.set('authMechanismProperties', authMechanismProperties.toString());
|
|
52
53
|
}
|
|
53
54
|
connectionInfoWithSecrets.connectionOptions.connectionString = uri.href;
|
|
54
55
|
return connectionInfoWithSecrets;
|
|
@@ -60,6 +61,7 @@ function extractSecrets(connectionInfo) {
|
|
|
60
61
|
const secrets = {};
|
|
61
62
|
const connectionOptions = connectionInfoWithoutSecrets.connectionOptions;
|
|
62
63
|
const uri = new mongodb_connection_string_url_1.default(connectionOptions.connectionString);
|
|
64
|
+
const searchParams = uri.typedSearchParams();
|
|
63
65
|
if (uri.password) {
|
|
64
66
|
secrets.password = uri.password;
|
|
65
67
|
uri.password = '';
|
|
@@ -69,21 +71,24 @@ function extractSecrets(connectionInfo) {
|
|
|
69
71
|
connectionOptions.sshTunnel.identityKeyPassphrase;
|
|
70
72
|
delete connectionOptions.sshTunnel.identityKeyPassphrase;
|
|
71
73
|
}
|
|
72
|
-
if (
|
|
74
|
+
if (searchParams.has('tlsCertificateKeyFilePassword')) {
|
|
73
75
|
secrets.tlsCertificateKeyFilePassword =
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
76
|
+
searchParams.get('tlsCertificateKeyFilePassword') || undefined;
|
|
77
|
+
searchParams.delete('tlsCertificateKeyFilePassword');
|
|
78
|
+
}
|
|
79
|
+
if (searchParams.has('proxyPassword')) {
|
|
80
|
+
secrets.proxyPassword = searchParams.get('proxyPassword') || undefined;
|
|
81
|
+
searchParams.delete('proxyPassword');
|
|
77
82
|
}
|
|
78
|
-
const authMechanismProperties = new mongodb_connection_string_url_1.CommaAndColonSeparatedRecord(
|
|
79
|
-
if (authMechanismProperties.has(
|
|
80
|
-
secrets.awsSessionToken = authMechanismProperties.get(
|
|
81
|
-
authMechanismProperties.delete(
|
|
83
|
+
const authMechanismProperties = new mongodb_connection_string_url_1.CommaAndColonSeparatedRecord(searchParams.get('authMechanismProperties'));
|
|
84
|
+
if (authMechanismProperties.has('AWS_SESSION_TOKEN')) {
|
|
85
|
+
secrets.awsSessionToken = authMechanismProperties.get('AWS_SESSION_TOKEN');
|
|
86
|
+
authMechanismProperties.delete('AWS_SESSION_TOKEN');
|
|
82
87
|
if (authMechanismProperties.toString()) {
|
|
83
|
-
|
|
88
|
+
searchParams.set('authMechanismProperties', authMechanismProperties.toString());
|
|
84
89
|
}
|
|
85
90
|
else {
|
|
86
|
-
|
|
91
|
+
searchParams.delete('authMechanismProperties');
|
|
87
92
|
}
|
|
88
93
|
}
|
|
89
94
|
connectionInfoWithoutSecrets.connectionOptions.connectionString = uri.href;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connection-secrets.js","sourceRoot":"","sources":["../src/connection-secrets.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oDAAuB;AACvB,+FAEuC;
|
|
1
|
+
{"version":3,"file":"connection-secrets.js","sourceRoot":"","sources":["../src/connection-secrets.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import { ConnectionInfo } from './connection-info';
|
|
2
|
-
|
|
1
|
+
import type { ConnectionInfo } from './connection-info';
|
|
2
|
+
import type { AmpersandMethodOptions } from './legacy/legacy-connection-model';
|
|
3
3
|
export declare class ConnectionStorage {
|
|
4
4
|
loadAll(): Promise<ConnectionInfo[]>;
|
|
5
|
-
save(connectionInfo:
|
|
6
|
-
delete(connectionOptions:
|
|
5
|
+
save(connectionInfo: ConnectionInfo): Promise<void>;
|
|
6
|
+
delete(connectionOptions: ConnectionInfo): Promise<void>;
|
|
7
7
|
}
|
|
8
|
-
export
|
|
8
|
+
export declare function promisifyAmpersandMethod<T>(fn: (options: AmpersandMethodOptions<T>) => void): () => Promise<T>;
|
|
9
|
+
//# sourceMappingURL=connection-storage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"connection-storage.d.ts","sourceRoot":"","sources":["../src/connection-storage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAGxD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAM/E,qBAAa,iBAAiB;IAMtB,OAAO,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;IAoBpC,IAAI,CAAC,cAAc,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAwBnD,MAAM,CAAC,iBAAiB,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;CAU/D;AAED,wBAAgB,wBAAwB,CAAC,CAAC,EACxC,EAAE,EAAE,CAAC,OAAO,EAAE,sBAAsB,CAAC,CAAC,CAAC,KAAK,IAAI,GAC/C,MAAM,OAAO,CAAC,CAAC,CAAC,CAYlB"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ConnectionStorage = void 0;
|
|
3
|
+
exports.promisifyAmpersandMethod = exports.ConnectionStorage = void 0;
|
|
4
4
|
const uuid_1 = require("uuid");
|
|
5
5
|
const legacy_connection_model_1 = require("./legacy/legacy-connection-model");
|
|
6
6
|
class ConnectionStorage {
|
|
@@ -15,24 +15,24 @@ class ConnectionStorage {
|
|
|
15
15
|
if (!connectionInfo.id) {
|
|
16
16
|
throw new Error('id is required');
|
|
17
17
|
}
|
|
18
|
-
if (!uuid_1.validate(connectionInfo.id)) {
|
|
18
|
+
if (!(0, uuid_1.validate)(connectionInfo.id)) {
|
|
19
19
|
throw new Error('id must be a uuid');
|
|
20
20
|
}
|
|
21
|
-
const model = await legacy_connection_model_1.convertConnectionInfoToModel(connectionInfo);
|
|
21
|
+
const model = await (0, legacy_connection_model_1.convertConnectionInfoToModel)(connectionInfo);
|
|
22
22
|
model.save();
|
|
23
23
|
}
|
|
24
24
|
async delete(connectionOptions) {
|
|
25
25
|
if (!connectionOptions.id) {
|
|
26
26
|
return;
|
|
27
27
|
}
|
|
28
|
-
const model = await legacy_connection_model_1.convertConnectionInfoToModel(connectionOptions);
|
|
28
|
+
const model = await (0, legacy_connection_model_1.convertConnectionInfoToModel)(connectionOptions);
|
|
29
29
|
model.destroy();
|
|
30
30
|
}
|
|
31
31
|
}
|
|
32
32
|
exports.ConnectionStorage = ConnectionStorage;
|
|
33
33
|
function promisifyAmpersandMethod(fn) {
|
|
34
|
-
return () => new Promise((resolve, reject) => {
|
|
35
|
-
fn({
|
|
34
|
+
return (...args) => new Promise((resolve, reject) => {
|
|
35
|
+
fn(...args, {
|
|
36
36
|
success: (model) => {
|
|
37
37
|
resolve(model);
|
|
38
38
|
},
|
|
@@ -42,4 +42,5 @@ function promisifyAmpersandMethod(fn) {
|
|
|
42
42
|
});
|
|
43
43
|
});
|
|
44
44
|
}
|
|
45
|
+
exports.promisifyAmpersandMethod = promisifyAmpersandMethod;
|
|
45
46
|
//# sourceMappingURL=connection-storage.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connection-storage.js","sourceRoot":"","sources":["../src/connection-storage.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"connection-storage.js","sourceRoot":"","sources":["../src/connection-storage.ts"],"names":[],"mappings":";;;AAEA,+BAAgD;AAEhD,8EAG0C;AAE1C,MAAa,iBAAiB;IAM5B,KAAK,CAAC,OAAO;QAEX,MAAM,EAAE,oBAAoB,EAAE,GAAG,OAAO,CAAC,0BAA0B,CAAC,CAAC;QACrE,MAAM,oBAAoB,GAAG,IAAI,oBAAoB,EAAE,CAAC;QACxD,MAAM,qBAAqB,GAAG,wBAAwB,CACpD,oBAAoB,CAAC,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CACtD,CAAC;QAEF,MAAM,qBAAqB,EAAE,CAAC;QAC9B,OAAO,oBAAoB,CAAC,GAAG,CAAC,sDAA4B,CAAC,CAAC;IAChE,CAAC;IAUD,KAAK,CAAC,IAAI,CAAC,cAA8B;QACvC,IAAI,CAAC,cAAc,CAAC,EAAE,EAAE;YACtB,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;SACnC;QAED,IAAI,CAAC,IAAA,eAAY,EAAC,cAAc,CAAC,EAAE,CAAC,EAAE;YACpC,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;SACtC;QAED,MAAM,KAAK,GAAG,MAAM,IAAA,sDAA4B,EAAC,cAAc,CAAC,CAAC;QACjE,KAAK,CAAC,IAAI,EAAE,CAAC;IACf,CAAC;IAaD,KAAK,CAAC,MAAM,CAAC,iBAAiC;QAC5C,IAAI,CAAC,iBAAiB,CAAC,EAAE,EAAE;YAGzB,OAAO;SACR;QAED,MAAM,KAAK,GAAG,MAAM,IAAA,sDAA4B,EAAC,iBAAiB,CAAC,CAAC;QACpE,KAAK,CAAC,OAAO,EAAE,CAAC;IAClB,CAAC;CACF;AA5DD,8CA4DC;AAED,SAAgB,wBAAwB,CACtC,EAAgD;IAEhD,OAAO,CAAC,GAAG,IAAI,EAAE,EAAE,CACjB,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC9B,EAAE,CAAC,GAAG,IAAI,EAAE;YACV,OAAO,EAAE,CAAC,KAAQ,EAAE,EAAE;gBACpB,OAAO,CAAC,KAAK,CAAC,CAAC;YACjB,CAAC;YACD,KAAK,EAAE,CAAC,KAAQ,EAAE,KAAY,EAAE,EAAE;gBAChC,MAAM,CAAC,KAAK,CAAC,CAAC;YAChB,CAAC;SACF,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACP,CAAC;AAdD,4DAcC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"connection-title.d.ts","sourceRoot":"","sources":["../src/connection-title.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAExD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,cAAc,GAAG,MAAM,CAgB/D"}
|
package/lib/data-service.d.ts
CHANGED
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
import { EventEmitter } from 'events';
|
|
3
|
-
import { AggregateOptions, AggregationCursor, BulkWriteOptions, ClientSession, Collection, CountDocumentsOptions, CreateCollectionOptions, CreateIndexesOptions, DeleteOptions, DeleteResult, Document, EstimatedDocumentCountOptions, ExplainOptions, Filter, FindCursor, FindOneAndReplaceOptions, FindOneAndUpdateOptions, FindOptions, IndexSpecification, InsertManyResult, InsertOneOptions, InsertOneResult, MongoClientOptions, ReadPreferenceLike, TopologyDescription, UpdateFilter, UpdateOptions, UpdateResult } from 'mongodb';
|
|
3
|
+
import type { AggregateOptions, AggregationCursor, BulkWriteOptions, ClientSession, Collection, CountDocumentsOptions, CreateCollectionOptions, CreateIndexesOptions, DeleteOptions, DeleteResult, Document, EstimatedDocumentCountOptions, ExplainOptions, Filter, FindCursor, FindOneAndReplaceOptions, FindOneAndUpdateOptions, FindOptions, IndexSpecification, InsertManyResult, InsertOneOptions, InsertOneResult, MongoClientOptions, ReadPreferenceLike, TopologyDescription, TopologyType, UpdateFilter, UpdateOptions, UpdateResult } from 'mongodb';
|
|
4
4
|
import ConnectionStringUrl from 'mongodb-connection-string-url';
|
|
5
|
-
import { ConnectionOptions } from './connection-options';
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
5
|
+
import type { ConnectionOptions } from './connection-options';
|
|
6
|
+
import type { InstanceDetails } from './instance-detail-helper';
|
|
7
|
+
import { adaptCollectionInfo, adaptDatabaseInfo } from './instance-detail-helper';
|
|
8
|
+
import type { Callback, CollectionStats } from './types';
|
|
9
|
+
import type { ConnectionStatusWithPrivileges } from './run-command';
|
|
8
10
|
declare class DataService extends EventEmitter {
|
|
9
11
|
private readonly _connectionOptions;
|
|
10
12
|
private _isConnecting;
|
|
@@ -13,7 +15,7 @@ declare class DataService extends EventEmitter {
|
|
|
13
15
|
private _tunnel?;
|
|
14
16
|
private _lastSeenTopology;
|
|
15
17
|
private _isWritable;
|
|
16
|
-
private
|
|
18
|
+
private _topologyType;
|
|
17
19
|
private _id;
|
|
18
20
|
constructor(connectionOptions: ConnectionOptions);
|
|
19
21
|
getMongoClientConnectionOptions(): {
|
|
@@ -31,12 +33,20 @@ declare class DataService extends EventEmitter {
|
|
|
31
33
|
command(databaseName: string, comm: Document, callback: Callback<Document>): void;
|
|
32
34
|
isWritable(): boolean;
|
|
33
35
|
isMongos(): boolean;
|
|
34
|
-
|
|
36
|
+
currentTopologyType(): TopologyType;
|
|
37
|
+
connectionStatus(): Promise<ConnectionStatusWithPrivileges>;
|
|
38
|
+
private _getPrivilegesOrFallback;
|
|
39
|
+
listCollections(databaseName: string, filter?: Document, { nameOnly, privileges, }?: {
|
|
35
40
|
nameOnly?: true;
|
|
41
|
+
privileges?: ConnectionStatusWithPrivileges['authInfo']['authenticatedUserPrivileges'] | null;
|
|
36
42
|
}): Promise<ReturnType<typeof adaptCollectionInfo>[]>;
|
|
37
|
-
listDatabases({ nameOnly, }?: {
|
|
43
|
+
listDatabases({ nameOnly, privileges, }?: {
|
|
38
44
|
nameOnly?: true;
|
|
39
|
-
|
|
45
|
+
privileges?: ConnectionStatusWithPrivileges['authInfo']['authenticatedUserPrivileges'] | null;
|
|
46
|
+
}): Promise<{
|
|
47
|
+
_id: string;
|
|
48
|
+
name: string;
|
|
49
|
+
}[]>;
|
|
40
50
|
connect(): Promise<void>;
|
|
41
51
|
estimatedCount(ns: string, options: EstimatedDocumentCountOptions, callback: Callback<number>): void;
|
|
42
52
|
count(ns: string, filter: Filter<Document>, options: CountDocumentsOptions, callback: Callback<number>): void;
|
|
@@ -85,7 +95,9 @@ declare class DataService extends EventEmitter {
|
|
|
85
95
|
private setupListeners;
|
|
86
96
|
private get _initializedClient();
|
|
87
97
|
private get _defaultDb();
|
|
88
|
-
databaseStats(name: string): Promise<
|
|
98
|
+
databaseStats(name: string): Promise<ReturnType<typeof adaptDatabaseInfo> & {
|
|
99
|
+
name: string;
|
|
100
|
+
}>;
|
|
89
101
|
private _buildCollectionDetail;
|
|
90
102
|
private _buildCollectionStats;
|
|
91
103
|
private _buildDatabaseDetail;
|
|
@@ -94,9 +106,9 @@ declare class DataService extends EventEmitter {
|
|
|
94
106
|
private _collectionName;
|
|
95
107
|
private _databaseName;
|
|
96
108
|
private _checkIsWritable;
|
|
97
|
-
private _checkIsMongos;
|
|
98
109
|
private _translateMessage;
|
|
99
110
|
private _cleanup;
|
|
100
111
|
private _startLogOp;
|
|
101
112
|
}
|
|
102
113
|
export default DataService;
|
|
114
|
+
//# sourceMappingURL=data-service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"data-service.d.ts","sourceRoot":"","sources":["../src/data-service.ts"],"names":[],"mappings":"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"}
|