mongodb-data-service 21.14.0 → 21.16.1

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.
Files changed (50) hide show
  1. package/lib/connect-mongo-client.d.ts +6 -4
  2. package/lib/connect-mongo-client.d.ts.map +1 -0
  3. package/lib/connect-mongo-client.js +28 -63
  4. package/lib/connect-mongo-client.js.map +1 -1
  5. package/lib/connect.d.ts +2 -1
  6. package/lib/connect.d.ts.map +1 -0
  7. package/lib/connection-info.d.ts +3 -3
  8. package/lib/connection-info.d.ts.map +1 -0
  9. package/lib/connection-options.d.ts +1 -0
  10. package/lib/connection-options.d.ts.map +1 -0
  11. package/lib/connection-secrets.d.ts +2 -1
  12. package/lib/connection-secrets.d.ts.map +1 -0
  13. package/lib/connection-secrets.js +15 -13
  14. package/lib/connection-secrets.js.map +1 -1
  15. package/lib/connection-storage.d.ts +4 -1
  16. package/lib/connection-storage.d.ts.map +1 -0
  17. package/lib/connection-storage.js +7 -6
  18. package/lib/connection-storage.js.map +1 -1
  19. package/lib/connection-title.d.ts +2 -1
  20. package/lib/connection-title.d.ts.map +1 -0
  21. package/lib/data-service.d.ts +16 -9
  22. package/lib/data-service.d.ts.map +1 -0
  23. package/lib/data-service.js +38 -34
  24. package/lib/data-service.js.map +1 -1
  25. package/lib/index.d.ts +4 -3
  26. package/lib/index.d.ts.map +1 -0
  27. package/lib/index.js +2 -1
  28. package/lib/index.js.map +1 -1
  29. package/lib/instance-detail-helper.d.ts +5 -5
  30. package/lib/instance-detail-helper.d.ts.map +1 -0
  31. package/lib/instance-detail-helper.js +16 -17
  32. package/lib/instance-detail-helper.js.map +1 -1
  33. package/lib/legacy/legacy-connection-model.d.ts +6 -4
  34. package/lib/legacy/legacy-connection-model.d.ts.map +1 -0
  35. package/lib/legacy/legacy-connection-model.js +29 -25
  36. package/lib/legacy/legacy-connection-model.js.map +1 -1
  37. package/lib/redact.d.ts +4 -3
  38. package/lib/redact.d.ts.map +1 -0
  39. package/lib/redact.js +1 -1
  40. package/lib/redact.js.map +1 -1
  41. package/lib/run-command.d.ts +2 -1
  42. package/lib/run-command.d.ts.map +1 -0
  43. package/lib/run-command.js.map +1 -1
  44. package/lib/ssh-tunnel.d.ts +6 -2
  45. package/lib/ssh-tunnel.d.ts.map +1 -0
  46. package/lib/ssh-tunnel.js +24 -18
  47. package/lib/ssh-tunnel.js.map +1 -1
  48. package/lib/types.d.ts +6 -3
  49. package/lib/types.d.ts.map +1 -0
  50. package/package.json +17 -19
