@qp-mongosh/shell-api 0.0.0-dev.28 → 0.0.0-dev.29

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (88) hide show
  1. package/lib/abstract-cursor.d.ts +33 -0
  2. package/lib/abstract-cursor.js +192 -0
  3. package/lib/abstract-cursor.js.map +1 -0
  4. package/lib/aggregation-cursor.d.ts +6 -0
  5. package/lib/aggregation-cursor.js +20 -0
  6. package/lib/aggregation-cursor.js.map +1 -0
  7. package/lib/bulk.d.ts +43 -0
  8. package/lib/bulk.js +224 -0
  9. package/lib/bulk.js.map +1 -0
  10. package/lib/change-stream-cursor.d.ts +28 -0
  11. package/lib/change-stream-cursor.js +112 -0
  12. package/lib/change-stream-cursor.js.map +1 -0
  13. package/lib/collection.d.ts +95 -0
  14. package/lib/collection.js +965 -0
  15. package/lib/collection.js.map +1 -0
  16. package/lib/cursor.d.ts +32 -0
  17. package/lib/cursor.js +216 -0
  18. package/lib/cursor.js.map +1 -0
  19. package/lib/database.d.ts +116 -0
  20. package/lib/database.js +1224 -0
  21. package/lib/database.js.map +1 -0
  22. package/lib/dbquery.d.ts +8 -0
  23. package/lib/dbquery.js +29 -0
  24. package/lib/dbquery.js.map +1 -0
  25. package/lib/decorators.d.ts +73 -0
  26. package/lib/decorators.js +396 -0
  27. package/lib/decorators.js.map +1 -0
  28. package/lib/enums.d.ts +28 -0
  29. package/lib/enums.js +34 -0
  30. package/lib/enums.js.map +1 -0
  31. package/lib/error-codes.d.ts +12 -0
  32. package/lib/error-codes.js +20 -0
  33. package/lib/error-codes.js.map +1 -0
  34. package/lib/explainable-cursor.d.ts +11 -0
  35. package/lib/explainable-cursor.js +32 -0
  36. package/lib/explainable-cursor.js.map +1 -0
  37. package/lib/explainable.d.ts +32 -0
  38. package/lib/explainable.js +167 -0
  39. package/lib/explainable.js.map +1 -0
  40. package/lib/field-level-encryption.d.ts +50 -0
  41. package/lib/field-level-encryption.js +177 -0
  42. package/lib/field-level-encryption.js.map +1 -0
  43. package/lib/help.d.ts +22 -0
  44. package/lib/help.js +27 -0
  45. package/lib/help.js.map +1 -0
  46. package/lib/helpers.d.ts +71 -0
  47. package/lib/helpers.js +589 -0
  48. package/lib/helpers.js.map +1 -0
  49. package/lib/index.d.ts +16 -0
  50. package/lib/index.js +46 -0
  51. package/lib/index.js.map +1 -0
  52. package/lib/interruptor.d.ts +19 -0
  53. package/lib/interruptor.js +63 -0
  54. package/lib/interruptor.js.map +1 -0
  55. package/lib/mongo-errors.d.ts +5 -0
  56. package/lib/mongo-errors.js +38 -0
  57. package/lib/mongo-errors.js.map +1 -0
  58. package/lib/mongo.d.ts +75 -0
  59. package/lib/mongo.js +477 -0
  60. package/lib/mongo.js.map +1 -0
  61. package/lib/no-db.d.ts +5 -0
  62. package/lib/no-db.js +29 -0
  63. package/lib/no-db.js.map +1 -0
  64. package/lib/plan-cache.d.ts +16 -0
  65. package/lib/plan-cache.js +71 -0
  66. package/lib/plan-cache.js.map +1 -0
  67. package/lib/replica-set.d.ts +45 -0
  68. package/lib/replica-set.js +315 -0
  69. package/lib/replica-set.js.map +1 -0
  70. package/lib/result.d.ts +61 -0
  71. package/lib/result.js +105 -0
  72. package/lib/result.js.map +1 -0
  73. package/lib/session.d.ts +25 -0
  74. package/lib/session.js +89 -0
  75. package/lib/session.js.map +1 -0
  76. package/lib/shard.d.ts +42 -0
  77. package/lib/shard.js +415 -0
  78. package/lib/shard.js.map +1 -0
  79. package/lib/shell-api.d.ts +52 -0
  80. package/lib/shell-api.js +299 -0
  81. package/lib/shell-api.js.map +1 -0
  82. package/lib/shell-bson.d.ts +40 -0
  83. package/lib/shell-bson.js +160 -0
  84. package/lib/shell-bson.js.map +1 -0
  85. package/lib/shell-instance-state.d.ts +77 -0
  86. package/lib/shell-instance-state.js +390 -0
  87. package/lib/shell-instance-state.js.map +1 -0
  88. package/package.json +4 -4
