@stemy/backend 3.2.2 → 3.2.5

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.
@@ -568,7 +568,7 @@
568
568
  if (foreignField === void 0) { foreignField = "_id"; }
569
569
  if (shouldUnwind === void 0) { shouldUnwind = true; }
570
570
  as = as || localField.replace("Id", "");
571
- var pipelines = [
571
+ var stages = [
572
572
  {
573
573
  $lookup: {
574
574
  from: from,
@@ -576,17 +576,18 @@
576
576
  foreignField: foreignField,
577
577
  as: as
578
578
  }
579
- }
580
- ];
581
- if (shouldUnwind) {
582
- pipelines.push({
579
+ },
580
+ {
583
581
  $unwind: {
584
582
  path: "$" + as,
585
583
  preserveNullAndEmptyArrays: true
586
584
  }
587
- });
585
+ }
586
+ ];
587
+ if (!shouldUnwind) {
588
+ stages.splice(1, 1);
588
589
  }
589
- return pipelines;
590
+ return stages;
590
591
  }
591
592
  function letsLookupStage(from, pipeline, as, letFields) {
592
593
  if (as === void 0) { as = null; }
@@ -602,6 +603,31 @@
602
603
  }
603
604
  };
604
605
  }
606
+ function matchStage(match) {
607
+ return { $match: match };
608
+ }
609
+ function matchField(field, filter, when) {
610
+ return { field: field, filter: filter, when: when };
611
+ }
612
+ function matchFieldStages() {
613
+ var fields = [];
614
+ for (var _i = 0; _i < arguments.length; _i++) {
615
+ fields[_i] = arguments[_i];
616
+ }
617
+ var match = {};
618
+ fields.forEach(function (field) {
619
+ if (field.when) {
620
+ match[field.field] = field.filter;
621
+ }
622
+ });
623
+ return Object.keys(match).length > 0 ? [matchStage(match)] : [];
624
+ }
625
+ function projectStage(fields) {
626
+ return { $project: fields };
627
+ }
628
+ function unwindStage(fieldOrOpts) {
629
+ return { $unwind: fieldOrOpts };
630
+ }
605
631
  function hydratePopulated(modelType, json) {
606
632
  var e_2, _a;
607
633
  var object = modelType.hydrate(json);
@@ -651,7 +677,7 @@
651
677
  sortAggregation = !sortField ? [] : [{
652
678
  $sort: (_a = {}, _a[sortField] = sortField == params.sort ? 1 : -1, _a)
653
679
  }];
654
- return [4 /*yield*/, model.aggregate(__spread(aggregations, sortAggregation, [
680
+ return [4 /*yield*/, model.aggregate(__spreadArray(__spreadArray(__spreadArray([], __read(aggregations)), __read(sortAggregation)), [
655
681
  {
656
682
  $group: {
657
683
  _id: "results",
@@ -1706,9 +1732,7 @@
1706
1732
  return [4 /*yield*/, mongoose.connect(this.configuration.resolve("mongoUri"), {
1707
1733
  dbName: this.configuration.resolve("mongoDb"),
1708
1734
  user: this.configuration.resolve("mongoUser"),
1709
- pass: this.configuration.resolve("mongoPassword"),
1710
- useNewUrlParser: true,
1711
- useUnifiedTopology: true
1735
+ pass: this.configuration.resolve("mongoPassword")
1712
1736
  })];
1713
1737
  case 1:
1714
1738
  _a.conn = (_b.sent()).connection;
@@ -6169,7 +6193,7 @@
6169
6193
  });
6170
6194
  });
6171
6195
  // Add other providers
6172
- allProviders.push.apply(allProviders, __spread(fixtureTypes, fixtureProviders, paramProviders, jobProviders, restOptions.middlewares, restOptions.controllers, socketOptions.middlewares, socketOptions.controllers, providers, [{
6196
+ allProviders.push.apply(allProviders, __spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray([], __read(fixtureTypes)), __read(fixtureProviders)), __read(paramProviders)), __read(jobProviders)), __read(restOptions.middlewares)), __read(restOptions.controllers)), __read(socketOptions.middlewares)), __read(socketOptions.controllers)), __read(providers)), [{
6173
6197
  provide: EXPRESS,
6174
6198
  useFactory: function (container) {
6175
6199
  return container.resolve(exports.BackendProvider).express;
@@ -6360,6 +6384,9 @@
6360
6384
  exports.lcFirst = lcFirst;
6361
6385
  exports.letsLookupStage = letsLookupStage;
6362
6386
  exports.lookupStages = lookupStages;
6387
+ exports.matchField = matchField;
6388
+ exports.matchFieldStages = matchFieldStages;
6389
+ exports.matchStage = matchStage;
6363
6390
  exports.md5 = md5;
6364
6391
  exports.mkdirRecursive = mkdirRecursive;
6365
6392
  exports.multiSubscription = multiSubscription;
@@ -6368,6 +6395,7 @@
6368
6395
  exports.padRight = padRight;
6369
6396
  exports.paginate = paginate;
6370
6397
  exports.paginateAggregations = paginateAggregations;
6398
+ exports.projectStage = projectStage;
6371
6399
  exports.promiseTimeout = promiseTimeout;
6372
6400
  exports.proxyFunction = proxyFunction;
6373
6401
  exports.proxyFunctions = proxyFunctions;
@@ -6383,6 +6411,7 @@
6383
6411
  exports.toImage = toImage;
6384
6412
  exports.ucFirst = ucFirst;
6385
6413
  exports.uniqueItems = uniqueItems;
6414
+ exports.unwindStage = unwindStage;
6386
6415
  exports.valueToPromise = valueToPromise;
6387
6416
  exports.writeFile = writeFile;
6388
6417