@resolveio/server-lib 9.0.14 → 9.0.15

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.
@@ -55,6 +55,7 @@ var mongodb_1 = require("mongodb");
55
55
  var index_1 = require("../index");
56
56
  var user_collection_1 = require("../collections/user.collection");
57
57
  var common_1 = require("../util/common");
58
+ var log_collection_1 = require("../collections/log.collection");
58
59
  var crypto = require('crypto');
59
60
  var scmp = require('scmp');
60
61
  var MongoManager = /** @class */ (function () {
@@ -144,9 +145,9 @@ var Collection = /** @class */ (function () {
144
145
  Collection.prototype.aggregateStream = function (pipeline, options) {
145
146
  return index_1.ResolveIOServer.getMainDB().collection(this.collectionName).aggregate(pipeline, options).stream();
146
147
  };
147
- Collection.prototype.countDocuments = function (filterQuery, options) {
148
- if (filterQuery === void 0) { filterQuery = {}; }
149
- return index_1.ResolveIOServer.getMainDB().collection(this.collectionName).countDocuments(filterQuery, options);
148
+ Collection.prototype.countDocuments = function (filter, options) {
149
+ if (filter === void 0) { filter = {}; }
150
+ return index_1.ResolveIOServer.getMainDB().collection(this.collectionName).countDocuments(filter, options);
150
151
  };
151
152
  Collection.prototype.create = function (f_docs, options) {
152
153
  var docs = [];
@@ -161,16 +162,65 @@ var Collection = /** @class */ (function () {
161
162
  Collection.prototype.createIndexes = function (indexSpecs, options) {
162
163
  return index_1.ResolveIOServer.getMainDB().collection(this.collectionName).createIndexes(indexSpecs, options);
163
164
  };
164
- Collection.prototype.deleteMany = function (filterQuery, options) {
165
- if (filterQuery === void 0) { filterQuery = {}; }
166
- return index_1.ResolveIOServer.getMainDB().collection(this.collectionName).deleteMany(filterQuery, options);
165
+ Collection.prototype.deleteMany = function (filter, options) {
166
+ if (filter === void 0) { filter = {}; }
167
+ return __awaiter(this, void 0, void 0, function () {
168
+ var docs;
169
+ var _this = this;
170
+ return __generator(this, function (_a) {
171
+ switch (_a.label) {
172
+ case 0: return [4 /*yield*/, this.find(filter)];
173
+ case 1:
174
+ docs = _a.sent();
175
+ docs.forEach(function (doc) {
176
+ log_collection_1.Logs.create({
177
+ _id: objectIdHexString(),
178
+ type: 'document',
179
+ collection: _this.collectionName,
180
+ id_document: doc['_id'],
181
+ payload: common_1.getBinarySize(JSON.stringify([doc, filter, options])) < 200000 ? JSON.stringify([doc, filter, options], null, 2) : 'Too Big',
182
+ method: 'deleteMany',
183
+ id_user: '',
184
+ user: '',
185
+ messageId: '',
186
+ route: ''
187
+ });
188
+ });
189
+ return [2 /*return*/, index_1.ResolveIOServer.getMainDB().collection(this.collectionName).deleteMany(filter, options)];
190
+ }
191
+ });
192
+ });
167
193
  };
168
- Collection.prototype.deleteOne = function (filterQuery, options) {
169
- if (filterQuery === void 0) { filterQuery = {}; }
170
- return index_1.ResolveIOServer.getMainDB().collection(this.collectionName).deleteOne(filterQuery, options);
194
+ Collection.prototype.deleteOne = function (filter, options) {
195
+ if (filter === void 0) { filter = {}; }
196
+ return __awaiter(this, void 0, void 0, function () {
197
+ var doc;
198
+ return __generator(this, function (_a) {
199
+ switch (_a.label) {
200
+ case 0: return [4 /*yield*/, this.findOne(filter)];
201
+ case 1:
202
+ doc = _a.sent();
203
+ if (doc) {
204
+ log_collection_1.Logs.create({
205
+ _id: objectIdHexString(),
206
+ type: 'document',
207
+ collection: this.collectionName,
208
+ id_document: doc['_id'],
209
+ payload: common_1.getBinarySize(JSON.stringify([doc, filter, options])) < 200000 ? JSON.stringify([doc, filter, options], null, 2) : 'Too Big',
210
+ method: 'deleteMany',
211
+ id_user: '',
212
+ user: '',
213
+ messageId: '',
214
+ route: ''
215
+ });
216
+ }
217
+ return [2 /*return*/, index_1.ResolveIOServer.getMainDB().collection(this.collectionName).deleteOne(filter, options)];
218
+ }
219
+ });
220
+ });
171
221
  };
172
- Collection.prototype.distinct = function (key, query, options) {
173
- return index_1.ResolveIOServer.getMainDB().collection(this.collectionName).distinct(key, query, options);
222
+ Collection.prototype.distinct = function (key, filter, options) {
223
+ return index_1.ResolveIOServer.getMainDB().collection(this.collectionName).distinct(key, filter, options);
174
224
  };
175
225
  Collection.prototype.drop = function (options) {
176
226
  return index_1.ResolveIOServer.getMainDB().collection(this.collectionName).drop(options);
@@ -181,61 +231,188 @@ var Collection = /** @class */ (function () {
181
231
  Collection.prototype.dropIndexes = function (options) {
182
232
  return index_1.ResolveIOServer.getMainDB().collection(this.collectionName).dropIndexes(options);
183
233
  };
184
- Collection.prototype.find = function (filterQuery, options) {
185
- if (filterQuery === void 0) { filterQuery = {}; }
186
- return index_1.ResolveIOServer.getMainDB().collection(this.collectionName).find(filterQuery, options).toArray();
234
+ Collection.prototype.find = function (filter, options) {
235
+ if (filter === void 0) { filter = {}; }
236
+ log_collection_1.Logs.create({
237
+ _id: objectIdHexString(),
238
+ type: 'query',
239
+ collection: this.collectionName,
240
+ id_document: '',
241
+ payload: common_1.getBinarySize(JSON.stringify([filter, options])) < 200000 ? JSON.stringify([filter, options], null, 2) : 'Too Big',
242
+ method: 'find',
243
+ id_user: '',
244
+ user: '',
245
+ messageId: '',
246
+ route: ''
247
+ });
248
+ return index_1.ResolveIOServer.getMainDB().collection(this.collectionName).find(filter, options).toArray();
187
249
  };
188
250
  Collection.prototype.findById = function (id, options) {
251
+ log_collection_1.Logs.create({
252
+ _id: objectIdHexString(),
253
+ type: 'query',
254
+ collection: this.collectionName,
255
+ id_document: id,
256
+ payload: common_1.getBinarySize(JSON.stringify([id, options])) < 200000 ? JSON.stringify([id, options], null, 2) : 'Too Big',
257
+ method: 'findById',
258
+ id_user: '',
259
+ user: '',
260
+ messageId: '',
261
+ route: ''
262
+ });
189
263
  return index_1.ResolveIOServer.getMainDB().collection(this.collectionName).findOne({ _id: id }, options);
190
264
  };
191
- Collection.prototype.findCount = function (filterQuery, options) {
192
- if (filterQuery === void 0) { filterQuery = {}; }
193
- return index_1.ResolveIOServer.getMainDB().collection(this.collectionName).find(filterQuery, options).count();
194
- };
195
- Collection.prototype.findCursor = function (filterQuery, options) {
196
- if (filterQuery === void 0) { filterQuery = {}; }
197
- return index_1.ResolveIOServer.getMainDB().collection(this.collectionName).find(filterQuery, options);
198
- };
199
- Collection.prototype.findStream = function (filterQuery, options, streamOptions) {
200
- if (filterQuery === void 0) { filterQuery = {}; }
201
- return index_1.ResolveIOServer.getMainDB().collection(this.collectionName).find(filterQuery, options).stream(streamOptions);
202
- };
203
- Collection.prototype.findOne = function (filterQuery, options) {
204
- if (filterQuery === void 0) { filterQuery = {}; }
205
- return index_1.ResolveIOServer.getMainDB().collection(this.collectionName).findOne(filterQuery, options);
265
+ Collection.prototype.findCount = function (filter, options) {
266
+ if (filter === void 0) { filter = {}; }
267
+ log_collection_1.Logs.create({
268
+ _id: objectIdHexString(),
269
+ type: 'query',
270
+ collection: this.collectionName,
271
+ id_document: '',
272
+ payload: common_1.getBinarySize(JSON.stringify([filter, options])) < 200000 ? JSON.stringify([filter, options], null, 2) : 'Too Big',
273
+ method: 'findCount',
274
+ id_user: '',
275
+ user: '',
276
+ messageId: '',
277
+ route: ''
278
+ });
279
+ return index_1.ResolveIOServer.getMainDB().collection(this.collectionName).find(filter, options).count();
280
+ };
281
+ Collection.prototype.findCursor = function (filter, options) {
282
+ if (filter === void 0) { filter = {}; }
283
+ return index_1.ResolveIOServer.getMainDB().collection(this.collectionName).find(filter, options);
284
+ };
285
+ Collection.prototype.findStream = function (filter, options, streamOptions) {
286
+ if (filter === void 0) { filter = {}; }
287
+ return index_1.ResolveIOServer.getMainDB().collection(this.collectionName).find(filter, options).stream(streamOptions);
288
+ };
289
+ Collection.prototype.findOne = function (filter, options) {
290
+ if (filter === void 0) { filter = {}; }
291
+ log_collection_1.Logs.create({
292
+ _id: objectIdHexString(),
293
+ type: 'query',
294
+ collection: this.collectionName,
295
+ id_document: '',
296
+ payload: common_1.getBinarySize(JSON.stringify([filter, options])) < 200000 ? JSON.stringify([filter, options], null, 2) : 'Too Big',
297
+ method: 'findOne',
298
+ id_user: '',
299
+ user: '',
300
+ messageId: '',
301
+ route: ''
302
+ });
303
+ return index_1.ResolveIOServer.getMainDB().collection(this.collectionName).findOne(filter, options);
206
304
  };
207
- Collection.prototype.findOneAndDelete = function (filterQuery, options) {
208
- var _this = this;
209
- if (filterQuery === void 0) { filterQuery = {}; }
210
- return new Promise(function (resolve, reject) {
211
- index_1.ResolveIOServer.getMainDB().collection(_this.collectionName).findOneAndDelete(filterQuery, options).then(function (res) {
212
- resolve(res.value);
213
- }, function (err) {
214
- reject(err);
305
+ Collection.prototype.findOneAndDelete = function (filter, options) {
306
+ if (filter === void 0) { filter = {}; }
307
+ return __awaiter(this, void 0, void 0, function () {
308
+ var doc;
309
+ var _this = this;
310
+ return __generator(this, function (_a) {
311
+ switch (_a.label) {
312
+ case 0: return [4 /*yield*/, this.findOne(filter)];
313
+ case 1:
314
+ doc = _a.sent();
315
+ if (doc) {
316
+ log_collection_1.Logs.create({
317
+ _id: objectIdHexString(),
318
+ type: 'document',
319
+ collection: this.collectionName,
320
+ id_document: doc['_id'],
321
+ payload: common_1.getBinarySize(JSON.stringify([doc, filter, options])) < 200000 ? JSON.stringify([doc, filter, options], null, 2) : 'Too Big',
322
+ method: 'findOneAndDelete',
323
+ id_user: '',
324
+ user: '',
325
+ messageId: '',
326
+ route: ''
327
+ });
328
+ }
329
+ return [2 /*return*/, new Promise(function (resolve, reject) {
330
+ index_1.ResolveIOServer.getMainDB().collection(_this.collectionName).findOneAndDelete(filter, options).then(function (res) {
331
+ resolve(res.value);
332
+ }, function (err) {
333
+ reject(err);
334
+ });
335
+ })];
336
+ }
215
337
  });
216
338
  });
217
339
  };
218
- Collection.prototype.findOneAndReplace = function (filterQuery, replacement, options) {
340
+ Collection.prototype.findOneAndReplace = function (filter, replacement, options) {
219
341
  var _this = this;
220
- if (filterQuery === void 0) { filterQuery = {}; }
221
- return new Promise(function (resolve, reject) {
222
- index_1.ResolveIOServer.getMainDB().collection(_this.collectionName).findOneAndReplace(filterQuery, replacement, options).then(function (res) {
223
- resolve(res.value);
224
- }, function (err) {
225
- reject(err);
342
+ if (filter === void 0) { filter = {}; }
343
+ return new Promise(function (resolve, reject) { return __awaiter(_this, void 0, void 0, function () {
344
+ var doc;
345
+ return __generator(this, function (_a) {
346
+ switch (_a.label) {
347
+ case 0:
348
+ replacement['updatedAt'] = new Date();
349
+ return [4 /*yield*/, this.findOne(filter)];
350
+ case 1:
351
+ doc = _a.sent();
352
+ if (doc) {
353
+ log_collection_1.Logs.create({
354
+ _id: objectIdHexString(),
355
+ type: 'document',
356
+ collection: this.collectionName,
357
+ id_document: doc['_id'],
358
+ payload: common_1.getBinarySize(JSON.stringify([doc, filter, replacement, options])) < 200000 ? JSON.stringify([doc, filter, replacement, options], null, 2) : 'Too Big',
359
+ method: 'findOneAndReplace',
360
+ id_user: '',
361
+ user: '',
362
+ messageId: '',
363
+ route: ''
364
+ });
365
+ }
366
+ index_1.ResolveIOServer.getMainDB().collection(this.collectionName).findOneAndReplace(filter, replacement, options).then(function (res) {
367
+ resolve(res.value);
368
+ }, function (err) {
369
+ reject(err);
370
+ });
371
+ return [2 /*return*/];
372
+ }
226
373
  });
227
- });
374
+ }); });
228
375
  };
229
- Collection.prototype.findOneAndUpdate = function (filterQuery, update, options) {
376
+ Collection.prototype.findOneAndUpdate = function (filter, update, options) {
230
377
  var _this = this;
231
- if (filterQuery === void 0) { filterQuery = {}; }
232
- return new Promise(function (resolve, reject) {
233
- index_1.ResolveIOServer.getMainDB().collection(_this.collectionName).findOneAndUpdate(filterQuery, update, options).then(function (res) {
234
- resolve(res.value);
235
- }, function (err) {
236
- reject(err);
378
+ if (filter === void 0) { filter = {}; }
379
+ return new Promise(function (resolve, reject) { return __awaiter(_this, void 0, void 0, function () {
380
+ var doc;
381
+ return __generator(this, function (_a) {
382
+ switch (_a.label) {
383
+ case 0:
384
+ if (!update['$set']) {
385
+ update['$set'] = { updatedAt: new Date() };
386
+ }
387
+ else {
388
+ update['$set']['updatedAt'] = new Date();
389
+ }
390
+ return [4 /*yield*/, this.findOne(filter)];
391
+ case 1:
392
+ doc = _a.sent();
393
+ if (doc) {
394
+ log_collection_1.Logs.create({
395
+ _id: objectIdHexString(),
396
+ type: 'document',
397
+ collection: this.collectionName,
398
+ id_document: doc['_id'],
399
+ payload: common_1.getBinarySize(JSON.stringify([doc, filter, update, options])) < 200000 ? JSON.stringify([doc, filter, update, options], null, 2) : 'Too Big',
400
+ method: 'findOneAndUpdate',
401
+ id_user: '',
402
+ user: '',
403
+ messageId: '',
404
+ route: ''
405
+ });
406
+ }
407
+ index_1.ResolveIOServer.getMainDB().collection(this.collectionName).findOneAndUpdate(filter, update, options).then(function (res) {
408
+ resolve(res.value);
409
+ }, function (err) {
410
+ reject(err);
411
+ });
412
+ return [2 /*return*/];
413
+ }
237
414
  });
238
- });
415
+ }); });
239
416
  };
240
417
  Collection.prototype.indexes = function (options) {
241
418
  return index_1.ResolveIOServer.getMainDB().collection(this.collectionName).indexes(options);
@@ -252,6 +429,20 @@ var Collection = /** @class */ (function () {
252
429
  doc['updatedAt'] = new Date();
253
430
  });
254
431
  }
432
+ docs.forEach(function (doc) {
433
+ log_collection_1.Logs.create({
434
+ _id: objectIdHexString(),
435
+ type: 'document',
436
+ collection: _this.collectionName,
437
+ id_document: doc['_id'],
438
+ payload: common_1.getBinarySize(JSON.stringify([doc, options])) < 200000 ? JSON.stringify([doc, options], null, 2) : 'Too Big',
439
+ method: 'insertMany',
440
+ id_user: '',
441
+ user: '',
442
+ messageId: '',
443
+ route: ''
444
+ });
445
+ });
255
446
  index_1.ResolveIOServer.getMainDB().collection(_this.collectionName).insertMany(docs, options).then(function (res) {
256
447
  if (res.result.ok) {
257
448
  resolve(docs);
@@ -271,6 +462,18 @@ var Collection = /** @class */ (function () {
271
462
  doc['createdAt'] = new Date();
272
463
  doc['updatedAt'] = new Date();
273
464
  }
465
+ log_collection_1.Logs.create({
466
+ _id: objectIdHexString(),
467
+ type: 'document',
468
+ collection: _this.collectionName,
469
+ id_document: doc['_id'],
470
+ payload: common_1.getBinarySize(JSON.stringify([doc, options])) < 200000 ? JSON.stringify([doc, options], null, 2) : 'Too Big',
471
+ method: 'insertOne',
472
+ id_user: '',
473
+ user: '',
474
+ messageId: '',
475
+ route: ''
476
+ });
274
477
  index_1.ResolveIOServer.getMainDB().collection(_this.collectionName).insertOne(doc, options).then(function (res) {
275
478
  if (res.result.ok) {
276
479
  resolve(doc);
@@ -292,29 +495,104 @@ var Collection = /** @class */ (function () {
292
495
  Collection.prototype.rename = function (newName, options) {
293
496
  return index_1.ResolveIOServer.getMainDB().collection(this.collectionName).rename(newName, options);
294
497
  };
295
- Collection.prototype.replaceOne = function (filter, doc, options) {
296
- return index_1.ResolveIOServer.getMainDB().collection(this.collectionName).replaceOne(filter, doc, options);
498
+ Collection.prototype.replaceOne = function (filter, replacement, options) {
499
+ return __awaiter(this, void 0, void 0, function () {
500
+ var doc;
501
+ return __generator(this, function (_a) {
502
+ switch (_a.label) {
503
+ case 0: return [4 /*yield*/, this.findOne(filter)];
504
+ case 1:
505
+ doc = _a.sent();
506
+ if (doc) {
507
+ log_collection_1.Logs.create({
508
+ _id: objectIdHexString(),
509
+ type: 'document',
510
+ collection: this.collectionName,
511
+ id_document: doc['_id'],
512
+ payload: common_1.getBinarySize(JSON.stringify([doc, filter, replacement, options])) < 200000 ? JSON.stringify([doc, filter, replacement, options], null, 2) : 'Too Big',
513
+ method: 'replaceOne',
514
+ id_user: '',
515
+ user: '',
516
+ messageId: '',
517
+ route: ''
518
+ });
519
+ }
520
+ return [2 /*return*/, index_1.ResolveIOServer.getMainDB().collection(this.collectionName).replaceOne(filter, replacement, options)];
521
+ }
522
+ });
523
+ });
297
524
  };
298
525
  Collection.prototype.stats = function (options) {
299
526
  return index_1.ResolveIOServer.getMainDB().collection(this.collectionName).stats(options);
300
527
  };
301
528
  Collection.prototype.updateMany = function (filter, update, options) {
302
- if (!update['$set']) {
303
- update['$set'] = { updatedAt: new Date() };
304
- }
305
- else {
306
- update['$set']['updatedAt'] = new Date();
307
- }
308
- return index_1.ResolveIOServer.getMainDB().collection(this.collectionName).updateMany(filter, update, options);
529
+ return __awaiter(this, void 0, void 0, function () {
530
+ var docs;
531
+ var _this = this;
532
+ return __generator(this, function (_a) {
533
+ switch (_a.label) {
534
+ case 0:
535
+ if (!update['$set']) {
536
+ update['$set'] = { updatedAt: new Date() };
537
+ }
538
+ else {
539
+ update['$set']['updatedAt'] = new Date();
540
+ }
541
+ return [4 /*yield*/, this.find(filter)];
542
+ case 1:
543
+ docs = _a.sent();
544
+ docs.forEach(function (doc) {
545
+ log_collection_1.Logs.create({
546
+ _id: objectIdHexString(),
547
+ type: 'document',
548
+ collection: _this.collectionName,
549
+ id_document: doc['_id'],
550
+ payload: common_1.getBinarySize(JSON.stringify([doc, filter, update, options])) < 200000 ? JSON.stringify([doc, filter, update, options], null, 2) : 'Too Big',
551
+ method: 'updateMany',
552
+ id_user: '',
553
+ user: '',
554
+ messageId: '',
555
+ route: ''
556
+ });
557
+ });
558
+ return [2 /*return*/, index_1.ResolveIOServer.getMainDB().collection(this.collectionName).updateMany(filter, update, options)];
559
+ }
560
+ });
561
+ });
309
562
  };
310
563
  Collection.prototype.updateOne = function (filter, update, options) {
311
- if (!update['$set']) {
312
- update['$set'] = { updatedAt: new Date() };
313
- }
314
- else {
315
- update['$set']['updatedAt'] = new Date();
316
- }
317
- return index_1.ResolveIOServer.getMainDB().collection(this.collectionName).updateOne(filter, update, options);
564
+ return __awaiter(this, void 0, void 0, function () {
565
+ var doc;
566
+ return __generator(this, function (_a) {
567
+ switch (_a.label) {
568
+ case 0:
569
+ if (!update['$set']) {
570
+ update['$set'] = { updatedAt: new Date() };
571
+ }
572
+ else {
573
+ update['$set']['updatedAt'] = new Date();
574
+ }
575
+ return [4 /*yield*/, this.findOne(filter)];
576
+ case 1:
577
+ doc = _a.sent();
578
+ if (doc) {
579
+ log_collection_1.Logs.create({
580
+ _id: objectIdHexString(),
581
+ type: 'document',
582
+ collection: this.collectionName,
583
+ id_document: doc['_id'],
584
+ payload: common_1.getBinarySize(JSON.stringify([doc, filter, update, options])) < 200000 ? JSON.stringify([doc, filter, update, options], null, 2) : 'Too Big',
585
+ method: 'updateOne',
586
+ id_user: '',
587
+ user: '',
588
+ messageId: '',
589
+ route: ''
590
+ });
591
+ }
592
+ return [2 /*return*/, index_1.ResolveIOServer.getMainDB().collection(this.collectionName).updateOne(filter, update, options)];
593
+ }
594
+ });
595
+ });
318
596
  };
319
597
  Collection.prototype.watchCollection = function (options) {
320
598
  return index_1.ResolveIOServer.getMainDB().collection(this.collectionName).watch(options);