@@ -0,0 +1,45 @@
1
+ import { Document } from '@qp-mongosh/service-provider-core';
2
+ import Mongo from './mongo';
3
+ import Database from './database';
4
+ import { ShellApiWithMongoClass } from './decorators';
5
+ import { asPrintable } from './enums';
6
+ import { CommandResult } from './result';
7
+ export type ReplSetMemberConfig = {
8
+ _id: number;
9
+ host: string;
10
+ priority?: number;
11
+ votes?: number;
12
+ arbiterOnly?: boolean;
13
+ };
14
+ export type ReplSetConfig = {
15
+ version: number;
16
+ _id: string;
17
+ members: ReplSetMemberConfig[];
18
+ protocolVersion: number;
19
+ };
20
+ export default class ReplicaSet extends ShellApiWithMongoClass {
21
+ _database: Database;
22
+ constructor(database: Database);
23
+ get _mongo(): Mongo;
24
+ initiate(config?: Partial<ReplSetConfig>): Promise<Document>;
25
+ _getConfig(): Promise<ReplSetConfig>;
26
+ config(): Promise<ReplSetConfig>;
27
+ conf(): Promise<ReplSetConfig>;
28
+ reconfig(config: Partial<ReplSetConfig>, options?: {}): Promise<Document>;
29
+ reconfigForPSASet(newMemberIndex: number, config: Partial<ReplSetConfig>, options?: {}): Promise<Document>;
30
+ status(): Promise<Document>;
31
+ isMaster(): Promise<Document>;
32
+ hello(): Promise<Document>;
33
+ printSecondaryReplicationInfo(): Promise<CommandResult>;
34
+ printSlaveReplicationInfo(): never;
35
+ printReplicationInfo(): Promise<CommandResult>;
36
+ add(hostport: string | Partial<ReplSetMemberConfig>, arb?: boolean): Promise<Document>;
37
+ addArb(hostname: string): Promise<Document>;
38
+ remove(hostname: string): Promise<Document>;
39
+ freeze(secs: number): Promise<Document>;
40
+ stepDown(stepdownSecs?: number, catchUpSecs?: number): Promise<Document>;
41
+ syncFrom(host: string): Promise<Document>;
42
+ secondaryOk(): Promise<void>;
43
+ [asPrintable](): string;
44
+ private _emitReplicaSetApiCall;
45
+ }
@@ -0,0 +1,315 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ const errors_1 = require("@qp-mongosh/errors");
10
+ const history_1 = require("@qp-mongosh/history");
11
+ const decorators_1 = require("./decorators");
12
+ const enums_1 = require("./enums");
13
+ const helpers_1 = require("./helpers");
14
+ let ReplicaSet = class ReplicaSet extends decorators_1.ShellApiWithMongoClass {
15
+ constructor(database) {
16
+ super();
17
+ this._database = database;
18
+ }
19
+ get _mongo() {
20
+ return this._database._mongo;
21
+ }
22
+ async initiate(config = {}) {
23
+ this._emitReplicaSetApiCall('initiate', { config });
24
+ return this._database._runAdminCommand({ replSetInitiate: config });
25
+ }
26
+ async _getConfig() {
27
+ try {
28
+ const result = await this._database._runAdminCommand({ replSetGetConfig: 1 });
29
+ if (result.config === undefined) {
30
+ throw new errors_1.MongoshRuntimeError('Documented returned from command replSetGetConfig does not contain \'config\'', errors_1.CommonErrors.CommandFailed);
31
+ }
32
+ return result.config;
33
+ }
34
+ catch (error) {
35
+ if ((error === null || error === void 0 ? void 0 : error.codeName) === 'CommandNotFound' || (error === null || error === void 0 ? void 0 : error.codeName) === 'APIStrictError') {
36
+ const doc = await this._database.getSiblingDB('local').getCollection('system.replset').findOne();
37
+ if (doc === null) {
38
+ throw new errors_1.MongoshRuntimeError('No documents in local.system.replset', errors_1.CommonErrors.CommandFailed);
39
+ }
40
+ return doc;
41
+ }
42
+ throw error;
43
+ }
44
+ }
45
+ async config() {
46
+ this._emitReplicaSetApiCall('config', {});
47
+ return this._getConfig();
48
+ }
49
+ async conf() {
50
+ this._emitReplicaSetApiCall('conf', {});
51
+ return this._getConfig();
52
+ }
53
+ async reconfig(config, options = {}) {
54
+ (0, helpers_1.assertArgsDefinedType)([config, options], ['object', [undefined, 'object']], 'ReplicaSet.reconfig');
55
+ this._emitReplicaSetApiCall('reconfig', { config, options });
56
+ const runReconfig = async () => {
57
+ var _a;
58
+ const conf = await this._getConfig();
59
+ config.version = conf.version ? conf.version + 1 : 1;
60
+ (_a = config.protocolVersion) !== null && _a !== void 0 ? _a : (config.protocolVersion = conf.protocolVersion);
61
+ const cmd = { replSetReconfig: config, ...options };
62
+ return await this._database._runAdminCommand(cmd);
63
+ };
64
+ let result = ['success', {}];
65
+ let sleepInterval = 1000;
66
+ for (let i = 0; i < 12; i++) {
67
+ try {
68
+ if (result[0] === 'error') {
69
+ await this._instanceState.shellApi.sleep(sleepInterval);
70
+ sleepInterval *= 1.3;
71
+ if (sleepInterval > 2500) {
72
+ await this._instanceState.shellApi.print('Reconfig did not succeed yet, starting new attempt...');
73
+ }
74
+ }
75
+ result = ['success', await runReconfig()];
76
+ break;
77
+ }
78
+ catch (err) {
79
+ result = ['error', err];
80
+ }
81
+ }
82
+ if (result[0] === 'error') {
83
+ throw result[1];
84
+ }
85
+ return result[1];
86
+ }
87
+ async reconfigForPSASet(newMemberIndex, config, options = {}) {
88
+ var _a;
89
+ (0, helpers_1.assertArgsDefinedType)([newMemberIndex, config, options], ['number', 'object', [undefined, 'object']], 'ReplicaSet.reconfigForPSASet');
90
+ this._emitReplicaSetApiCall('reconfigForPSASet', { newMemberIndex, config, options });
91
+ const print = (msg) => this._instanceState.shellApi.print(msg);
92
+ const newMemberConfig = (_a = config.members) === null || _a === void 0 ? void 0 : _a[newMemberIndex];
93
+ if (!newMemberConfig) {
94
+ throw new errors_1.MongoshInvalidInputError(`Node at index ${newMemberIndex} does not exist in the new config`, errors_1.CommonErrors.InvalidArgument);
95
+ }
96
+ if (newMemberConfig.votes !== 1) {
97
+ throw new errors_1.MongoshInvalidInputError(`Node at index ${newMemberIndex} must have { votes: 1 } in the new config (actual: { votes: ${newMemberConfig.votes} })`, errors_1.CommonErrors.InvalidArgument);
98
+ }
99
+ const oldConfig = await this._getConfig();
100
+ const oldMemberConfig = oldConfig.members.find(member => member._id === newMemberConfig._id);
101
+ if (!oldMemberConfig) {
102
+ if (oldConfig.members.find(member => member.host === newMemberConfig.host)) {
103
+ await print(`Warning: Node at index ${newMemberIndex} has { host: "${newMemberConfig.host}" }, ` +
104
+ 'which is also present in the old config, but with a different _id field.');
105
+ }
106
+ }
107
+ else if (oldMemberConfig.votes) {
108
+ throw new errors_1.MongoshInvalidInputError(`Node at index ${newMemberIndex} must have { votes: 0 } in the old config (actual: { votes: ${oldMemberConfig.votes} })`, errors_1.CommonErrors.InvalidArgument);
109
+ }
110
+ const newMemberPriority = newMemberConfig.priority;
111
+ await print(`Running first reconfig to give member at index ${newMemberIndex} { votes: 1, priority: 0 }`);
112
+ newMemberConfig.votes = 1;
113
+ newMemberConfig.priority = 0;
114
+ const firstResult = await this.reconfig(config, options);
115
+ if (newMemberPriority === 0) {
116
+ await print('No second reconfig necessary because .priority = 0');
117
+ return firstResult;
118
+ }
119
+ await print(`Running second reconfig to give member at index ${newMemberIndex} { priority: ${newMemberPriority} }`);
120
+ newMemberConfig.priority = newMemberPriority;
121
+ try {
122
+ return await this.reconfig(config, options);
123
+ }
124
+ catch (e) {
125
+ await print('Second reconfig did not succeed, giving up');
126
+ await print(`Attempted command: rs.reconfig(${JSON.stringify(config, null, ' ')}, ${JSON.stringify(options)})`);
127
+ throw e;
128
+ }
129
+ }
130
+ async status() {
131
+ this._emitReplicaSetApiCall('status', {});
132
+ return this._database._runAdminCommand({
133
+ replSetGetStatus: 1,
134
+ });
135
+ }
136
+ async isMaster() {
137
+ this._emitReplicaSetApiCall('isMaster', {});
138
+ return this._database.getSiblingDB('admin').isMaster();
139
+ }
140
+ async hello() {
141
+ this._emitReplicaSetApiCall('hello', {});
142
+ return this._database.getSiblingDB('admin').hello();
143
+ }
144
+ async printSecondaryReplicationInfo() {
145
+ this._emitReplicaSetApiCall('printSecondaryReplicationInfo', {});
146
+ return this._database.printSecondaryReplicationInfo();
147
+ }
148
+ printSlaveReplicationInfo() {
149
+ throw new errors_1.MongoshDeprecatedError('printSlaveReplicationInfo has been deprecated. Use printSecondaryReplicationInfo instead');
150
+ }
151
+ async printReplicationInfo() {
152
+ this._emitReplicaSetApiCall('printReplicationInfo', {});
153
+ return this._database.printReplicationInfo();
154
+ }
155
+ async add(hostport, arb) {
156
+ (0, helpers_1.assertArgsDefinedType)([hostport, arb], [['string', 'object'], [undefined, 'boolean']], 'ReplicaSet.add');
157
+ this._emitReplicaSetApiCall('add', { hostport, arb });
158
+ const configDoc = await this._getConfig();
159
+ configDoc.version++;
160
+ const max = Math.max(...configDoc.members.map(m => m._id));
161
+ let cfg;
162
+ if (typeof hostport === 'string') {
163
+ cfg = { _id: max + 1, host: hostport };
164
+ if (arb) {
165
+ cfg.arbiterOnly = true;
166
+ }
167
+ }
168
+ else if (arb === true) {
169
+ throw new errors_1.MongoshInvalidInputError(`Expected first parameter to be a host-and-port string of arbiter, but got ${JSON.stringify(hostport)}`, errors_1.CommonErrors.InvalidArgument);
170
+ }
171
+ else {
172
+ cfg = hostport;
173
+ if (cfg._id === null || cfg._id === undefined) {
174
+ cfg._id = max + 1;
175
+ }
176
+ }
177
+ configDoc.members.push(cfg);
178
+ return this._database._runAdminCommand({
179
+ replSetReconfig: configDoc,
180
+ });
181
+ }
182
+ async addArb(hostname) {
183
+ this._emitReplicaSetApiCall('addArb', { hostname });
184
+ return this.add(hostname, true);
185
+ }
186
+ async remove(hostname) {
187
+ (0, helpers_1.assertArgsDefinedType)([hostname], ['string'], 'ReplicaSet.remove');
188
+ this._emitReplicaSetApiCall('remove', { hostname });
189
+ const configDoc = await this._getConfig();
190
+ configDoc.version++;
191
+ for (let i = 0; i < configDoc.members.length; i++) {
192
+ if (configDoc.members[i].host === hostname) {
193
+ configDoc.members.splice(i, 1);
194
+ return this._database._runAdminCommand({
195
+ replSetReconfig: configDoc,
196
+ });
197
+ }
198
+ }
199
+ throw new errors_1.MongoshInvalidInputError(`Couldn't find ${hostname} in ${JSON.stringify(configDoc.members)}. Is ${hostname} a member of this replset?`, errors_1.CommonErrors.InvalidArgument);
200
+ }
201
+ async freeze(secs) {
202
+ (0, helpers_1.assertArgsDefinedType)([secs], ['number'], 'ReplicaSet.freeze');
203
+ this._emitReplicaSetApiCall('freeze', { secs });
204
+ return this._database._runAdminCommand({
205
+ replSetFreeze: secs,
206
+ });
207
+ }
208
+ async stepDown(stepdownSecs, catchUpSecs) {
209
+ (0, helpers_1.assertArgsDefinedType)([stepdownSecs, catchUpSecs], [[undefined, 'number'], [undefined, 'number']], 'ReplicaSet.stepDown');
210
+ this._emitReplicaSetApiCall('stepDown', { stepdownSecs, catchUpSecs });
211
+ const cmd = {
212
+ replSetStepDown: stepdownSecs === undefined ? 60 : stepdownSecs,
213
+ };
214
+ if (catchUpSecs !== undefined) {
215
+ cmd.secondaryCatchUpPeriodSecs = catchUpSecs;
216
+ }
217
+ return this._database._runAdminCommand(cmd);
218
+ }
219
+ async syncFrom(host) {
220
+ (0, helpers_1.assertArgsDefinedType)([host], ['string'], 'ReplicaSet.syncFrom');
221
+ this._emitReplicaSetApiCall('syncFrom', { host });
222
+ return this._database._runAdminCommand({
223
+ replSetSyncFrom: host,
224
+ });
225
+ }
226
+ async secondaryOk() {
227
+ await this._mongo.setSecondaryOk();
228
+ }
229
+ [enums_1.asPrintable]() {
230
+ return `ReplicaSet class connected to ${(0, history_1.redactURICredentials)(this._database._mongo._uri)} via db ${this._database._name}`;
231
+ }
232
+ _emitReplicaSetApiCall(methodName, methodArguments = {}) {
233
+ this._database._mongo._instanceState.emitApiCallWithArgs({
234
+ method: methodName,
235
+ class: 'ReplicaSet',
236
+ arguments: methodArguments
237
+ });
238
+ }
239
+ };
240
+ __decorate([
241
+ decorators_1.returnsPromise
242
+ ], ReplicaSet.prototype, "initiate", null);
243
+ __decorate([
244
+ decorators_1.returnsPromise,
245
+ (0, decorators_1.apiVersions)([1])
246
+ ], ReplicaSet.prototype, "config", null);
247
+ __decorate([
248
+ decorators_1.returnsPromise,
249
+ (0, decorators_1.apiVersions)([1])
250
+ ], ReplicaSet.prototype, "conf", null);
251
+ __decorate([
252
+ decorators_1.returnsPromise,
253
+ (0, decorators_1.apiVersions)([])
254
+ ], ReplicaSet.prototype, "reconfig", null);
255
+ __decorate([
256
+ decorators_1.returnsPromise,
257
+ (0, decorators_1.apiVersions)([])
258
+ ], ReplicaSet.prototype, "reconfigForPSASet", null);
259
+ __decorate([
260
+ decorators_1.returnsPromise,
261
+ (0, decorators_1.apiVersions)([])
262
+ ], ReplicaSet.prototype, "status", null);
263
+ __decorate([
264
+ decorators_1.returnsPromise,
265
+ (0, decorators_1.apiVersions)([])
266
+ ], ReplicaSet.prototype, "isMaster", null);
267
+ __decorate([
268
+ decorators_1.returnsPromise,
269
+ (0, decorators_1.apiVersions)([1])
270
+ ], ReplicaSet.prototype, "hello", null);
271
+ __decorate([
272
+ decorators_1.returnsPromise,
273
+ (0, decorators_1.apiVersions)([])
274
+ ], ReplicaSet.prototype, "printSecondaryReplicationInfo", null);
275
+ __decorate([
276
+ decorators_1.deprecated,
277
+ (0, decorators_1.apiVersions)([])
278
+ ], ReplicaSet.prototype, "printSlaveReplicationInfo", null);
279
+ __decorate([
280
+ decorators_1.returnsPromise,
281
+ (0, decorators_1.apiVersions)([])
282
+ ], ReplicaSet.prototype, "printReplicationInfo", null);
283
+ __decorate([
284
+ decorators_1.returnsPromise,
285
+ (0, decorators_1.apiVersions)([])
286
+ ], ReplicaSet.prototype, "add", null);
287
+ __decorate([
288
+ decorators_1.returnsPromise,
289
+ (0, decorators_1.apiVersions)([])
290
+ ], ReplicaSet.prototype, "addArb", null);
291
+ __decorate([
292
+ decorators_1.returnsPromise,
293
+ (0, decorators_1.apiVersions)([])
294
+ ], ReplicaSet.prototype, "remove", null);
295
+ __decorate([
296
+ decorators_1.returnsPromise,
297
+ (0, decorators_1.apiVersions)([])
298
+ ], ReplicaSet.prototype, "freeze", null);
299
+ __decorate([
300
+ decorators_1.returnsPromise,
301
+ (0, decorators_1.apiVersions)([])
302
+ ], ReplicaSet.prototype, "stepDown", null);
303
+ __decorate([
304
+ decorators_1.returnsPromise,
305
+ (0, decorators_1.apiVersions)([])
306
+ ], ReplicaSet.prototype, "syncFrom", null);
307
+ __decorate([
308
+ decorators_1.deprecated,
309
+ decorators_1.returnsPromise
310
+ ], ReplicaSet.prototype, "secondaryOk", null);
311
+ ReplicaSet = __decorate([
312
+ decorators_1.shellApiClassDefault
313
+ ], ReplicaSet);
314
+ exports.default = ReplicaSet;
315
+ //# sourceMappingURL=replica-set.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"replica-set.js","sourceRoot":"","sources":["../src/replica-set.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,61 @@
1
+ import { ShellApiValueClass } from './decorators';
2
+ import { asPrintable } from './enums';
3
+ import { Document, ObjectIdType } from '@qp-mongosh/service-provider-core';
4
+ export declare class CommandResult<T = unknown> extends ShellApiValueClass {
5
+ value: T;
6
+ type: string;
7
+ constructor(type: string, value: T);
8
+ [asPrintable](): T;
9
+ toJSON(): T;
10
+ }
11
+ export declare class BulkWriteResult extends ShellApiValueClass {
12
+ acknowledged: boolean;
13
+ insertedCount: number;
14
+ insertedIds: {
15
+ [index: number]: ObjectIdType;
16
+ };
17
+ matchedCount: number;
18
+ modifiedCount: number;
19
+ deletedCount: number;
20
+ upsertedCount: number;
21
+ upsertedIds: {
22
+ [index: number]: ObjectIdType;
23
+ };
24
+ constructor(acknowledged: boolean, insertedCount: number, insertedIds: {
25
+ [index: number]: ObjectIdType;
26
+ }, matchedCount: number, modifiedCount: number, deletedCount: number, upsertedCount: number, upsertedIds: {
27
+ [index: number]: ObjectIdType;
28
+ });
29
+ }
30
+ export declare class InsertManyResult extends ShellApiValueClass {
31
+ acknowledged: boolean;
32
+ insertedIds: {
33
+ [key: number]: ObjectIdType;
34
+ };
35
+ constructor(acknowledged: boolean, insertedIds: {
36
+ [key: number]: ObjectIdType;
37
+ });
38
+ }
39
+ export declare class InsertOneResult extends ShellApiValueClass {
40
+ acknowledged: boolean;
41
+ insertedId: ObjectIdType | undefined;
42
+ constructor(acknowledged: boolean, insertedId?: ObjectIdType);
43
+ }
44
+ export declare class UpdateResult extends ShellApiValueClass {
45
+ acknowledged: boolean;
46
+ insertedId: ObjectIdType;
47
+ matchedCount: number;
48
+ modifiedCount: number;
49
+ upsertedCount: number;
50
+ constructor(acknowledged: boolean, matchedCount: number, modifiedCount: number, upsertedCount: number, insertedId: ObjectIdType);
51
+ }
52
+ export declare class DeleteResult extends ShellApiValueClass {
53
+ acknowledged: boolean;
54
+ deletedCount: number | undefined;
55
+ constructor(acknowledged: boolean, deletedCount: number | undefined);
56
+ }
57
+ export declare class CursorIterationResult extends ShellApiValueClass {
58
+ cursorHasMore: boolean;
59
+ documents: Document[];
60
+ constructor();
61
+ }
package/lib/result.js ADDED
@@ -0,0 +1,105 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.CursorIterationResult = exports.DeleteResult = exports.UpdateResult = exports.InsertOneResult = exports.InsertManyResult = exports.BulkWriteResult = exports.CommandResult = void 0;
10
+ const decorators_1 = require("./decorators");
11
+ const enums_1 = require("./enums");
12
+ let CommandResult = class CommandResult extends decorators_1.ShellApiValueClass {
13
+ constructor(type, value) {
14
+ super();
15
+ this.type = type;
16
+ this.value = value;
17
+ this[enums_1.shellApiType] = type;
18
+ }
19
+ [enums_1.asPrintable]() {
20
+ return this.value;
21
+ }
22
+ toJSON() {
23
+ return this.value;
24
+ }
25
+ };
26
+ CommandResult = __decorate([
27
+ decorators_1.shellApiClassDefault
28
+ ], CommandResult);
29
+ exports.CommandResult = CommandResult;
30
+ let BulkWriteResult = class BulkWriteResult extends decorators_1.ShellApiValueClass {
31
+ constructor(acknowledged, insertedCount, insertedIds, matchedCount, modifiedCount, deletedCount, upsertedCount, upsertedIds) {
32
+ super();
33
+ this.acknowledged = acknowledged;
34
+ this.insertedCount = insertedCount;
35
+ this.insertedIds = insertedIds;
36
+ this.matchedCount = matchedCount;
37
+ this.modifiedCount = modifiedCount;
38
+ this.deletedCount = deletedCount;
39
+ this.upsertedCount = upsertedCount;
40
+ this.upsertedIds = upsertedIds;
41
+ }
42
+ };
43
+ BulkWriteResult = __decorate([
44
+ decorators_1.shellApiClassDefault
45
+ ], BulkWriteResult);
46
+ exports.BulkWriteResult = BulkWriteResult;
47
+ let InsertManyResult = class InsertManyResult extends decorators_1.ShellApiValueClass {
48
+ constructor(acknowledged, insertedIds) {
49
+ super();
50
+ this.acknowledged = acknowledged;
51
+ this.insertedIds = insertedIds;
52
+ }
53
+ };
54
+ InsertManyResult = __decorate([
55
+ decorators_1.shellApiClassDefault
56
+ ], InsertManyResult);
57
+ exports.InsertManyResult = InsertManyResult;
58
+ let InsertOneResult = class InsertOneResult extends decorators_1.ShellApiValueClass {
59
+ constructor(acknowledged, insertedId) {
60
+ super();
61
+ this.acknowledged = acknowledged;
62
+ this.insertedId = insertedId;
63
+ }
64
+ };
65
+ InsertOneResult = __decorate([
66
+ decorators_1.shellApiClassDefault
67
+ ], InsertOneResult);
68
+ exports.InsertOneResult = InsertOneResult;
69
+ let UpdateResult = class UpdateResult extends decorators_1.ShellApiValueClass {
70
+ constructor(acknowledged, matchedCount, modifiedCount, upsertedCount, insertedId) {
71
+ super();
72
+ this.acknowledged = acknowledged;
73
+ this.insertedId = insertedId;
74
+ this.matchedCount = matchedCount;
75
+ this.modifiedCount = modifiedCount;
76
+ this.upsertedCount = upsertedCount;
77
+ }
78
+ };
79
+ UpdateResult = __decorate([
80
+ decorators_1.shellApiClassDefault
81
+ ], UpdateResult);
82
+ exports.UpdateResult = UpdateResult;
83
+ let DeleteResult = class DeleteResult extends decorators_1.ShellApiValueClass {
84
+ constructor(acknowledged, deletedCount) {
85
+ super();
86
+ this.acknowledged = acknowledged;
87
+ this.deletedCount = deletedCount;
88
+ }
89
+ };
90
+ DeleteResult = __decorate([
91
+ decorators_1.shellApiClassDefault
92
+ ], DeleteResult);
93
+ exports.DeleteResult = DeleteResult;
94
+ let CursorIterationResult = class CursorIterationResult extends decorators_1.ShellApiValueClass {
95
+ constructor() {
96
+ super();
97
+ this.cursorHasMore = true;
98
+ this.documents = [];
99
+ }
100
+ };
101
+ CursorIterationResult = __decorate([
102
+ decorators_1.shellApiClassDefault
103
+ ], CursorIterationResult);
104
+ exports.CursorIterationResult = CursorIterationResult;
105
+ //# sourceMappingURL=result.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"result.js","sourceRoot":"","sources":["../src/result.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ import { ShellApiWithMongoClass } from './decorators';
2
+ import { Document, ClientSessionOptions, ClientSession, TransactionOptions, ClusterTime, TimestampType, ServerSessionId } from '@qp-mongosh/service-provider-core';
3
+ import { asPrintable } from './enums';
4
+ import Mongo from './mongo';
5
+ import Database from './database';
6
+ export default class Session extends ShellApiWithMongoClass {
7
+ id: ServerSessionId | undefined;
8
+ _session: ClientSession;
9
+ _options: ClientSessionOptions;
10
+ _mongo: Mongo;
11
+ private _databases;
12
+ constructor(mongo: Mongo, options: ClientSessionOptions, session: ClientSession);
13
+ [asPrintable](): ServerSessionId | undefined;
14
+ getDatabase(name: string): Database;
15
+ advanceOperationTime(ts: TimestampType): void;
16
+ endSession(): Promise<void>;
17
+ hasEnded(): boolean | undefined;
18
+ getClusterTime(): ClusterTime | undefined;
19
+ getOperationTime(): TimestampType | undefined;
20
+ getOptions(): ClientSessionOptions;
21
+ startTransaction(options?: TransactionOptions): void;
22
+ commitTransaction(): Promise<Document>;
23
+ abortTransaction(): Promise<Document>;
24
+ withTransaction<T extends (...args: any) => any>(fn: T, options?: TransactionOptions): Promise<ReturnType<T>>;
25
+ }
package/lib/session.js ADDED
@@ -0,0 +1,89 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __importDefault = (this && this.__importDefault) || function (mod) {
9
+ return (mod && mod.__esModule) ? mod : { "default": mod };
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ const decorators_1 = require("./decorators");
13
+ const service_provider_core_1 = require("@qp-mongosh/service-provider-core");
14
+ const enums_1 = require("./enums");
15
+ const database_1 = __importDefault(require("./database"));
16
+ const errors_1 = require("@qp-mongosh/errors");
17
+ const helpers_1 = require("./helpers");
18
+ let Session = class Session extends decorators_1.ShellApiWithMongoClass {
19
+ constructor(mongo, options, session) {
20
+ super();
21
+ this._session = session;
22
+ this._options = options;
23
+ this._mongo = mongo;
24
+ this._databases = {};
25
+ this.id = session.id;
26
+ }
27
+ [enums_1.asPrintable]() {
28
+ return this._session.id;
29
+ }
30
+ getDatabase(name) {
31
+ (0, helpers_1.assertArgsDefinedType)([name], ['string'], 'Session.getDatabase');
32
+ if (!(0, helpers_1.isValidDatabaseName)(name)) {
33
+ throw new errors_1.MongoshInvalidInputError(`Invalid database name: ${name}`, errors_1.CommonErrors.InvalidArgument);
34
+ }
35
+ if (!(name in this._databases)) {
36
+ this._databases[name] = new database_1.default(this._mongo, name, this);
37
+ }
38
+ return this._databases[name];
39
+ }
40
+ advanceOperationTime(ts) {
41
+ this._session.advanceOperationTime(ts);
42
+ }
43
+ async endSession() {
44
+ return await this._session.endSession();
45
+ }
46
+ hasEnded() {
47
+ return this._session.hasEnded;
48
+ }
49
+ getClusterTime() {
50
+ return this._session.clusterTime;
51
+ }
52
+ getOperationTime() {
53
+ return this._session.operationTime;
54
+ }
55
+ getOptions() {
56
+ return this._options;
57
+ }
58
+ startTransaction(options = {}) {
59
+ return this._session.startTransaction(options);
60
+ }
61
+ async commitTransaction() {
62
+ return await this._session.commitTransaction();
63
+ }
64
+ async abortTransaction() {
65
+ return await this._session.abortTransaction();
66
+ }
67
+ async withTransaction(fn, options = {}) {
68
+ (0, helpers_1.assertArgsDefinedType)([fn, options], ['function', [undefined, 'object']]);
69
+ return await this._session.withTransaction(async () => await fn(), options);
70
+ }
71
+ };
72
+ __decorate([
73
+ decorators_1.returnsPromise
74
+ ], Session.prototype, "endSession", null);
75
+ __decorate([
76
+ decorators_1.returnsPromise
77
+ ], Session.prototype, "commitTransaction", null);
78
+ __decorate([
79
+ decorators_1.returnsPromise
80
+ ], Session.prototype, "abortTransaction", null);
81
+ __decorate([
82
+ decorators_1.returnsPromise
83
+ ], Session.prototype, "withTransaction", null);
84
+ Session = __decorate([
85
+ decorators_1.shellApiClassDefault,
86
+ (0, decorators_1.classPlatforms)([service_provider_core_1.ReplPlatform.CLI])
87
+ ], Session);
88
+ exports.default = Session;
89
+ //# sourceMappingURL=session.js.map