mongodb-data-service 21.19.0 → 21.20.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.d.ts +1 -1
- package/lib/connect.d.ts.map +1 -1
- package/lib/connect.js +2 -5
- package/lib/connect.js.map +1 -1
- package/lib/connection-secrets.d.ts.map +1 -1
- package/lib/connection-secrets.js +3 -1
- package/lib/connection-secrets.js.map +1 -1
- package/lib/csfle-collection-tracker.d.ts +33 -0
- package/lib/csfle-collection-tracker.d.ts.map +1 -0
- package/lib/csfle-collection-tracker.js +200 -0
- package/lib/csfle-collection-tracker.js.map +1 -0
- package/lib/data-service.d.ts +116 -5
- package/lib/data-service.d.ts.map +1 -1
- package/lib/data-service.js +74 -8
- package/lib/data-service.js.map +1 -1
- package/lib/index.d.ts +2 -2
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +3 -3
- package/lib/index.js.map +1 -1
- package/lib/instance-detail-helper.d.ts +9 -2
- package/lib/instance-detail-helper.d.ts.map +1 -1
- package/lib/instance-detail-helper.js +29 -2
- package/lib/instance-detail-helper.js.map +1 -1
- package/package.json +19 -12
package/lib/connect.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import type { ConnectionOptions } from './connection-options';
|
|
2
|
-
import DataService from './data-service';
|
|
2
|
+
import type { DataService } from './data-service';
|
|
3
3
|
export default function connect(connectionOptions: ConnectionOptions): Promise<DataService>;
|
|
4
4
|
//# sourceMappingURL=connect.d.ts.map
|
package/lib/connect.d.ts.map
CHANGED
|
@@ -1 +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;
|
|
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,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAGlD,wBAA8B,OAAO,CACnC,iBAAiB,EAAE,iBAAiB,GACnC,OAAO,CAAC,WAAW,CAAC,CAItB"}
|
package/lib/connect.js
CHANGED
|
@@ -1,11 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const data_service_1 =
|
|
3
|
+
const data_service_1 = require("./data-service");
|
|
7
4
|
async function connect(connectionOptions) {
|
|
8
|
-
const dataService = new data_service_1.
|
|
5
|
+
const dataService = new data_service_1.DataServiceImpl(connectionOptions);
|
|
9
6
|
await dataService.connect();
|
|
10
7
|
return dataService;
|
|
11
8
|
}
|
package/lib/connect.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connect.js","sourceRoot":"","sources":["../src/connect.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"connect.js","sourceRoot":"","sources":["../src/connect.ts"],"names":[],"mappings":";;AAEA,iDAAiD;AAElC,KAAK,UAAU,OAAO,CACnC,iBAAoC;IAEpC,MAAM,WAAW,GAAG,IAAI,8BAAe,CAAC,iBAAiB,CAAC,CAAC;IAC3D,MAAM,WAAW,CAAC,OAAO,EAAE,CAAC;IAC5B,OAAO,WAAW,CAAC;AACrB,CAAC;AAND,0BAMC"}
|
|
@@ -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,EAGV,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;CACxC;AAED,wBAAgB,YAAY,CAC1B,cAAc,EAAE,QAAQ,CAAC,cAAc,CAAC,EACxC,OAAO,EAAE,iBAAiB,GAAG,SAAS,GACrC,cAAc,CA4DhB;AAED,wBAAgB,cAAc,CAAC,cAAc,EAAE,QAAQ,CAAC,cAAc,CAAC,GAAG;IACxE,cAAc,EAAE,cAAc,CAAC;IAC/B,OAAO,EAAE,iBAAiB,CAAC;CAC5B,
|
|
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,EAGV,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;CACxC;AAED,wBAAgB,YAAY,CAC1B,cAAc,EAAE,QAAQ,CAAC,cAAc,CAAC,EACxC,OAAO,EAAE,iBAAiB,GAAG,SAAS,GACrC,cAAc,CA4DhB;AAED,wBAAgB,cAAc,CAAC,cAAc,EAAE,QAAQ,CAAC,cAAc,CAAC,GAAG;IACxE,cAAc,EAAE,cAAc,CAAC;IAC/B,OAAO,EAAE,iBAAiB,CAAC;CAC5B,CA+EA"}
|
|
@@ -115,7 +115,9 @@ function extractSecrets(connectionInfo) {
|
|
|
115
115
|
...kmsProviders.map((p) => `tlsOptions.${p}.tlsCertificateKeyFilePassword`),
|
|
116
116
|
];
|
|
117
117
|
connectionOptions.fleOptions.autoEncryption = lodash_1.default.omit(autoEncryption, secretPaths);
|
|
118
|
-
|
|
118
|
+
if (connectionOptions.fleOptions.storeCredentials) {
|
|
119
|
+
secrets.autoEncryption = lodash_1.default.pick(autoEncryption, secretPaths);
|
|
120
|
+
}
|
|
119
121
|
}
|
|
120
122
|
return { connectionInfo: connectionInfoWithoutSecrets, secrets };
|
|
121
123
|
}
|
|
@@ -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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"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import type { MongoClient, Document } from 'mongodb';
|
|
2
|
+
import type { DataService } from './data-service';
|
|
3
|
+
import type { CollectionInfo, CollectionInfoNameOnly } from './run-command';
|
|
4
|
+
export interface CSFLECollectionTracker {
|
|
5
|
+
isUpdateAllowed(ns: string, originalDocument: Document): Promise<boolean>;
|
|
6
|
+
hasKnownSchemaForCollection(ns: string): Promise<boolean>;
|
|
7
|
+
}
|
|
8
|
+
declare type FieldPath = string[];
|
|
9
|
+
interface CSFLECollectionInfo {
|
|
10
|
+
serverEnforcedEncryptedFields?: FieldPath[];
|
|
11
|
+
clientEnforcedEncryptedFields?: FieldPath[];
|
|
12
|
+
hasServerSchema?: boolean;
|
|
13
|
+
lastUpdated?: Date;
|
|
14
|
+
}
|
|
15
|
+
export declare class CSFLECollectionTrackerImpl implements CSFLECollectionTracker {
|
|
16
|
+
_nsToInfo: Map<string, CSFLECollectionInfo>;
|
|
17
|
+
_dataService: Pick<DataService, 'on' | 'listCollections'>;
|
|
18
|
+
_crudClient: MongoClient;
|
|
19
|
+
constructor(dataService: Pick<DataService, 'on' | 'listCollections'>, crudClient: MongoClient);
|
|
20
|
+
isUpdateAllowed(ns: string, originalDocument: Document): Promise<boolean>;
|
|
21
|
+
hasKnownSchemaForCollection(ns: string): Promise<boolean>;
|
|
22
|
+
_processClientSchemaDefinitions(): void;
|
|
23
|
+
_fetchCSFLECollectionInfo(ns: string): Promise<CSFLECollectionInfo>;
|
|
24
|
+
_getCSFLECollectionInfo(ns: string): CSFLECollectionInfo;
|
|
25
|
+
_updateCollectionInfoFromDataService(opts: {
|
|
26
|
+
databaseName: string;
|
|
27
|
+
nameOnly?: boolean;
|
|
28
|
+
}, result: CollectionInfoNameOnly & Partial<CollectionInfo>): void;
|
|
29
|
+
_createHookedMetadataClient(wrappedClient: MongoClient): MongoClient;
|
|
30
|
+
_checkListCollectionsForLibmongocryptResult(dbName: string, filter: Document, collectionInfos: CollectionInfo[]): Error | undefined;
|
|
31
|
+
}
|
|
32
|
+
export {};
|
|
33
|
+
//# sourceMappingURL=csfle-collection-tracker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"csfle-collection-tracker.d.ts","sourceRoot":"","sources":["../src/csfle-collection-tracker.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EAEX,QAAQ,EAET,MAAM,SAAS,CAAC;AACjB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,KAAK,EACV,cAAc,EACd,sBAAsB,EAEvB,MAAM,eAAe,CAAC;AAWvB,MAAM,WAAW,sBAAsB;IAgBrC,eAAe,CAAC,EAAE,EAAE,MAAM,EAAE,gBAAgB,EAAE,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAa1E,2BAA2B,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CAC3D;AAMD,aAAK,SAAS,GAAG,MAAM,EAAE,CAAC;AAE1B,UAAU,mBAAmB;IAC3B,6BAA6B,CAAC,EAAE,SAAS,EAAE,CAAC;IAC5C,6BAA6B,CAAC,EAAE,SAAS,EAAE,CAAC;IAC5C,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,WAAW,CAAC,EAAE,IAAI,CAAC;CACpB;AA2ED,qBAAa,0BAA2B,YAAW,sBAAsB;IACvE,SAAS,mCAA0C;IACnD,YAAY,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,GAAG,iBAAiB,CAAC,CAAC;IAC1D,WAAW,EAAE,WAAW,CAAC;gBAGvB,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,GAAG,iBAAiB,CAAC,EACxD,UAAU,EAAE,WAAW;IAyBnB,eAAe,CACnB,EAAE,EAAE,MAAM,EACV,gBAAgB,EAAE,QAAQ,GACzB,OAAO,CAAC,OAAO,CAAC;IA+Bb,2BAA2B,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAS/D,+BAA+B,IAAI,IAAI;IAoBjC,yBAAyB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC;IA0BzE,uBAAuB,CAAC,EAAE,EAAE,MAAM,GAAG,mBAAmB;IASxD,oCAAoC,CAClC,IAAI,EAAE;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,EAClD,MAAM,EAAE,sBAAsB,GAAG,OAAO,CAAC,cAAc,CAAC,GACvD,IAAI;IAuBP,2BAA2B,CAAC,aAAa,EAAE,WAAW,GAAG,WAAW;IAmDpE,2CAA2C,CACzC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,QAAQ,EAChB,eAAe,EAAE,cAAc,EAAE,GAChC,KAAK,GAAG,SAAS;CA+CrB"}
|
|
@@ -0,0 +1,200 @@
|
|
|
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.CSFLECollectionTrackerImpl = void 0;
|
|
7
|
+
const mongodb_ns_1 = __importDefault(require("mongodb-ns"));
|
|
8
|
+
const lodash_1 = __importDefault(require("lodash"));
|
|
9
|
+
const compass_logging_1 = __importDefault(require("@mongodb-js/compass-logging"));
|
|
10
|
+
const { log, mongoLogId } = (0, compass_logging_1.default)('COMPASS-DATA-SERVICE');
|
|
11
|
+
function extractEncryptedFieldsFromSchema(schema) {
|
|
12
|
+
var _a;
|
|
13
|
+
if (schema === null || schema === void 0 ? void 0 : schema.encrypt) {
|
|
14
|
+
return [[]];
|
|
15
|
+
}
|
|
16
|
+
const fields = [];
|
|
17
|
+
for (const [key, subschema] of Object.entries((_a = schema === null || schema === void 0 ? void 0 : schema.properties) !== null && _a !== void 0 ? _a : {})) {
|
|
18
|
+
for (const subfield of extractEncryptedFieldsFromSchema(subschema)) {
|
|
19
|
+
fields.push([key, ...subfield]);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
return fields;
|
|
23
|
+
}
|
|
24
|
+
function extractEncryptedFieldsFromEncryptedFieldsConfig(encryptedFields) {
|
|
25
|
+
var _a;
|
|
26
|
+
return ((_a = encryptedFields === null || encryptedFields === void 0 ? void 0 : encryptedFields.fields) !== null && _a !== void 0 ? _a : []).map((field) => field.path.split('.'));
|
|
27
|
+
}
|
|
28
|
+
function extractEncrytedFieldFromAutoEncryptionOptions(ns, autoEncryption) {
|
|
29
|
+
var _a, _b;
|
|
30
|
+
return [
|
|
31
|
+
...extractEncryptedFieldsFromSchema((_a = autoEncryption.schemaMap) === null || _a === void 0 ? void 0 : _a[ns]),
|
|
32
|
+
...extractEncryptedFieldsFromEncryptedFieldsConfig((_b = autoEncryption === null || autoEncryption === void 0 ? void 0 : autoEncryption.encryptedFieldsMap) === null || _b === void 0 ? void 0 : _b[ns]),
|
|
33
|
+
];
|
|
34
|
+
}
|
|
35
|
+
function extractEncryptedFieldsFromListCollectionsResult(options) {
|
|
36
|
+
var _a;
|
|
37
|
+
const schema = (_a = options === null || options === void 0 ? void 0 : options.validator) === null || _a === void 0 ? void 0 : _a.$jsonSchema;
|
|
38
|
+
const encryptedFieldsConfig = options === null || options === void 0 ? void 0 : options.encryptedFields;
|
|
39
|
+
return [
|
|
40
|
+
...extractEncryptedFieldsFromSchema(schema),
|
|
41
|
+
...extractEncryptedFieldsFromEncryptedFieldsConfig(encryptedFieldsConfig),
|
|
42
|
+
];
|
|
43
|
+
}
|
|
44
|
+
function extractEncryptedFieldsFromDocument(doc) {
|
|
45
|
+
var _a;
|
|
46
|
+
const decryptedFields = ((_a = doc === null || doc === void 0 ? void 0 : doc[Symbol.for('@@mdb.decryptedKeys')]) !== null && _a !== void 0 ? _a : []).map((field) => [field]);
|
|
47
|
+
for (const [key, value] of Object.entries(doc)) {
|
|
48
|
+
if (!value || typeof value !== 'object') {
|
|
49
|
+
continue;
|
|
50
|
+
}
|
|
51
|
+
const nestedFields = extractEncryptedFieldsFromDocument(value);
|
|
52
|
+
decryptedFields.push(...nestedFields.map((path) => [key, ...path]));
|
|
53
|
+
}
|
|
54
|
+
return decryptedFields;
|
|
55
|
+
}
|
|
56
|
+
function isOlderThan1Minute(oldDate) {
|
|
57
|
+
return Date.now() - oldDate.getTime() >= 60000;
|
|
58
|
+
}
|
|
59
|
+
class CSFLECollectionTrackerImpl {
|
|
60
|
+
constructor(dataService, crudClient) {
|
|
61
|
+
this._nsToInfo = new Map();
|
|
62
|
+
this._dataService = dataService;
|
|
63
|
+
this._crudClient = crudClient;
|
|
64
|
+
this._dataService.on('collectionInfoFetched', this._updateCollectionInfoFromDataService.bind(this));
|
|
65
|
+
this._processClientSchemaDefinitions();
|
|
66
|
+
const { autoEncrypter } = this._crudClient.options;
|
|
67
|
+
if (autoEncrypter) {
|
|
68
|
+
log.info(mongoLogId(1001000118), 'CSFLECollectionTracker', 'Hooking AutoEncrypter metaDataClient property');
|
|
69
|
+
autoEncrypter._metaDataClient = this._createHookedMetadataClient(autoEncrypter._metaDataClient);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
async isUpdateAllowed(ns, originalDocument) {
|
|
73
|
+
var _a, _b;
|
|
74
|
+
const originalDocEncryptedFields = extractEncryptedFieldsFromDocument(originalDocument);
|
|
75
|
+
if (originalDocEncryptedFields.length === 0) {
|
|
76
|
+
return true;
|
|
77
|
+
}
|
|
78
|
+
const info = await this._fetchCSFLECollectionInfo(ns);
|
|
79
|
+
const collectionEncryptedFields = [
|
|
80
|
+
...((_a = info.serverEnforcedEncryptedFields) !== null && _a !== void 0 ? _a : []),
|
|
81
|
+
...((_b = info.clientEnforcedEncryptedFields) !== null && _b !== void 0 ? _b : []),
|
|
82
|
+
];
|
|
83
|
+
for (const originalDocPath of originalDocEncryptedFields) {
|
|
84
|
+
if (!collectionEncryptedFields.some((path) => lodash_1.default.isEqual(originalDocPath, path))) {
|
|
85
|
+
return false;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
return true;
|
|
89
|
+
}
|
|
90
|
+
async hasKnownSchemaForCollection(ns) {
|
|
91
|
+
var _a, _b;
|
|
92
|
+
const info = await this._fetchCSFLECollectionInfo(ns);
|
|
93
|
+
return !!(info.hasServerSchema ||
|
|
94
|
+
((_a = info.clientEnforcedEncryptedFields) === null || _a === void 0 ? void 0 : _a.length) ||
|
|
95
|
+
((_b = info.serverEnforcedEncryptedFields) === null || _b === void 0 ? void 0 : _b.length));
|
|
96
|
+
}
|
|
97
|
+
_processClientSchemaDefinitions() {
|
|
98
|
+
var _a, _b;
|
|
99
|
+
const { autoEncryption } = this._crudClient.options;
|
|
100
|
+
for (const ns of [
|
|
101
|
+
...Object.keys((_a = autoEncryption === null || autoEncryption === void 0 ? void 0 : autoEncryption.schemaMap) !== null && _a !== void 0 ? _a : {}),
|
|
102
|
+
...Object.keys((_b = autoEncryption === null || autoEncryption === void 0 ? void 0 : autoEncryption.encryptedFieldsMap) !== null && _b !== void 0 ? _b : {}),
|
|
103
|
+
]) {
|
|
104
|
+
log.info(mongoLogId(1001000119), 'CSFLECollectionTracker', 'Processing client-side schema information', { ns });
|
|
105
|
+
const info = this._getCSFLECollectionInfo(ns);
|
|
106
|
+
info.clientEnforcedEncryptedFields =
|
|
107
|
+
extractEncrytedFieldFromAutoEncryptionOptions(ns, autoEncryption);
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
async _fetchCSFLECollectionInfo(ns) {
|
|
111
|
+
const parsedNs = (0, mongodb_ns_1.default)(ns);
|
|
112
|
+
const info = this._getCSFLECollectionInfo(ns);
|
|
113
|
+
if (!info.serverEnforcedEncryptedFields ||
|
|
114
|
+
!info.lastUpdated ||
|
|
115
|
+
isOlderThan1Minute(info.lastUpdated)) {
|
|
116
|
+
log.info(mongoLogId(1001000120), 'CSFLECollectionTracker', 'Refreshing listCollections cache', { ns });
|
|
117
|
+
await this._dataService.listCollections(parsedNs.database, {
|
|
118
|
+
name: parsedNs.collection,
|
|
119
|
+
});
|
|
120
|
+
}
|
|
121
|
+
return info;
|
|
122
|
+
}
|
|
123
|
+
_getCSFLECollectionInfo(ns) {
|
|
124
|
+
const existing = this._nsToInfo.get(ns);
|
|
125
|
+
if (existing)
|
|
126
|
+
return existing;
|
|
127
|
+
const info = {};
|
|
128
|
+
this._nsToInfo.set(ns, info);
|
|
129
|
+
return info;
|
|
130
|
+
}
|
|
131
|
+
_updateCollectionInfoFromDataService(opts, result) {
|
|
132
|
+
var _a, _b;
|
|
133
|
+
if (opts.nameOnly) {
|
|
134
|
+
return;
|
|
135
|
+
}
|
|
136
|
+
const ns = `${opts.databaseName}.${result.name}`;
|
|
137
|
+
log.info(mongoLogId(1001000121), 'CSFLECollectionTracker', 'Processing listCollections update', { ns });
|
|
138
|
+
const info = this._getCSFLECollectionInfo(ns);
|
|
139
|
+
info.serverEnforcedEncryptedFields =
|
|
140
|
+
extractEncryptedFieldsFromListCollectionsResult(result.options);
|
|
141
|
+
info.hasServerSchema = !!((_b = (_a = result.options) === null || _a === void 0 ? void 0 : _a.validator) === null || _b === void 0 ? void 0 : _b.$jsonSchema);
|
|
142
|
+
info.lastUpdated = new Date();
|
|
143
|
+
}
|
|
144
|
+
_createHookedMetadataClient(wrappedClient) {
|
|
145
|
+
return {
|
|
146
|
+
db: (dbName) => {
|
|
147
|
+
return {
|
|
148
|
+
listCollections: (filter, opts) => {
|
|
149
|
+
return {
|
|
150
|
+
toArray: (callback) => {
|
|
151
|
+
wrappedClient
|
|
152
|
+
.db(dbName)
|
|
153
|
+
.listCollections(filter, opts)
|
|
154
|
+
.toArray((err, collectionInfos) => {
|
|
155
|
+
if (!err) {
|
|
156
|
+
err = this._checkListCollectionsForLibmongocryptResult(dbName, filter, (collectionInfos !== null && collectionInfos !== void 0 ? collectionInfos : []));
|
|
157
|
+
if (err) {
|
|
158
|
+
log.error(mongoLogId(1001000122), 'CSFLECollectionTracker', 'Rejecting listCollections in hooked metaDataClient', { error: err.message });
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
if (err) {
|
|
162
|
+
callback(err);
|
|
163
|
+
return;
|
|
164
|
+
}
|
|
165
|
+
callback(err, collectionInfos);
|
|
166
|
+
});
|
|
167
|
+
},
|
|
168
|
+
};
|
|
169
|
+
},
|
|
170
|
+
};
|
|
171
|
+
},
|
|
172
|
+
};
|
|
173
|
+
}
|
|
174
|
+
_checkListCollectionsForLibmongocryptResult(dbName, filter, collectionInfos) {
|
|
175
|
+
var _a, _b;
|
|
176
|
+
if (typeof (filter === null || filter === void 0 ? void 0 : filter.name) !== 'string' || collectionInfos.length > 1) {
|
|
177
|
+
return new Error(`[Compass] Unexpected listCollections request on '${dbName}' with name: '${filter === null || filter === void 0 ? void 0 : filter.name}'`);
|
|
178
|
+
}
|
|
179
|
+
const ns = `${dbName}.${filter.name}`;
|
|
180
|
+
const existingInfo = this._getCSFLECollectionInfo(ns);
|
|
181
|
+
if (collectionInfos.length === 0) {
|
|
182
|
+
if ((_a = existingInfo.serverEnforcedEncryptedFields) === null || _a === void 0 ? void 0 : _a.length) {
|
|
183
|
+
return new Error(`[Compass] Missing encrypted field information of collection '${ns}'`);
|
|
184
|
+
}
|
|
185
|
+
return;
|
|
186
|
+
}
|
|
187
|
+
const [info] = collectionInfos;
|
|
188
|
+
if (filter.name !== info.name) {
|
|
189
|
+
return new Error(`[Compass] Unexpected listCollections name mismatch: got ${info.name}, expected ${filter.name}`);
|
|
190
|
+
}
|
|
191
|
+
const newInfo = extractEncryptedFieldsFromListCollectionsResult(info.options);
|
|
192
|
+
for (const expectedEncryptedField of (_b = existingInfo.serverEnforcedEncryptedFields) !== null && _b !== void 0 ? _b : []) {
|
|
193
|
+
if (!newInfo.some((field) => lodash_1.default.isEqual(field, expectedEncryptedField))) {
|
|
194
|
+
return new Error(`[Compass] Missing encrypted field '${expectedEncryptedField.join('.')}' of collection '${ns}' in listCollections result`);
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
exports.CSFLECollectionTrackerImpl = CSFLECollectionTrackerImpl;
|
|
200
|
+
//# sourceMappingURL=csfle-collection-tracker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"csfle-collection-tracker.js","sourceRoot":"","sources":["../src/csfle-collection-tracker.ts"],"names":[],"mappings":"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"}
|
package/lib/data-service.d.ts
CHANGED
|
@@ -1,23 +1,123 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
import { EventEmitter } from 'events';
|
|
3
|
-
import type { AggregateOptions, AggregationCursor, BulkWriteOptions, ClientSession, Collection, CountDocumentsOptions, CreateCollectionOptions, CreateIndexesOptions, DeleteOptions, DeleteResult, Document, EstimatedDocumentCountOptions,
|
|
3
|
+
import type { AggregateOptions, AggregationCursor, BulkWriteOptions, ClientSession, Collection, CountDocumentsOptions, CreateCollectionOptions, CreateIndexesOptions, DeleteOptions, DeleteResult, Document, EstimatedDocumentCountOptions, Filter, FindCursor, FindOneAndReplaceOptions, FindOneAndUpdateOptions, FindOptions, IndexSpecification, InsertManyResult, InsertOneOptions, InsertOneResult, MongoClientOptions, ServerClosedEvent, ReadPreferenceLike, ServerDescriptionChangedEvent, ServerHeartbeatFailedEvent, ServerHeartbeatSucceededEvent, ServerOpeningEvent, TopologyClosedEvent, TopologyDescription, TopologyDescriptionChangedEvent, TopologyOpeningEvent, TopologyType, UpdateFilter, UpdateOptions, UpdateResult } from 'mongodb';
|
|
4
4
|
import ConnectionStringUrl from 'mongodb-connection-string-url';
|
|
5
|
-
import type { ConnectionOptions } from './connection-options';
|
|
5
|
+
import type { ConnectionFleOptions, ConnectionOptions } from './connection-options';
|
|
6
6
|
import type { InstanceDetails } from './instance-detail-helper';
|
|
7
7
|
import { adaptCollectionInfo, adaptDatabaseInfo } from './instance-detail-helper';
|
|
8
|
+
import type { CollectionInfo, CollectionInfoNameOnly } from './run-command';
|
|
8
9
|
import type { Callback, CollectionStats } from './types';
|
|
9
10
|
import type { ConnectionStatusWithPrivileges } from './run-command';
|
|
11
|
+
import type { CSFLECollectionTracker } from './csfle-collection-tracker';
|
|
10
12
|
declare type ClientType = 'CRUD' | 'META';
|
|
11
13
|
declare const kSessionClientType: unique symbol;
|
|
12
14
|
interface CompassClientSession extends ClientSession {
|
|
13
15
|
[kSessionClientType]: ClientType;
|
|
14
16
|
}
|
|
15
|
-
|
|
17
|
+
export interface DataServiceEventMap {
|
|
18
|
+
serverDescriptionChanged: (evt: ServerDescriptionChangedEvent) => void;
|
|
19
|
+
serverOpening: (evt: ServerOpeningEvent) => void;
|
|
20
|
+
serverClosed: (evt: ServerClosedEvent) => void;
|
|
21
|
+
topologyOpening: (evt: TopologyOpeningEvent) => void;
|
|
22
|
+
topologyClosed: (evt: TopologyClosedEvent) => void;
|
|
23
|
+
topologyDescriptionChanged: (evt: TopologyDescriptionChangedEvent) => void;
|
|
24
|
+
serverHeartbeatSucceeded: (evt: ServerHeartbeatSucceededEvent) => void;
|
|
25
|
+
serverHeartbeatFailed: (evt: ServerHeartbeatFailedEvent) => void;
|
|
26
|
+
collectionInfoFetched: (opts: {
|
|
27
|
+
databaseName: string;
|
|
28
|
+
nameOnly?: boolean;
|
|
29
|
+
}, result: CollectionInfoNameOnly & Partial<CollectionInfo>) => void;
|
|
30
|
+
}
|
|
31
|
+
export interface DataService {
|
|
32
|
+
on<K extends keyof DataServiceEventMap>(event: K, listener: DataServiceEventMap[K]): this;
|
|
33
|
+
once<K extends keyof DataServiceEventMap>(event: K, listener: DataServiceEventMap[K]): this;
|
|
34
|
+
emit<K extends keyof DataServiceEventMap>(event: K, ...args: DataServiceEventMap[K] extends (...args: infer P) => any ? P : never): unknown;
|
|
35
|
+
getMongoClientConnectionOptions(): {
|
|
36
|
+
url: string;
|
|
37
|
+
options: MongoClientOptions;
|
|
38
|
+
} | undefined;
|
|
39
|
+
getConnectionOptions(): Readonly<ConnectionOptions>;
|
|
40
|
+
getConnectionString(): ConnectionStringUrl;
|
|
41
|
+
getReadPreference(): ReadPreferenceLike;
|
|
42
|
+
setCSFLEEnabled(enabled: boolean): void;
|
|
43
|
+
collection(ns: string, options: unknown, callback: Callback<Document>): void;
|
|
44
|
+
collections(databaseName: string, callback: Callback<CollectionStats[]>): void;
|
|
45
|
+
collectionStats(databaseName: string, collectionName: string, callback: Callback<CollectionStats>): void;
|
|
46
|
+
collectionInfo(dbName: string, collName: string): Promise<ReturnType<typeof adaptCollectionInfo> | null>;
|
|
47
|
+
command(databaseName: string, comm: Document, callback: Callback<Document>): void;
|
|
48
|
+
isWritable(): boolean;
|
|
49
|
+
isMongos(): boolean;
|
|
50
|
+
currentTopologyType(): TopologyType;
|
|
51
|
+
connectionStatus(): Promise<ConnectionStatusWithPrivileges>;
|
|
52
|
+
listCollections(databaseName: string, filter?: Document, options?: {
|
|
53
|
+
nameOnly?: true;
|
|
54
|
+
privileges?: ConnectionStatusWithPrivileges['authInfo']['authenticatedUserPrivileges'] | null;
|
|
55
|
+
}): Promise<ReturnType<typeof adaptCollectionInfo>[]>;
|
|
56
|
+
listDatabases(options?: {
|
|
57
|
+
nameOnly?: true;
|
|
58
|
+
privileges?: ConnectionStatusWithPrivileges['authInfo']['authenticatedUserPrivileges'] | null;
|
|
59
|
+
roles?: ConnectionStatusWithPrivileges['authInfo']['authenticatedUserRoles'] | null;
|
|
60
|
+
}): Promise<{
|
|
61
|
+
_id: string;
|
|
62
|
+
name: string;
|
|
63
|
+
}[]>;
|
|
64
|
+
connect(): Promise<void>;
|
|
65
|
+
estimatedCount(ns: string, options: EstimatedDocumentCountOptions, callback: Callback<number>): void;
|
|
66
|
+
count(ns: string, filter: Filter<Document>, options: CountDocumentsOptions, callback: Callback<number>): void;
|
|
67
|
+
createCollection(ns: string, options: CreateCollectionOptions, callback: Callback<Collection<Document>>): void;
|
|
68
|
+
createIndex(ns: string, spec: IndexSpecification, options: CreateIndexesOptions, callback: Callback<string>): void;
|
|
69
|
+
database(name: string, options: unknown, callback: Callback<Document>): void;
|
|
70
|
+
deleteOne(ns: string, filter: Filter<Document>, options: DeleteOptions, callback: Callback<DeleteResult>): void;
|
|
71
|
+
deleteMany(ns: string, filter: Filter<Document>, options: DeleteOptions, callback: Callback<DeleteResult>): void;
|
|
72
|
+
disconnect(): Promise<void>;
|
|
73
|
+
dropCollection(ns: string, callback: Callback<boolean>): void;
|
|
74
|
+
dropDatabase(name: string, callback: Callback<boolean>): void;
|
|
75
|
+
dropIndex(ns: string, name: string, callback: Callback<Document>): void;
|
|
76
|
+
aggregate(ns: string, pipeline: Document[], options?: AggregateOptions): AggregationCursor;
|
|
77
|
+
aggregate(ns: string, pipeline: Document[], callback: Callback<AggregationCursor>): void;
|
|
78
|
+
aggregate(ns: string, pipeline: Document[], options: AggregateOptions | undefined, callback: Callback<AggregationCursor>): void;
|
|
79
|
+
find(ns: string, filter: Filter<Document>, options: FindOptions, callback: Callback<Document[]>): void;
|
|
80
|
+
fetch(ns: string, filter: Filter<Document>, options: FindOptions): FindCursor;
|
|
81
|
+
findOneAndReplace(ns: string, filter: Filter<Document>, replacement: Document, options: FindOneAndReplaceOptions, callback: Callback<Document>): void;
|
|
82
|
+
findOneAndUpdate(ns: string, filter: Filter<Document>, update: Document, options: FindOneAndUpdateOptions, callback: Callback<Document>): void;
|
|
83
|
+
explain(ns: string, filter: Filter<Document>, options: FindOptions, callback: Callback<Document>): void;
|
|
84
|
+
indexes(ns: string, options: unknown, callback: Callback<Document>): void;
|
|
85
|
+
instance(): Promise<InstanceDetails>;
|
|
86
|
+
insertOne(ns: string, doc: Document, options: InsertOneOptions, callback: Callback<InsertOneResult<Document>>): void;
|
|
87
|
+
insertMany(ns: string, docs: Document[], options: BulkWriteOptions, callback: Callback<InsertManyResult<Document>>): void;
|
|
88
|
+
putMany(ns: string, docs: Document[], options: BulkWriteOptions): Promise<InsertManyResult<Document>>;
|
|
89
|
+
updateCollection(ns: string, flags: Document & {
|
|
90
|
+
collMod?: never;
|
|
91
|
+
}, callback: Callback<Document>): void;
|
|
92
|
+
updateOne(ns: string, filter: Filter<Document>, update: Document | UpdateFilter<Document>, options: UpdateOptions, callback: Callback<Document>): void;
|
|
93
|
+
updateMany(ns: string, filter: Filter<Document>, update: UpdateFilter<Document>, options: UpdateOptions, callback: Callback<Document | UpdateResult>): void;
|
|
94
|
+
currentOp(includeAll: boolean, callback: Callback<Document>): void;
|
|
95
|
+
getLastSeenTopology(): null | TopologyDescription;
|
|
96
|
+
serverstats(callback: Callback<Document>): void;
|
|
97
|
+
top(callback: Callback<Document>): void;
|
|
98
|
+
createView(name: string, sourceNs: string, pipeline: Document[], options: CreateCollectionOptions, callback: Callback<Collection<Document>>): void;
|
|
99
|
+
updateView(name: string, sourceNs: string, pipeline: Document[], options: Document, callback: Callback<Document>): void;
|
|
100
|
+
dropView(ns: string, callback: Callback<boolean>): void;
|
|
101
|
+
sample(ns: string, args?: {
|
|
102
|
+
query?: Filter<Document>;
|
|
103
|
+
size?: number;
|
|
104
|
+
fields?: Document;
|
|
105
|
+
}, options?: AggregateOptions): AggregationCursor;
|
|
106
|
+
startSession(clientType: ClientType): CompassClientSession;
|
|
107
|
+
killSessions(sessions: CompassClientSession | CompassClientSession[]): Promise<Document>;
|
|
108
|
+
isConnected(): boolean;
|
|
109
|
+
databaseStats(name: string): Promise<ReturnType<typeof adaptDatabaseInfo> & {
|
|
110
|
+
name: string;
|
|
111
|
+
}>;
|
|
112
|
+
}
|
|
113
|
+
export declare class DataServiceImpl extends EventEmitter implements DataService {
|
|
16
114
|
private readonly _connectionOptions;
|
|
17
115
|
private _isConnecting;
|
|
18
116
|
private _mongoClientConnectionOptions?;
|
|
19
117
|
private _metadataClient?;
|
|
20
118
|
private _crudClient?;
|
|
119
|
+
private _useCRUDClient;
|
|
120
|
+
private _csfleCollectionTracker?;
|
|
21
121
|
private _tunnel?;
|
|
22
122
|
private _lastSeenTopology;
|
|
23
123
|
private _isWritable;
|
|
@@ -32,6 +132,8 @@ declare class DataService extends EventEmitter {
|
|
|
32
132
|
getConnectionOptions(): Readonly<ConnectionOptions>;
|
|
33
133
|
getConnectionString(): ConnectionStringUrl;
|
|
34
134
|
getReadPreference(): ReadPreferenceLike;
|
|
135
|
+
setCSFLEEnabled(enabled: boolean): void;
|
|
136
|
+
getCSFLEMode(): 'enabled' | 'disabled' | 'unavailable';
|
|
35
137
|
collection(ns: string, options: unknown, callback: Callback<Document>): void;
|
|
36
138
|
collections(databaseName: string, callback: Callback<CollectionStats[]>): void;
|
|
37
139
|
collectionStats(databaseName: string, collectionName: string, callback: Callback<CollectionStats>): void;
|
|
@@ -42,13 +144,15 @@ declare class DataService extends EventEmitter {
|
|
|
42
144
|
currentTopologyType(): TopologyType;
|
|
43
145
|
connectionStatus(): Promise<ConnectionStatusWithPrivileges>;
|
|
44
146
|
private _getPrivilegesOrFallback;
|
|
147
|
+
private _getRolesOrFallback;
|
|
45
148
|
listCollections(databaseName: string, filter?: Document, { nameOnly, privileges, }?: {
|
|
46
149
|
nameOnly?: true;
|
|
47
150
|
privileges?: ConnectionStatusWithPrivileges['authInfo']['authenticatedUserPrivileges'] | null;
|
|
48
151
|
}): Promise<ReturnType<typeof adaptCollectionInfo>[]>;
|
|
49
|
-
listDatabases({ nameOnly, privileges, }?: {
|
|
152
|
+
listDatabases({ nameOnly, privileges, roles, }?: {
|
|
50
153
|
nameOnly?: true;
|
|
51
154
|
privileges?: ConnectionStatusWithPrivileges['authInfo']['authenticatedUserPrivileges'] | null;
|
|
155
|
+
roles?: ConnectionStatusWithPrivileges['authInfo']['authenticatedUserRoles'] | null;
|
|
52
156
|
}): Promise<{
|
|
53
157
|
_id: string;
|
|
54
158
|
name: string;
|
|
@@ -72,7 +176,7 @@ declare class DataService extends EventEmitter {
|
|
|
72
176
|
fetch(ns: string, filter: Filter<Document>, options: FindOptions): FindCursor;
|
|
73
177
|
findOneAndReplace(ns: string, filter: Filter<Document>, replacement: Document, options: FindOneAndReplaceOptions, callback: Callback<Document>): void;
|
|
74
178
|
findOneAndUpdate(ns: string, filter: Filter<Document>, update: Document, options: FindOneAndUpdateOptions, callback: Callback<Document>): void;
|
|
75
|
-
explain(ns: string, filter: Filter<Document>, options:
|
|
179
|
+
explain(ns: string, filter: Filter<Document>, options: FindOptions, callback: Callback<Document>): void;
|
|
76
180
|
indexes(ns: string, options: unknown, callback: Callback<Document>): void;
|
|
77
181
|
instance(): Promise<InstanceDetails>;
|
|
78
182
|
insertOne(ns: string, doc: Document, options: InsertOneOptions, callback: Callback<InsertOneResult<Document>>): void;
|
|
@@ -100,6 +204,7 @@ declare class DataService extends EventEmitter {
|
|
|
100
204
|
isConnected(): boolean;
|
|
101
205
|
private setupListeners;
|
|
102
206
|
private _initializedClient;
|
|
207
|
+
getCSFLECollectionTracker(): CSFLECollectionTracker;
|
|
103
208
|
databaseStats(name: string): Promise<ReturnType<typeof adaptDatabaseInfo> & {
|
|
104
209
|
name: string;
|
|
105
210
|
}>;
|
|
@@ -114,6 +219,12 @@ declare class DataService extends EventEmitter {
|
|
|
114
219
|
private _translateMessage;
|
|
115
220
|
private _cleanup;
|
|
116
221
|
private _startLogOp;
|
|
222
|
+
_csfleLogInformation(fleOptions?: Readonly<ConnectionFleOptions>): {
|
|
223
|
+
storeCredentials: boolean;
|
|
224
|
+
schemaMapNamespaces: string[];
|
|
225
|
+
keyVaultNamespace: string | undefined;
|
|
226
|
+
kmsProviders: string[];
|
|
227
|
+
} | null;
|
|
117
228
|
}
|
|
118
229
|
export default DataService;
|
|
119
230
|
//# sourceMappingURL=data-service.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-service.d.ts","sourceRoot":"","sources":["../src/data-service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"data-service.d.ts","sourceRoot":"","sources":["../src/data-service.ts"],"names":[],"mappings":"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"}
|
package/lib/data-service.js
CHANGED
|
@@ -3,6 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.DataServiceImpl = void 0;
|
|
6
7
|
const util_1 = require("util");
|
|
7
8
|
const async_1 = __importDefault(require("async"));
|
|
8
9
|
const compass_logging_1 = __importDefault(require("@mongodb-js/compass-logging"));
|
|
@@ -14,6 +15,7 @@ const instance_detail_helper_1 = require("./instance-detail-helper");
|
|
|
14
15
|
const redact_1 = require("./redact");
|
|
15
16
|
const connect_mongo_client_1 = __importDefault(require("./connect-mongo-client"));
|
|
16
17
|
const run_command_1 = require("./run-command");
|
|
18
|
+
const csfle_collection_tracker_1 = require("./csfle-collection-tracker");
|
|
17
19
|
const { fetch: getIndexes } = require('mongodb-index-model');
|
|
18
20
|
const { log, mongoLogId, debug } = (0, compass_logging_1.default)('COMPASS-DATA-SERVICE');
|
|
19
21
|
function uniqueBy(values, key) {
|
|
@@ -24,10 +26,11 @@ function isEmptyObject(obj) {
|
|
|
24
26
|
}
|
|
25
27
|
let id = 0;
|
|
26
28
|
const kSessionClientType = Symbol('kSessionClientType');
|
|
27
|
-
class
|
|
29
|
+
class DataServiceImpl extends events_1.EventEmitter {
|
|
28
30
|
constructor(connectionOptions) {
|
|
29
31
|
super();
|
|
30
32
|
this._isConnecting = false;
|
|
33
|
+
this._useCRUDClient = true;
|
|
31
34
|
this._lastSeenTopology = null;
|
|
32
35
|
this._isWritable = false;
|
|
33
36
|
this._topologyType = 'Unknown';
|
|
@@ -49,6 +52,25 @@ class DataService extends events_1.EventEmitter {
|
|
|
49
52
|
getReadPreference() {
|
|
50
53
|
return this._initializedClient('CRUD').readPreference;
|
|
51
54
|
}
|
|
55
|
+
setCSFLEEnabled(enabled) {
|
|
56
|
+
log.info(mongoLogId(1001000117), this._logCtx(), 'Setting CSFLE mode', {
|
|
57
|
+
enabled,
|
|
58
|
+
});
|
|
59
|
+
this._useCRUDClient = enabled;
|
|
60
|
+
}
|
|
61
|
+
getCSFLEMode() {
|
|
62
|
+
if (this._crudClient && (0, instance_detail_helper_1.checkIsCSFLEConnection)(this._crudClient)) {
|
|
63
|
+
if (this._useCRUDClient) {
|
|
64
|
+
return 'enabled';
|
|
65
|
+
}
|
|
66
|
+
else {
|
|
67
|
+
return 'disabled';
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
else {
|
|
71
|
+
return 'unavailable';
|
|
72
|
+
}
|
|
73
|
+
}
|
|
52
74
|
collection(ns, options, callback) {
|
|
53
75
|
async_1.default.parallel({
|
|
54
76
|
stats: this.collectionStats.bind(this, this._databaseName(ns), this._collectionName(ns)),
|
|
@@ -136,12 +158,25 @@ class DataService extends events_1.EventEmitter {
|
|
|
136
158
|
const { authInfo: { authenticatedUserPrivileges }, } = await this.connectionStatus();
|
|
137
159
|
return authenticatedUserPrivileges;
|
|
138
160
|
}
|
|
161
|
+
async _getRolesOrFallback(roles = null) {
|
|
162
|
+
if (roles) {
|
|
163
|
+
return roles;
|
|
164
|
+
}
|
|
165
|
+
const { authInfo: { authenticatedUserRoles }, } = await this.connectionStatus();
|
|
166
|
+
return authenticatedUserRoles;
|
|
167
|
+
}
|
|
139
168
|
async listCollections(databaseName, filter = {}, { nameOnly, privileges = null, } = {}) {
|
|
140
169
|
const logop = this._startLogOp(mongoLogId(1001000032), 'Running listCollections', { db: databaseName, nameOnly: nameOnly !== null && nameOnly !== void 0 ? nameOnly : false });
|
|
141
170
|
const db = this._initializedClient('CRUD').db(databaseName);
|
|
142
171
|
const listCollections = async () => {
|
|
143
172
|
try {
|
|
144
|
-
|
|
173
|
+
const cursor = db.listCollections(filter, { nameOnly });
|
|
174
|
+
const results = [];
|
|
175
|
+
for await (const result of cursor) {
|
|
176
|
+
this.emit('collectionInfoFetched', { databaseName, nameOnly }, result);
|
|
177
|
+
results.push(result);
|
|
178
|
+
}
|
|
179
|
+
return results;
|
|
145
180
|
}
|
|
146
181
|
catch (err) {
|
|
147
182
|
log.warn(mongoLogId(1001000099), this._logCtx(), 'Failed to run listCollections', { message: err.message });
|
|
@@ -168,7 +203,7 @@ class DataService extends events_1.EventEmitter {
|
|
|
168
203
|
throw err;
|
|
169
204
|
}
|
|
170
205
|
}
|
|
171
|
-
async listDatabases({ nameOnly, privileges = null, } = {}) {
|
|
206
|
+
async listDatabases({ nameOnly, privileges = null, roles = null, } = {}) {
|
|
172
207
|
const logop = this._startLogOp(mongoLogId(1001000033), 'Running listDatabases', { nameOnly: nameOnly !== null && nameOnly !== void 0 ? nameOnly : false });
|
|
173
208
|
const adminDb = this._initializedClient('CRUD').db('admin');
|
|
174
209
|
const listDatabases = async () => {
|
|
@@ -190,12 +225,17 @@ class DataService extends events_1.EventEmitter {
|
|
|
190
225
|
.filter(Boolean)
|
|
191
226
|
.map((name) => ({ name }));
|
|
192
227
|
};
|
|
228
|
+
const getDatabasesFromRoles = async () => {
|
|
229
|
+
const databases = (0, instance_detail_helper_1.getDatabasesByRoles)(await this._getRolesOrFallback(roles), ['read', 'readWrite', 'dbAdmin', 'dbOwner']);
|
|
230
|
+
return databases.map((name) => ({ name }));
|
|
231
|
+
};
|
|
193
232
|
try {
|
|
194
|
-
const [listedDatabases, databasesFromPrivileges] = await Promise.all([
|
|
233
|
+
const [listedDatabases, databasesFromPrivileges, databasesFromRoles] = await Promise.all([
|
|
195
234
|
listDatabases(),
|
|
196
235
|
getDatabasesFromPrivileges(),
|
|
236
|
+
getDatabasesFromRoles(),
|
|
197
237
|
]);
|
|
198
|
-
const databases = uniqueBy([...databasesFromPrivileges, ...listedDatabases], 'name').map((db) => {
|
|
238
|
+
const databases = uniqueBy([...databasesFromRoles, ...databasesFromPrivileges, ...listedDatabases], 'name').map((db) => {
|
|
199
239
|
return { _id: db.name, name: db.name, ...(0, instance_detail_helper_1.adaptDatabaseInfo)(db) };
|
|
200
240
|
});
|
|
201
241
|
logop(null, { databasesCount: databases.length });
|
|
@@ -219,6 +259,7 @@ class DataService extends events_1.EventEmitter {
|
|
|
219
259
|
this._isConnecting = true;
|
|
220
260
|
log.info(mongoLogId(1001000014), this._logCtx(), 'Connecting', {
|
|
221
261
|
url: (0, redact_1.redactConnectionString)(this._connectionOptions.connectionString),
|
|
262
|
+
csfle: this._csfleLogInformation(this._connectionOptions.fleOptions),
|
|
222
263
|
});
|
|
223
264
|
try {
|
|
224
265
|
const [metadataClient, crudClient, tunnel, connectionOptions] = await (0, connect_mongo_client_1.default)(this._connectionOptions, this.setupListeners.bind(this));
|
|
@@ -232,6 +273,7 @@ class DataService extends events_1.EventEmitter {
|
|
|
232
273
|
this._crudClient = crudClient;
|
|
233
274
|
this._tunnel = tunnel;
|
|
234
275
|
this._mongoClientConnectionOptions = connectionOptions;
|
|
276
|
+
this._csfleCollectionTracker = new csfle_collection_tracker_1.CSFLECollectionTrackerImpl(this, this._crudClient);
|
|
235
277
|
}
|
|
236
278
|
finally {
|
|
237
279
|
this._isConnecting = false;
|
|
@@ -427,7 +469,10 @@ class DataService extends events_1.EventEmitter {
|
|
|
427
469
|
}
|
|
428
470
|
async instance() {
|
|
429
471
|
try {
|
|
430
|
-
const instanceData =
|
|
472
|
+
const instanceData = {
|
|
473
|
+
...(await (0, instance_detail_helper_1.getInstance)(this._initializedClient('META'))),
|
|
474
|
+
csfleMode: this.getCSFLEMode(),
|
|
475
|
+
};
|
|
431
476
|
log.info(mongoLogId(1001000024), this._logCtx(), 'Fetched instance information', {
|
|
432
477
|
serverVersion: instanceData.build.version,
|
|
433
478
|
genuineMongoDB: instanceData.genuineMongoDB,
|
|
@@ -768,12 +813,20 @@ class DataService extends events_1.EventEmitter {
|
|
|
768
813
|
if (type !== 'CRUD' && type !== 'META') {
|
|
769
814
|
throw new Error(`Invalid client type: ${type}`);
|
|
770
815
|
}
|
|
771
|
-
const client = type === 'CRUD'
|
|
816
|
+
const client = type === 'CRUD' && this._useCRUDClient
|
|
817
|
+
? this._crudClient
|
|
818
|
+
: this._metadataClient;
|
|
772
819
|
if (!client) {
|
|
773
820
|
throw new Error('Client not yet initialized');
|
|
774
821
|
}
|
|
775
822
|
return client;
|
|
776
823
|
}
|
|
824
|
+
getCSFLECollectionTracker() {
|
|
825
|
+
if (!this._csfleCollectionTracker) {
|
|
826
|
+
throw new Error('Client not yet initialized');
|
|
827
|
+
}
|
|
828
|
+
return this._csfleCollectionTracker;
|
|
829
|
+
}
|
|
777
830
|
async databaseStats(name) {
|
|
778
831
|
const logop = this._startLogOp(mongoLogId(1001000057), 'Running databaseStats', { db: name });
|
|
779
832
|
try {
|
|
@@ -897,6 +950,19 @@ class DataService extends events_1.EventEmitter {
|
|
|
897
950
|
}
|
|
898
951
|
};
|
|
899
952
|
}
|
|
953
|
+
_csfleLogInformation(fleOptions) {
|
|
954
|
+
var _a, _b, _c, _d;
|
|
955
|
+
if (!fleOptions || !(0, instance_detail_helper_1.hasAnyKMSProvider)(fleOptions.autoEncryption))
|
|
956
|
+
return null;
|
|
957
|
+
return {
|
|
958
|
+
storeCredentials: fleOptions.storeCredentials,
|
|
959
|
+
schemaMapNamespaces: Object.keys((_b = (_a = fleOptions.autoEncryption) === null || _a === void 0 ? void 0 : _a.schemaMap) !== null && _b !== void 0 ? _b : {}),
|
|
960
|
+
keyVaultNamespace: fleOptions.autoEncryption.keyVaultNamespace,
|
|
961
|
+
kmsProviders: Object.entries((_d = (_c = fleOptions.autoEncryption) === null || _c === void 0 ? void 0 : _c.kmsProviders) !== null && _d !== void 0 ? _d : {})
|
|
962
|
+
.filter(([, kmsOptions]) => Object.values(kmsOptions).filter(Boolean).length > 0)
|
|
963
|
+
.map(([kmsProviderName]) => kmsProviderName),
|
|
964
|
+
};
|
|
965
|
+
}
|
|
900
966
|
}
|
|
901
|
-
exports.
|
|
967
|
+
exports.DataServiceImpl = DataServiceImpl;
|
|
902
968
|
//# sourceMappingURL=data-service.js.map
|
package/lib/data-service.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-service.js","sourceRoot":"","sources":["../src/data-service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"data-service.js","sourceRoot":"","sources":["../src/data-service.ts"],"names":[],"mappings":"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"}
|
package/lib/index.d.ts
CHANGED
|
@@ -3,8 +3,8 @@ import { ConnectionInfo, ConnectionFavoriteOptions } from './connection-info';
|
|
|
3
3
|
import { ConnectionOptions } from './connection-options';
|
|
4
4
|
import { ConnectionStorage, promisifyAmpersandMethod } from './connection-storage';
|
|
5
5
|
import { getConnectionTitle } from './connection-title';
|
|
6
|
-
import DataService from './data-service';
|
|
6
|
+
import { DataService, DataServiceImpl } from './data-service';
|
|
7
7
|
import { convertConnectionModelToInfo, convertConnectionInfoToModel } from './legacy/legacy-connection-model';
|
|
8
8
|
import { ConnectionSecrets, extractSecrets, mergeSecrets } from './connection-secrets';
|
|
9
|
-
export { ConnectionInfo, ConnectionFavoriteOptions, ConnectionOptions, ConnectionStorage, DataService, connect, getConnectionTitle, convertConnectionModelToInfo, convertConnectionInfoToModel, ConnectionSecrets, extractSecrets, mergeSecrets, promisifyAmpersandMethod, };
|
|
9
|
+
export { ConnectionInfo, ConnectionFavoriteOptions, ConnectionOptions, ConnectionStorage, DataService, DataServiceImpl, connect, getConnectionTitle, convertConnectionModelToInfo, convertConnectionInfoToModel, ConnectionSecrets, extractSecrets, mergeSecrets, promisifyAmpersandMethod, };
|
|
10
10
|
//# sourceMappingURL=index.d.ts.map
|
package/lib/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,WAAW,CAAC;AAChC,OAAO,EAAE,cAAc,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAC9E,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EACL,iBAAiB,EACjB,wBAAwB,EACzB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,WAAW,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,WAAW,CAAC;AAChC,OAAO,EAAE,cAAc,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAC9E,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EACL,iBAAiB,EACjB,wBAAwB,EACzB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAC9D,OAAO,EACL,4BAA4B,EAC5B,4BAA4B,EAC7B,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACL,iBAAiB,EACjB,cAAc,EACd,YAAY,EACb,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,cAAc,EACd,yBAAyB,EACzB,iBAAiB,EACjB,iBAAiB,EACjB,WAAW,EACX,eAAe,EACf,OAAO,EACP,kBAAkB,EAClB,4BAA4B,EAC5B,4BAA4B,EAC5B,iBAAiB,EACjB,cAAc,EACd,YAAY,EACZ,wBAAwB,GACzB,CAAC"}
|
package/lib/index.js
CHANGED
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.promisifyAmpersandMethod = exports.mergeSecrets = exports.extractSecrets = exports.convertConnectionInfoToModel = exports.convertConnectionModelToInfo = exports.getConnectionTitle = exports.connect = exports.
|
|
6
|
+
exports.promisifyAmpersandMethod = exports.mergeSecrets = exports.extractSecrets = exports.convertConnectionInfoToModel = exports.convertConnectionModelToInfo = exports.getConnectionTitle = exports.connect = exports.DataServiceImpl = exports.ConnectionStorage = void 0;
|
|
7
7
|
const connect_1 = __importDefault(require("./connect"));
|
|
8
8
|
exports.connect = connect_1.default;
|
|
9
9
|
const connection_storage_1 = require("./connection-storage");
|
|
@@ -11,8 +11,8 @@ Object.defineProperty(exports, "ConnectionStorage", { enumerable: true, get: fun
|
|
|
11
11
|
Object.defineProperty(exports, "promisifyAmpersandMethod", { enumerable: true, get: function () { return connection_storage_1.promisifyAmpersandMethod; } });
|
|
12
12
|
const connection_title_1 = require("./connection-title");
|
|
13
13
|
Object.defineProperty(exports, "getConnectionTitle", { enumerable: true, get: function () { return connection_title_1.getConnectionTitle; } });
|
|
14
|
-
const data_service_1 =
|
|
15
|
-
exports
|
|
14
|
+
const data_service_1 = require("./data-service");
|
|
15
|
+
Object.defineProperty(exports, "DataServiceImpl", { enumerable: true, get: function () { return data_service_1.DataServiceImpl; } });
|
|
16
16
|
const legacy_connection_model_1 = require("./legacy/legacy-connection-model");
|
|
17
17
|
Object.defineProperty(exports, "convertConnectionModelToInfo", { enumerable: true, get: function () { return legacy_connection_model_1.convertConnectionModelToInfo; } });
|
|
18
18
|
Object.defineProperty(exports, "convertConnectionInfoToModel", { enumerable: true, get: function () { return legacy_connection_model_1.convertConnectionInfoToModel; } });
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;AAAA,wDAAgC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;AAAA,wDAAgC;AA0B9B,kBA1BK,iBAAO,CA0BL;AAvBT,6DAG8B;AAiB5B,kGAnBA,sCAAiB,OAmBA;AAUjB,yGA5BA,6CAAwB,OA4BA;AA1B1B,yDAAwD;AAoBtD,mGApBO,qCAAkB,OAoBP;AAnBpB,iDAA8D;AAiB5D,gGAjBoB,8BAAe,OAiBpB;AAhBjB,8EAG0C;AAgBxC,6GAlBA,sDAA4B,OAkBA;AAC5B,6GAlBA,sDAA4B,OAkBA;AAhB9B,6DAI8B;AAc5B,+FAhBA,mCAAc,OAgBA;AACd,6FAhBA,iCAAY,OAgBA"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { MongoClient, Document } from 'mongodb';
|
|
1
|
+
import type { MongoClient, Document, MongoClientOptions, AutoEncryptionOptions } from 'mongodb';
|
|
2
2
|
import type { CollectionInfo, CollectionInfoNameOnly, ConnectionStatusWithPrivileges, DatabaseInfo, DbStats } from './run-command';
|
|
3
3
|
declare type BuildInfoDetails = {
|
|
4
4
|
isEnterprise: boolean;
|
|
@@ -34,6 +34,7 @@ declare type CollectionDetails = {
|
|
|
34
34
|
specialish: boolean;
|
|
35
35
|
normal: boolean;
|
|
36
36
|
readonly: boolean;
|
|
37
|
+
clustered: boolean;
|
|
37
38
|
collation: Document | null;
|
|
38
39
|
view_on: string | null;
|
|
39
40
|
pipeline: Document[] | null;
|
|
@@ -66,10 +67,16 @@ export declare type InstanceDetails = {
|
|
|
66
67
|
dataLake: DataLakeDetails;
|
|
67
68
|
featureCompatibilityVersion: string | null;
|
|
68
69
|
isAtlas: boolean;
|
|
70
|
+
csfleMode: 'enabled' | 'disabled' | 'unavailable';
|
|
69
71
|
};
|
|
70
|
-
export declare function getInstance(client: MongoClient): Promise<InstanceDetails
|
|
72
|
+
export declare function getInstance(client: MongoClient): Promise<Omit<InstanceDetails, 'csfleMode'>>;
|
|
73
|
+
export declare function checkIsCSFLEConnection(client: {
|
|
74
|
+
options: MongoClientOptions;
|
|
75
|
+
}): boolean;
|
|
76
|
+
export declare function hasAnyKMSProvider(autoEncryption?: AutoEncryptionOptions): boolean;
|
|
71
77
|
declare type DatabaseCollectionPrivileges = Record<string, Record<string, string[]>>;
|
|
72
78
|
export declare function getPrivilegesByDatabaseAndCollection(authenticatedUserPrivileges?: ConnectionStatusWithPrivileges['authInfo']['authenticatedUserPrivileges'] | null, requiredActions?: string[] | null): DatabaseCollectionPrivileges;
|
|
79
|
+
export declare function getDatabasesByRoles(authenticatedUserRoles?: ConnectionStatusWithPrivileges['authInfo']['authenticatedUserRoles'] | null, possibleRoles?: string[] | null): string[];
|
|
73
80
|
export declare function adaptDatabaseInfo(databaseStats: Partial<DbStats> & Partial<DatabaseInfo>): Omit<DatabaseDetails, '_id' | 'collections' | 'name'>;
|
|
74
81
|
export declare function adaptCollectionInfo({ db, name, info, options, type, }: CollectionInfoNameOnly & Partial<CollectionInfo> & {
|
|
75
82
|
db: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"instance-detail-helper.d.ts","sourceRoot":"","sources":["../src/instance-detail-helper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"instance-detail-helper.d.ts","sourceRoot":"","sources":["../src/instance-detail-helper.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.adaptCollectionInfo = exports.adaptDatabaseInfo = exports.getPrivilegesByDatabaseAndCollection = exports.getInstance = void 0;
|
|
6
|
+
exports.adaptCollectionInfo = exports.adaptDatabaseInfo = exports.getDatabasesByRoles = exports.getPrivilegesByDatabaseAndCollection = exports.hasAnyKMSProvider = exports.checkIsCSFLEConnection = exports.getInstance = void 0;
|
|
7
7
|
const mongodb_build_info_1 = require("mongodb-build-info");
|
|
8
8
|
const mongodb_ns_1 = __importDefault(require("mongodb-ns"));
|
|
9
9
|
const compass_logging_1 = __importDefault(require("@mongodb-js/compass-logging"));
|
|
@@ -46,6 +46,18 @@ function checkIsAtlas(client, atlasVersionInfo) {
|
|
|
46
46
|
}
|
|
47
47
|
return true;
|
|
48
48
|
}
|
|
49
|
+
function checkIsCSFLEConnection(client) {
|
|
50
|
+
var _a;
|
|
51
|
+
return hasAnyKMSProvider((_a = client.options) === null || _a === void 0 ? void 0 : _a.autoEncryption);
|
|
52
|
+
}
|
|
53
|
+
exports.checkIsCSFLEConnection = checkIsCSFLEConnection;
|
|
54
|
+
function hasAnyKMSProvider(autoEncryption) {
|
|
55
|
+
const kmsProviders = autoEncryption === null || autoEncryption === void 0 ? void 0 : autoEncryption.kmsProviders;
|
|
56
|
+
return (Object.values(kmsProviders !== null && kmsProviders !== void 0 ? kmsProviders : {})
|
|
57
|
+
.flatMap((kms) => Object.values(kms))
|
|
58
|
+
.filter(Boolean).length > 0);
|
|
59
|
+
}
|
|
60
|
+
exports.hasAnyKMSProvider = hasAnyKMSProvider;
|
|
49
61
|
function buildGenuineMongoDBInfo(buildInfo, cmdLineOpts) {
|
|
50
62
|
const { isGenuine, serverName } = (0, mongodb_build_info_1.getGenuineMongoDB)(buildInfo, cmdLineOpts);
|
|
51
63
|
return {
|
|
@@ -95,6 +107,20 @@ function getPrivilegesByDatabaseAndCollection(authenticatedUserPrivileges = null
|
|
|
95
107
|
return result;
|
|
96
108
|
}
|
|
97
109
|
exports.getPrivilegesByDatabaseAndCollection = getPrivilegesByDatabaseAndCollection;
|
|
110
|
+
function getDatabasesByRoles(authenticatedUserRoles = null, possibleRoles = null) {
|
|
111
|
+
const roles = authenticatedUserRoles !== null && authenticatedUserRoles !== void 0 ? authenticatedUserRoles : [];
|
|
112
|
+
const results = new Set();
|
|
113
|
+
const filteredRoles = possibleRoles && possibleRoles.length > 0
|
|
114
|
+
? roles.filter(({ role }) => {
|
|
115
|
+
return possibleRoles.includes(role);
|
|
116
|
+
})
|
|
117
|
+
: roles;
|
|
118
|
+
for (const { db } of filteredRoles) {
|
|
119
|
+
results.add(db);
|
|
120
|
+
}
|
|
121
|
+
return [...results];
|
|
122
|
+
}
|
|
123
|
+
exports.getDatabasesByRoles = getDatabasesByRoles;
|
|
98
124
|
function isNotAuthorized(err) {
|
|
99
125
|
if (!err) {
|
|
100
126
|
return false;
|
|
@@ -152,7 +178,7 @@ function adaptCollectionInfo({ db, name, info, options, type, }) {
|
|
|
152
178
|
const ns = (0, mongodb_ns_1.default)(`${db}.${name}`);
|
|
153
179
|
const { collection, database, system, oplog, command, special, specialish, normal, } = ns;
|
|
154
180
|
const { readOnly } = info !== null && info !== void 0 ? info : {};
|
|
155
|
-
const { collation, viewOn, pipeline, validator, validationAction, validationLevel, } = options !== null && options !== void 0 ? options : {};
|
|
181
|
+
const { collation, viewOn, pipeline, validator, validationAction, validationLevel, clusteredIndex, } = options !== null && options !== void 0 ? options : {};
|
|
156
182
|
const hasValidation = Boolean(validator || validationAction || validationLevel);
|
|
157
183
|
return {
|
|
158
184
|
_id: ns.toString(),
|
|
@@ -169,6 +195,7 @@ function adaptCollectionInfo({ db, name, info, options, type, }) {
|
|
|
169
195
|
collation: collation !== null && collation !== void 0 ? collation : null,
|
|
170
196
|
view_on: viewOn !== null && viewOn !== void 0 ? viewOn : null,
|
|
171
197
|
pipeline: pipeline !== null && pipeline !== void 0 ? pipeline : null,
|
|
198
|
+
clustered: clusteredIndex ? true : false,
|
|
172
199
|
validation: hasValidation
|
|
173
200
|
? { validator, validationAction, validationLevel }
|
|
174
201
|
: null,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"instance-detail-helper.js","sourceRoot":"","sources":["../src/instance-detail-helper.ts"],"names":[],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"instance-detail-helper.js","sourceRoot":"","sources":["../src/instance-detail-helper.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
"email": "compass@mongodb.com"
|
|
8
8
|
},
|
|
9
9
|
"homepage": "https://github.com/mongodb-js/compass",
|
|
10
|
-
"version": "21.
|
|
10
|
+
"version": "21.20.0",
|
|
11
11
|
"repository": {
|
|
12
12
|
"type": "git",
|
|
13
13
|
"url": "https://github.com/mongodb-js/compass.git"
|
|
@@ -20,11 +20,14 @@
|
|
|
20
20
|
"mongodb-js"
|
|
21
21
|
],
|
|
22
22
|
"main": "lib/index.js",
|
|
23
|
+
"compass:main": "src/index.ts",
|
|
23
24
|
"exports": {
|
|
24
|
-
"webpack": "./src/index.ts",
|
|
25
25
|
"require": "./lib/index.js",
|
|
26
26
|
"import": "./lib/.esm-wrapper.mjs"
|
|
27
27
|
},
|
|
28
|
+
"compass:exports": {
|
|
29
|
+
".": "./src/index.ts"
|
|
30
|
+
},
|
|
28
31
|
"types": "./lib/index.d.ts",
|
|
29
32
|
"files": [
|
|
30
33
|
"lib",
|
|
@@ -47,6 +50,9 @@
|
|
|
47
50
|
"test": "mocha",
|
|
48
51
|
"test-connectivity": "mocha ./src/connect.spec.ts",
|
|
49
52
|
"posttest": "mongodb-runner stop --port=27018",
|
|
53
|
+
"pretest-csfle": "mongodb-runner start --enterprise --mongodb-version \">=6.0.0-rc1\" --topology=replicaset --secondaries=0 --port=27018",
|
|
54
|
+
"test-csfle": "mocha ./src/csfle-collection-tracker.spec.ts",
|
|
55
|
+
"posttest-csfle": "mongodb-runner stop --enterprise --mongodb-version \">=6.0.0-rc1\" --topology=replicaset --secondaries=0 --port=27018",
|
|
50
56
|
"test-cov": "nyc -x \"**/*.spec.*\" --reporter=lcov --reporter=text --reporter=html npm run test",
|
|
51
57
|
"test-watch": "npm run test -- --watch",
|
|
52
58
|
"test-ci": "npm run test-cov",
|
|
@@ -57,22 +63,22 @@
|
|
|
57
63
|
"mongodb": "^4.4.0"
|
|
58
64
|
},
|
|
59
65
|
"dependencies": {
|
|
60
|
-
"@mongodb-js/compass-logging": "^0.
|
|
61
|
-
"@mongodb-js/devtools-connect": "^1.
|
|
62
|
-
"@mongodb-js/ssh-tunnel": "^1.
|
|
66
|
+
"@mongodb-js/compass-logging": "^0.11.0",
|
|
67
|
+
"@mongodb-js/devtools-connect": "^1.3.1",
|
|
68
|
+
"@mongodb-js/ssh-tunnel": "^1.6.0",
|
|
63
69
|
"async": "^3.2.0",
|
|
64
70
|
"debug": "4.3.0",
|
|
65
71
|
"lodash": "^4.17.20",
|
|
66
72
|
"mongodb-build-info": "^1.3.0",
|
|
67
|
-
"mongodb-connection-model": "^21.
|
|
73
|
+
"mongodb-connection-model": "^21.16.0",
|
|
68
74
|
"mongodb-connection-string-url": "^2.5.2",
|
|
69
|
-
"mongodb-index-model": "^3.
|
|
70
|
-
"mongodb-ns": "^2.
|
|
75
|
+
"mongodb-index-model": "^3.10.0",
|
|
76
|
+
"mongodb-ns": "^2.4.0",
|
|
71
77
|
"uuid": "^8.3.2"
|
|
72
78
|
},
|
|
73
79
|
"devDependencies": {
|
|
74
80
|
"@mongodb-js/devtools-docker-test-envs": "^1.2.4",
|
|
75
|
-
"@mongodb-js/eslint-config-compass": "^0.
|
|
81
|
+
"@mongodb-js/eslint-config-compass": "^0.8.0",
|
|
76
82
|
"@mongodb-js/mocha-config-compass": "^0.10.0",
|
|
77
83
|
"@mongodb-js/prettier-config-compass": "^0.5.0",
|
|
78
84
|
"@mongodb-js/tsconfig-compass": "^0.6.0",
|
|
@@ -88,13 +94,14 @@
|
|
|
88
94
|
"kerberos": "^2.0.0",
|
|
89
95
|
"mocha": "^8.4.0",
|
|
90
96
|
"mongodb": "^4.4.0",
|
|
91
|
-
"mongodb-
|
|
97
|
+
"mongodb-client-encryption": "^2.1.0",
|
|
98
|
+
"mongodb-runner": "^4.9.0",
|
|
92
99
|
"nyc": "^15.0.0",
|
|
93
100
|
"prettier": "2.3.2",
|
|
94
101
|
"rimraf": "^3.0.2",
|
|
95
102
|
"sinon": "^9.2.3",
|
|
96
|
-
"storage-mixin": "^4.
|
|
103
|
+
"storage-mixin": "^4.14.0",
|
|
97
104
|
"typescript": "^4.3.5"
|
|
98
105
|
},
|
|
99
|
-
"gitHead": "
|
|
106
|
+
"gitHead": "2c4149184e87b8340851590663287b914d7ee63e"
|
|
100
107
|
}
|