@@ -1,7 +1,8 @@
1
- import { MongoClientOptions, MongoClient } from 'mongodb';
2
- import SSHTunnel from '@mongodb-js/ssh-tunnel';
3
- import { ConnectionOptions } from './connection-options';
4
- export default function connectMongoClient(connectionOptions: ConnectionOptions, setupListeners: (client: MongoClient) => void, tunnelLocalPort: number): Promise<[
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,85 +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 mongodb_connection_string_url_1 = __importDefault(require("mongodb-connection-string-url"));
8
- const resolve_mongodb_srv_1 = __importDefault(require("resolve-mongodb-srv"));
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, mongoLogId } = compass_logging_1.default('COMPASS-CONNECT');
13
- async function connectMongoClient(connectionOptions, setupListeners, tunnelLocalPort) {
14
- var _a, _b;
15
- debug('connectMongoClient invoked', redact_1.redactConnectionOptions(connectionOptions));
16
- const [driverUrl, driverOptions] = connectionOptionsToMongoClientParams(connectionOptions);
17
- const srvResolvedUrl = await resolveSrvRecord(driverUrl);
18
- const [tunnel, urlWithSshTunnel] = await ssh_tunnel_1.openSshTunnel(srvResolvedUrl, connectionOptions.sshTunnel, tunnelLocalPort);
19
- log.info(mongoLogId(1001000009), 'Connect', 'Initiating connection', {
20
- url: redact_1.redactConnectionString(urlWithSshTunnel),
21
- options: driverOptions,
22
- });
23
- const mongoClient = new mongodb_1.MongoClient(urlWithSshTunnel, driverOptions);
24
- if (setupListeners) {
25
- setupListeners(mongoClient);
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);
26
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
- await Promise.race([
34
+ mongoClient = await Promise.race([
30
35
  (async () => {
31
- await mongoClient.connect();
36
+ const mongoClient = await (0, devtools_connect_1.connectMongoClient)(url, options, connectLogger, CompassMongoClient);
32
37
  await mongoClient.db('admin').command({ ping: 1 });
38
+ return mongoClient;
33
39
  })(),
34
- ssh_tunnel_1.waitForTunnelError(tunnel),
40
+ (0, ssh_tunnel_1.waitForTunnelError)(tunnel),
35
41
  ]);
36
- log.info(mongoLogId(1001000012), 'Connect', 'Connection established', {
37
- driver: (_b = (_a = mongoClient.options) === null || _a === void 0 ? void 0 : _a.metadata) === null || _b === void 0 ? void 0 : _b.driver,
38
- url: redact_1.redactConnectionString(urlWithSshTunnel),
39
- });
40
- return [
41
- mongoClient,
42
- tunnel,
43
- { url: urlWithSshTunnel, options: driverOptions },
44
- ];
42
+ return [mongoClient, tunnel, { url, options }];
45
43
  }
46
44
  catch (err) {
47
- log.error(mongoLogId(1001000013), 'Connect', 'Connection attempt failed', { error: err.message });
48
45
  debug('connection error', err);
49
46
  debug('force shutting down ssh tunnel ...');
50
- await Promise.all([ssh_tunnel_1.forceCloseTunnel(tunnel), mongoClient.close()]).catch(() => {
47
+ await Promise.all([(0, ssh_tunnel_1.forceCloseTunnel)(tunnel), mongoClient === null || mongoClient === void 0 ? void 0 : mongoClient.close()]).catch(() => {
51
48
  });
52
49
  throw err;
53
50
  }
54
51
  }
55
- exports.default = connectMongoClient;
56
- function connectionOptionsToMongoClientParams(connectionOptions) {
57
- const url = new mongodb_connection_string_url_1.default(connectionOptions.connectionString);
58
- const options = {
59
- monitorCommands: true,
60
- };
61
- const isLoadBalanced = url.searchParams.get('loadBalanced') === 'true';
62
- const isReplicaSet = url.isSRV || url.hosts.length > 1 || url.searchParams.has('replicaSet');
63
- const hasDirectConnection = url.searchParams.has('directConnection');
64
- if (!isReplicaSet && !isLoadBalanced && !hasDirectConnection) {
65
- url.searchParams.set('directConnection', 'true');
66
- }
67
- if (!url.searchParams.has('tlsCertificateFile') &&
68
- url.searchParams.has('tlsCertificateKeyFile')) {
69
- url.searchParams.set('tlsCertificateFile', url.searchParams.get('tlsCertificateKeyFile'));
70
- }
71
- return [url.href, options];
72
- }
73
- async function resolveSrvRecord(url) {
74
- let resolvedUrl;
75
- try {
76
- resolvedUrl = await resolve_mongodb_srv_1.default(url);
77
- log.info(mongoLogId(1001000010), 'Connect', 'Resolved SRV record', {
78
- from: redact_1.redactConnectionString(url),
79
- to: redact_1.redactConnectionString(resolvedUrl),
80
- });
81
- }
82
- catch (error) {
83
- log.error(mongoLogId(1001000011), 'Connect', 'Resolving SRV record failed', { from: redact_1.redactConnectionString(url), error: error.message });
84
- throw error;
85
- }
86
- return resolvedUrl;
87
- }
52
+ exports.default = connectMongoClientCompass;
88
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":"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"}
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"}
@@ -1,12 +1,12 @@
1
- import { ConnectionOptions } from './connection-options';
1
+ import type { ConnectionOptions } from './connection-options';
2
2
  export interface ConnectionInfo {
3
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
- export {};
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"}
@@ -10,3 +10,4 @@ export interface ConnectionSshOptions {
10
10
  identityKeyFile?: string;
11
11
  identityKeyPassphrase?: string;
12
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,4 +1,4 @@
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;
@@ -11,3 +11,4 @@ export declare function extractSecrets(connectionInfo: Readonly<ConnectionInfo>)
11
11
  connectionInfo: ConnectionInfo;
12
12
  secrets: ConnectionSecrets;
13
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"}
@@ -32,6 +32,7 @@ function mergeSecrets(connectionInfo, secrets) {
32
32
  }
33
33
  const connectionOptions = connectionInfoWithSecrets.connectionOptions;
34
34
  const uri = new mongodb_connection_string_url_1.default(connectionOptions.connectionString);
35
+ const searchParams = uri.typedSearchParams();
35
36
  if (secrets.password) {
36
37
  uri.password = secrets.password;
37
38
  }
@@ -40,15 +41,15 @@ function mergeSecrets(connectionInfo, secrets) {
40
41
  secrets.sshTunnelPassphrase;
41
42
  }
42
43
  if (secrets.tlsCertificateKeyFilePassword) {
43
- uri.searchParams.set('tlsCertificateKeyFilePassword', secrets.tlsCertificateKeyFilePassword);
44
+ searchParams.set('tlsCertificateKeyFilePassword', secrets.tlsCertificateKeyFilePassword);
44
45
  }
45
46
  if (secrets.proxyPassword) {
46
- uri.searchParams.set('proxyPassword', 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(uri.searchParams.get('authMechanismProperties'));
50
+ const authMechanismProperties = new mongodb_connection_string_url_1.CommaAndColonSeparatedRecord(searchParams.get('authMechanismProperties'));
50
51
  authMechanismProperties.set('AWS_SESSION_TOKEN', secrets.awsSessionToken);
51
- uri.searchParams.set('authMechanismProperties', authMechanismProperties.toString());
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,24 +71,24 @@ function extractSecrets(connectionInfo) {
69
71
  connectionOptions.sshTunnel.identityKeyPassphrase;
70
72
  delete connectionOptions.sshTunnel.identityKeyPassphrase;
71
73
  }
72
- if (uri.searchParams.has('tlsCertificateKeyFilePassword')) {
74
+ if (searchParams.has('tlsCertificateKeyFilePassword')) {
73
75
  secrets.tlsCertificateKeyFilePassword =
74
- uri.searchParams.get('tlsCertificateKeyFilePassword') || undefined;
75
- uri.searchParams.delete('tlsCertificateKeyFilePassword');
76
+ searchParams.get('tlsCertificateKeyFilePassword') || undefined;
77
+ searchParams.delete('tlsCertificateKeyFilePassword');
76
78
  }
77
- if (uri.searchParams.has('proxyPassword')) {
78
- secrets.proxyPassword = uri.searchParams.get('proxyPassword') || undefined;
79
- uri.searchParams.delete('proxyPassword');
79
+ if (searchParams.has('proxyPassword')) {
80
+ secrets.proxyPassword = searchParams.get('proxyPassword') || undefined;
81
+ searchParams.delete('proxyPassword');
80
82
  }
81
- const authMechanismProperties = new mongodb_connection_string_url_1.CommaAndColonSeparatedRecord(uri.searchParams.get('authMechanismProperties'));
83
+ const authMechanismProperties = new mongodb_connection_string_url_1.CommaAndColonSeparatedRecord(searchParams.get('authMechanismProperties'));
82
84
  if (authMechanismProperties.has('AWS_SESSION_TOKEN')) {
83
85
  secrets.awsSessionToken = authMechanismProperties.get('AWS_SESSION_TOKEN');
84
86
  authMechanismProperties.delete('AWS_SESSION_TOKEN');
85
87
  if (authMechanismProperties.toString()) {
86
- uri.searchParams.set('authMechanismProperties', authMechanismProperties.toString());
88
+ searchParams.set('authMechanismProperties', authMechanismProperties.toString());
87
89
  }
88
90
  else {
89
- uri.searchParams.delete('authMechanismProperties');
91
+ searchParams.delete('authMechanismProperties');
90
92
  }
91
93
  }
92
94
  connectionInfoWithoutSecrets.connectionOptions.connectionString = uri.href;
@@ -1 +1 @@
1
- {"version":3,"file":"connection-secrets.js","sourceRoot":"","sources":["../src/connection-secrets.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"connection-secrets.js","sourceRoot":"","sources":["../src/connection-secrets.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,9 @@
1
- import { ConnectionInfo } from './connection-info';
1
+ import type { ConnectionInfo } from './connection-info';
2
+ import type { AmpersandMethodOptions } from './legacy/legacy-connection-model';
2
3
  export declare class ConnectionStorage {
3
4
  loadAll(): Promise<ConnectionInfo[]>;
4
5
  save(connectionInfo: ConnectionInfo): Promise<void>;
5
6
  delete(connectionOptions: ConnectionInfo): Promise<void>;
6
7
  }
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":";;;AAEA,+BAAgD;AAChD,8EAI0C;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,eAAY,CAAC,cAAc,CAAC,EAAE,CAAC,EAAE;YACpC,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;SACtC;QAED,MAAM,KAAK,GAAG,MAAM,sDAA4B,CAAC,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,sDAA4B,CAAC,iBAAiB,CAAC,CAAC;QACpE,KAAK,CAAC,OAAO,EAAE,CAAC;IAClB,CAAC;CACF;AA5DD,8CA4DC;AAED,SAAS,wBAAwB,CAC/B,EAAgD;IAEhD,OAAO,GAAG,EAAE,CACV,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC9B,EAAE,CAAC;YACD,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"}
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"}
@@ -1,2 +1,3 @@
1
- import { ConnectionInfo } from './connection-info';
1
+ import type { ConnectionInfo } from './connection-info';
2
2
  export declare function getConnectionTitle(info: ConnectionInfo): string;
3
+ //# sourceMappingURL=connection-title.d.ts.map
@@ -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"}
@@ -1,11 +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 { adaptCollectionInfo, adaptDatabaseInfo, InstanceDetails } from './instance-detail-helper';
7
- import { Callback, CollectionStats } from './types';
8
- import { ConnectionStatusWithPrivileges } from './run-command';
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';
9
10
  declare class DataService extends EventEmitter {
10
11
  private readonly _connectionOptions;
11
12
  private _isConnecting;
@@ -14,7 +15,7 @@ declare class DataService extends EventEmitter {
14
15
  private _tunnel?;
15
16
  private _lastSeenTopology;
16
17
  private _isWritable;
17
- private _isMongos;
18
+ private _topologyType;
18
19
  private _id;
19
20
  constructor(connectionOptions: ConnectionOptions);
20
21
  getMongoClientConnectionOptions(): {
@@ -32,6 +33,7 @@ declare class DataService extends EventEmitter {
32
33
  command(databaseName: string, comm: Document, callback: Callback<Document>): void;
33
34
  isWritable(): boolean;
34
35
  isMongos(): boolean;
36
+ currentTopologyType(): TopologyType;
35
37
  connectionStatus(): Promise<ConnectionStatusWithPrivileges>;
36
38
  private _getPrivilegesOrFallback;
37
39
  listCollections(databaseName: string, filter?: Document, { nameOnly, privileges, }?: {
@@ -41,7 +43,10 @@ declare class DataService extends EventEmitter {
41
43
  listDatabases({ nameOnly, privileges, }?: {
42
44
  nameOnly?: true;
43
45
  privileges?: ConnectionStatusWithPrivileges['authInfo']['authenticatedUserPrivileges'] | null;
44
- }): Promise<ReturnType<typeof adaptDatabaseInfo>[]>;
46
+ }): Promise<{
47
+ _id: string;
48
+ name: string;
49
+ }[]>;
45
50
  connect(): Promise<void>;
46
51
  estimatedCount(ns: string, options: EstimatedDocumentCountOptions, callback: Callback<number>): void;
47
52
  count(ns: string, filter: Filter<Document>, options: CountDocumentsOptions, callback: Callback<number>): void;
@@ -90,7 +95,9 @@ declare class DataService extends EventEmitter {
90
95
  private setupListeners;
91
96
  private get _initializedClient();
92
97
  private get _defaultDb();
93
- databaseStats(name: string): Promise<Omit<ReturnType<typeof adaptDatabaseInfo>, '_id'>>;
98
+ databaseStats(name: string): Promise<ReturnType<typeof adaptDatabaseInfo> & {
99
+ name: string;
100
+ }>;
94
101
  private _buildCollectionDetail;
95
102
  private _buildCollectionStats;
96
103
  private _buildDatabaseDetail;
@@ -99,9 +106,9 @@ declare class DataService extends EventEmitter {
99
106
  private _collectionName;
100
107
  private _databaseName;
101
108
  private _checkIsWritable;
102
- private _checkIsMongos;
103
109
  private _translateMessage;
104
110
  private _cleanup;
105
111
  private _startLogOp;
106
112
  }
107
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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"}