@steedos/objectql 2.5.0-beta.8 → 2.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.
Files changed (77) hide show
  1. package/lib/driver/driver.d.ts +1 -0
  2. package/lib/driver/field-encrytion/mongosharedconst.js +2 -2
  3. package/lib/driver/field-encrytion/mongosharedconst.js.map +1 -1
  4. package/lib/driver/meteorMongo.js +2 -2
  5. package/lib/driver/meteorMongo.js.map +1 -1
  6. package/lib/driver/mongo.d.ts +1 -0
  7. package/lib/driver/mongo.js +17 -0
  8. package/lib/driver/mongo.js.map +1 -1
  9. package/lib/dynamic-load/package.js +0 -1
  10. package/lib/dynamic-load/package.js.map +1 -1
  11. package/lib/index.d.ts +1 -1
  12. package/lib/index.js +2 -3
  13. package/lib/index.js.map +1 -1
  14. package/lib/services/datasourceServiceFactory.js +32 -2
  15. package/lib/services/datasourceServiceFactory.js.map +1 -1
  16. package/lib/services/index.d.ts +0 -3
  17. package/lib/services/index.js +0 -3
  18. package/lib/services/index.js.map +1 -1
  19. package/lib/triggers/trigger.d.ts +1 -0
  20. package/lib/triggers/trigger.js +51 -0
  21. package/lib/triggers/trigger.js.map +1 -0
  22. package/lib/ts-types/triggerActionParams.d.ts +2 -2
  23. package/lib/types/datasource.d.ts +2 -1
  24. package/lib/types/datasource.js +21 -29
  25. package/lib/types/datasource.js.map +1 -1
  26. package/lib/types/index.d.ts +1 -1
  27. package/lib/types/index.js.map +1 -1
  28. package/lib/types/object.d.ts +7 -0
  29. package/lib/types/object.js +257 -55
  30. package/lib/types/object.js.map +1 -1
  31. package/lib/types/object_dynamic_load.d.ts +1 -0
  32. package/lib/types/object_dynamic_load.js +4 -3
  33. package/lib/types/object_dynamic_load.js.map +1 -1
  34. package/lib/types/object_events.js +2 -1
  35. package/lib/types/object_events.js.map +1 -1
  36. package/lib/util/transform.js +3 -18
  37. package/lib/util/transform.js.map +1 -1
  38. package/package.json +16 -15
  39. package/lib/services/helpers/graphql/consts.d.ts +0 -21
  40. package/lib/services/helpers/graphql/consts.js +0 -25
  41. package/lib/services/helpers/graphql/consts.js.map +0 -1
  42. package/lib/services/helpers/graphql/dealWithRelatedFields.d.ts +0 -16
  43. package/lib/services/helpers/graphql/dealWithRelatedFields.js +0 -73
  44. package/lib/services/helpers/graphql/dealWithRelatedFields.js.map +0 -1
  45. package/lib/services/helpers/graphql/generateActionGraphqlProp.d.ts +0 -2
  46. package/lib/services/helpers/graphql/generateActionGraphqlProp.js +0 -38
  47. package/lib/services/helpers/graphql/generateActionGraphqlProp.js.map +0 -1
  48. package/lib/services/helpers/graphql/generateSettingsGraphql.d.ts +0 -5
  49. package/lib/services/helpers/graphql/generateSettingsGraphql.js +0 -216
  50. package/lib/services/helpers/graphql/generateSettingsGraphql.js.map +0 -1
  51. package/lib/services/helpers/graphql/getGraphqlActions.d.ts +0 -2
  52. package/lib/services/helpers/graphql/getGraphqlActions.js +0 -930
  53. package/lib/services/helpers/graphql/getGraphqlActions.js.map +0 -1
  54. package/lib/services/helpers/graphql/getPrimaryFieldType.d.ts +0 -2
  55. package/lib/services/helpers/graphql/getPrimaryFieldType.js +0 -39
  56. package/lib/services/helpers/graphql/getPrimaryFieldType.js.map +0 -1
  57. package/lib/services/helpers/graphql/getQueryFields.d.ts +0 -2
  58. package/lib/services/helpers/graphql/getQueryFields.js +0 -32
  59. package/lib/services/helpers/graphql/getQueryFields.js.map +0 -1
  60. package/lib/services/helpers/graphql/index.d.ts +0 -7
  61. package/lib/services/helpers/graphql/index.js +0 -21
  62. package/lib/services/helpers/graphql/index.js.map +0 -1
  63. package/lib/services/helpers/graphql/utils.d.ts +0 -8
  64. package/lib/services/helpers/graphql/utils.js +0 -128
  65. package/lib/services/helpers/graphql/utils.js.map +0 -1
  66. package/lib/services/helpers/rest.d.ts +0 -4
  67. package/lib/services/helpers/rest.js +0 -61
  68. package/lib/services/helpers/rest.js.map +0 -1
  69. package/lib/services/objectService.d.ts +0 -230
  70. package/lib/services/objectService.js +0 -1078
  71. package/lib/services/objectService.js.map +0 -1
  72. package/lib/services/objectServiceDispatcher.d.ts +0 -1
  73. package/lib/services/objectServiceDispatcher.js +0 -484
  74. package/lib/services/objectServiceDispatcher.js.map +0 -1
  75. package/lib/services/objectServiceFactory.d.ts +0 -1
  76. package/lib/services/objectServiceFactory.js +0 -29
  77. package/lib/services/objectServiceFactory.js.map +0 -1
