@mongodb-js/connection-info 0.7.0 → 0.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.
- package/dist/connection-info.d.ts +69 -2
- package/dist/connection-info.d.ts.map +1 -1
- package/dist/connection-secrets.d.ts.map +1 -1
- package/dist/connection-secrets.js +45 -11
- package/dist/connection-secrets.js.map +1 -1
- package/dist/connection-title.d.ts +5 -0
- package/dist/connection-title.d.ts.map +1 -1
- package/dist/connection-title.js +6 -0
- package/dist/connection-title.js.map +1 -1
- package/package.json +6 -6
|
@@ -1,23 +1,90 @@
|
|
|
1
1
|
import type { ConnectionOptions } from 'mongodb-data-service';
|
|
2
2
|
export interface AtlasClusterMetadata {
|
|
3
3
|
orgId: string;
|
|
4
|
+
/**
|
|
5
|
+
* Project ID that uniquely identifies an Atlas project. Legacy name is "groupId"
|
|
6
|
+
* as projects were previously identified as "groups".
|
|
7
|
+
* https://www.mongodb.com/docs/atlas/api/atlas-admin-api-ref/#project-id
|
|
8
|
+
*/
|
|
4
9
|
projectId: string;
|
|
5
|
-
|
|
10
|
+
/**
|
|
11
|
+
* Unique id returned with the clusterDescription
|
|
12
|
+
*/
|
|
13
|
+
clusterUniqueId: string;
|
|
14
|
+
/**
|
|
15
|
+
* Cluster name, unique inside same project
|
|
16
|
+
*/
|
|
6
17
|
clusterName: string;
|
|
7
|
-
|
|
18
|
+
/**
|
|
19
|
+
* A special id and type that are only relevant in context of mms metrics
|
|
20
|
+
* features. These are deployment items props (with a special exception for
|
|
21
|
+
* serverless, where id is just name, and type is `serverless` that doesn't
|
|
22
|
+
* make sense in context of deployments), not cluster description props.
|
|
23
|
+
|
|
24
|
+
* https://github.com/10gen/mms/blob/43b0049a85196b44e465feb9b96ef942d6f2c8f4/client/js/legacy/core/models/deployment
|
|
25
|
+
*/
|
|
26
|
+
metricsId: string;
|
|
27
|
+
/**
|
|
28
|
+
* Somewhat related to the clusterType provided as part of clusterDescription,
|
|
29
|
+
* but way less granular:
|
|
30
|
+
*
|
|
31
|
+
* - `host`: CM/OM clusters not managed by Atlas (in theory should
|
|
32
|
+
* never appear in our runtime)
|
|
33
|
+
* - `cluster`: any sharded cluster type (sharded or geo sharded /
|
|
34
|
+
* "global writes" one)
|
|
35
|
+
* - `replicaSet`: anything that is not sharded (both dedicated or "free
|
|
36
|
+
* tier" / MTM)
|
|
37
|
+
* - `serverless`: specifically for serverless clusters
|
|
38
|
+
*/
|
|
39
|
+
metricsType: 'host' | 'replicaSet' | 'cluster' | 'serverless';
|
|
40
|
+
/**
|
|
41
|
+
* Atlas API base url to be used when making control plane requests for a
|
|
42
|
+
* regionalized cluster
|
|
43
|
+
*/
|
|
8
44
|
regionalBaseUrl: string;
|
|
9
45
|
instanceSize?: string;
|
|
46
|
+
/**
|
|
47
|
+
* Possible types of Atlas clusters.
|
|
48
|
+
* Copied from:
|
|
49
|
+
* https://github.com/10gen/mms/blob/9e6bf2d81d4d85b5ac68a15bf471dcddc5922323/client/packages/types/nds/clusterDescription.ts#L12-L16
|
|
50
|
+
*/
|
|
51
|
+
clusterType: 'REPLICASET' | 'SHARDED' | 'GEOSHARDED';
|
|
10
52
|
}
|
|
11
53
|
export interface ConnectionInfo {
|
|
54
|
+
/**
|
|
55
|
+
* Unique ID of the connection.
|
|
56
|
+
*/
|
|
12
57
|
readonly id: string;
|
|
58
|
+
/**
|
|
59
|
+
* Date and time when the connection was last used, i.e. connected with.
|
|
60
|
+
*/
|
|
13
61
|
lastUsed?: Date;
|
|
62
|
+
/**
|
|
63
|
+
* If present the connection is marked as a favorite by the user.
|
|
64
|
+
*/
|
|
14
65
|
favorite?: ConnectionFavoriteOptions;
|
|
66
|
+
/**
|
|
67
|
+
* Saved connection type. Legacy favorite connections will be mapped as
|
|
68
|
+
* 'favorite'
|
|
69
|
+
*/
|
|
15
70
|
savedConnectionType?: 'favorite' | 'recent';
|
|
71
|
+
/**
|
|
72
|
+
* The options used to connect
|
|
73
|
+
*/
|
|
16
74
|
connectionOptions: ConnectionOptions;
|
|
75
|
+
/**
|
|
76
|
+
* The metdata for the Atlas cluster
|
|
77
|
+
*/
|
|
17
78
|
atlasMetadata?: AtlasClusterMetadata;
|
|
18
79
|
}
|
|
19
80
|
export interface ConnectionFavoriteOptions {
|
|
81
|
+
/**
|
|
82
|
+
* User-defined name of the connection.
|
|
83
|
+
*/
|
|
20
84
|
name: string;
|
|
85
|
+
/**
|
|
86
|
+
* Hex-code of the user-defined color.
|
|
87
|
+
*/
|
|
21
88
|
color?: string;
|
|
22
89
|
}
|
|
23
90
|
//# sourceMappingURL=connection-info.d.ts.map
|
|
@@ -1 +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,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAC;
|
|
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,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd;;;;OAIG;IACH,SAAS,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,eAAe,EAAE,MAAM,CAAC;IACxB;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB;;;;;;;OAOG;IACH,SAAS,EAAE,MAAM,CAAC;IAClB;;;;;;;;;;;OAWG;IACH,WAAW,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,GAAG,YAAY,CAAC;IAC9D;;;OAGG;IACH,eAAe,EAAE,MAAM,CAAC;IAMxB,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;;;OAIG;IACH,WAAW,EAAE,YAAY,GAAG,SAAS,GAAG,YAAY,CAAC;CACtD;AAED,MAAM,WAAW,cAAc;IAC7B;;OAEG;IACH,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,QAAQ,CAAC,EAAE,IAAI,CAAC;IAEhB;;OAEG;IACH,QAAQ,CAAC,EAAE,yBAAyB,CAAC;IAErC;;;OAGG;IACH,mBAAmB,CAAC,EAAE,UAAU,GAAG,QAAQ,CAAC;IAE5C;;OAEG;IACH,iBAAiB,EAAE,iBAAiB,CAAC;IAErC;;OAEG;IACH,aAAa,CAAC,EAAE,oBAAoB,CAAC;CACtC;AAED,MAAM,WAAW,yBAAyB;IACxC;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB"}
|
|
@@ -1 +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;AACxD,OAAO,KAAK,
|
|
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;AACxD,OAAO,KAAK,EAIV,qBAAqB,EACtB,MAAM,SAAS,CAAC;AAEjB,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,6BAA6B,CAAC,EAAE,MAAM,CAAC;IACvC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,qBAAqB,CAAC;IACvC,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,wBAAgB,YAAY,CAC1B,cAAc,EAAE,QAAQ,CAAC,cAAc,CAAC,EACxC,OAAO,EAAE,iBAAiB,GAAG,SAAS,GACrC,cAAc,CAmEhB;AAED,wBAAgB,cAAc,CAAC,cAAc,EAAE,QAAQ,CAAC,cAAc,CAAC,GAAG;IACxE,cAAc,EAAE,cAAc,CAAC;IAC/B,OAAO,EAAE,iBAAiB,CAAC;CAC5B,CAmFA"}
|
|
@@ -112,21 +112,17 @@ function extractSecrets(connectionInfo) {
|
|
|
112
112
|
connectionInfoWithoutSecrets.connectionOptions.connectionString = uri.href;
|
|
113
113
|
if (connectionOptions.fleOptions?.autoEncryption) {
|
|
114
114
|
const { autoEncryption } = connectionOptions.fleOptions;
|
|
115
|
-
const
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
'kmsProviders.gcp.privateKey',
|
|
122
|
-
...kmsProviders.map((p) => `tlsOptions.${p}.tlsCertificateKeyFilePassword`),
|
|
123
|
-
];
|
|
124
|
-
connectionOptions.fleOptions.autoEncryption = lodash_1.default.omit(autoEncryption, secretPaths);
|
|
115
|
+
const { data: autoEncryptionWithoutSecrets, secrets: autoEncryptionSecrets, } = extractAutoEncryptionSecrets(autoEncryption);
|
|
116
|
+
connectionOptions.fleOptions.autoEncryption = autoEncryptionWithoutSecrets;
|
|
117
|
+
// Remove potentially empty KMS provider options objects,
|
|
118
|
+
// since libmongocrypt assumes that, if a KMS provider options
|
|
119
|
+
// object is present but empty, the caller will be able
|
|
120
|
+
// to provide credentials on demand.
|
|
125
121
|
if (connectionOptions.fleOptions.autoEncryption.kmsProviders)
|
|
126
122
|
connectionOptions.fleOptions.autoEncryption.kmsProviders =
|
|
127
123
|
omitPropertiesWhoseValuesAreEmptyObjects(connectionOptions.fleOptions.autoEncryption.kmsProviders);
|
|
128
124
|
if (connectionOptions.fleOptions.storeCredentials) {
|
|
129
|
-
secrets.autoEncryption =
|
|
125
|
+
secrets.autoEncryption = autoEncryptionSecrets;
|
|
130
126
|
}
|
|
131
127
|
}
|
|
132
128
|
if (connectionOptions.oidc?.serializedState) {
|
|
@@ -139,4 +135,42 @@ exports.extractSecrets = extractSecrets;
|
|
|
139
135
|
function omitPropertiesWhoseValuesAreEmptyObjects(obj) {
|
|
140
136
|
return Object.fromEntries(Object.entries(obj).filter(([, value]) => Object.keys(value).length > 0));
|
|
141
137
|
}
|
|
138
|
+
const KMS_PROVIDER_SECRET_PATHS = {
|
|
139
|
+
local: ['key'],
|
|
140
|
+
aws: ['secretAccessKey', 'sessionToken'],
|
|
141
|
+
azure: ['clientSecret'],
|
|
142
|
+
gcp: ['privateKey'],
|
|
143
|
+
// kmip does not have any kms secrets, but tlsOptions
|
|
144
|
+
kmip: undefined,
|
|
145
|
+
};
|
|
146
|
+
function extractAutoEncryptionSecrets(data) {
|
|
147
|
+
const secrets = {};
|
|
148
|
+
// Secrets are stored in a kmsProviders and tlsOptions
|
|
149
|
+
const { kmsProviders, tlsOptions, ...result } = data;
|
|
150
|
+
for (const kmsProviderName of Object.keys(kmsProviders ?? {})) {
|
|
151
|
+
const key = kmsProviderName.split(':')[0];
|
|
152
|
+
if (!key) {
|
|
153
|
+
continue;
|
|
154
|
+
}
|
|
155
|
+
const data = (kmsProviders ?? {})[kmsProviderName];
|
|
156
|
+
const secretPaths = KMS_PROVIDER_SECRET_PATHS[key];
|
|
157
|
+
if (!secretPaths) {
|
|
158
|
+
continue;
|
|
159
|
+
}
|
|
160
|
+
lodash_1.default.set(secrets, `kmsProviders.${kmsProviderName}`, lodash_1.default.pick(data, secretPaths));
|
|
161
|
+
for (const secretKey of secretPaths) {
|
|
162
|
+
lodash_1.default.unset(data, secretKey);
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
for (const key of Object.keys(tlsOptions ?? {})) {
|
|
166
|
+
const data = (tlsOptions ?? {})[key];
|
|
167
|
+
if (data?.tlsCertificateKeyFilePassword) {
|
|
168
|
+
lodash_1.default.set(secrets, `tlsOptions.${key}`, {
|
|
169
|
+
tlsCertificateKeyFilePassword: data.tlsCertificateKeyFilePassword,
|
|
170
|
+
});
|
|
171
|
+
delete data.tlsCertificateKeyFilePassword;
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
return { data: lodash_1.default.merge(result, { kmsProviders, tlsOptions }), secrets };
|
|
175
|
+
}
|
|
142
176
|
//# sourceMappingURL=connection-secrets.js.map
|
|
@@ -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,5 +1,10 @@
|
|
|
1
1
|
import type { ConnectionInfo } from './connection-info';
|
|
2
2
|
type ConnectionInfoForTitle = Pick<ConnectionInfo, 'favorite' | 'connectionOptions' | 'atlasMetadata'>;
|
|
3
|
+
/**
|
|
4
|
+
* Returns the title for connection info. It is called often in various parts of
|
|
5
|
+
* the application, including render methods, so to save some runtime, the
|
|
6
|
+
* result is cached based on the connection info value by referece
|
|
7
|
+
*/
|
|
3
8
|
export declare function getConnectionTitle(info: ConnectionInfoForTitle): string;
|
|
4
9
|
export {};
|
|
5
10
|
//# sourceMappingURL=connection-title.d.ts.map
|
|
@@ -1 +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,KAAK,sBAAsB,GAAG,IAAI,CAChC,cAAc,EACd,UAAU,GAAG,mBAAmB,GAAG,eAAe,CACnD,CAAC;
|
|
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,KAAK,sBAAsB,GAAG,IAAI,CAChC,cAAc,EACd,UAAU,GAAG,mBAAmB,GAAG,eAAe,CACnD,CAAC;AAIF;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,sBAAsB,GAAG,MAAM,CAuBvE"}
|
package/dist/connection-title.js
CHANGED
|
@@ -6,6 +6,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
exports.getConnectionTitle = void 0;
|
|
7
7
|
const mongodb_connection_string_url_1 = __importDefault(require("mongodb-connection-string-url"));
|
|
8
8
|
const ConnectionInfoTitleCache = new WeakMap();
|
|
9
|
+
/**
|
|
10
|
+
* Returns the title for connection info. It is called often in various parts of
|
|
11
|
+
* the application, including render methods, so to save some runtime, the
|
|
12
|
+
* result is cached based on the connection info value by referece
|
|
13
|
+
*/
|
|
9
14
|
function getConnectionTitle(info) {
|
|
10
15
|
let title = ConnectionInfoTitleCache.get(info);
|
|
11
16
|
if (title) {
|
|
@@ -23,6 +28,7 @@ function getConnectionTitle(info) {
|
|
|
23
28
|
title = url.hosts.join(',');
|
|
24
29
|
}
|
|
25
30
|
catch (e) {
|
|
31
|
+
// When parsing a connection for its title fails we default the title.
|
|
26
32
|
title = info.connectionOptions.connectionString || 'Connection';
|
|
27
33
|
}
|
|
28
34
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connection-title.js","sourceRoot":"","sources":["../src/connection-title.ts"],"names":[],"mappings":";;;;;;AAAA,kGAA6D;AAQ7D,MAAM,wBAAwB,GAAG,IAAI,OAAO,EAAkC,CAAC;
|
|
1
|
+
{"version":3,"file":"connection-title.js","sourceRoot":"","sources":["../src/connection-title.ts"],"names":[],"mappings":";;;;;;AAAA,kGAA6D;AAQ7D,MAAM,wBAAwB,GAAG,IAAI,OAAO,EAAkC,CAAC;AAE/E;;;;GAIG;AACH,SAAgB,kBAAkB,CAAC,IAA4B;IAC7D,IAAI,KAAK,GAAG,wBAAwB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAE/C,IAAI,KAAK,EAAE;QACT,OAAO,KAAK,CAAC;KACd;IAED,IAAI,IAAI,CAAC,aAAa,EAAE,WAAW,EAAE;QACnC,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC;KACxC;SAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE;QAC9B,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;KAC5B;SAAM;QACL,IAAI;YACF,MAAM,GAAG,GAAG,IAAI,uCAAgB,CAAC,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;YAC1E,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SAC7B;QAAC,OAAO,CAAC,EAAE;YACV,sEAAsE;YACtE,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,IAAI,YAAY,CAAC;SACjE;KACF;IAED,wBAAwB,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC1C,OAAO,KAAK,CAAC;AACf,CAAC;AAvBD,gDAuBC"}
|
package/package.json
CHANGED
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
"email": "compass@mongodb.com"
|
|
14
14
|
},
|
|
15
15
|
"homepage": "https://github.com/mongodb-js/compass",
|
|
16
|
-
"version": "0.
|
|
16
|
+
"version": "0.9.0",
|
|
17
17
|
"repository": {
|
|
18
18
|
"type": "git",
|
|
19
19
|
"url": "https://github.com/mongodb-js/compass.git"
|
|
@@ -54,13 +54,13 @@
|
|
|
54
54
|
"lodash": "^4.17.21",
|
|
55
55
|
"mongodb": "^6.8.0",
|
|
56
56
|
"mongodb-connection-string-url": "^3.0.1",
|
|
57
|
-
"mongodb-data-service": "^22.23.
|
|
57
|
+
"mongodb-data-service": "^22.23.4"
|
|
58
58
|
},
|
|
59
59
|
"devDependencies": {
|
|
60
|
-
"@mongodb-js/eslint-config-compass": "^1.1.
|
|
61
|
-
"@mongodb-js/mocha-config-compass": "^1.4.
|
|
60
|
+
"@mongodb-js/eslint-config-compass": "^1.1.7",
|
|
61
|
+
"@mongodb-js/mocha-config-compass": "^1.4.2",
|
|
62
62
|
"@mongodb-js/prettier-config-compass": "^1.0.2",
|
|
63
|
-
"@mongodb-js/tsconfig-compass": "^1.0.
|
|
63
|
+
"@mongodb-js/tsconfig-compass": "^1.0.5",
|
|
64
64
|
"@types/chai": "^4.2.21",
|
|
65
65
|
"@types/mocha": "^9.0.0",
|
|
66
66
|
"@types/sinon-chai": "^3.2.5",
|
|
@@ -75,5 +75,5 @@
|
|
|
75
75
|
"sinon": "^17.0.1",
|
|
76
76
|
"typescript": "^5.0.4"
|
|
77
77
|
},
|
|
78
|
-
"gitHead": "
|
|
78
|
+
"gitHead": "7bb0ec47c90909273d5cf0a63a39f12fc31e8d42"
|
|
79
79
|
}
|