mongodb-data-service 22.8.0 → 22.9.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.
Files changed (57) hide show
  1. package/lib/connect-mongo-client.d.ts +4 -2
  2. package/lib/connect-mongo-client.d.ts.map +1 -1
  3. package/lib/connect-mongo-client.js +45 -18
  4. package/lib/connect-mongo-client.js.map +1 -1
  5. package/lib/connection-options.d.ts +4 -1
  6. package/lib/connection-options.d.ts.map +1 -1
  7. package/lib/csfle-collection-tracker.js +24 -35
  8. package/lib/csfle-collection-tracker.js.map +1 -1
  9. package/lib/data-service.d.ts +8 -0
  10. package/lib/data-service.d.ts.map +1 -1
  11. package/lib/data-service.js +85 -60
  12. package/lib/data-service.js.map +1 -1
  13. package/lib/index-detail-helper.js +4 -4
  14. package/lib/index-detail-helper.js.map +1 -1
  15. package/lib/index.d.ts +3 -8
  16. package/lib/index.d.ts.map +1 -1
  17. package/lib/index.js +1 -14
  18. package/lib/index.js.map +1 -1
  19. package/lib/instance-detail-helper.d.ts +1 -1
  20. package/lib/instance-detail-helper.d.ts.map +1 -1
  21. package/lib/instance-detail-helper.js +35 -46
  22. package/lib/instance-detail-helper.js.map +1 -1
  23. package/lib/redact.js +2 -3
  24. package/lib/redact.js.map +1 -1
  25. package/lib/run-command.js +1 -2
  26. package/lib/run-command.js.map +1 -1
  27. package/lib/ssh-tunnel.js +3 -3
  28. package/lib/ssh-tunnel.js.map +1 -1
  29. package/package.json +14 -19
  30. package/lib/connection-info.d.ts +0 -12
  31. package/lib/connection-info.d.ts.map +0 -1
  32. package/lib/connection-info.js +0 -3
  33. package/lib/connection-info.js.map +0 -1
  34. package/lib/connection-secrets.d.ts +0 -17
  35. package/lib/connection-secrets.d.ts.map +0 -1
  36. package/lib/connection-secrets.js +0 -135
  37. package/lib/connection-secrets.js.map +0 -1
  38. package/lib/connection-storage.d.ts +0 -8
  39. package/lib/connection-storage.d.ts.map +0 -1
  40. package/lib/connection-storage.js +0 -79
  41. package/lib/connection-storage.js.map +0 -1
  42. package/lib/connection-title.d.ts +0 -3
  43. package/lib/connection-title.d.ts.map +0 -1
  44. package/lib/connection-title.js +0 -22
  45. package/lib/connection-title.js.map +0 -1
  46. package/lib/encrypt.d.ts +0 -16
  47. package/lib/encrypt.d.ts.map +0 -1
  48. package/lib/encrypt.js +0 -104
  49. package/lib/encrypt.js.map +0 -1
  50. package/lib/import-export-connection.d.ts +0 -16
  51. package/lib/import-export-connection.d.ts.map +0 -1
  52. package/lib/import-export-connection.js +0 -123
  53. package/lib/import-export-connection.js.map +0 -1
  54. package/lib/legacy/legacy-connection-model.d.ts +0 -95
  55. package/lib/legacy/legacy-connection-model.d.ts.map +0 -1
  56. package/lib/legacy/legacy-connection-model.js +0 -264
  57. package/lib/legacy/legacy-connection-model.js.map +0 -1