@@ -22,6 +22,8 @@ var field_permission_1 = require("./field_permission");
22
22
  var dynamic_load_1 = require("../dynamic-load");
23
23
  var cachers_1 = require("@steedos/cachers");
24
24
  var lodash_2 = require("lodash");
25
+ var trigger_1 = require("../triggers/trigger");
26
+ var auth = require("@steedos/auth");
25
27
  var clone = require('clone');
26
28
  exports.MAX_MASTER_DETAIL_LEAVE = 3;
27
29
  var getRepeatObjectNameFromPaths = function (paths) {
@@ -69,6 +71,7 @@ var SteedosObjectType = (function (_super) {
69
71
  _this._triggers = {};
70
72
  _this._list_views = {};
71
73
  _this._triggersQueue = {};
74
+ _this._baseTriggersQueue = {};
72
75
  _this._idFieldNames = [];
73
76
  _this._masters = [];
74
77
  _this._details = [];
@@ -116,6 +119,29 @@ var SteedosObjectType = (function (_super) {
116
119
  _this._idFieldName = '_id';
117
120
  }
118
121
  _this.schema.setObjectMap(_this.name, { datasourceName: _this.datasource.name, _id: config._id });
122
+ if (datasource.name === "meteor" || datasource.name === "default") {
123
+ var baseObjectConfig = (0, _1.getObjectConfig)(_1.MONGO_BASE_OBJECT);
124
+ var _baseObjectConfig = clone(baseObjectConfig);
125
+ delete _baseObjectConfig.hidden;
126
+ if (datasource.name === 'meteor') {
127
+ var _baseTriggers = {};
128
+ var listeners = _baseObjectConfig.listeners;
129
+ for (var key in listeners) {
130
+ if (Object.prototype.hasOwnProperty.call(listeners, key)) {
131
+ var listener = listeners[key];
132
+ var triggers = (0, util_1.transformListenersToTriggers)(config, listener);
133
+ (0, util_1.extend)(_baseTriggers, triggers);
134
+ }
135
+ }
136
+ _this._baseTriggers = _baseTriggers;
137
+ }
138
+ for (var name in _baseObjectConfig.listeners) {
139
+ if (Object.prototype.hasOwnProperty.call(_baseObjectConfig.listeners, name)) {
140
+ var listener = _baseObjectConfig.listeners[name];
141
+ _this.setBaseListener(name, listener);
142
+ }
143
+ }
144
+ }
119
145
  return _this;
120
146
  }
121
147
  Object.defineProperty(SteedosObjectType.prototype, "datasource", {
@@ -294,6 +320,38 @@ var SteedosObjectType = (function (_super) {
294
320
  SteedosObjectType.prototype.unregisterTrigger = function (trigger) {
295
321
  delete this._triggersQueue[trigger.when][trigger.name];
296
322
  };
323
+ SteedosObjectType.prototype.setBaseListener = function (listener_name, config) {
324
+ var _this = this;
325
+ this.listeners[listener_name] = config;
326
+ exports._TRIGGERKEYS.forEach(function (key) {
327
+ var event = config[key];
328
+ if (_.isFunction(event)) {
329
+ _this.setBaseTrigger("".concat(listener_name, "_").concat(event.name), key, event);
330
+ }
331
+ });
332
+ };
333
+ SteedosObjectType.prototype.setBaseTrigger = function (name, when, todo, on) {
334
+ if (on === void 0) { on = 'server'; }
335
+ var triggerConfig = {
336
+ name: name,
337
+ on: on,
338
+ when: when,
339
+ todo: todo,
340
+ };
341
+ var trigger = new _1.SteedosTriggerType(triggerConfig);
342
+ this.registerBaseTrigger(trigger);
343
+ };
344
+ SteedosObjectType.prototype.registerBaseTrigger = function (trigger) {
345
+ if (!_.isString(this._datasource.driver) || this._datasource.driver != datasource_1.SteedosDatabaseDriverType.MeteorMongo || trigger.when === 'beforeFind' || trigger.when === 'afterFind' || trigger.when === 'afterFindOne' || trigger.when === 'afterCount' || trigger.when === 'beforeAggregate' || trigger.when === 'afterAggregate') {
346
+ if (!trigger.todo) {
347
+ return;
348
+ }
349
+ if (!this._baseTriggersQueue[trigger.when]) {
350
+ this._baseTriggersQueue[trigger.when] = {};
351
+ }
352
+ this._baseTriggersQueue[trigger.when][trigger.name] = trigger;
353
+ }
354
+ };
297
355
  SteedosObjectType.prototype.runTirgger = function (trigger, context) {
298
356
  return tslib_1.__awaiter(this, void 0, void 0, function () {
299
357
  var object_name, event, todoWrapper, thisArg;
@@ -380,6 +438,142 @@ var SteedosObjectType = (function (_super) {
380
438
  });
381
439
  });
382
440
  };
441
+ SteedosObjectType.prototype.runBaseTriggers = function (when, context) {
442
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
443
+ var triggers, triggerKeys, index, trigger;
444
+ return tslib_1.__generator(this, function (_a) {
445
+ switch (_a.label) {
446
+ case 0:
447
+ triggers = this._baseTriggersQueue[when];
448
+ if (!triggers) return [3, 4];
449
+ triggerKeys = _.keys(triggers);
450
+ index = 0;
451
+ _a.label = 1;
452
+ case 1:
453
+ if (!(index < triggerKeys.length)) return [3, 4];
454
+ trigger = triggers[triggerKeys[index]];
455
+ return [4, this.runTirgger(trigger, context)];
456
+ case 2:
457
+ _a.sent();
458
+ _a.label = 3;
459
+ case 3:
460
+ index++;
461
+ return [3, 1];
462
+ case 4: return [2];
463
+ }
464
+ });
465
+ });
466
+ };
467
+ SteedosObjectType.prototype.getFunctionTriggers = function (when) {
468
+ var _this = this;
469
+ var triggers = [];
470
+ var cache = (0, cachers_1.getCacher)('triggers');
471
+ var _triggers = cache.get('triggers');
472
+ if (!_.isEmpty(_triggers)) {
473
+ _.map(_triggers, function (item) {
474
+ if (item && item.metadata) {
475
+ var metadata = item.metadata;
476
+ if (metadata.isEnabled && (metadata.when === when || ((0, lodash_2.isArray)(metadata.when) && (0, lodash_2.includes)(metadata.when, when)))) {
477
+ if (metadata.isPattern) {
478
+ try {
479
+ if (metadata.listenTo === '*') {
480
+ triggers.push(item);
481
+ }
482
+ else if (_.isArray(metadata.listenTo) && _.include(metadata.listenTo, _this.name)) {
483
+ triggers.push(item);
484
+ }
485
+ else if (_.isRegExp(metadata.listenTo) && metadata.listenTo.test(_this.name)) {
486
+ triggers.push(item);
487
+ }
488
+ else if (_.isString(metadata.listenTo) && metadata.listenTo.startsWith("/")) {
489
+ try {
490
+ if (_.isRegExp(eval(metadata.listenTo)) && eval(metadata.listenTo).test(_this.name)) {
491
+ triggers.push(item);
492
+ }
493
+ }
494
+ catch (error) {
495
+ }
496
+ }
497
+ }
498
+ catch (error) {
499
+ console.log("error", error);
500
+ }
501
+ }
502
+ else {
503
+ if (metadata.listenTo === _this.name) {
504
+ triggers.push(item);
505
+ }
506
+ }
507
+ }
508
+ }
509
+ });
510
+ }
511
+ return triggers;
512
+ };
513
+ SteedosObjectType.prototype.runFunctionTriggers = function (when, context) {
514
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
515
+ var broker, triggers, triggers_1, triggers_1_1, trigger, params, result, e_2_1;
516
+ var e_2, _a;
517
+ return tslib_1.__generator(this, function (_b) {
518
+ switch (_b.label) {
519
+ case 0:
520
+ broker = this._schema.metadataBroker;
521
+ triggers = this.getFunctionTriggers(when);
522
+ if (_.isEmpty(triggers)) {
523
+ return [2];
524
+ }
525
+ _b.label = 1;
526
+ case 1:
527
+ _b.trys.push([1, 6, 7, 8]);
528
+ triggers_1 = tslib_1.__values(triggers), triggers_1_1 = triggers_1.next();
529
+ _b.label = 2;
530
+ case 2:
531
+ if (!!triggers_1_1.done) return [3, 5];
532
+ trigger = triggers_1_1.value;
533
+ params = (0, util_1.generateActionParams)(when, context);
534
+ return [4, (0, trigger_1.runTriggerFunction)(trigger.metadata.handler, {}, {
535
+ params: params,
536
+ broker: broker,
537
+ getObject: getObject,
538
+ getUser: auth.getSessionByUserId
539
+ })];
540
+ case 3:
541
+ result = _b.sent();
542
+ if (when == 'beforeInsert' || when == 'beforeUpdate') {
543
+ if (result && result.doc && _.isObject(result.doc)) {
544
+ Object.assign(context.doc, result.doc);
545
+ }
546
+ }
547
+ if (when == 'beforeFind') {
548
+ if (result && result.query && _.isObject(result.query)) {
549
+ Object.assign(context.query, result.query);
550
+ }
551
+ }
552
+ if (when == 'afterFind') {
553
+ if (result && result.data && _.isObject(result.data)) {
554
+ Object.assign(context.data, result.data);
555
+ }
556
+ }
557
+ _b.label = 4;
558
+ case 4:
559
+ triggers_1_1 = triggers_1.next();
560
+ return [3, 2];
561
+ case 5: return [3, 8];
562
+ case 6:
563
+ e_2_1 = _b.sent();
564
+ e_2 = { error: e_2_1 };
565
+ return [3, 8];
566
+ case 7:
567
+ try {
568
+ if (triggers_1_1 && !triggers_1_1.done && (_a = triggers_1.return)) _a.call(triggers_1);
569
+ }
570
+ finally { if (e_2) throw e_2.error; }
571
+ return [7];
572
+ case 8: return [2];
573
+ }
574
+ });
575
+ });
576
+ };
383
577
  SteedosObjectType.prototype.getTriggerActions = function (when) {
384
578
  var _this = this;
385
579
  var triggers = [];
@@ -389,34 +583,36 @@ var SteedosObjectType = (function (_super) {
389
583
  _.map(triggerActions, function (item) {
390
584
  if (item && item.metadata) {
391
585
  var metadata = item.metadata;
392
- if (metadata.isPattern) {
393
- try {
394
- if (metadata.listenTo === '*') {
395
- triggers.push(item);
396
- }
397
- else if (_.isArray(metadata.listenTo) && _.include(metadata.listenTo, _this.name)) {
398
- triggers.push(item);
399
- }
400
- else if (_.isRegExp(metadata.listenTo) && metadata.listenTo.test(_this.name)) {
401
- triggers.push(item);
402
- }
403
- else if (_.isString(metadata.listenTo) && metadata.listenTo.startsWith("/")) {
404
- try {
405
- if (_.isRegExp(eval(metadata.listenTo)) && eval(metadata.listenTo).test(_this.name)) {
406
- triggers.push(item);
407
- }
586
+ if (metadata.when === when || ((0, lodash_2.isArray)(metadata.when) && (0, lodash_2.includes)(metadata.when, when))) {
587
+ if (metadata.isPattern) {
588
+ try {
589
+ if (metadata.listenTo === '*') {
590
+ triggers.push(item);
591
+ }
592
+ else if (_.isArray(metadata.listenTo) && _.include(metadata.listenTo, _this.name)) {
593
+ triggers.push(item);
594
+ }
595
+ else if (_.isRegExp(metadata.listenTo) && metadata.listenTo.test(_this.name)) {
596
+ triggers.push(item);
408
597
  }
409
- catch (error) {
598
+ else if (_.isString(metadata.listenTo) && metadata.listenTo.startsWith("/")) {
599
+ try {
600
+ if (_.isRegExp(eval(metadata.listenTo)) && eval(metadata.listenTo).test(_this.name)) {
601
+ triggers.push(item);
602
+ }
603
+ }
604
+ catch (error) {
605
+ }
410
606
  }
411
607
  }
608
+ catch (error) {
609
+ console.log("error", error);
610
+ }
412
611
  }
413
- catch (error) {
414
- console.log("error", error);
415
- }
416
- }
417
- else {
418
- if (metadata.when === when && metadata.listenTo === _this.name) {
419
- triggers.push(item);
612
+ else {
613
+ if (metadata.listenTo === _this.name) {
614
+ triggers.push(item);
615
+ }
420
616
  }
421
617
  }
422
618
  }
@@ -426,8 +622,8 @@ var SteedosObjectType = (function (_super) {
426
622
  };
427
623
  SteedosObjectType.prototype.runTriggerActions = function (when, context) {
428
624
  return tslib_1.__awaiter(this, void 0, void 0, function () {
429
- var triggers, triggers_1, triggers_1_1, trigger, params, result, e_2_1;
430
- var e_2, _a;
625
+ var triggers, triggers_2, triggers_2_1, trigger, params, result, e_3_1;
626
+ var e_3, _a;
431
627
  return tslib_1.__generator(this, function (_b) {
432
628
  switch (_b.label) {
433
629
  case 0:
@@ -438,11 +634,11 @@ var SteedosObjectType = (function (_super) {
438
634
  _b.label = 1;
439
635
  case 1:
440
636
  _b.trys.push([1, 6, 7, 8]);
441
- triggers_1 = tslib_1.__values(triggers), triggers_1_1 = triggers_1.next();
637
+ triggers_2 = tslib_1.__values(triggers), triggers_2_1 = triggers_2.next();
442
638
  _b.label = 2;
443
639
  case 2:
444
- if (!!triggers_1_1.done) return [3, 5];
445
- trigger = triggers_1_1.value;
640
+ if (!!triggers_2_1.done) return [3, 5];
641
+ trigger = triggers_2_1.value;
446
642
  params = (0, util_1.generateActionParams)(when, context);
447
643
  return [4, this._schema.metadataBroker.call("".concat(trigger.service.name, ".").concat(trigger.metadata.action), params).catch(function (error) {
448
644
  if (error && _.isObject(error) && error.type === 'SERVICE_NOT_AVAILABLE') {
@@ -464,25 +660,25 @@ var SteedosObjectType = (function (_super) {
464
660
  Object.assign(context.query, result.query);
465
661
  }
466
662
  }
467
- if (when == 'afterFind') {
663
+ if (when == 'afterFind' || when == 'afterFindOne' || when == 'afterCount') {
468
664
  if (result && result.data && _.isObject(result.data)) {
469
665
  Object.assign(context.data, result.data);
470
666
  }
471
667
  }
472
668
  _b.label = 4;
473
669
  case 4:
474
- triggers_1_1 = triggers_1.next();
670
+ triggers_2_1 = triggers_2.next();
475
671
  return [3, 2];
476
672
  case 5: return [3, 8];
477
673
  case 6:
478
- e_2_1 = _b.sent();
479
- e_2 = { error: e_2_1 };
674
+ e_3_1 = _b.sent();
675
+ e_3 = { error: e_3_1 };
480
676
  return [3, 8];
481
677
  case 7:
482
678
  try {
483
- if (triggers_1_1 && !triggers_1_1.done && (_a = triggers_1.return)) _a.call(triggers_1);
679
+ if (triggers_2_1 && !triggers_2_1.done && (_a = triggers_2.return)) _a.call(triggers_2);
484
680
  }
485
- finally { if (e_2) throw e_2.error; }
681
+ finally { if (e_3) throw e_3.error; }
486
682
  return [7];
487
683
  case 8: return [2];
488
684
  }
@@ -638,9 +834,9 @@ var SteedosObjectType = (function (_super) {
638
834
  return this._actions[action_name];
639
835
  };
640
836
  SteedosObjectType.prototype.refreshIndexes = function () {
641
- var e_3, _a;
837
+ var e_4, _a;
642
838
  return tslib_1.__awaiter(this, void 0, void 0, function () {
643
- var adapter, collection, defaultAdapter, indexesInfo, dropIndexNames, key, field, info, indexesInfo_1, indexesInfo_1_1, indexInfo, key, error_1, e_3_1, error_2;
839
+ var adapter, collection, defaultAdapter, indexesInfo, dropIndexNames, key, field, info, indexesInfo_1, indexesInfo_1_1, indexInfo, key, error_1, e_4_1, error_2;
644
840
  return tslib_1.__generator(this, function (_b) {
645
841
  switch (_b.label) {
646
842
  case 0:
@@ -698,8 +894,8 @@ var SteedosObjectType = (function (_super) {
698
894
  case 11: return [3, 6];
699
895
  case 12: return [3, 19];
700
896
  case 13:
701
- e_3_1 = _b.sent();
702
- e_3 = { error: e_3_1 };
897
+ e_4_1 = _b.sent();
898
+ e_4 = { error: e_4_1 };
703
899
  return [3, 19];
704
900
  case 14:
705
901
  _b.trys.push([14, , 17, 18]);
@@ -710,7 +906,7 @@ var SteedosObjectType = (function (_super) {
710
906
  _b.label = 16;
711
907
  case 16: return [3, 18];
712
908
  case 17:
713
- if (e_3) throw e_3.error;
909
+ if (e_4) throw e_4.error;
714
910
  return [7];
715
911
  case 18: return [7];
716
912
  case 19: return [3, 21];
@@ -1489,7 +1685,7 @@ var SteedosObjectType = (function (_super) {
1489
1685
  pAll = [];
1490
1686
  pAll.push(this.callMetadataObjectServiceAction('get', { objectApiName: this.name }));
1491
1687
  pAll.push((0, object_layouts_1.getObjectLayouts)(userSession.profile, userSession.spaceId, this.name));
1492
- pAll.push(getObject("process_definition").directFind({ filters: [['space', '=', userSession.spaceId], ['object_name', '=', this.name], ['active', '=', true]] }));
1688
+ pAll.push(getObject("process_definition").find({ filters: [['space', '=', userSession.spaceId], ['object_name', '=', this.name], ['active', '=', true]] }));
1493
1689
  pAll.push(getObject("object_listviews").directFind({ filters: [['space', '=', userSession.spaceId], ['object_name', '=', this.name], [['owner', '=', userSession.userId], 'or', ['shared', '=', true]]] }));
1494
1690
  pAll.push(field_permission_1.FieldPermission.getObjectFieldsPermissionGroupRole(this.name));
1495
1691
  pAll.push(this.getRelationsInfo());
@@ -1623,9 +1819,9 @@ var SteedosObjectType = (function (_super) {
1623
1819
  });
1624
1820
  };
1625
1821
  SteedosObjectType.prototype.getDefaultRecordView = function (userSession) {
1626
- var e_4, _a;
1822
+ var e_5, _a;
1627
1823
  return tslib_1.__awaiter(this, void 0, void 0, function () {
1628
- var object_name, type, buttons, fields, related_lists, objectConfig, sortedFields, relatedLists, details, lookup_details, _loop_1, relatedLists_1, relatedLists_1_1, e_4_1;
1824
+ var object_name, type, buttons, fields, related_lists, objectConfig, sortedFields, relatedLists, details, lookup_details, _loop_1, relatedLists_1, relatedLists_1_1, e_5_1;
1629
1825
  return tslib_1.__generator(this, function (_b) {
1630
1826
  switch (_b.label) {
1631
1827
  case 0:
@@ -1729,8 +1925,8 @@ var SteedosObjectType = (function (_super) {
1729
1925
  case 8: return [3, 5];
1730
1926
  case 9: return [3, 16];
1731
1927
  case 10:
1732
- e_4_1 = _b.sent();
1733
- e_4 = { error: e_4_1 };
1928
+ e_5_1 = _b.sent();
1929
+ e_5 = { error: e_5_1 };
1734
1930
  return [3, 16];
1735
1931
  case 11:
1736
1932
  _b.trys.push([11, , 14, 15]);
@@ -1741,7 +1937,7 @@ var SteedosObjectType = (function (_super) {
1741
1937
  _b.label = 13;
1742
1938
  case 13: return [3, 15];
1743
1939
  case 14:
1744
- if (e_4) throw e_4.error;
1940
+ if (e_5) throw e_5.error;
1745
1941
  return [7];
1746
1942
  case 15: return [7];
1747
1943
  case 16:
@@ -1800,8 +1996,8 @@ var SteedosObjectType = (function (_super) {
1800
1996
  };
1801
1997
  SteedosObjectType.prototype.getRelateds = function () {
1802
1998
  return tslib_1.__awaiter(this, void 0, void 0, function () {
1803
- var related_objects, detailsInfo, lookupsInfo, relatedInfos, relatedInfos_1, relatedInfos_1_1, info, infos, detailObjectApiName, detailFieldName, related_field, e_5_1;
1804
- var e_5, _a;
1999
+ var related_objects, detailsInfo, lookupsInfo, relatedInfos, relatedInfos_1, relatedInfos_1_1, info, infos, detailObjectApiName, detailFieldName, related_field, e_6_1;
2000
+ var e_6, _a;
1805
2001
  return tslib_1.__generator(this, function (_b) {
1806
2002
  switch (_b.label) {
1807
2003
  case 0:
@@ -1847,14 +2043,14 @@ var SteedosObjectType = (function (_super) {
1847
2043
  return [3, 4];
1848
2044
  case 7: return [3, 10];
1849
2045
  case 8:
1850
- e_5_1 = _b.sent();
1851
- e_5 = { error: e_5_1 };
2046
+ e_6_1 = _b.sent();
2047
+ e_6 = { error: e_6_1 };
1852
2048
  return [3, 10];
1853
2049
  case 9:
1854
2050
  try {
1855
2051
  if (relatedInfos_1_1 && !relatedInfos_1_1.done && (_a = relatedInfos_1.return)) _a.call(relatedInfos_1);
1856
2052
  }
1857
- finally { if (e_5) throw e_5.error; }
2053
+ finally { if (e_6) throw e_6.error; }
1858
2054
  return [7];
1859
2055
  case 10:
1860
2056
  if (this.enable_tasks) {
@@ -1934,11 +2130,14 @@ var SteedosObjectType = (function (_super) {
1934
2130
  method = 'find';
1935
2131
  }
1936
2132
  meteorWhen = "before".concat(method.charAt(0).toLocaleUpperCase()).concat(_.rest(tslib_1.__spreadArray([], tslib_1.__read(method), false)).join(''));
1937
- return [4, this.runTriggers(meteorWhen, context)];
2133
+ return [4, this.runBaseTriggers(meteorWhen, context)];
1938
2134
  case 1:
2135
+ _a.sent();
2136
+ return [4, this.runFunctionTriggers(meteorWhen, context)];
2137
+ case 2:
1939
2138
  _a.sent();
1940
2139
  return [4, this.runTriggerActions(meteorWhen, context)];
1941
- case 2: return [2, _a.sent()];
2140
+ case 3: return [2, _a.sent()];
1942
2141
  }
1943
2142
  });
1944
2143
  });
@@ -1950,11 +2149,14 @@ var SteedosObjectType = (function (_super) {
1950
2149
  switch (_a.label) {
1951
2150
  case 0:
1952
2151
  meteorWhen = "after".concat(method.charAt(0).toLocaleUpperCase()).concat(_.rest(tslib_1.__spreadArray([], tslib_1.__read(method), false)).join(''));
1953
- return [4, this.runTriggers(meteorWhen, context)];
2152
+ return [4, this.runBaseTriggers(meteorWhen, context)];
1954
2153
  case 1:
2154
+ _a.sent();
2155
+ return [4, this.runFunctionTriggers(meteorWhen, context)];
2156
+ case 2:
1955
2157
  _a.sent();
1956
2158
  return [4, this.runTriggerActions(meteorWhen, context)];
1957
- case 2: return [2, _a.sent()];
2159
+ case 3: return [2, _a.sent()];
1958
2160
  }
1959
2161
  });
1960
2162
  });