@mongosh/shell-api 1.3.1 → 1.5.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/abstract-cursor.d.ts +1 -1
- package/lib/abstract-cursor.js +2 -2
- package/lib/abstract-cursor.js.map +1 -1
- package/lib/collection.d.ts +4 -3
- package/lib/collection.js +50 -20
- package/lib/collection.js.map +1 -1
- package/lib/cursor.d.ts +1 -1
- package/lib/cursor.js +2 -2
- package/lib/cursor.js.map +1 -1
- package/lib/database.d.ts +1 -1
- package/lib/database.js +4 -11
- package/lib/database.js.map +1 -1
- package/lib/field-level-encryption.d.ts +20 -5
- package/lib/field-level-encryption.js +112 -25
- package/lib/field-level-encryption.js.map +1 -1
- package/lib/helpers.d.ts +2 -0
- package/lib/helpers.js +49 -2
- package/lib/helpers.js.map +1 -1
- package/lib/log-entry.d.ts +10 -0
- package/lib/log-entry.js +31 -0
- package/lib/log-entry.js.map +1 -0
- package/lib/mongo.d.ts +7 -6
- package/lib/mongo.js +112 -34
- package/lib/mongo.js.map +1 -1
- package/lib/shell-api.js +4 -1
- package/lib/shell-api.js.map +1 -1
- package/lib/shell-instance-state.d.ts +1 -1
- package/package.json +9 -8
package/lib/database.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"database.js","sourceRoot":"","sources":["../src/database.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"database.js","sourceRoot":"","sources":["../src/database.ts"],"names":[],"mappings":"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"}
|
|
@@ -21,13 +21,22 @@ export interface ClientSideFieldLevelEncryptionOptions {
|
|
|
21
21
|
tlsOptions?: {
|
|
22
22
|
[k in keyof ClientSideFieldLevelEncryptionKmsProvider]?: ClientEncryptionTlsOptions;
|
|
23
23
|
};
|
|
24
|
+
encryptedFieldsMap?: Document;
|
|
25
|
+
bypassQueryAnalysis?: boolean;
|
|
24
26
|
}
|
|
27
|
+
declare type MasterKey = AWSEncryptionKeyOptions | AzureEncryptionKeyOptions | GCPEncryptionKeyOptions;
|
|
28
|
+
declare type AltNames = string[];
|
|
29
|
+
declare type DataKeyEncryptionKeyOptions = {
|
|
30
|
+
masterKey?: MasterKey;
|
|
31
|
+
keyAltNames?: AltNames;
|
|
32
|
+
keyMaterial?: Buffer | BinaryType;
|
|
33
|
+
};
|
|
25
34
|
export declare class ClientEncryption extends ShellApiWithMongoClass {
|
|
26
35
|
_mongo: Mongo;
|
|
27
36
|
_libmongocrypt: MongoCryptClientEncryption;
|
|
28
37
|
constructor(mongo: Mongo);
|
|
29
38
|
[asPrintable](): string;
|
|
30
|
-
encrypt(encryptionId: BinaryType, value: any,
|
|
39
|
+
encrypt(encryptionId: BinaryType, value: any, algorithmOrEncryptionOptions: ClientEncryptionEncryptOptions['algorithm'] | ClientEncryptionEncryptOptions): Promise<BinaryType>;
|
|
31
40
|
decrypt(encryptedValue: BinaryType): Promise<any>;
|
|
32
41
|
}
|
|
33
42
|
export declare class KeyVault extends ShellApiWithMongoClass {
|
|
@@ -35,15 +44,21 @@ export declare class KeyVault extends ShellApiWithMongoClass {
|
|
|
35
44
|
_clientEncryption: ClientEncryption;
|
|
36
45
|
private _keyColl;
|
|
37
46
|
constructor(clientEncryption: ClientEncryption);
|
|
47
|
+
_init(): Promise<void>;
|
|
38
48
|
[asPrintable](): string;
|
|
39
|
-
createKey(kms: 'local', keyAltNames?: string[]): Promise<
|
|
40
|
-
createKey(kms: ClientEncryptionDataKeyProvider, legacyMasterKey: string, keyAltNames?: string[]): Promise<
|
|
41
|
-
createKey(kms: ClientEncryptionDataKeyProvider, options:
|
|
42
|
-
createKey(kms: ClientEncryptionDataKeyProvider, options:
|
|
49
|
+
createKey(kms: 'local', keyAltNames?: string[]): Promise<BinaryType>;
|
|
50
|
+
createKey(kms: ClientEncryptionDataKeyProvider, legacyMasterKey: string, keyAltNames?: string[]): Promise<BinaryType>;
|
|
51
|
+
createKey(kms: ClientEncryptionDataKeyProvider, options: MasterKey | DataKeyEncryptionKeyOptions | undefined): Promise<BinaryType>;
|
|
52
|
+
createKey(kms: ClientEncryptionDataKeyProvider, options: MasterKey | DataKeyEncryptionKeyOptions | undefined, keyAltNames: string[]): Promise<BinaryType>;
|
|
43
53
|
getKey(keyId: BinaryType): Promise<Cursor>;
|
|
44
54
|
getKeyByAltName(keyAltName: string): Promise<Cursor>;
|
|
45
55
|
getKeys(): Promise<Cursor>;
|
|
46
56
|
deleteKey(keyId: BinaryType): Promise<DeleteResult | Document>;
|
|
47
57
|
addKeyAlternateName(keyId: BinaryType, keyAltName: string): Promise<Document>;
|
|
48
58
|
removeKeyAlternateName(keyId: BinaryType, keyAltName: string): Promise<Document>;
|
|
59
|
+
rewrapManyDataKey(filter: Document, options?: Document): Promise<Document>;
|
|
60
|
+
createDataKey(...args: Parameters<KeyVault['createKey']>): ReturnType<KeyVault['createKey']>;
|
|
61
|
+
removeKeyAltName(...args: Parameters<KeyVault['removeKeyAlternateName']>): ReturnType<KeyVault['removeKeyAlternateName']>;
|
|
62
|
+
addKeyAltName(...args: Parameters<KeyVault['addKeyAlternateName']>): ReturnType<KeyVault['addKeyAlternateName']>;
|
|
49
63
|
}
|
|
64
|
+
export {};
|
|
@@ -13,6 +13,16 @@ const helpers_1 = require("./helpers");
|
|
|
13
13
|
const enums_1 = require("./enums");
|
|
14
14
|
const history_1 = require("@mongosh/history");
|
|
15
15
|
const errors_1 = require("@mongosh/errors");
|
|
16
|
+
const isDataKeyEncryptionKeyOptions = (options) => {
|
|
17
|
+
return (!Array.isArray(options) &&
|
|
18
|
+
typeof options === 'object' &&
|
|
19
|
+
('masterKey' in options || 'keyAltNames' in options || 'keyMaterial' in options));
|
|
20
|
+
};
|
|
21
|
+
const isMasterKey = (options) => {
|
|
22
|
+
return (!Array.isArray(options) &&
|
|
23
|
+
typeof options === 'object' &&
|
|
24
|
+
!isDataKeyEncryptionKeyOptions(options));
|
|
25
|
+
};
|
|
16
26
|
let ClientEncryption = class ClientEncryption extends decorators_1.ShellApiWithMongoClass {
|
|
17
27
|
constructor(mongo) {
|
|
18
28
|
super();
|
|
@@ -28,12 +38,22 @@ let ClientEncryption = class ClientEncryption extends decorators_1.ShellApiWithM
|
|
|
28
38
|
[enums_1.asPrintable]() {
|
|
29
39
|
return `ClientEncryption class for ${(0, history_1.redactURICredentials)(this._mongo._uri)}`;
|
|
30
40
|
}
|
|
31
|
-
async encrypt(encryptionId, value,
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
41
|
+
async encrypt(encryptionId, value, algorithmOrEncryptionOptions) {
|
|
42
|
+
let encryptionOptions;
|
|
43
|
+
if (typeof algorithmOrEncryptionOptions === 'object') {
|
|
44
|
+
encryptionOptions = {
|
|
45
|
+
keyId: encryptionId,
|
|
46
|
+
...algorithmOrEncryptionOptions
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
else {
|
|
50
|
+
encryptionOptions = {
|
|
51
|
+
keyId: encryptionId,
|
|
52
|
+
algorithm: algorithmOrEncryptionOptions
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
(0, helpers_1.assertArgsDefinedType)([encryptionId, value, encryptionOptions], [true, true, true], 'ClientEncryption.encrypt');
|
|
56
|
+
return await this._libmongocrypt.encrypt(value, encryptionOptions);
|
|
37
57
|
}
|
|
38
58
|
async decrypt(encryptedValue) {
|
|
39
59
|
(0, helpers_1.assertArgsDefinedType)([encryptedValue], [true], 'ClientEncryption.decrypt');
|
|
@@ -53,29 +73,70 @@ ClientEncryption = __decorate([
|
|
|
53
73
|
exports.ClientEncryption = ClientEncryption;
|
|
54
74
|
let KeyVault = class KeyVault extends decorators_1.ShellApiWithMongoClass {
|
|
55
75
|
constructor(clientEncryption) {
|
|
76
|
+
var _a, _b, _c;
|
|
56
77
|
super();
|
|
57
78
|
this._mongo = clientEncryption._mongo;
|
|
58
79
|
this._clientEncryption = clientEncryption;
|
|
59
|
-
|
|
80
|
+
const keyVaultNamespace = (_b = (_a = this._mongo) === null || _a === void 0 ? void 0 : _a._fleOptions) === null || _b === void 0 ? void 0 : _b.keyVaultNamespace;
|
|
81
|
+
if (!keyVaultNamespace) {
|
|
60
82
|
throw new errors_1.MongoshInvalidInputError('FLE options must be passed to the Mongo object');
|
|
61
83
|
}
|
|
62
|
-
const
|
|
84
|
+
const parsedNamespace = (_c = keyVaultNamespace.match(/^(?<db>[^.]+)\.(?<coll>.+)$/)) === null || _c === void 0 ? void 0 : _c.groups;
|
|
85
|
+
if (!parsedNamespace) {
|
|
86
|
+
throw new errors_1.MongoshInvalidInputError(`Invalid keyVaultNamespace '${keyVaultNamespace}'`);
|
|
87
|
+
}
|
|
88
|
+
const { db, coll } = parsedNamespace;
|
|
63
89
|
this._keyColl = this._mongo.getDB(db).getCollection(coll);
|
|
64
90
|
}
|
|
91
|
+
async _init() {
|
|
92
|
+
var _a;
|
|
93
|
+
if ((_a = this._mongo._fleOptions) === null || _a === void 0 ? void 0 : _a.bypassQueryAnalysis) {
|
|
94
|
+
return;
|
|
95
|
+
}
|
|
96
|
+
try {
|
|
97
|
+
const existingIndexKeys = await this._keyColl.getIndexKeys();
|
|
98
|
+
if (existingIndexKeys.some(key => key.keyAltNames)) {
|
|
99
|
+
return;
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
catch (_b) {
|
|
103
|
+
}
|
|
104
|
+
try {
|
|
105
|
+
await this._keyColl.updateMany({ 'keyAltNames': { $size: 0 } }, { $unset: { 'keyAltNames': '' }, $currentDate: { 'updateDate': true } });
|
|
106
|
+
await this._keyColl.createIndex({ keyAltNames: 1 }, { unique: true, partialFilterExpression: { keyAltNames: { $exists: true } } });
|
|
107
|
+
}
|
|
108
|
+
catch (err) {
|
|
109
|
+
await this._instanceState.printWarning(`Creating 'keyAltNames' index on '${this._keyColl.getFullName()}' failed: ${err.message}`);
|
|
110
|
+
}
|
|
111
|
+
}
|
|
65
112
|
[enums_1.asPrintable]() {
|
|
66
113
|
return `KeyVault class for ${(0, history_1.redactURICredentials)(this._mongo._uri)}`;
|
|
67
114
|
}
|
|
68
|
-
async createKey(kms,
|
|
115
|
+
async createKey(kms, masterKeyOrAltNamesOrDataKeyOptions, legacyKeyAltNames) {
|
|
116
|
+
let masterKey;
|
|
117
|
+
let keyAltNames;
|
|
118
|
+
let keyMaterial;
|
|
119
|
+
if (isDataKeyEncryptionKeyOptions(masterKeyOrAltNamesOrDataKeyOptions)) {
|
|
120
|
+
masterKey = masterKeyOrAltNamesOrDataKeyOptions === null || masterKeyOrAltNamesOrDataKeyOptions === void 0 ? void 0 : masterKeyOrAltNamesOrDataKeyOptions.masterKey;
|
|
121
|
+
keyAltNames = masterKeyOrAltNamesOrDataKeyOptions === null || masterKeyOrAltNamesOrDataKeyOptions === void 0 ? void 0 : masterKeyOrAltNamesOrDataKeyOptions.keyAltNames;
|
|
122
|
+
keyMaterial = masterKeyOrAltNamesOrDataKeyOptions === null || masterKeyOrAltNamesOrDataKeyOptions === void 0 ? void 0 : masterKeyOrAltNamesOrDataKeyOptions.keyMaterial;
|
|
123
|
+
}
|
|
124
|
+
else if (isMasterKey(masterKeyOrAltNamesOrDataKeyOptions)) {
|
|
125
|
+
masterKey = masterKeyOrAltNamesOrDataKeyOptions;
|
|
126
|
+
}
|
|
127
|
+
if (legacyKeyAltNames) {
|
|
128
|
+
keyAltNames = legacyKeyAltNames;
|
|
129
|
+
}
|
|
69
130
|
(0, helpers_1.assertArgsDefinedType)([kms], [true], 'KeyVault.createKey');
|
|
70
|
-
if (typeof
|
|
71
|
-
if (kms === 'local' &&
|
|
72
|
-
|
|
131
|
+
if (typeof masterKeyOrAltNamesOrDataKeyOptions === 'string') {
|
|
132
|
+
if (kms === 'local' && masterKeyOrAltNamesOrDataKeyOptions === '') {
|
|
133
|
+
masterKey = undefined;
|
|
73
134
|
}
|
|
74
135
|
else {
|
|
75
136
|
throw new errors_1.MongoshInvalidInputError('KeyVault.createKey does not support providing masterKey as string anymore. For AWS please use createKey("aws", { region: ..., key: ... })', errors_1.CommonErrors.Deprecated);
|
|
76
137
|
}
|
|
77
138
|
}
|
|
78
|
-
else if (Array.isArray(
|
|
139
|
+
else if (Array.isArray(masterKeyOrAltNamesOrDataKeyOptions)) {
|
|
79
140
|
if (kms !== 'local') {
|
|
80
141
|
throw new errors_1.MongoshInvalidInputError('KeyVault.createKey requires masterKey to be given as second argument if KMS is not local', errors_1.CommonErrors.InvalidArgument);
|
|
81
142
|
}
|
|
@@ -83,21 +144,19 @@ let KeyVault = class KeyVault extends decorators_1.ShellApiWithMongoClass {
|
|
|
83
144
|
if (keyAltNames) {
|
|
84
145
|
throw new errors_1.MongoshInvalidInputError('KeyVault.createKey was supplied with an array for the masterKey and keyAltNames - either specify keyAltNames as second argument or set undefined for masterKey', errors_1.CommonErrors.InvalidArgument);
|
|
85
146
|
}
|
|
86
|
-
keyAltNames =
|
|
87
|
-
|
|
147
|
+
keyAltNames = masterKeyOrAltNamesOrDataKeyOptions;
|
|
148
|
+
masterKey = undefined;
|
|
88
149
|
}
|
|
89
150
|
}
|
|
90
151
|
let options;
|
|
91
|
-
if (
|
|
92
|
-
options = {
|
|
93
|
-
masterKey: masterKeyOrAltNames
|
|
94
|
-
};
|
|
152
|
+
if (masterKey) {
|
|
153
|
+
options = { ...(options !== null && options !== void 0 ? options : {}), masterKey };
|
|
95
154
|
}
|
|
96
155
|
if (keyAltNames) {
|
|
97
|
-
options = {
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
};
|
|
156
|
+
options = { ...(options !== null && options !== void 0 ? options : {}), keyAltNames };
|
|
157
|
+
}
|
|
158
|
+
if (keyMaterial) {
|
|
159
|
+
options = { ...(options !== null && options !== void 0 ? options : {}), keyMaterial };
|
|
101
160
|
}
|
|
102
161
|
return await this._clientEncryption._libmongocrypt.createDataKey(kms, options);
|
|
103
162
|
}
|
|
@@ -120,7 +179,7 @@ let KeyVault = class KeyVault extends decorators_1.ShellApiWithMongoClass {
|
|
|
120
179
|
(0, helpers_1.assertArgsDefinedType)([keyId, keyAltName], [true, 'string'], 'KeyVault.addKeyAlternateName');
|
|
121
180
|
return this._keyColl.findAndModify({
|
|
122
181
|
query: { '_id': keyId },
|
|
123
|
-
update: { $
|
|
182
|
+
update: { $addToSet: { 'keyAltNames': keyAltName }, $currentDate: { 'updateDate': true } },
|
|
124
183
|
});
|
|
125
184
|
}
|
|
126
185
|
async removeKeyAlternateName(keyId, keyAltName) {
|
|
@@ -131,12 +190,24 @@ let KeyVault = class KeyVault extends decorators_1.ShellApiWithMongoClass {
|
|
|
131
190
|
});
|
|
132
191
|
if (ret !== null && ret.keyAltNames !== undefined && ret.keyAltNames.length === 1 && ret.keyAltNames[0] === keyAltName) {
|
|
133
192
|
return this._keyColl.findAndModify({
|
|
134
|
-
query: { '_id': keyId, 'keyAltNames':
|
|
193
|
+
query: { '_id': keyId, 'keyAltNames': { $size: 0 } },
|
|
135
194
|
update: { $unset: { 'keyAltNames': '' }, $currentDate: { 'updateDate': true } }
|
|
136
195
|
});
|
|
137
196
|
}
|
|
138
197
|
return ret;
|
|
139
198
|
}
|
|
199
|
+
async rewrapManyDataKey(filter, options) {
|
|
200
|
+
return this._clientEncryption._libmongocrypt.rewrapManyDataKey(filter, options);
|
|
201
|
+
}
|
|
202
|
+
async createDataKey(...args) {
|
|
203
|
+
return await this.createKey(...args);
|
|
204
|
+
}
|
|
205
|
+
async removeKeyAltName(...args) {
|
|
206
|
+
return await this.removeKeyAlternateName(...args);
|
|
207
|
+
}
|
|
208
|
+
async addKeyAltName(...args) {
|
|
209
|
+
return await this.addKeyAlternateName(...args);
|
|
210
|
+
}
|
|
140
211
|
};
|
|
141
212
|
__decorate([
|
|
142
213
|
decorators_1.returnsPromise,
|
|
@@ -169,6 +240,22 @@ __decorate([
|
|
|
169
240
|
decorators_1.returnsPromise,
|
|
170
241
|
(0, decorators_1.apiVersions)([1])
|
|
171
242
|
], KeyVault.prototype, "removeKeyAlternateName", null);
|
|
243
|
+
__decorate([
|
|
244
|
+
decorators_1.returnsPromise,
|
|
245
|
+
(0, decorators_1.apiVersions)([1])
|
|
246
|
+
], KeyVault.prototype, "rewrapManyDataKey", null);
|
|
247
|
+
__decorate([
|
|
248
|
+
decorators_1.returnsPromise,
|
|
249
|
+
(0, decorators_1.apiVersions)([1])
|
|
250
|
+
], KeyVault.prototype, "createDataKey", null);
|
|
251
|
+
__decorate([
|
|
252
|
+
decorators_1.returnsPromise,
|
|
253
|
+
(0, decorators_1.apiVersions)([1])
|
|
254
|
+
], KeyVault.prototype, "removeKeyAltName", null);
|
|
255
|
+
__decorate([
|
|
256
|
+
decorators_1.returnsPromise,
|
|
257
|
+
(0, decorators_1.apiVersions)([1])
|
|
258
|
+
], KeyVault.prototype, "addKeyAltName", null);
|
|
172
259
|
KeyVault = __decorate([
|
|
173
260
|
decorators_1.shellApiClassDefault,
|
|
174
261
|
(0, decorators_1.classPlatforms)([service_provider_core_1.ReplPlatform.CLI])
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"field-level-encryption.js","sourceRoot":"","sources":["../src/field-level-encryption.ts"],"names":[],"mappings":";;;;;;;;;AAAA,6CAOsB;AACtB,0EAYwC;AAKxC,uCAAkD;AAClD,mCAAsC;AACtC,8CAAwD;AAExD,4CAA8F;
|
|
1
|
+
{"version":3,"file":"field-level-encryption.js","sourceRoot":"","sources":["../src/field-level-encryption.ts"],"names":[],"mappings":"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"}
|
package/lib/helpers.d.ts
CHANGED
|
@@ -68,4 +68,6 @@ export declare function isValidDatabaseName(name: string): boolean;
|
|
|
68
68
|
export declare function isValidCollectionName(name: string): boolean;
|
|
69
69
|
export declare function shouldRunAggregationImmediately(pipeline: Document[]): boolean;
|
|
70
70
|
export declare function adjustRunCommand(cmd: Document, shellBson: ShellBson): Document;
|
|
71
|
+
export declare function getBadge(collections: Document[], index: number): string;
|
|
72
|
+
export declare const FREE_MONITORING_BANNER = "Enable MongoDB's free cloud-based monitoring service, which will then receive and display\nmetrics about your deployment (disk utilization, CPU, operation statistics, etc).\n\nThe monitoring data will be available on a MongoDB website with a unique URL accessible to you\nand anyone you share the URL with. MongoDB may use this information to make product\nimprovements and to suggest MongoDB products and deployment options to you.\n\nTo enable free monitoring, run the following command: db.enableFreeMonitoring()\nTo permanently disable this reminder, run the following command: db.disableFreeMonitoring()\n";
|
|
71
73
|
export {};
|
package/lib/helpers.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.adjustRunCommand = exports.shouldRunAggregationImmediately = exports.isValidCollectionName = exports.isValidDatabaseName = exports.markAsExplainOutput = exports.maybeMarkAsExplainOutput = exports.processFLEOptions = exports.assertCLI = exports.setHideIndex = exports.processMapReduceOptions = exports.processRemoveOptions = exports.processFindAndModifyOptions = exports.iterate = exports.addHiddenDataProperty = exports.tsToSeconds = exports.dataFormat = exports.getConfigDB = exports.getPrintableShardStatus = exports.processDigestPassword = exports.adaptOptions = exports.assertKeysDefined = exports.assertArgsDefinedType = exports.validateExplainableVerbosity = exports.adaptAggregateOptions = void 0;
|
|
6
|
+
exports.FREE_MONITORING_BANNER = exports.getBadge = exports.adjustRunCommand = exports.shouldRunAggregationImmediately = exports.isValidCollectionName = exports.isValidDatabaseName = exports.markAsExplainOutput = exports.maybeMarkAsExplainOutput = exports.processFLEOptions = exports.assertCLI = exports.setHideIndex = exports.processMapReduceOptions = exports.processRemoveOptions = exports.processFindAndModifyOptions = exports.iterate = exports.addHiddenDataProperty = exports.tsToSeconds = exports.dataFormat = exports.getConfigDB = exports.getPrintableShardStatus = exports.processDigestPassword = exports.adaptOptions = exports.assertKeysDefined = exports.assertArgsDefinedType = exports.validateExplainableVerbosity = exports.adaptAggregateOptions = void 0;
|
|
7
7
|
const errors_1 = require("@mongosh/errors");
|
|
8
8
|
const crypto_1 = __importDefault(require("crypto"));
|
|
9
9
|
const error_codes_1 = require("./error-codes");
|
|
@@ -449,12 +449,14 @@ function processFindAndModifyOptions(options) {
|
|
|
449
449
|
options.returnDocument = options.returnNewDocument ? 'after' : 'before';
|
|
450
450
|
delete options.returnOriginal;
|
|
451
451
|
delete options.returnNewDocument;
|
|
452
|
+
delete options.new;
|
|
452
453
|
return options;
|
|
453
454
|
}
|
|
454
455
|
if ('new' in options) {
|
|
455
456
|
options.returnDocument = options.new ? 'after' : 'before';
|
|
456
457
|
delete options.returnOriginal;
|
|
457
458
|
delete options.returnNewDocument;
|
|
459
|
+
delete options.new;
|
|
458
460
|
return options;
|
|
459
461
|
}
|
|
460
462
|
options.returnDocument = 'before';
|
|
@@ -502,7 +504,16 @@ function processFLEOptions(fleOptions) {
|
|
|
502
504
|
var _a, _b;
|
|
503
505
|
assertKeysDefined(fleOptions, ['keyVaultNamespace', 'kmsProviders']);
|
|
504
506
|
Object.keys(fleOptions).forEach(k => {
|
|
505
|
-
if ([
|
|
507
|
+
if ([
|
|
508
|
+
'keyVaultClient',
|
|
509
|
+
'keyVaultNamespace',
|
|
510
|
+
'kmsProviders',
|
|
511
|
+
'schemaMap',
|
|
512
|
+
'bypassAutoEncryption',
|
|
513
|
+
'tlsOptions',
|
|
514
|
+
'bypassQueryAnalysis',
|
|
515
|
+
'encryptedFieldsMap'
|
|
516
|
+
].indexOf(k) === -1) {
|
|
506
517
|
throw new errors_1.MongoshInvalidInputError(`Unrecognized FLE Client Option ${k}`);
|
|
507
518
|
}
|
|
508
519
|
});
|
|
@@ -534,6 +545,12 @@ function processFLEOptions(fleOptions) {
|
|
|
534
545
|
if (fleOptions.bypassAutoEncryption !== undefined) {
|
|
535
546
|
autoEncryption.bypassAutoEncryption = fleOptions.bypassAutoEncryption;
|
|
536
547
|
}
|
|
548
|
+
if (fleOptions.encryptedFieldsMap) {
|
|
549
|
+
autoEncryption.encryptedFieldsMap = fleOptions.encryptedFieldsMap;
|
|
550
|
+
}
|
|
551
|
+
if (fleOptions.bypassQueryAnalysis !== undefined) {
|
|
552
|
+
autoEncryption.bypassQueryAnalysis = fleOptions.bypassQueryAnalysis;
|
|
553
|
+
}
|
|
537
554
|
if (fleOptions.tlsOptions !== undefined) {
|
|
538
555
|
autoEncryption.tlsOptions = fleOptions.tlsOptions;
|
|
539
556
|
}
|
|
@@ -586,4 +603,34 @@ function adjustRunCommand(cmd, shellBson) {
|
|
|
586
603
|
return cmd;
|
|
587
604
|
}
|
|
588
605
|
exports.adjustRunCommand = adjustRunCommand;
|
|
606
|
+
const isFLE2Collection = (collections, index) => {
|
|
607
|
+
return (!collections[index].name.startsWith('enxcol_.') &&
|
|
608
|
+
collections.some(coll => coll.name === `enxcol_.${collections[index].name}.esc`) &&
|
|
609
|
+
collections.some(coll => coll.name === `enxcol_.${collections[index].name}.ecc`) &&
|
|
610
|
+
collections.some(coll => coll.name === `enxcol_.${collections[index].name}.ecoc`));
|
|
611
|
+
};
|
|
612
|
+
function getBadge(collections, index) {
|
|
613
|
+
if (collections[index].type === 'timeseries') {
|
|
614
|
+
return '[time-series]';
|
|
615
|
+
}
|
|
616
|
+
if (collections[index].type === 'view') {
|
|
617
|
+
return '[view]';
|
|
618
|
+
}
|
|
619
|
+
if (isFLE2Collection(collections, index)) {
|
|
620
|
+
return '[queryable-encryption]';
|
|
621
|
+
}
|
|
622
|
+
return '';
|
|
623
|
+
}
|
|
624
|
+
exports.getBadge = getBadge;
|
|
625
|
+
exports.FREE_MONITORING_BANNER = `\
|
|
626
|
+
Enable MongoDB's free cloud-based monitoring service, which will then receive and display
|
|
627
|
+
metrics about your deployment (disk utilization, CPU, operation statistics, etc).
|
|
628
|
+
|
|
629
|
+
The monitoring data will be available on a MongoDB website with a unique URL accessible to you
|
|
630
|
+
and anyone you share the URL with. MongoDB may use this information to make product
|
|
631
|
+
improvements and to suggest MongoDB products and deployment options to you.
|
|
632
|
+
|
|
633
|
+
To enable free monitoring, run the following command: db.enableFreeMonitoring()
|
|
634
|
+
To permanently disable this reminder, run the following command: db.disableFreeMonitoring()
|
|
635
|
+
`;
|
|
589
636
|
//# sourceMappingURL=helpers.js.map
|