@@ -1,95 +0,0 @@
1
- import type { SshTunnelConfig } from '@mongodb-js/ssh-tunnel';
2
- import type { AmpersandMethodOptions } from '@mongodb-js/compass-utils';
3
- import type { MongoClientOptions, ReadPreferenceLike } from 'mongodb';
4
- import type { ConnectionInfo } from '../connection-info';
5
- import type { ConnectionSecrets } from '../connection-secrets';
6
- type SslMethod = 'NONE' | 'SYSTEMCA' | 'IFAVAILABLE' | 'UNVALIDATED' | 'SERVER' | 'ALL';
7
- export interface LegacyConnectionModelProperties {
8
- _id: string;
9
- hostname: string;
10
- port: number;
11
- ns?: string;
12
- connectionInfo?: ConnectionInfo;
13
- secrets?: ConnectionSecrets;
14
- authStrategy: 'NONE' | 'MONGODB' | 'X509' | 'KERBEROS' | 'LDAP' | 'SCRAM-SHA-256';
15
- hosts?: Array<{
16
- host: string;
17
- port: number;
18
- }>;
19
- isSrvRecord?: boolean;
20
- replicaSet?: string;
21
- connectTimeoutMS?: number;
22
- socketTimeoutMS?: number;
23
- compression?: any;
24
- maxPoolSize?: number;
25
- minPoolSize?: number;
26
- maxIdleTimeMS?: number;
27
- waitQueueMultiple?: number;
28
- waitQueueTimeoutMS?: number;
29
- w?: any;
30
- wTimeoutMS?: number;
31
- journal?: boolean;
32
- readConcernLevel?: string;
33
- readPreference: ReadPreferenceLike;
34
- maxStalenessSeconds?: number;
35
- readPreferenceTags?: string[];
36
- authSource?: string;
37
- authMechanism?: string;
38
- authMechanismProperties?: any;
39
- gssapiServiceName?: string;
40
- gssapiServiceRealm?: string;
41
- gssapiCanonicalizeHostName?: string;
42
- localThresholdMS?: number;
43
- serverSelectionTimeoutMS?: number;
44
- serverSelectionTryOnce?: boolean;
45
- hearbeatFrequencyMS?: number;
46
- appname?: string;
47
- retryWrites?: boolean;
48
- uuidRepresentation?: 'standard' | 'csharpLegacy' | 'javaLegacy' | 'pythonLegacy';
49
- directConnection?: boolean;
50
- loadBalanced?: boolean;
51
- mongodbUsername?: string;
52
- mongodbPassword?: string;
53
- mongodbDatabaseName?: string;
54
- promoteValues?: boolean;
55
- kerberosServiceName?: string;
56
- kerberosPrincipal?: string;
57
- kerberosServiceRealm?: string;
58
- kerberosCanonicalizeHostname: boolean;
59
- ldapUsername?: string;
60
- ldapPassword?: string;
61
- x509Username?: string;
62
- ssl?: any;
63
- sslMethod: SslMethod;
64
- sslCA?: string[];
65
- sslCert?: any;
66
- sslKey?: any;
67
- sslPass?: string;
68
- sshTunnel?: 'NONE' | 'USER_PASSWORD' | 'IDENTITY_FILE';
69
- sshTunnelHostname?: string;
70
- sshTunnelPort: number;
71
- sshTunnelBindToLocalPort?: number;
72
- sshTunnelUsername?: string;
73
- sshTunnelPassword?: string;
74
- sshTunnelIdentityFile?: string | string[];
75
- sshTunnelPassphrase?: string;
76
- lastUsed?: Date;
77
- isFavorite: boolean;
78
- name: string;
79
- title?: string;
80
- color?: string;
81
- }
82
- export interface LegacyConnectionModel extends LegacyConnectionModelProperties {
83
- readonly driverUrl: string;
84
- readonly driverUrlWithSsh: string;
85
- readonly driverOptions: MongoClientOptions;
86
- readonly sshTunnelOptions?: SshTunnelConfig;
87
- toJSON(): LegacyConnectionModelProperties;
88
- save: (attributes?: Partial<LegacyConnectionModel>, options?: AmpersandMethodOptions<LegacyConnectionModel>) => void;
89
- destroy: (options?: AmpersandMethodOptions<LegacyConnectionModel>) => void;
90
- once: (event: string, handler: () => void) => void;
91
- }
92
- export declare function convertConnectionModelToInfo(model: LegacyConnectionModelProperties): ConnectionInfo;
93
- export declare function convertConnectionInfoToModel(connectionInfo: ConnectionInfo): Promise<LegacyConnectionModel>;
94
- export {};
95
- //# sourceMappingURL=legacy-connection-model.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"legacy-connection-model.d.ts","sourceRoot":"","sources":["../../src/legacy/legacy-connection-model.ts"],"names":[],"mappings":"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"}
@@ -1,264 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.convertConnectionInfoToModel = exports.convertConnectionModelToInfo = void 0;
7
- const mongodb_connection_string_url_1 = __importDefault(require("mongodb-connection-string-url"));
8
- const util_1 = __importDefault(require("util"));
9
- const connection_secrets_1 = require("../connection-secrets");
10
- const ConnectionModel = require('mongodb-connection-model');
11
- function deleteCompassAppNameParam(connectionInfo) {
12
- let connectionStringUrl;
13
- try {
14
- connectionStringUrl = new mongodb_connection_string_url_1.default(connectionInfo.connectionOptions.connectionString);
15
- }
16
- catch (_a) {
17
- return connectionInfo;
18
- }
19
- if (/^mongodb compass/i.exec(connectionStringUrl.searchParams.get('appName') || '')) {
20
- connectionStringUrl.searchParams.delete('appName');
21
- }
22
- return {
23
- ...connectionInfo,
24
- connectionOptions: {
25
- ...connectionInfo.connectionOptions,
26
- connectionString: connectionStringUrl.href,
27
- },
28
- };
29
- }
30
- function convertConnectionModelToInfo(model) {
31
- var _a;
32
- const legacyModel = model instanceof ConnectionModel ? model : new ConnectionModel(model);
33
- if (legacyModel.connectionInfo) {
34
- const connectionInfo = (0, connection_secrets_1.mergeSecrets)(legacyModel.connectionInfo, (_a = legacyModel.secrets) !== null && _a !== void 0 ? _a : {});
35
- if (connectionInfo.lastUsed) {
36
- connectionInfo.lastUsed = new Date(connectionInfo.lastUsed);
37
- }
38
- return deleteCompassAppNameParam(connectionInfo);
39
- }
40
- const info = {
41
- id: legacyModel._id,
42
- connectionOptions: {
43
- connectionString: legacyModel.driverUrl,
44
- },
45
- };
46
- modelSslPropertiesToConnectionOptions(legacyModel.driverOptions, info.connectionOptions);
47
- const sshTunnel = modelTunnelToConnectionOptions(legacyModel);
48
- if (sshTunnel) {
49
- info.connectionOptions.sshTunnel = sshTunnel;
50
- }
51
- if (legacyModel.driverOptions.directConnection !== undefined) {
52
- setConnectionStringParam(info.connectionOptions, 'directConnection', legacyModel.driverOptions.directConnection ? 'true' : 'false');
53
- }
54
- if (legacyModel.driverOptions.readPreference !== undefined) {
55
- setConnectionStringParam(info.connectionOptions, 'readPreference', typeof legacyModel.driverOptions.readPreference === 'string'
56
- ? legacyModel.driverOptions.readPreference
57
- : legacyModel.driverOptions.readPreference.preference);
58
- }
59
- if (legacyModel.isFavorite) {
60
- info.favorite = {
61
- name: legacyModel.name,
62
- color: legacyModel.color,
63
- };
64
- }
65
- if (legacyModel.lastUsed) {
66
- info.lastUsed = legacyModel.lastUsed;
67
- }
68
- return deleteCompassAppNameParam(setDirectConnectionForSingleHosts(info));
69
- }
70
- exports.convertConnectionModelToInfo = convertConnectionModelToInfo;
71
- function setDirectConnectionForSingleHosts(connectionInfo) {
72
- let connectionStringUrl;
73
- try {
74
- connectionStringUrl = new mongodb_connection_string_url_1.default(connectionInfo.connectionOptions.connectionString);
75
- }
76
- catch (_a) {
77
- return connectionInfo;
78
- }
79
- const isLoadBalanced = connectionStringUrl.searchParams.get('loadBalanced') === 'true';
80
- const isReplicaSet = connectionStringUrl.isSRV ||
81
- connectionStringUrl.hosts.length > 1 ||
82
- connectionStringUrl.searchParams.has('replicaSet');
83
- const hasDirectConnection = connectionStringUrl.searchParams.has('directConnection');
84
- if (!isReplicaSet && !isLoadBalanced && !hasDirectConnection) {
85
- connectionStringUrl.searchParams.set('directConnection', 'true');
86
- }
87
- return {
88
- ...connectionInfo,
89
- connectionOptions: {
90
- ...connectionInfo.connectionOptions,
91
- connectionString: connectionStringUrl.href,
92
- },
93
- };
94
- }
95
- function setConnectionStringParam(connectionOptions, param, value) {
96
- const url = new mongodb_connection_string_url_1.default(connectionOptions.connectionString);
97
- url.typedSearchParams().set(param, value);
98
- connectionOptions.connectionString = url.toString();
99
- }
100
- function modelSslPropertiesToConnectionOptions(driverOptions, connectionOptions) {
101
- const url = new mongodb_connection_string_url_1.default(connectionOptions.connectionString);
102
- const searchParams = url.typedSearchParams();
103
- if (driverOptions.sslValidate === false) {
104
- searchParams.set('tlsAllowInvalidCertificates', 'true');
105
- }
106
- if (driverOptions.tlsAllowInvalidHostnames) {
107
- searchParams.set('tlsAllowInvalidHostnames', 'true');
108
- }
109
- const sslCA = getSslDriverOptionsFile(driverOptions.sslCA);
110
- const sslCert = getSslDriverOptionsFile(driverOptions.sslCert);
111
- const sslKey = getSslDriverOptionsFile(driverOptions.sslKey);
112
- if (sslCA) {
113
- searchParams.set('tlsCAFile', sslCA);
114
- }
115
- if (sslCert && sslCert !== sslKey) {
116
- searchParams.set('tlsCertificateFile', sslCert);
117
- }
118
- if (sslKey) {
119
- searchParams.set('tlsCertificateKeyFile', sslKey);
120
- }
121
- if (driverOptions.sslPass) {
122
- searchParams.set('tlsCertificateKeyFilePassword', driverOptions.sslPass);
123
- }
124
- if (searchParams.get('ssl') === 'true' &&
125
- searchParams.get('tls') === 'true') {
126
- searchParams.delete('ssl');
127
- }
128
- connectionOptions.connectionString = url.toString();
129
- }
130
- function getSslDriverOptionsFile(value) {
131
- if (!Array.isArray(value)) {
132
- return value;
133
- }
134
- return value[0];
135
- }
136
- function modelTunnelToConnectionOptions(model) {
137
- if (model.sshTunnel === 'NONE' ||
138
- !model.sshTunnelHostname ||
139
- !model.sshTunnelUsername) {
140
- return;
141
- }
142
- const sshTunnel = {
143
- host: model.sshTunnelHostname,
144
- port: model.sshTunnelPort,
145
- username: model.sshTunnelUsername,
146
- };
147
- if (model.sshTunnelPassword !== undefined) {
148
- sshTunnel.password = model.sshTunnelPassword;
149
- }
150
- if (model.sshTunnelIdentityFile !== undefined) {
151
- sshTunnel.identityKeyFile = Array.isArray(model.sshTunnelIdentityFile)
152
- ? model.sshTunnelIdentityFile[0]
153
- : model.sshTunnelIdentityFile;
154
- }
155
- if (model.sshTunnelPassphrase !== undefined) {
156
- sshTunnel.identityKeyPassphrase = model.sshTunnelPassphrase;
157
- }
158
- return sshTunnel;
159
- }
160
- async function tryConvertBackwardCompatibleOptions(connectionInfo) {
161
- try {
162
- const legacyConnectionModelProperties = {};
163
- const connection = await util_1.default.promisify(ConnectionModel.from)(removeAWSParams(connectionInfo.connectionOptions.connectionString));
164
- convertSslOptionsToLegacyProperties(connectionInfo.connectionOptions, legacyConnectionModelProperties);
165
- const connectionOptions = connectionInfo.connectionOptions;
166
- if (connectionOptions.sshTunnel) {
167
- legacyConnectionModelProperties.sshTunnel = !connectionOptions.sshTunnel
168
- .identityKeyFile
169
- ? 'USER_PASSWORD'
170
- : 'IDENTITY_FILE';
171
- legacyConnectionModelProperties.sshTunnelPort =
172
- connectionOptions.sshTunnel.port;
173
- legacyConnectionModelProperties.sshTunnelHostname =
174
- connectionOptions.sshTunnel.host;
175
- legacyConnectionModelProperties.sshTunnelUsername =
176
- connectionOptions.sshTunnel.username;
177
- legacyConnectionModelProperties.sshTunnelPassword =
178
- connectionOptions.sshTunnel.password;
179
- legacyConnectionModelProperties.sshTunnelIdentityFile =
180
- connectionOptions.sshTunnel.identityKeyFile;
181
- legacyConnectionModelProperties.sshTunnelPassphrase =
182
- connectionOptions.sshTunnel.identityKeyPassphrase;
183
- }
184
- if (connectionInfo.favorite) {
185
- legacyConnectionModelProperties.isFavorite = true;
186
- legacyConnectionModelProperties.name = connectionInfo.favorite.name;
187
- legacyConnectionModelProperties.color = connectionInfo.favorite.color;
188
- }
189
- if (connectionInfo.lastUsed) {
190
- legacyConnectionModelProperties.lastUsed = connectionInfo.lastUsed;
191
- }
192
- return {
193
- ...connection.toJSON(),
194
- ...legacyConnectionModelProperties,
195
- };
196
- }
197
- catch (e) {
198
- return {};
199
- }
200
- }
201
- async function convertConnectionInfoToModel(connectionInfo) {
202
- return new ConnectionModel({
203
- ...(await tryConvertBackwardCompatibleOptions(connectionInfo)),
204
- _id: connectionInfo.id,
205
- ...(0, connection_secrets_1.extractSecrets)(connectionInfo),
206
- });
207
- }
208
- exports.convertConnectionInfoToModel = convertConnectionInfoToModel;
209
- function convertSslOptionsToLegacyProperties(options, properties) {
210
- const url = new mongodb_connection_string_url_1.default(options.connectionString);
211
- const searchParams = url.typedSearchParams();
212
- const tlsCAFile = searchParams.get('tlsCAFile');
213
- const tlsCertificateKeyFile = searchParams.get('tlsCertificateKeyFile');
214
- const tlsCertificateKeyFilePassword = searchParams.get('tlsCertificateKeyFilePassword');
215
- const tlsCertificateFile = searchParams.get('tlsCertificateFile');
216
- if (tlsCAFile) {
217
- properties.sslCA = [tlsCAFile];
218
- }
219
- if (tlsCertificateKeyFile) {
220
- properties.sslKey = tlsCertificateKeyFile;
221
- }
222
- if (tlsCertificateKeyFilePassword) {
223
- properties.sslPass = tlsCertificateKeyFilePassword;
224
- }
225
- if (tlsCertificateFile) {
226
- properties.sslCert = tlsCertificateFile;
227
- }
228
- properties.sslMethod = optionsToSslMethod(options);
229
- }
230
- function optionsToSslMethod(options) {
231
- const url = new mongodb_connection_string_url_1.default(options.connectionString);
232
- const searchParams = url.typedSearchParams();
233
- const tls = searchParams.get('tls') || searchParams.get('ssl');
234
- const tlsAllowInvalidCertificates = searchParams.get('tlsAllowInvalidCertificates');
235
- const tlsAllowInvalidHostnames = searchParams.get('tlsAllowInvalidHostnames');
236
- const tlsInsecure = searchParams.get('tlsInsecure');
237
- const tlsCAFile = searchParams.get('tlsCAFile');
238
- const tlsCertificateKeyFile = searchParams.get('tlsCertificateKeyFile');
239
- if (tls === 'false') {
240
- return 'NONE';
241
- }
242
- if (tlsCertificateKeyFile) {
243
- return 'ALL';
244
- }
245
- if (tlsCAFile) {
246
- return 'SERVER';
247
- }
248
- if (tlsInsecure === 'true' ||
249
- (tlsAllowInvalidCertificates === 'true' &&
250
- tlsAllowInvalidHostnames === 'true')) {
251
- return 'UNVALIDATED';
252
- }
253
- return 'SYSTEMCA';
254
- }
255
- function removeAWSParams(connectionString) {
256
- const url = new mongodb_connection_string_url_1.default(connectionString);
257
- const searchParams = url.typedSearchParams();
258
- if (searchParams.get('authMechanism') === 'MONGODB-AWS') {
259
- searchParams.delete('authMechanism');
260
- searchParams.delete('authMechanismProperties');
261
- }
262
- return url.href;
263
- }
264
- //# sourceMappingURL=legacy-connection-model.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"legacy-connection-model.js","sourceRoot":"","sources":["../../src/legacy/legacy-connection-model.ts"],"names":[],"mappings":"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"}