@bringg/dashboard-sdk 8.30.1-pre.2 → 9.0.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 (61) hide show
  1. package/dist/BringgDashboardSDK.d.ts +0 -2
  2. package/dist/BringgDashboardSDK.js +0 -3
  3. package/dist/BringgDashboardSDK.js.map +1 -1
  4. package/dist/Core/BaseStore.js +1 -1
  5. package/dist/Core/BaseStore.js.map +1 -1
  6. package/dist/Customer/v2/customers-api.d.ts +5 -4
  7. package/dist/Customer/v2/customers-api.js +12 -8
  8. package/dist/Customer/v2/customers-api.js.map +1 -1
  9. package/dist/Data/storable-realtime-subscriptions.d.ts +18 -0
  10. package/dist/Data/storable-realtime-subscriptions.js +147 -0
  11. package/dist/Data/storable-realtime-subscriptions.js.map +1 -0
  12. package/dist/Data/storable-types.d.ts +19 -0
  13. package/dist/Data/storable-types.js +3 -0
  14. package/dist/Data/storable-types.js.map +1 -0
  15. package/dist/Run/Service/runs.service.d.ts +5 -5
  16. package/dist/Run/Service/runs.service.js +28 -44
  17. package/dist/Run/Service/runs.service.js.map +1 -1
  18. package/dist/Run/Store/RunStore.js +0 -1
  19. package/dist/Run/Store/RunStore.js.map +1 -1
  20. package/dist/Run/runs.consts.d.ts +3 -0
  21. package/dist/Run/runs.consts.js +5 -1
  22. package/dist/Run/runs.consts.js.map +1 -1
  23. package/dist/Run/runs.d.ts +2 -2
  24. package/dist/Run/runs.js +2 -2
  25. package/dist/Run/runs.js.map +1 -1
  26. package/dist/Run/v2/run-realtime-subscriptions.d.ts +25 -0
  27. package/dist/Run/v2/run-realtime-subscriptions.js +155 -0
  28. package/dist/Run/v2/run-realtime-subscriptions.js.map +1 -0
  29. package/dist/Run/v2/runs-api.d.ts +28 -5
  30. package/dist/Run/v2/runs-api.js +180 -30
  31. package/dist/Run/v2/runs-api.js.map +1 -1
  32. package/dist/Services/ServiceRequest.js +1 -1
  33. package/dist/Task/v2/task-realtime-subscriptions.d.ts +7 -13
  34. package/dist/Task/v2/task-realtime-subscriptions.js +61 -122
  35. package/dist/Task/v2/task-realtime-subscriptions.js.map +1 -1
  36. package/dist/Task/v2/tasks-api.d.ts +5 -5
  37. package/dist/UserPresetViews/user-preset-views-api.d.ts +1 -1
  38. package/dist/UserPresetViews/user-preset-views-api.js +4 -3
  39. package/dist/UserPresetViews/user-preset-views-api.js.map +1 -1
  40. package/dist/UserPresetViews/user-preset-views-service.d.ts +1 -1
  41. package/dist/UserPresetViews/user-preset-views-service.js +6 -2
  42. package/dist/UserPresetViews/user-preset-views-service.js.map +1 -1
  43. package/dist/Vehicle/v2/vehicles-api.d.ts +5 -7
  44. package/dist/Vehicle/v2/vehicles-api.js +11 -29
  45. package/dist/Vehicle/v2/vehicles-api.js.map +1 -1
  46. package/dist/bringg-dashboard-sdk-cjs2.js +656 -349
  47. package/dist/bringg-dashboard-sdk-cjs2.js.map +1 -1
  48. package/dist/bringg-dashboard-sdk.js +37 -37
  49. package/dist/bringg-dashboard-sdk.min.js +1 -1
  50. package/dist/bringg-dashboard-sdk.min.js.map +1 -1
  51. package/dist/data-entity.d.ts +1 -1
  52. package/dist/storable-data-service.d.ts +2 -2
  53. package/dist/storable-data-service.js +17 -6
  54. package/dist/storable-data-service.js.map +1 -1
  55. package/package.json +2 -2
  56. package/dist/SpeedFactor/Service/SpeedFactor.service.d.ts +0 -82
  57. package/dist/SpeedFactor/Service/SpeedFactor.service.js +0 -49
  58. package/dist/SpeedFactor/Service/SpeedFactor.service.js.map +0 -1
  59. package/dist/SpeedFactor/SpeedFactor.d.ts +0 -12
  60. package/dist/SpeedFactor/SpeedFactor.js +0 -32
  61. package/dist/SpeedFactor/SpeedFactor.js.map +0 -1
@@ -2673,7 +2673,6 @@ var Session_1 = __importDefault(__webpack_require__(44891));
2673
2673
  var ShiftsApi_1 = __importDefault(__webpack_require__(10942));
2674
2674
  var Signature_1 = __importDefault(__webpack_require__(59824));
2675
2675
  var SkillsApi_1 = __importDefault(__webpack_require__(28855));
2676
- var SpeedFactor_1 = __importDefault(__webpack_require__(89808));
2677
2676
  var SupportTicketApi_1 = __importDefault(__webpack_require__(28002));
2678
2677
  var Tag_1 = __importDefault(__webpack_require__(78847));
2679
2678
  var TagCustomerConfiguration_1 = __importDefault(__webpack_require__(87798));
@@ -2742,7 +2741,6 @@ var BringgDashboardSDK = /** @class */ (function () {
2742
2741
  this.runs = null;
2743
2742
  this.rollouts = null;
2744
2743
  this.skills = null;
2745
- this.speedFactor = null;
2746
2744
  this.taskConfigurations = null;
2747
2745
  this.taskInventory = null;
2748
2746
  this.inventory = null;
@@ -3014,7 +3012,6 @@ function init(session) {
3014
3012
  bringg.service = new ServiceApi_1.default(session);
3015
3013
  bringg.signatures = new Signature_1.default(session);
3016
3014
  bringg.skills = new SkillsApi_1.default(session);
3017
- bringg.speedFactor = new SpeedFactor_1.default(session);
3018
3015
  bringg.tagCustomerConfigurations = new TagCustomerConfiguration_1.default(session);
3019
3016
  bringg.tagMerchantConfigurations = new TagMerchantConfiguration_1.default(session);
3020
3017
  bringg.tags = new Tag_1.default(session);
@@ -4094,7 +4091,7 @@ var BaseStore = /** @class */ (function () {
4094
4091
  };
4095
4092
  this.getItemsByIds = function (ids) {
4096
4093
  var idsSet = new Set(ids);
4097
- return _this.getItems().filter(function (runModel) { return idsSet.has(runModel.id); });
4094
+ return _this.getItems().filter(function (item) { return idsSet.has(item.id); });
4098
4095
  };
4099
4096
  this.getItemsMap = function () {
4100
4097
  return _this._items;
@@ -6647,9 +6644,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
6647
6644
  Object.defineProperty(exports, "__esModule", ({ value: true }));
6648
6645
  var _ = __webpack_require__(96486);
6649
6646
  var merge_mapper_1 = __webpack_require__(59200);
6647
+ var storable_realtime_subscriptions_1 = __importDefault(__webpack_require__(1227));
6650
6648
  var data_entity_1 = __webpack_require__(91083);
6651
6649
  var data_store_1 = __importDefault(__webpack_require__(73135));
6652
- var realtime_subscriptions_1 = __importDefault(__webpack_require__(47985));
6653
6650
  var storable_data_service_1 = __importDefault(__webpack_require__(45297));
6654
6651
  var array_utils_1 = __webpack_require__(43052);
6655
6652
  var Customer_consts_1 = __webpack_require__(85240);
@@ -6662,15 +6659,19 @@ var CustomersApi = /** @class */ (function () {
6662
6659
  this.storableDataService = new storable_data_service_1.default(this.customersStore, function (customer) {
6663
6660
  return merge_mapper_1.mergeMapper.mergeIntoExisting(_this.customersStore, customer);
6664
6661
  });
6665
- this.realtimeSubscriptions = new realtime_subscriptions_1.default(session);
6666
- this.realtimeSubscriptions.subscribe(Customer_consts_1.RealtimeEvents.Created, this.storableDataService.updateInStores.bind(this.storableDataService));
6667
- this.realtimeSubscriptions.subscribe(Customer_consts_1.RealtimeEvents.Updated, this.storableDataService.updateInStores.bind(this.storableDataService));
6668
- this.realtimeSubscriptions.subscribe(Customer_consts_1.RealtimeEvents.Deleted, function (data) {
6669
- return _this.storableDataService.removeFromStores(data.customer_id);
6670
- });
6662
+ this.storableRealtimeSubscriptions = new storable_realtime_subscriptions_1.default(session, this.customersStore, this.storableDataService);
6663
+ this.storableRealtimeSubscriptions.updateStoreOnEvents([
6664
+ { name: Customer_consts_1.RealtimeEvents.Created, isDelete: false },
6665
+ { name: Customer_consts_1.RealtimeEvents.Updated, isDelete: false },
6666
+ {
6667
+ name: Customer_consts_1.RealtimeEvents.Deleted,
6668
+ isDelete: true,
6669
+ itemExtractor: function (payload) { return ({ id: payload.customer_id }); }
6670
+ }
6671
+ ]);
6671
6672
  }
6672
6673
  CustomersApi.prototype.onCreate = function (callback) {
6673
- this.realtimeSubscriptions.subscribe(Customer_consts_1.RealtimeEvents.Created, callback);
6674
+ return this.storableRealtimeSubscriptions.onEvent(Customer_consts_1.RealtimeEvents.Created, function (item) { return callback(item.current); });
6674
6675
  };
6675
6676
  CustomersApi.prototype.add = function (customer) {
6676
6677
  return this.storableDataService.updateInStores(customer);
@@ -7699,6 +7700,160 @@ exports.objectMerger = { deepMerge: deepMerge };
7699
7700
 
7700
7701
  /***/ }),
7701
7702
 
7703
+ /***/ 1227:
7704
+ /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
7705
+
7706
+ "use strict";
7707
+
7708
+ var __values = (this && this.__values) || function(o) {
7709
+ var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
7710
+ if (m) return m.call(o);
7711
+ if (o && typeof o.length === "number") return {
7712
+ next: function () {
7713
+ if (o && i >= o.length) o = void 0;
7714
+ return { value: o && o[i++], done: !o };
7715
+ }
7716
+ };
7717
+ throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
7718
+ };
7719
+ var __importDefault = (this && this.__importDefault) || function (mod) {
7720
+ return (mod && mod.__esModule) ? mod : { "default": mod };
7721
+ };
7722
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
7723
+ var realtime_subscriptions_1 = __importDefault(__webpack_require__(47985));
7724
+ var object_merger_1 = __webpack_require__(7262);
7725
+ var StorableRealtimeSubscriptions = /** @class */ (function () {
7726
+ function StorableRealtimeSubscriptions(session, dataStore, storableDataService) {
7727
+ this.realtimeSubscriptions = new realtime_subscriptions_1.default(session);
7728
+ this.dataStore = dataStore;
7729
+ this.storableDataService = storableDataService;
7730
+ this.eventCallbacks = {};
7731
+ }
7732
+ StorableRealtimeSubscriptions.prototype.updateStoreOnEvents = function (events, subEntityEvents) {
7733
+ var e_1, _a, e_2, _b;
7734
+ var _this = this;
7735
+ if (subEntityEvents === void 0) { subEntityEvents = []; }
7736
+ var _loop_1 = function (event_1) {
7737
+ this_1.realtimeSubscriptions.subscribe(event_1.name, function (item) {
7738
+ item = event_1.itemExtractor ? event_1.itemExtractor(item) : item;
7739
+ var data = event_1.extraDataFunc && event_1.extraDataFunc(item);
7740
+ if (data === null || data === void 0 ? void 0 : data.ignore) {
7741
+ return;
7742
+ }
7743
+ if (event_1.isDelete) {
7744
+ var deletedItem = _this.storableDataService.removeFromStores(item.id);
7745
+ _this.runEventCallbacks(event_1.name, { diff: deletedItem });
7746
+ }
7747
+ else {
7748
+ var mappedStorableItem = _this.storableDataService.updateInStores(item, undefined, undefined, data === null || data === void 0 ? void 0 : data.params);
7749
+ _this.runEventCallbacks(event_1.name, mappedStorableItem);
7750
+ }
7751
+ });
7752
+ };
7753
+ var this_1 = this;
7754
+ try {
7755
+ for (var events_1 = __values(events), events_1_1 = events_1.next(); !events_1_1.done; events_1_1 = events_1.next()) {
7756
+ var event_1 = events_1_1.value;
7757
+ _loop_1(event_1);
7758
+ }
7759
+ }
7760
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
7761
+ finally {
7762
+ try {
7763
+ if (events_1_1 && !events_1_1.done && (_a = events_1.return)) _a.call(events_1);
7764
+ }
7765
+ finally { if (e_1) throw e_1.error; }
7766
+ }
7767
+ var _loop_2 = function (subEntityEvent) {
7768
+ this_2.realtimeSubscriptions.subscribe(subEntityEvent.name, function (subEntity) {
7769
+ subEntityEvent.ignoreFields.forEach(function (field) { return delete subEntity[field]; });
7770
+ var eventChangeData = _this.changeSubEntity(subEntity, subEntityEvent.parentField, subEntityEvent.field, subEntityEvent.isDelete);
7771
+ if (eventChangeData.current) {
7772
+ _this.runEventCallbacks(subEntityEvent.eventToRaise, eventChangeData);
7773
+ }
7774
+ });
7775
+ };
7776
+ var this_2 = this;
7777
+ try {
7778
+ for (var subEntityEvents_1 = __values(subEntityEvents), subEntityEvents_1_1 = subEntityEvents_1.next(); !subEntityEvents_1_1.done; subEntityEvents_1_1 = subEntityEvents_1.next()) {
7779
+ var subEntityEvent = subEntityEvents_1_1.value;
7780
+ _loop_2(subEntityEvent);
7781
+ }
7782
+ }
7783
+ catch (e_2_1) { e_2 = { error: e_2_1 }; }
7784
+ finally {
7785
+ try {
7786
+ if (subEntityEvents_1_1 && !subEntityEvents_1_1.done && (_b = subEntityEvents_1.return)) _b.call(subEntityEvents_1);
7787
+ }
7788
+ finally { if (e_2) throw e_2.error; }
7789
+ }
7790
+ };
7791
+ StorableRealtimeSubscriptions.prototype.onAnyEvent = function (event, callback) {
7792
+ return this.realtimeSubscriptions.subscribe(event, callback);
7793
+ };
7794
+ StorableRealtimeSubscriptions.prototype.onEvent = function (event, callback) {
7795
+ var _this = this;
7796
+ if (!this.eventCallbacks[event]) {
7797
+ this.eventCallbacks[event] = [];
7798
+ }
7799
+ this.eventCallbacks[event].push(callback);
7800
+ return function () {
7801
+ var indexOfCallback = _this.eventCallbacks[event].indexOf(callback);
7802
+ _this.eventCallbacks[event].splice(indexOfCallback, 1);
7803
+ };
7804
+ };
7805
+ StorableRealtimeSubscriptions.prototype.runEventCallbacks = function (event, data) {
7806
+ (this.eventCallbacks[event] || []).forEach(function (callback) { return callback(data); });
7807
+ };
7808
+ StorableRealtimeSubscriptions.prototype.changeSubEntity = function (subEntity, parentField, containerField, isDelete) {
7809
+ var _a, _b, _c;
7810
+ var current = this.dataStore.get(subEntity[parentField]);
7811
+ var diff;
7812
+ if (current) {
7813
+ if (!current[containerField]) {
7814
+ current[containerField] = [];
7815
+ }
7816
+ var existingIndex = current[containerField].findIndex(function (taskSubEntity) { return taskSubEntity.id === subEntity.id; });
7817
+ if (existingIndex > -1) {
7818
+ if (isDelete) {
7819
+ diff = (_a = { id: current.id }, _a[containerField] = this.createArrayOfEmptyObjects(existingIndex), _a);
7820
+ for (var i = existingIndex + 1; i < current[containerField].length; i++) {
7821
+ diff[containerField].push(current[containerField][i]);
7822
+ }
7823
+ current[containerField].splice(existingIndex, 1);
7824
+ }
7825
+ else {
7826
+ var subEntityDiff = object_merger_1.objectMerger.deepMerge(current[containerField][existingIndex], subEntity);
7827
+ diff = (_b = {
7828
+ id: current.id
7829
+ },
7830
+ _b[containerField] = this.createArrayOfEmptyObjects(current[containerField].length),
7831
+ _b);
7832
+ diff[containerField][existingIndex] = subEntityDiff;
7833
+ }
7834
+ }
7835
+ else if (!isDelete) {
7836
+ diff = (_c = {
7837
+ id: current.id
7838
+ },
7839
+ _c[containerField] = this.createArrayOfEmptyObjects(current[containerField].length),
7840
+ _c);
7841
+ diff[containerField].push(subEntity);
7842
+ current[containerField].push(subEntity);
7843
+ }
7844
+ }
7845
+ return { current: current, diff: diff };
7846
+ };
7847
+ StorableRealtimeSubscriptions.prototype.createArrayOfEmptyObjects = function (length) {
7848
+ return Array.from({ length: length }, function () { return ({}); });
7849
+ };
7850
+ return StorableRealtimeSubscriptions;
7851
+ }());
7852
+ exports["default"] = StorableRealtimeSubscriptions;
7853
+ //# sourceMappingURL=storable-realtime-subscriptions.js.map
7854
+
7855
+ /***/ }),
7856
+
7702
7857
  /***/ 27774:
7703
7858
  /***/ ((__unused_webpack_module, exports) => {
7704
7859
 
@@ -18072,21 +18227,6 @@ exports["default"] = Rules;
18072
18227
 
18073
18228
  "use strict";
18074
18229
 
18075
- var __extends = (this && this.__extends) || (function () {
18076
- var extendStatics = function (d, b) {
18077
- extendStatics = Object.setPrototypeOf ||
18078
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
18079
- function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
18080
- return extendStatics(d, b);
18081
- };
18082
- return function (d, b) {
18083
- if (typeof b !== "function" && b !== null)
18084
- throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
18085
- extendStatics(d, b);
18086
- function __() { this.constructor = d; }
18087
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
18088
- };
18089
- })();
18090
18230
  var __assign = (this && this.__assign) || function () {
18091
18231
  __assign = Object.assign || function(t) {
18092
18232
  for (var s, i = 1, n = arguments.length; i < n; i++) {
@@ -18134,11 +18274,14 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
18134
18274
  if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
18135
18275
  }
18136
18276
  };
18277
+ var __importDefault = (this && this.__importDefault) || function (mod) {
18278
+ return (mod && mod.__esModule) ? mod : { "default": mod };
18279
+ };
18137
18280
  Object.defineProperty(exports, "__esModule", ({ value: true }));
18138
18281
  exports.RunsService = exports.Routes = void 0;
18139
18282
  var BringgException_1 = __webpack_require__(43605);
18283
+ var CrudService_1 = __importDefault(__webpack_require__(14809));
18140
18284
  var Route_1 = __webpack_require__(92641);
18141
- var SessionBasedService_1 = __webpack_require__(27826);
18142
18285
  var array_utils_1 = __webpack_require__(43052);
18143
18286
  var runs_consts_1 = __webpack_require__(4669);
18144
18287
  exports.Routes = {
@@ -18157,27 +18300,23 @@ exports.Routes = {
18157
18300
  ASSIGN_VEHICLES: new Route_1.Route('/runs/{:id}/vehicles_assignment', 3 /* HttpMethod.PATCH */),
18158
18301
  UNASSIGN_VEHICLES: new Route_1.Route('/runs/{:id}/vehicles_assignment', 4 /* HttpMethod.DELETE */)
18159
18302
  };
18160
- var RunsService = /** @class */ (function (_super) {
18161
- __extends(RunsService, _super);
18303
+ var RunsService = /** @class */ (function () {
18162
18304
  function RunsService(session) {
18163
- return _super.call(this, session.config.getApiEndpoint(), session) || this;
18305
+ this.service = new CrudService_1.default(session, 'runs');
18164
18306
  }
18165
18307
  RunsService.prototype.getAll = function (options, _a) {
18166
18308
  var _b = _a === void 0 ? {} : _a, signal = _b.signal;
18167
18309
  return __awaiter(this, void 0, void 0, function () {
18168
- var runsResponse;
18169
18310
  return __generator(this, function (_c) {
18170
18311
  switch (_c.label) {
18171
- case 0: return [4 /*yield*/, this.handleAuthorizedRequest({
18312
+ case 0: return [4 /*yield*/, this.service.handleAuthorizedRequest({
18172
18313
  route: exports.Routes.GET_RUNS,
18173
18314
  extractor: runs_consts_1.defaultExtractor,
18174
18315
  exceptionProducer: BringgException_1.BringgException.serviceException('Failed to get Runs'),
18175
18316
  queryString: options,
18176
18317
  signal: signal
18177
18318
  })];
18178
- case 1:
18179
- runsResponse = _c.sent();
18180
- return [2 /*return*/, runsResponse];
18319
+ case 1: return [2 /*return*/, _c.sent()];
18181
18320
  }
18182
18321
  });
18183
18322
  });
@@ -18187,7 +18326,7 @@ var RunsService = /** @class */ (function (_super) {
18187
18326
  return __awaiter(this, void 0, void 0, function () {
18188
18327
  return __generator(this, function (_c) {
18189
18328
  switch (_c.label) {
18190
- case 0: return [4 /*yield*/, this.handleAuthorizedRequest({
18329
+ case 0: return [4 /*yield*/, this.service.handleAuthorizedRequest({
18191
18330
  route: exports.Routes.GET_RUN_DATA,
18192
18331
  extractor: runs_consts_1.defaultExtractor,
18193
18332
  exceptionProducer: BringgException_1.BringgException.serviceException('Failed to get routes data'),
@@ -18262,22 +18401,19 @@ var RunsService = /** @class */ (function (_super) {
18262
18401
  });
18263
18402
  });
18264
18403
  };
18265
- RunsService.prototype.get = function (id, _a) {
18404
+ RunsService.prototype.load = function (id, _a) {
18266
18405
  var _b = _a === void 0 ? {} : _a, signal = _b.signal;
18267
18406
  return __awaiter(this, void 0, void 0, function () {
18268
- var run;
18269
18407
  return __generator(this, function (_c) {
18270
18408
  switch (_c.label) {
18271
- case 0: return [4 /*yield*/, this.handleAuthorizedRequest({
18409
+ case 0: return [4 /*yield*/, this.service.handleAuthorizedRequest({
18272
18410
  route: exports.Routes.GET_RUN,
18273
18411
  extractor: runs_consts_1.runExtractor,
18274
18412
  exceptionProducer: BringgException_1.BringgException.serviceException('Failed to get Run'),
18275
18413
  routeParams: { id: id },
18276
18414
  signal: signal
18277
18415
  })];
18278
- case 1:
18279
- run = _c.sent();
18280
- return [2 /*return*/, run];
18416
+ case 1: return [2 /*return*/, _c.sent()];
18281
18417
  }
18282
18418
  });
18283
18419
  });
@@ -18285,9 +18421,10 @@ var RunsService = /** @class */ (function (_super) {
18285
18421
  RunsService.prototype.update = function (id, options, _a) {
18286
18422
  var _b = _a === void 0 ? {} : _a, signal = _b.signal;
18287
18423
  return __awaiter(this, void 0, void 0, function () {
18424
+ var response;
18288
18425
  return __generator(this, function (_c) {
18289
18426
  switch (_c.label) {
18290
- case 0: return [4 /*yield*/, this.handleAuthorizedRequest({
18427
+ case 0: return [4 /*yield*/, this.service.handleAuthorizedRequest({
18291
18428
  route: exports.Routes.UPDATE_RUN,
18292
18429
  extractor: runs_consts_1.defaultExtractor,
18293
18430
  exceptionProducer: BringgException_1.BringgException.serviceException('Failed to update Run'),
@@ -18295,7 +18432,9 @@ var RunsService = /** @class */ (function (_super) {
18295
18432
  routeParams: { id: id },
18296
18433
  signal: signal
18297
18434
  })];
18298
- case 1: return [2 /*return*/, _c.sent()];
18435
+ case 1:
18436
+ response = _c.sent();
18437
+ return [2 /*return*/, response.run];
18299
18438
  }
18300
18439
  });
18301
18440
  });
@@ -18306,7 +18445,7 @@ var RunsService = /** @class */ (function (_super) {
18306
18445
  var runHistory;
18307
18446
  return __generator(this, function (_c) {
18308
18447
  switch (_c.label) {
18309
- case 0: return [4 /*yield*/, this.handleAuthorizedRequest({
18448
+ case 0: return [4 /*yield*/, this.service.handleAuthorizedRequest({
18310
18449
  route: exports.Routes.GET_RUN_HISTORY,
18311
18450
  extractor: runs_consts_1.runsHistoryExtractor,
18312
18451
  exceptionProducer: BringgException_1.BringgException.serviceException('Failed to get run history'),
@@ -18326,7 +18465,7 @@ var RunsService = /** @class */ (function (_super) {
18326
18465
  var runLocations;
18327
18466
  return __generator(this, function (_c) {
18328
18467
  switch (_c.label) {
18329
- case 0: return [4 /*yield*/, this.handleAuthorizedRequest({
18468
+ case 0: return [4 /*yield*/, this.service.handleAuthorizedRequest({
18330
18469
  route: exports.Routes.GET_RUN_LOCATIONS,
18331
18470
  extractor: runs_consts_1.runsLocationsExtractor,
18332
18471
  exceptionProducer: BringgException_1.BringgException.serviceException('Failed to get run locations'),
@@ -18346,7 +18485,7 @@ var RunsService = /** @class */ (function (_super) {
18346
18485
  var runLocations;
18347
18486
  return __generator(this, function (_c) {
18348
18487
  switch (_c.label) {
18349
- case 0: return [4 /*yield*/, this.handleAuthorizedRequest({
18488
+ case 0: return [4 /*yield*/, this.service.handleAuthorizedRequest({
18350
18489
  route: exports.Routes.GET_RUN_CASHOUT,
18351
18490
  extractor: runs_consts_1.runCashoutExtractor,
18352
18491
  exceptionProducer: BringgException_1.BringgException.serviceException('Failed to get run cashout'),
@@ -18366,7 +18505,7 @@ var RunsService = /** @class */ (function (_super) {
18366
18505
  var response;
18367
18506
  return __generator(this, function (_c) {
18368
18507
  switch (_c.label) {
18369
- case 0: return [4 /*yield*/, this.handleAuthorizedRequest({
18508
+ case 0: return [4 /*yield*/, this.service.handleAuthorizedRequest({
18370
18509
  route: exports.Routes.ASSIGN_DRIVER,
18371
18510
  extractor: runs_consts_1.defaultExtractor,
18372
18511
  exceptionProducer: BringgException_1.BringgException.serviceException('Failed to assign driver to run'),
@@ -18387,7 +18526,7 @@ var RunsService = /** @class */ (function (_super) {
18387
18526
  var response;
18388
18527
  return __generator(this, function (_c) {
18389
18528
  switch (_c.label) {
18390
- case 0: return [4 /*yield*/, this.handleAuthorizedRequest({
18529
+ case 0: return [4 /*yield*/, this.service.handleAuthorizedRequest({
18391
18530
  route: exports.Routes.UNASSIGN_DRIVER,
18392
18531
  extractor: runs_consts_1.defaultExtractor,
18393
18532
  exceptionProducer: BringgException_1.BringgException.serviceException('Failed to assign driver to run'),
@@ -18408,7 +18547,7 @@ var RunsService = /** @class */ (function (_super) {
18408
18547
  var response;
18409
18548
  return __generator(this, function (_c) {
18410
18549
  switch (_c.label) {
18411
- case 0: return [4 /*yield*/, this.handleAuthorizedRequest({
18550
+ case 0: return [4 /*yield*/, this.service.handleAuthorizedRequest({
18412
18551
  route: exports.Routes.ASSIGN_VEHICLES,
18413
18552
  extractor: runs_consts_1.defaultExtractor,
18414
18553
  exceptionProducer: BringgException_1.BringgException.serviceException('Failed to assign vehicles to run'),
@@ -18429,7 +18568,7 @@ var RunsService = /** @class */ (function (_super) {
18429
18568
  var response;
18430
18569
  return __generator(this, function (_c) {
18431
18570
  switch (_c.label) {
18432
- case 0: return [4 /*yield*/, this.handleAuthorizedRequest({
18571
+ case 0: return [4 /*yield*/, this.service.handleAuthorizedRequest({
18433
18572
  route: exports.Routes.UNASSIGN_VEHICLES,
18434
18573
  extractor: runs_consts_1.defaultExtractor,
18435
18574
  exceptionProducer: BringgException_1.BringgException.serviceException('Failed to unassign vehicles from run'),
@@ -18450,7 +18589,7 @@ var RunsService = /** @class */ (function (_super) {
18450
18589
  var runBulkClose;
18451
18590
  return __generator(this, function (_c) {
18452
18591
  switch (_c.label) {
18453
- case 0: return [4 /*yield*/, this.handleAuthorizedRequest({
18592
+ case 0: return [4 /*yield*/, this.service.handleAuthorizedRequest({
18454
18593
  route: exports.Routes.BULK_CLOSE,
18455
18594
  extractor: runs_consts_1.defaultExtractor,
18456
18595
  exceptionProducer: BringgException_1.BringgException.serviceException('Failed to bulk close runs'),
@@ -18470,7 +18609,7 @@ var RunsService = /** @class */ (function (_super) {
18470
18609
  var markDonePlanning;
18471
18610
  return __generator(this, function (_c) {
18472
18611
  switch (_c.label) {
18473
- case 0: return [4 /*yield*/, this.handleAuthorizedRequest({
18612
+ case 0: return [4 /*yield*/, this.service.handleAuthorizedRequest({
18474
18613
  route: exports.Routes.MARK_DONE_PLANNING,
18475
18614
  extractor: runs_consts_1.defaultExtractor,
18476
18615
  exceptionProducer: BringgException_1.BringgException.serviceException('Failed to mark done planning for runs'),
@@ -18490,7 +18629,7 @@ var RunsService = /** @class */ (function (_super) {
18490
18629
  var actualBreaksByRunIdResponse;
18491
18630
  return __generator(this, function (_c) {
18492
18631
  switch (_c.label) {
18493
- case 0: return [4 /*yield*/, this.handleAuthorizedRequest({
18632
+ case 0: return [4 /*yield*/, this.service.handleAuthorizedRequest({
18494
18633
  route: exports.Routes.GET_ACTUAL_BREAKS,
18495
18634
  extractor: runs_consts_1.defaultExtractor,
18496
18635
  exceptionProducer: BringgException_1.BringgException.serviceException('Failed to get actual breaks of runs'),
@@ -18507,7 +18646,7 @@ var RunsService = /** @class */ (function (_super) {
18507
18646
  });
18508
18647
  };
18509
18648
  return RunsService;
18510
- }(SessionBasedService_1.SessionBasedService));
18649
+ }());
18511
18650
  exports.RunsService = RunsService;
18512
18651
  //# sourceMappingURL=runs.service.js.map
18513
18652
 
@@ -18561,7 +18700,6 @@ var RunStore = /** @class */ (function (_super) {
18561
18700
  _this.updateRun = function (payload) {
18562
18701
  return _this.createOrUpdateRun(payload, _this.onUpdate.bind(_this));
18563
18702
  };
18564
- // eslint-disable-next-line @typescript-eslint/ban-types
18565
18703
  _this.createOrUpdateRun = function (payload, callback) {
18566
18704
  var existingRunModel = _this.store.getItem(payload.run.id);
18567
18705
  var updatedRunModel = { id: payload.run.id, run: payload.run, taskIds: undefined };
@@ -18697,7 +18835,7 @@ exports["default"] = RunStore;
18697
18835
  "use strict";
18698
18836
 
18699
18837
  Object.defineProperty(exports, "__esModule", ({ value: true }));
18700
- exports.GetAllChunkSize = exports.defaultExtractor = exports.runCashoutExtractor = exports.runsLocationsExtractor = exports.runsHistoryExtractor = exports.runExtractor = exports.RunEvents = exports.RunStatus = void 0;
18838
+ exports.GetAllChunkSize = exports.defaultExtractor = exports.runCashoutExtractor = exports.runsLocationsExtractor = exports.runsHistoryExtractor = exports.runExtractor = exports.RunGroupTypes = exports.RunEvents = exports.RunStatus = void 0;
18701
18839
  var RunStatus;
18702
18840
  (function (RunStatus) {
18703
18841
  RunStatus["ALL"] = "all";
@@ -18710,6 +18848,10 @@ var RunEvents;
18710
18848
  RunEvents["DELETED"] = "run deleted";
18711
18849
  RunEvents["CREATED"] = "run created";
18712
18850
  })(RunEvents = exports.RunEvents || (exports.RunEvents = {}));
18851
+ var RunGroupTypes;
18852
+ (function (RunGroupTypes) {
18853
+ RunGroupTypes["TaskIds"] = "taskIds";
18854
+ })(RunGroupTypes = exports.RunGroupTypes || (exports.RunGroupTypes = {}));
18713
18855
  var runExtractor = function (response) { return response.run; };
18714
18856
  exports.runExtractor = runExtractor;
18715
18857
  var runsHistoryExtractor = function (response) { return response; };
@@ -18860,7 +19002,7 @@ var Runs = /** @class */ (function () {
18860
19002
  var run;
18861
19003
  return __generator(this, function (_a) {
18862
19004
  switch (_a.label) {
18863
- case 0: return [4 /*yield*/, this.runsService.get(id, commonOptions)];
19005
+ case 0: return [4 /*yield*/, this.runsService.load(id, commonOptions)];
18864
19006
  case 1:
18865
19007
  run = _a.sent();
18866
19008
  return [2 /*return*/, this.runStore.set(run)];
@@ -18873,7 +19015,7 @@ var Runs = /** @class */ (function () {
18873
19015
  return __awaiter(this, void 0, void 0, function () {
18874
19016
  return __generator(this, function (_a) {
18875
19017
  switch (_a.label) {
18876
- case 0: return [4 /*yield*/, this.runsService.get(id, commonOptions)];
19018
+ case 0: return [4 /*yield*/, this.runsService.load(id, commonOptions)];
18877
19019
  case 1: return [2 /*return*/, _a.sent()];
18878
19020
  }
18879
19021
  });
@@ -19018,6 +19160,168 @@ exports["default"] = Runs;
19018
19160
 
19019
19161
  /***/ }),
19020
19162
 
19163
+ /***/ 30196:
19164
+ /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
19165
+
19166
+ "use strict";
19167
+
19168
+ var __read = (this && this.__read) || function (o, n) {
19169
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
19170
+ if (!m) return o;
19171
+ var i = m.call(o), r, ar = [], e;
19172
+ try {
19173
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
19174
+ }
19175
+ catch (error) { e = { error: error }; }
19176
+ finally {
19177
+ try {
19178
+ if (r && !r.done && (m = i["return"])) m.call(i);
19179
+ }
19180
+ finally { if (e) throw e.error; }
19181
+ }
19182
+ return ar;
19183
+ };
19184
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
19185
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
19186
+ if (ar || !(i in from)) {
19187
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
19188
+ ar[i] = from[i];
19189
+ }
19190
+ }
19191
+ return to.concat(ar || Array.prototype.slice.call(from));
19192
+ };
19193
+ var __importDefault = (this && this.__importDefault) || function (mod) {
19194
+ return (mod && mod.__esModule) ? mod : { "default": mod };
19195
+ };
19196
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
19197
+ var storable_realtime_subscriptions_1 = __importDefault(__webpack_require__(1227));
19198
+ var Tasks_consts_1 = __webpack_require__(24976);
19199
+ var runs_consts_1 = __webpack_require__(4669);
19200
+ var RunRealtimeSubscriptions = /** @class */ (function () {
19201
+ function RunRealtimeSubscriptions(session, runsStore, storableDataService) {
19202
+ var _this = this;
19203
+ this.runsStore = runsStore;
19204
+ this.storableDataService = storableDataService;
19205
+ this.updateTaskIdsOnDelete = function (task) {
19206
+ var existingRun = _this.runsStore.get(task.run_id);
19207
+ if (!existingRun) {
19208
+ return;
19209
+ }
19210
+ var updatedTaskIds = new Set(existingRun.task_ids);
19211
+ updatedTaskIds.delete(task.id);
19212
+ _this.updateRunInStore(existingRun, updatedTaskIds);
19213
+ };
19214
+ this.storableRealtimeSubscriptions = new storable_realtime_subscriptions_1.default(session, runsStore, storableDataService);
19215
+ this.taskIdsWaitingForRun = new Map();
19216
+ }
19217
+ RunRealtimeSubscriptions.prototype.updateStoreOnEvents = function () {
19218
+ var runExtractor = function (_a) {
19219
+ var run = _a.run;
19220
+ return run;
19221
+ };
19222
+ this.storableRealtimeSubscriptions.updateStoreOnEvents([
19223
+ {
19224
+ name: runs_consts_1.RunEvents.CREATED,
19225
+ isDelete: false,
19226
+ extraDataFunc: this.addTaskIdsOnCreateOrUpdate.bind(this),
19227
+ itemExtractor: runExtractor
19228
+ },
19229
+ {
19230
+ name: runs_consts_1.RunEvents.UPDATED,
19231
+ isDelete: false,
19232
+ extraDataFunc: this.addTaskIdsOnCreateOrUpdate.bind(this),
19233
+ itemExtractor: runExtractor
19234
+ },
19235
+ { name: runs_consts_1.RunEvents.DELETED, isDelete: true }
19236
+ ]);
19237
+ this.storableRealtimeSubscriptions.onAnyEvent(Tasks_consts_1.TaskRealTimeEvents.TASK_DELETED, this.updateTaskIdsOnDelete.bind(this));
19238
+ this.storableRealtimeSubscriptions.onAnyEvent(Tasks_consts_1.TaskRealTimeEvents.TASK_UPDATE, this.updateTaskIds.bind(this));
19239
+ this.storableRealtimeSubscriptions.onAnyEvent(Tasks_consts_1.TaskRealTimeEvents.NEW_TASK, this.updateTaskIds.bind(this));
19240
+ };
19241
+ RunRealtimeSubscriptions.prototype.onUpdate = function (callback) {
19242
+ return this.storableRealtimeSubscriptions.onEvent(runs_consts_1.RunEvents.UPDATED, callback);
19243
+ };
19244
+ RunRealtimeSubscriptions.prototype.onDelete = function (callback) {
19245
+ return this.storableRealtimeSubscriptions.onEvent(runs_consts_1.RunEvents.DELETED, callback);
19246
+ };
19247
+ RunRealtimeSubscriptions.prototype.onCreate = function (callback) {
19248
+ return this.storableRealtimeSubscriptions.onEvent(runs_consts_1.RunEvents.CREATED, callback);
19249
+ };
19250
+ RunRealtimeSubscriptions.prototype.addTaskIdsOnCreateOrUpdate = function (run) {
19251
+ if (run.task_ids || run.tasks) {
19252
+ return;
19253
+ }
19254
+ var existingRun = this.runsStore.get(run.id);
19255
+ var taskIdsWaitingForRun = this.taskIdsWaitingForRun.get(run.id) || new Set();
19256
+ var taskIds = existingRun
19257
+ ? Array.from(new Set(__spreadArray(__spreadArray([], __read(existingRun.task_ids), false), __read(taskIdsWaitingForRun), false)))
19258
+ : Array.from(taskIdsWaitingForRun);
19259
+ this.taskIdsWaitingForRun.delete(run.id);
19260
+ return { params: { taskIds: taskIds } };
19261
+ };
19262
+ RunRealtimeSubscriptions.prototype.updateTaskIds = function (task) {
19263
+ var existingRun = this.runsStore.getGroup(runs_consts_1.RunGroupTypes.TaskIds, task.id)[0];
19264
+ if (task.run_id) {
19265
+ var newRun = this.runsStore.get(task.run_id);
19266
+ if (!newRun) {
19267
+ this.backupTasksUntilRunIsCreated(task);
19268
+ }
19269
+ else if (this.taskAddedToRun(task, newRun)) {
19270
+ var updatedTaskIds = new Set(newRun.task_ids);
19271
+ updatedTaskIds.add(task.id);
19272
+ this.updateRunInStore(newRun, updatedTaskIds);
19273
+ }
19274
+ }
19275
+ else if (this.taskRemovedFromRun(task, existingRun)) {
19276
+ var updatedTaskIds = new Set(existingRun.task_ids);
19277
+ updatedTaskIds.delete(task.id);
19278
+ this.updateRunInStore(existingRun, updatedTaskIds);
19279
+ }
19280
+ this.updatePreviousRun(task, existingRun === null || existingRun === void 0 ? void 0 : existingRun.id);
19281
+ };
19282
+ RunRealtimeSubscriptions.prototype.updatePreviousRun = function (task, previousRunId) {
19283
+ if (previousRunId && previousRunId != task.run_id) {
19284
+ if (this.taskIdsWaitingForRun.has(previousRunId)) {
19285
+ this.taskIdsWaitingForRun.get(previousRunId).delete(task.id);
19286
+ }
19287
+ var previousRunOfTask = this.runsStore.get(previousRunId);
19288
+ if (previousRunOfTask) {
19289
+ var updatedTaskIds = new Set(previousRunOfTask.task_ids);
19290
+ updatedTaskIds.delete(task.id);
19291
+ this.updateRunInStore(previousRunOfTask, updatedTaskIds);
19292
+ }
19293
+ }
19294
+ };
19295
+ RunRealtimeSubscriptions.prototype.updateRunInStore = function (newRun, taskIds) {
19296
+ var mappedItem = this.storableDataService.updateInStores(newRun, undefined, undefined, {
19297
+ taskIds: Array.from(taskIds)
19298
+ });
19299
+ this.storableRealtimeSubscriptions.runEventCallbacks(runs_consts_1.RunEvents.UPDATED, mappedItem);
19300
+ };
19301
+ RunRealtimeSubscriptions.prototype.taskRemovedFromRun = function (task, existingRun) {
19302
+ var _a;
19303
+ return !task.run_id && ((_a = existingRun === null || existingRun === void 0 ? void 0 : existingRun.task_ids) === null || _a === void 0 ? void 0 : _a.includes(task.id));
19304
+ };
19305
+ RunRealtimeSubscriptions.prototype.taskAddedToRun = function (task, existingRun) {
19306
+ var _a;
19307
+ return task.run_id && !((_a = existingRun.task_ids) === null || _a === void 0 ? void 0 : _a.includes(task.id));
19308
+ };
19309
+ RunRealtimeSubscriptions.prototype.backupTasksUntilRunIsCreated = function (task) {
19310
+ if (!task.run_id) {
19311
+ return;
19312
+ }
19313
+ if (!this.taskIdsWaitingForRun.has(task.run_id)) {
19314
+ this.taskIdsWaitingForRun.set(task.run_id, new Set());
19315
+ }
19316
+ this.taskIdsWaitingForRun.get(task.run_id).add(task.id);
19317
+ };
19318
+ return RunRealtimeSubscriptions;
19319
+ }());
19320
+ exports["default"] = RunRealtimeSubscriptions;
19321
+ //# sourceMappingURL=run-realtime-subscriptions.js.map
19322
+
19323
+ /***/ }),
19324
+
19021
19325
  /***/ 83582:
19022
19326
  /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
19023
19327
 
@@ -19074,56 +19378,82 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
19074
19378
  return (mod && mod.__esModule) ? mod : { "default": mod };
19075
19379
  };
19076
19380
  Object.defineProperty(exports, "__esModule", ({ value: true }));
19381
+ var BringgDashboardSDK_1 = __webpack_require__(5655);
19382
+ var data_entity_1 = __webpack_require__(91083);
19077
19383
  var data_store_1 = __importDefault(__webpack_require__(73135));
19078
- var realtime_subscriptions_1 = __importDefault(__webpack_require__(47985));
19384
+ var storable_data_service_1 = __importDefault(__webpack_require__(45297));
19079
19385
  var runs_consts_1 = __webpack_require__(4669);
19080
19386
  var runs_service_1 = __webpack_require__(34075);
19387
+ var run_realtime_subscriptions_1 = __importDefault(__webpack_require__(30196));
19081
19388
  var RunsApi = /** @class */ (function () {
19082
19389
  function RunsApi(session) {
19083
19390
  var _this = this;
19084
- this.createOrUpdateRun = function (payload) {
19085
- _this.runsStore.set(payload.run);
19391
+ this.onUpdate = function (callback) {
19392
+ return _this.realtimeSubscriptions.onUpdate(callback);
19086
19393
  };
19087
- this.deleteRun = function (payload) {
19088
- _this.runsStore.remove(payload.id);
19394
+ this.onDelete = function (callback) {
19395
+ return _this.realtimeSubscriptions.onDelete(callback);
19396
+ };
19397
+ this.onCreate = function (callback) {
19398
+ return _this.realtimeSubscriptions.onCreate(callback);
19089
19399
  };
19090
- this.runsStore = new data_store_1.default();
19400
+ this.runsStore = new data_store_1.default([
19401
+ {
19402
+ groupType: runs_consts_1.RunGroupTypes.TaskIds,
19403
+ keyFunc: function (runModel) { return runModel.task_ids; }
19404
+ }
19405
+ ]);
19091
19406
  this.runsService = new runs_service_1.RunsService(session);
19092
- this.realtimeSubscriptions = new realtime_subscriptions_1.default(session);
19093
- this.realtimeSubscriptions.subscribe(runs_consts_1.RunEvents.CREATED, this.createOrUpdateRun);
19094
- this.realtimeSubscriptions.subscribe(runs_consts_1.RunEvents.UPDATED, this.createOrUpdateRun);
19095
- this.realtimeSubscriptions.subscribe(runs_consts_1.RunEvents.DELETED, this.deleteRun);
19407
+ var mapper = function (run, params) {
19408
+ var existing = _this.runsStore.get(run.id);
19409
+ var taskIds;
19410
+ if (params.taskIds || run.task_ids || run.tasks) {
19411
+ taskIds = params.taskIds || run.task_ids || run.tasks.map(function (task) { return task.id; });
19412
+ }
19413
+ if (existing) {
19414
+ var previous = (0, BringgDashboardSDK_1.getGlobals)().mobx.toJS(existing);
19415
+ run.task_ids = taskIds || existing.task_ids;
19416
+ return { current: run, previous: previous };
19417
+ }
19418
+ else {
19419
+ run.task_ids = taskIds || [];
19420
+ return { current: run };
19421
+ }
19422
+ };
19423
+ this.storableDataService = new storable_data_service_1.default(this.runsStore, mapper);
19424
+ this.realtimeSubscriptions = new run_realtime_subscriptions_1.default(session, this.runsStore, this.storableDataService);
19096
19425
  }
19426
+ RunsApi.prototype.updateStoreOnEvents = function () {
19427
+ this.realtimeSubscriptions.updateStoreOnEvents();
19428
+ };
19429
+ RunsApi.prototype.get = function (id) {
19430
+ return this.runsStore.get(id);
19431
+ };
19097
19432
  RunsApi.prototype.getAll = function () {
19098
19433
  return this.runsStore.getAll();
19099
19434
  };
19435
+ RunsApi.prototype.getAllMap = function () {
19436
+ return this.runsStore.getAllById();
19437
+ };
19100
19438
  RunsApi.prototype.getByIds = function (ids) {
19101
19439
  var _this = this;
19102
- return ids.map(function (runId) { return _this.runsStore.get(runId); });
19440
+ return ids.map(function (runId) { return _this.runsStore.get(runId); }).filter(Boolean);
19441
+ };
19442
+ RunsApi.prototype.add = function (run) {
19443
+ return this.storableDataService.updateInStores(run);
19444
+ };
19445
+ RunsApi.prototype.remove = function (id) {
19446
+ return this.storableDataService.removeFromStores(id);
19103
19447
  };
19104
- RunsApi.prototype.loadAll = function (options, commonOptions) {
19448
+ RunsApi.prototype.loadMany = function (queryParams, options, commonOptions) {
19449
+ if (options === void 0) { options = data_entity_1.DEFAULT_OPTIONS; }
19105
19450
  if (commonOptions === void 0) { commonOptions = {}; }
19106
19451
  return __awaiter(this, void 0, void 0, function () {
19107
- var idsToFetch, runs_1, runs;
19108
19452
  var _this = this;
19109
19453
  return __generator(this, function (_a) {
19110
- switch (_a.label) {
19111
- case 0:
19112
- if (!options.ids) return [3 /*break*/, 3];
19113
- idsToFetch = options.ids.filter(function (id) { return !_this.runsStore.get(id); });
19114
- if (!idsToFetch.length) return [3 /*break*/, 2];
19115
- return [4 /*yield*/, this.runsService.loadAll(__assign(__assign({}, options), { ids: idsToFetch }), commonOptions)];
19116
- case 1:
19117
- runs_1 = _a.sent();
19118
- this.runsStore.setMany(runs_1.map(function (run) { return ({ current: run }); }));
19119
- _a.label = 2;
19120
- case 2: return [2 /*return*/, this.getByIds(options.ids)];
19121
- case 3: return [4 /*yield*/, this.runsService.loadAll(options, commonOptions)];
19122
- case 4:
19123
- runs = _a.sent();
19124
- this.runsStore.setAll(runs.map(function (run) { return ({ current: run }); }));
19125
- return [2 /*return*/, runs];
19126
- }
19454
+ return [2 /*return*/, this.storableDataService.loadMany('loadMany', function (idsToLoad) {
19455
+ return _this.runsService.loadAll(__assign(__assign({}, options), { ids: idsToLoad }), commonOptions);
19456
+ }, queryParams.ids, options)];
19127
19457
  });
19128
19458
  });
19129
19459
  };
@@ -19138,6 +19468,130 @@ var RunsApi = /** @class */ (function () {
19138
19468
  });
19139
19469
  });
19140
19470
  };
19471
+ RunsApi.prototype.load = function (id, options) {
19472
+ var _this = this;
19473
+ if (options === void 0) { options = data_entity_1.DEFAULT_OPTIONS; }
19474
+ return this.storableDataService.load('load', function () { return _this.runsService.load(id); }, id, options);
19475
+ };
19476
+ RunsApi.prototype.update = function (id, options, commonOptions) {
19477
+ if (commonOptions === void 0) { commonOptions = {}; }
19478
+ return __awaiter(this, void 0, void 0, function () {
19479
+ var _this = this;
19480
+ return __generator(this, function (_a) {
19481
+ return [2 /*return*/, this.storableDataService.modify('update', function () { return _this.runsService.update(id, options, commonOptions); })];
19482
+ });
19483
+ });
19484
+ };
19485
+ RunsApi.prototype.getHistory = function (id, commonOptions) {
19486
+ if (commonOptions === void 0) { commonOptions = {}; }
19487
+ return __awaiter(this, void 0, void 0, function () {
19488
+ return __generator(this, function (_a) {
19489
+ switch (_a.label) {
19490
+ case 0: return [4 /*yield*/, this.runsService.getHistory(id, commonOptions)];
19491
+ case 1: return [2 /*return*/, _a.sent()];
19492
+ }
19493
+ });
19494
+ });
19495
+ };
19496
+ RunsApi.prototype.getLocations = function (id, commonOptions) {
19497
+ if (commonOptions === void 0) { commonOptions = {}; }
19498
+ return __awaiter(this, void 0, void 0, function () {
19499
+ return __generator(this, function (_a) {
19500
+ switch (_a.label) {
19501
+ case 0: return [4 /*yield*/, this.runsService.getLocations(id, commonOptions)];
19502
+ case 1: return [2 /*return*/, _a.sent()];
19503
+ }
19504
+ });
19505
+ });
19506
+ };
19507
+ RunsApi.prototype.getCashout = function (id, commonOptions) {
19508
+ if (commonOptions === void 0) { commonOptions = {}; }
19509
+ return __awaiter(this, void 0, void 0, function () {
19510
+ return __generator(this, function (_a) {
19511
+ switch (_a.label) {
19512
+ case 0: return [4 /*yield*/, this.runsService.getCashout(id, commonOptions)];
19513
+ case 1: return [2 /*return*/, _a.sent()];
19514
+ }
19515
+ });
19516
+ });
19517
+ };
19518
+ RunsApi.prototype.assignDriver = function (id, userId, targetRun, commonOptions) {
19519
+ if (commonOptions === void 0) { commonOptions = {}; }
19520
+ return __awaiter(this, void 0, void 0, function () {
19521
+ return __generator(this, function (_a) {
19522
+ switch (_a.label) {
19523
+ case 0: return [4 /*yield*/, this.runsService.assignDriver(id, userId, targetRun, commonOptions)];
19524
+ case 1: return [2 /*return*/, _a.sent()];
19525
+ }
19526
+ });
19527
+ });
19528
+ };
19529
+ RunsApi.prototype.unassignDriver = function (id, userId, commonOptions) {
19530
+ if (commonOptions === void 0) { commonOptions = {}; }
19531
+ return __awaiter(this, void 0, void 0, function () {
19532
+ return __generator(this, function (_a) {
19533
+ switch (_a.label) {
19534
+ case 0: return [4 /*yield*/, this.runsService.unassignDriver(id, userId, commonOptions)];
19535
+ case 1: return [2 /*return*/, _a.sent()];
19536
+ }
19537
+ });
19538
+ });
19539
+ };
19540
+ RunsApi.prototype.assignVehicles = function (id, vehicleId, tasks, commonOptions) {
19541
+ if (commonOptions === void 0) { commonOptions = {}; }
19542
+ return __awaiter(this, void 0, void 0, function () {
19543
+ return __generator(this, function (_a) {
19544
+ switch (_a.label) {
19545
+ case 0: return [4 /*yield*/, this.runsService.assignVehicles(id, vehicleId, tasks, commonOptions)];
19546
+ case 1: return [2 /*return*/, _a.sent()];
19547
+ }
19548
+ });
19549
+ });
19550
+ };
19551
+ RunsApi.prototype.unassignVehicles = function (id, commonOptions) {
19552
+ if (commonOptions === void 0) { commonOptions = {}; }
19553
+ return __awaiter(this, void 0, void 0, function () {
19554
+ return __generator(this, function (_a) {
19555
+ switch (_a.label) {
19556
+ case 0: return [4 /*yield*/, this.runsService.unassignVehicles(id, commonOptions)];
19557
+ case 1: return [2 /*return*/, _a.sent()];
19558
+ }
19559
+ });
19560
+ });
19561
+ };
19562
+ RunsApi.prototype.bulkClose = function (runIds, commonOptions) {
19563
+ if (commonOptions === void 0) { commonOptions = {}; }
19564
+ return __awaiter(this, void 0, void 0, function () {
19565
+ return __generator(this, function (_a) {
19566
+ switch (_a.label) {
19567
+ case 0: return [4 /*yield*/, this.runsService.bulkClose(runIds, commonOptions)];
19568
+ case 1: return [2 /*return*/, _a.sent()];
19569
+ }
19570
+ });
19571
+ });
19572
+ };
19573
+ RunsApi.prototype.markDonePlanning = function (runIds, commonOptions) {
19574
+ if (commonOptions === void 0) { commonOptions = {}; }
19575
+ return __awaiter(this, void 0, void 0, function () {
19576
+ return __generator(this, function (_a) {
19577
+ switch (_a.label) {
19578
+ case 0: return [4 /*yield*/, this.runsService.markDonePlanning(runIds, commonOptions)];
19579
+ case 1: return [2 /*return*/, _a.sent()];
19580
+ }
19581
+ });
19582
+ });
19583
+ };
19584
+ RunsApi.prototype.getActualBreaks = function (runIds, commonOptions) {
19585
+ if (commonOptions === void 0) { commonOptions = {}; }
19586
+ return __awaiter(this, void 0, void 0, function () {
19587
+ return __generator(this, function (_a) {
19588
+ switch (_a.label) {
19589
+ case 0: return [4 /*yield*/, this.runsService.getActualBreaks(runIds, commonOptions)];
19590
+ case 1: return [2 /*return*/, _a.sent()];
19591
+ }
19592
+ });
19593
+ });
19594
+ };
19141
19595
  return RunsApi;
19142
19596
  }());
19143
19597
  exports["default"] = RunsApi;
@@ -21517,7 +21971,7 @@ var lodash_1 = __webpack_require__(96486);
21517
21971
  var BringgException_1 = __webpack_require__(43605);
21518
21972
  var Logger_1 = __importDefault(__webpack_require__(55860));
21519
21973
  var abort_1 = __webpack_require__(34179);
21520
- var version = '8.30.1-pre.2';
21974
+ var version = '9.0.0';
21521
21975
  function logErrorResponse(response) {
21522
21976
  var data = response.data, status = response.status;
21523
21977
  try {
@@ -22366,101 +22820,6 @@ exports["default"] = SkillsApi;
22366
22820
 
22367
22821
  /***/ }),
22368
22822
 
22369
- /***/ 38796:
22370
- /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
22371
-
22372
- "use strict";
22373
-
22374
- var __extends = (this && this.__extends) || (function () {
22375
- var extendStatics = function (d, b) {
22376
- extendStatics = Object.setPrototypeOf ||
22377
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
22378
- function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
22379
- return extendStatics(d, b);
22380
- };
22381
- return function (d, b) {
22382
- if (typeof b !== "function" && b !== null)
22383
- throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
22384
- extendStatics(d, b);
22385
- function __() { this.constructor = d; }
22386
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
22387
- };
22388
- })();
22389
- var __importDefault = (this && this.__importDefault) || function (mod) {
22390
- return (mod && mod.__esModule) ? mod : { "default": mod };
22391
- };
22392
- Object.defineProperty(exports, "__esModule", ({ value: true }));
22393
- var BaseService_1 = __importDefault(__webpack_require__(41992));
22394
- var SERVICE_NAME = 'own-fleet-optimization-service/speed_factor';
22395
- var SpeedFactorService = /** @class */ (function (_super) {
22396
- __extends(SpeedFactorService, _super);
22397
- function SpeedFactorService(session) {
22398
- return _super.call(this, session, 'speedFactor') || this;
22399
- }
22400
- SpeedFactorService.prototype.create = function (payload) {
22401
- return this.routeGenerator.post("/".concat(SERVICE_NAME)).withPayload(payload).invoke();
22402
- };
22403
- SpeedFactorService.prototype.list = function (serviceAreaId) {
22404
- return this.routeGenerator.get("/".concat(SERVICE_NAME, "/").concat(serviceAreaId)).invoke();
22405
- };
22406
- SpeedFactorService.prototype.update = function (payload) {
22407
- return this.routeGenerator.put("/".concat(SERVICE_NAME)).withPayload(payload).invoke();
22408
- };
22409
- SpeedFactorService.prototype.updateSeries = function (payload) {
22410
- return this.routeGenerator.put("/".concat(SERVICE_NAME, "/series")).withPayload(payload).invoke();
22411
- };
22412
- SpeedFactorService.prototype.delete = function (dbId) {
22413
- return this.routeGenerator.delete("/".concat(SERVICE_NAME, "/db_id/").concat(dbId)).invoke();
22414
- };
22415
- SpeedFactorService.prototype.deleteSeries = function (originalUuid) {
22416
- return this.routeGenerator.delete("/".concat(SERVICE_NAME, "/series/").concat(originalUuid)).invoke();
22417
- };
22418
- return SpeedFactorService;
22419
- }(BaseService_1.default));
22420
- exports["default"] = SpeedFactorService;
22421
- //# sourceMappingURL=SpeedFactor.service.js.map
22422
-
22423
- /***/ }),
22424
-
22425
- /***/ 89808:
22426
- /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
22427
-
22428
- "use strict";
22429
-
22430
- var __importDefault = (this && this.__importDefault) || function (mod) {
22431
- return (mod && mod.__esModule) ? mod : { "default": mod };
22432
- };
22433
- Object.defineProperty(exports, "__esModule", ({ value: true }));
22434
- var SpeedFactor_service_1 = __importDefault(__webpack_require__(38796));
22435
- var SpeedFactor = /** @class */ (function () {
22436
- function SpeedFactor(session) {
22437
- this.speedFactorService = new SpeedFactor_service_1.default(session);
22438
- }
22439
- SpeedFactor.prototype.create = function (configuration) {
22440
- return this.speedFactorService.create(configuration);
22441
- };
22442
- SpeedFactor.prototype.list = function (serviceAreaId) {
22443
- return this.speedFactorService.list(serviceAreaId);
22444
- };
22445
- SpeedFactor.prototype.update = function (payload) {
22446
- return this.speedFactorService.update(payload);
22447
- };
22448
- SpeedFactor.prototype.updateSeries = function (payload) {
22449
- return this.speedFactorService.updateSeries(payload);
22450
- };
22451
- SpeedFactor.prototype.delete = function (dbId) {
22452
- return this.speedFactorService.delete(dbId);
22453
- };
22454
- SpeedFactor.prototype.deleteSeries = function (originalUuid) {
22455
- return this.speedFactorService.deleteSeries(originalUuid);
22456
- };
22457
- return SpeedFactor;
22458
- }());
22459
- exports["default"] = SpeedFactor;
22460
- //# sourceMappingURL=SpeedFactor.js.map
22461
-
22462
- /***/ }),
22463
-
22464
22823
  /***/ 20040:
22465
22824
  /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
22466
22825
 
@@ -24024,150 +24383,89 @@ exports.Routes = {
24024
24383
 
24025
24384
  "use strict";
24026
24385
 
24027
- var __values = (this && this.__values) || function(o) {
24028
- var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
24029
- if (m) return m.call(o);
24030
- if (o && typeof o.length === "number") return {
24031
- next: function () {
24032
- if (o && i >= o.length) o = void 0;
24033
- return { value: o && o[i++], done: !o };
24034
- }
24035
- };
24036
- throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
24037
- };
24038
24386
  var __importDefault = (this && this.__importDefault) || function (mod) {
24039
24387
  return (mod && mod.__esModule) ? mod : { "default": mod };
24040
24388
  };
24041
24389
  Object.defineProperty(exports, "__esModule", ({ value: true }));
24042
- var object_merger_1 = __webpack_require__(7262);
24043
- var realtime_subscriptions_1 = __importDefault(__webpack_require__(47985));
24390
+ var storable_realtime_subscriptions_1 = __importDefault(__webpack_require__(1227));
24044
24391
  var Tasks_consts_1 = __webpack_require__(24976);
24045
24392
  var TaskRealtimeSubscriptions = /** @class */ (function () {
24046
24393
  function TaskRealtimeSubscriptions(session, tasksStore, storableDataService) {
24047
- this.realtimeSubscriptions = new realtime_subscriptions_1.default(session);
24048
24394
  this.tasksStore = tasksStore;
24049
- this.storableDataService = storableDataService;
24050
- this.eventCallbacks = {};
24395
+ this.storableRealtimeSubscriptions = new storable_realtime_subscriptions_1.default(session, tasksStore, storableDataService);
24051
24396
  }
24052
24397
  TaskRealtimeSubscriptions.prototype.updateStoreOnEvents = function () {
24053
24398
  var _this = this;
24054
- var ignoreFields = ['way_points'];
24055
- this.realtimeSubscriptions.subscribe(Tasks_consts_1.TaskRealTimeEvents.TASK_UPDATE, function (task) {
24056
- var isPartialUpdate = !task.hasOwnProperty('status');
24057
- if (isPartialUpdate && !_this.tasksStore.get(task.id)) {
24058
- return;
24059
- }
24060
- var mappedStorableItem = _this.storableDataService.updateInStores(task);
24061
- _this.runEventCallbacks(Tasks_consts_1.TaskRealTimeEvents.TASK_UPDATE, mappedStorableItem);
24062
- });
24063
- this.realtimeSubscriptions.subscribe(Tasks_consts_1.TaskRealTimeEvents.NEW_TASK, function (task) {
24064
- var mappedStorableItem = _this.storableDataService.updateInStores(task);
24065
- _this.runEventCallbacks(Tasks_consts_1.TaskRealTimeEvents.NEW_TASK, mappedStorableItem);
24066
- });
24067
- this.realtimeSubscriptions.subscribe(Tasks_consts_1.TaskRealTimeEvents.TASK_DELETED, function (task) {
24068
- var deletedTasks = _this.storableDataService.removeFromStores(task.id);
24069
- _this.runEventCallbacks(Tasks_consts_1.TaskRealTimeEvents.TASK_DELETED, { diff: deletedTasks });
24070
- });
24071
- [
24072
- { event: Tasks_consts_1.TaskRealTimeEvents.NEW_SCAN, field: 'scans', isDelete: false },
24073
- { event: Tasks_consts_1.TaskRealTimeEvents.NEW_NOTE, field: 'task_notes', isDelete: false },
24074
- { event: Tasks_consts_1.TaskRealTimeEvents.WAYPOINT_ADDED, field: 'way_points', isDelete: false },
24075
- { event: Tasks_consts_1.TaskRealTimeEvents.WAYPOINT_UPDATED, field: 'way_points', isDelete: false },
24076
- { event: Tasks_consts_1.TaskRealTimeEvents.WAYPOINT_DELETED, field: 'way_points', isDelete: true }
24077
- ].forEach(function (eventData) {
24078
- _this.realtimeSubscriptions.subscribe(eventData.event, function (subEntity) {
24079
- ignoreFields.forEach(function (field) { return delete subEntity[field]; });
24080
- var eventChangeData = _this.changeSubEntity(subEntity, eventData.field, eventData.isDelete);
24081
- if (eventChangeData.current) {
24082
- _this.runEventCallbacks(Tasks_consts_1.TaskRealTimeEvents.TASK_UPDATE, eventChangeData);
24399
+ var events = [
24400
+ {
24401
+ name: Tasks_consts_1.TaskRealTimeEvents.TASK_UPDATE,
24402
+ isDelete: false,
24403
+ extraDataFunc: function (task) {
24404
+ var isPartialUpdate = !task.hasOwnProperty('status');
24405
+ return { ignore: isPartialUpdate && !_this.tasksStore.get(task.id) };
24083
24406
  }
24084
- });
24085
- });
24407
+ },
24408
+ { name: Tasks_consts_1.TaskRealTimeEvents.NEW_TASK, isDelete: false },
24409
+ { name: Tasks_consts_1.TaskRealTimeEvents.TASK_DELETED, isDelete: true }
24410
+ ];
24411
+ var subEntityEvents = [
24412
+ {
24413
+ name: Tasks_consts_1.TaskRealTimeEvents.NEW_SCAN,
24414
+ eventToRaise: Tasks_consts_1.TaskRealTimeEvents.TASK_UPDATE,
24415
+ parentField: 'task_id',
24416
+ field: 'scans',
24417
+ ignoreFields: ['way_points'],
24418
+ isDelete: false
24419
+ },
24420
+ {
24421
+ name: Tasks_consts_1.TaskRealTimeEvents.NEW_NOTE,
24422
+ eventToRaise: Tasks_consts_1.TaskRealTimeEvents.TASK_UPDATE,
24423
+ parentField: 'task_id',
24424
+ field: 'task_notes',
24425
+ ignoreFields: ['way_points'],
24426
+ isDelete: false
24427
+ },
24428
+ {
24429
+ name: Tasks_consts_1.TaskRealTimeEvents.WAYPOINT_ADDED,
24430
+ eventToRaise: Tasks_consts_1.TaskRealTimeEvents.TASK_UPDATE,
24431
+ parentField: 'task_id',
24432
+ field: 'way_points',
24433
+ ignoreFields: ['way_points'],
24434
+ isDelete: false
24435
+ },
24436
+ {
24437
+ name: Tasks_consts_1.TaskRealTimeEvents.WAYPOINT_UPDATED,
24438
+ eventToRaise: Tasks_consts_1.TaskRealTimeEvents.TASK_UPDATE,
24439
+ parentField: 'task_id',
24440
+ field: 'way_points',
24441
+ ignoreFields: ['way_points'],
24442
+ isDelete: false
24443
+ },
24444
+ {
24445
+ name: Tasks_consts_1.TaskRealTimeEvents.WAYPOINT_DELETED,
24446
+ eventToRaise: Tasks_consts_1.TaskRealTimeEvents.TASK_UPDATE,
24447
+ parentField: 'task_id',
24448
+ field: 'way_points',
24449
+ ignoreFields: ['way_points'],
24450
+ isDelete: true
24451
+ }
24452
+ ];
24453
+ this.storableRealtimeSubscriptions.updateStoreOnEvents(events, subEntityEvents);
24086
24454
  };
24087
24455
  TaskRealtimeSubscriptions.prototype.onCreate = function (callback) {
24088
- return this.onEvent(Tasks_consts_1.TaskRealTimeEvents.NEW_TASK, callback);
24456
+ return this.storableRealtimeSubscriptions.onEvent(Tasks_consts_1.TaskRealTimeEvents.NEW_TASK, callback);
24089
24457
  };
24090
24458
  TaskRealtimeSubscriptions.prototype.onDelete = function (callback) {
24091
- return this.onEvent(Tasks_consts_1.TaskRealTimeEvents.TASK_DELETED, callback);
24459
+ return this.storableRealtimeSubscriptions.onEvent(Tasks_consts_1.TaskRealTimeEvents.TASK_DELETED, callback);
24092
24460
  };
24093
24461
  TaskRealtimeSubscriptions.prototype.onWayPointUpdate = function (callback) {
24094
- return this.onEvent(Tasks_consts_1.TaskRealTimeEvents.WAYPOINT_UPDATED, callback);
24462
+ return this.storableRealtimeSubscriptions.onEvent(Tasks_consts_1.TaskRealTimeEvents.WAYPOINT_UPDATED, callback);
24095
24463
  };
24096
24464
  TaskRealtimeSubscriptions.prototype.onWayPointDelete = function (callback) {
24097
- return this.onEvent(Tasks_consts_1.TaskRealTimeEvents.WAYPOINT_DELETED, callback);
24465
+ return this.storableRealtimeSubscriptions.onEvent(Tasks_consts_1.TaskRealTimeEvents.WAYPOINT_DELETED, callback);
24098
24466
  };
24099
24467
  TaskRealtimeSubscriptions.prototype.onUpdate = function (callback) {
24100
- var subscriptions = [];
24101
- subscriptions.push(this.onEvent(Tasks_consts_1.TaskRealTimeEvents.TASK_UPDATE, callback));
24102
- return function () {
24103
- var e_1, _a;
24104
- try {
24105
- for (var subscriptions_1 = __values(subscriptions), subscriptions_1_1 = subscriptions_1.next(); !subscriptions_1_1.done; subscriptions_1_1 = subscriptions_1.next()) {
24106
- var subscription = subscriptions_1_1.value;
24107
- subscription();
24108
- }
24109
- }
24110
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
24111
- finally {
24112
- try {
24113
- if (subscriptions_1_1 && !subscriptions_1_1.done && (_a = subscriptions_1.return)) _a.call(subscriptions_1);
24114
- }
24115
- finally { if (e_1) throw e_1.error; }
24116
- }
24117
- };
24118
- };
24119
- TaskRealtimeSubscriptions.prototype.onEvent = function (event, callback) {
24120
- var _this = this;
24121
- if (!this.eventCallbacks[event]) {
24122
- this.eventCallbacks[event] = [];
24123
- }
24124
- this.eventCallbacks[event].push(callback);
24125
- return function () {
24126
- var indexOfCallback = _this.eventCallbacks[event].indexOf(callback);
24127
- _this.eventCallbacks[event].splice(indexOfCallback, 1);
24128
- };
24129
- };
24130
- TaskRealtimeSubscriptions.prototype.runEventCallbacks = function (event, data) {
24131
- (this.eventCallbacks[event] || []).forEach(function (callback) { return callback(data); });
24132
- };
24133
- TaskRealtimeSubscriptions.prototype.changeSubEntity = function (subEntity, containerField, isDelete) {
24134
- var _a, _b, _c;
24135
- if (isDelete === void 0) { isDelete = false; }
24136
- var task = this.tasksStore.get(subEntity.task_id);
24137
- var diff;
24138
- if (task) {
24139
- if (!task[containerField]) {
24140
- task[containerField] = [];
24141
- }
24142
- var existingIndex = task[containerField].findIndex(function (taskSubEntity) { return taskSubEntity.id === subEntity.id; });
24143
- if (existingIndex > -1) {
24144
- if (isDelete) {
24145
- diff = (_a = { id: task.id }, _a[containerField] = this.createArrayOfEmptyObjects(existingIndex), _a);
24146
- for (var i = existingIndex + 1; i < task[containerField].length; i++) {
24147
- diff[containerField].push(task[containerField][i]);
24148
- }
24149
- task[containerField].splice(existingIndex, 1);
24150
- }
24151
- else {
24152
- var subEntityDiff = object_merger_1.objectMerger.deepMerge(task[containerField][existingIndex], subEntity);
24153
- diff = (_b = {
24154
- id: task.id
24155
- },
24156
- _b[containerField] = this.createArrayOfEmptyObjects(task[containerField].length),
24157
- _b);
24158
- diff[containerField][existingIndex] = subEntityDiff;
24159
- }
24160
- }
24161
- else if (!isDelete) {
24162
- diff = (_c = { id: task.id }, _c[containerField] = this.createArrayOfEmptyObjects(task[containerField].length), _c);
24163
- diff[containerField].push(subEntity);
24164
- task[containerField].push(subEntity);
24165
- }
24166
- }
24167
- return { current: task, diff: diff };
24168
- };
24169
- TaskRealtimeSubscriptions.prototype.createArrayOfEmptyObjects = function (length) {
24170
- return Array.from({ length: length }, function () { return ({}); });
24468
+ return this.storableRealtimeSubscriptions.onEvent(Tasks_consts_1.TaskRealTimeEvents.TASK_UPDATE, callback);
24171
24469
  };
24172
24470
  return TaskRealtimeSubscriptions;
24173
24471
  }());
@@ -29135,11 +29433,11 @@ var UserPresetViewsApi = /** @class */ (function () {
29135
29433
  this.loadAll = function () {
29136
29434
  return _this.storableDataService.loadAll('loadAll', function () { return _this.userPresetViewsService.loadAll(); });
29137
29435
  };
29138
- this.update = function (id, body) { return __awaiter(_this, void 0, void 0, function () {
29436
+ this.update = function (body) { return __awaiter(_this, void 0, void 0, function () {
29139
29437
  var result;
29140
29438
  return __generator(this, function (_a) {
29141
29439
  switch (_a.label) {
29142
- case 0: return [4 /*yield*/, this.userPresetViewsService.update(id, body)];
29440
+ case 0: return [4 /*yield*/, this.userPresetViewsService.update(body)];
29143
29441
  case 1:
29144
29442
  result = _a.sent();
29145
29443
  this.userPresetViewsStore.set(result);
@@ -29162,7 +29460,8 @@ var UserPresetViewsApi = /** @class */ (function () {
29162
29460
  keyFunc: function (userPresetView) { return userPresetView.view; }
29163
29461
  }
29164
29462
  ];
29165
- this.userPresetViewsStore = new data_store_1.default(groupFilters, { shallow: true });
29463
+ // TODO: investigate how to turn items in DataStore in real observables
29464
+ this.userPresetViewsStore = new data_store_1.default(groupFilters);
29166
29465
  this.userPresetViewsService = new user_preset_views_service_1.UserPresetViewsService(session);
29167
29466
  this.storableDataService = new storable_data_service_1.default(this.userPresetViewsStore);
29168
29467
  }
@@ -29288,11 +29587,15 @@ var UserPresetViewsService = /** @class */ (function () {
29288
29587
  }
29289
29588
  });
29290
29589
  }); };
29291
- this.update = function (id, body) { return __awaiter(_this, void 0, void 0, function () {
29590
+ this.update = function (body) { return __awaiter(_this, void 0, void 0, function () {
29292
29591
  var result;
29293
29592
  return __generator(this, function (_a) {
29294
29593
  switch (_a.label) {
29295
- case 0: return [4 /*yield*/, this.service.update(id, body)];
29594
+ case 0: return [4 /*yield*/, this.service.routeGenerator
29595
+ .put("/".concat(this.service.entityName))
29596
+ .withPayload(body)
29597
+ .setException("Failed to update ".concat(this.service.entityName))
29598
+ .invoke()];
29296
29599
  case 1:
29297
29600
  result = _a.sent();
29298
29601
  return [2 /*return*/, result];
@@ -29775,8 +30078,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
29775
30078
  return (mod && mod.__esModule) ? mod : { "default": mod };
29776
30079
  };
29777
30080
  Object.defineProperty(exports, "__esModule", ({ value: true }));
30081
+ var storable_realtime_subscriptions_1 = __importDefault(__webpack_require__(1227));
29778
30082
  var data_store_1 = __importDefault(__webpack_require__(73135));
29779
- var realtime_subscriptions_1 = __importDefault(__webpack_require__(47985));
29780
30083
  var storable_data_service_1 = __importDefault(__webpack_require__(45297));
29781
30084
  var Vehicle_consts_1 = __webpack_require__(84010);
29782
30085
  var vehicles_service_1 = __importDefault(__webpack_require__(87386));
@@ -29786,11 +30089,10 @@ var VehiclesApi = /** @class */ (function () {
29786
30089
  { groupType: Vehicle_consts_1.VehicleGroup.Team, keyFunc: function (vehicle) { return vehicle.team_id; } },
29787
30090
  { groupType: Vehicle_consts_1.VehicleGroup.IsTrailer, keyFunc: function (vehicle) { return !!vehicle.is_trailer; } }
29788
30091
  ];
29789
- this.eventCallbacks = {};
29790
30092
  this.vehiclesStore = new data_store_1.default(groupFilters);
29791
30093
  this.vehiclesService = new vehicles_service_1.default(session);
29792
30094
  this.storableDataService = new storable_data_service_1.default(this.vehiclesStore);
29793
- this.realtimeSubscriptions = new realtime_subscriptions_1.default(session);
30095
+ this.storableRealtimeSubscriptions = new storable_realtime_subscriptions_1.default(session, this.vehiclesStore, this.storableDataService);
29794
30096
  }
29795
30097
  VehiclesApi.prototype.load = function (id, options) {
29796
30098
  var _this = this;
@@ -29817,24 +30119,21 @@ var VehiclesApi = /** @class */ (function () {
29817
30119
  return this.storableDataService.modify('create', function () { return _this.vehiclesService.create(vehicleData); });
29818
30120
  };
29819
30121
  VehiclesApi.prototype.updateStoreOnEvents = function () {
29820
- var _this = this;
29821
- this.realtimeSubscriptions.subscribe(Vehicle_consts_1.REAL_TIME_EVENTS.VEHICLE_UPDATE, function (vehicle) {
29822
- _this.storableDataService.updateInStores(vehicle);
29823
- _this.runEventCallbacks(Vehicle_consts_1.REAL_TIME_EVENTS.VEHICLE_UPDATE, vehicle);
29824
- });
29825
- this.realtimeSubscriptions.subscribe(Vehicle_consts_1.REAL_TIME_EVENTS.VEHICLE_DELETE, function (vehicle) {
29826
- _this.storableDataService.removeFromStores(vehicle.id);
29827
- _this.runEventCallbacks(Vehicle_consts_1.REAL_TIME_EVENTS.VEHICLE_DELETE, vehicle);
29828
- });
30122
+ this.storableRealtimeSubscriptions.updateStoreOnEvents([
30123
+ { name: Vehicle_consts_1.REAL_TIME_EVENTS.VEHICLE_UPDATE, isDelete: false },
30124
+ { name: Vehicle_consts_1.REAL_TIME_EVENTS.VEHICLE_DELETE, isDelete: true }
30125
+ ]);
29829
30126
  };
29830
30127
  VehiclesApi.prototype.onUpdate = function (callback) {
29831
- return this.onEvent(Vehicle_consts_1.REAL_TIME_EVENTS.VEHICLE_UPDATE, callback);
30128
+ return this.storableRealtimeSubscriptions.onEvent(Vehicle_consts_1.REAL_TIME_EVENTS.VEHICLE_UPDATE, function (item) { return callback(item.current); });
29832
30129
  };
29833
30130
  VehiclesApi.prototype.onDelete = function (callback) {
29834
- return this.onEvent(Vehicle_consts_1.REAL_TIME_EVENTS.VEHICLE_DELETE, callback);
30131
+ return this.storableRealtimeSubscriptions.onEvent(Vehicle_consts_1.REAL_TIME_EVENTS.VEHICLE_DELETE, function (item) { return callback(item.current); });
29835
30132
  };
29836
30133
  VehiclesApi.prototype.onUnassigned = function (callback) {
29837
- return this.realtimeSubscriptions.subscribe(Vehicle_consts_1.REAL_TIME_EVENTS.VEHICLE_UNASSIGNED, callback);
30134
+ return this.storableRealtimeSubscriptions.onAnyEvent(Vehicle_consts_1.REAL_TIME_EVENTS.VEHICLE_UNASSIGNED, function (vehicle) {
30135
+ return callback(vehicle);
30136
+ });
29838
30137
  };
29839
30138
  VehiclesApi.prototype.get = function (id) {
29840
30139
  return this.vehiclesStore.get(id);
@@ -29874,20 +30173,6 @@ var VehiclesApi = /** @class */ (function () {
29874
30173
  });
29875
30174
  });
29876
30175
  };
29877
- VehiclesApi.prototype.runEventCallbacks = function (event, data) {
29878
- (this.eventCallbacks[event] || []).forEach(function (callback) { return callback(data); });
29879
- };
29880
- VehiclesApi.prototype.onEvent = function (event, callback) {
29881
- var _this = this;
29882
- if (!this.eventCallbacks[event]) {
29883
- this.eventCallbacks[event] = [];
29884
- }
29885
- this.eventCallbacks[event].push(callback);
29886
- return function () {
29887
- var indexOfCallback = _this.eventCallbacks[event].indexOf(callback);
29888
- _this.eventCallbacks[event].splice(indexOfCallback, 1);
29889
- };
29890
- };
29891
30176
  return VehiclesApi;
29892
30177
  }());
29893
30178
  exports["default"] = VehiclesApi;
@@ -31563,6 +31848,17 @@ exports["default"] = RealtimeSubscriptions;
31563
31848
 
31564
31849
  "use strict";
31565
31850
 
31851
+ var __assign = (this && this.__assign) || function () {
31852
+ __assign = Object.assign || function(t) {
31853
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
31854
+ s = arguments[i];
31855
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
31856
+ t[p] = s[p];
31857
+ }
31858
+ return t;
31859
+ };
31860
+ return __assign.apply(this, arguments);
31861
+ };
31566
31862
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
31567
31863
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
31568
31864
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -31637,7 +31933,7 @@ var StorableDataService = /** @class */ (function () {
31637
31933
  return [4 /*yield*/, loadFunc(loadFnIdsParams)];
31638
31934
  case 1:
31639
31935
  items = _a.sent();
31640
- mappedItems_1 = items.map(function (item) { return _this.mapper(item, action); });
31936
+ mappedItems_1 = items.map(function (item) { return _this.mapper(item, { action: action }); });
31641
31937
  if (options.groupType) {
31642
31938
  this.dataStore.setGroup(options.groupType, groupValue, mappedItems_1);
31643
31939
  }
@@ -31665,7 +31961,7 @@ var StorableDataService = /** @class */ (function () {
31665
31961
  return [4 /*yield*/, loadFunc(ids)];
31666
31962
  case 1:
31667
31963
  items = _a.sent();
31668
- mappedItems_2 = items.map(function (item) { return _this.mapper(item, action); });
31964
+ mappedItems_2 = items.map(function (item) { return _this.mapper(item, { action: action }); });
31669
31965
  this.dataStore.setMany(mappedItems_2);
31670
31966
  this.extraDataStores.forEach(function (dataStore) { return dataStore.setMany(mappedItems_2, options.fields); });
31671
31967
  return [2 /*return*/, mappedItems_2.map(function (mappedItems) { return mappedItems.current; })];
@@ -31762,13 +32058,13 @@ var StorableDataService = /** @class */ (function () {
31762
32058
  });
31763
32059
  });
31764
32060
  };
31765
- StorableDataService.prototype.updateInStores = function (item, action, fields) {
31766
- return this.updateManyInStores([item], action, fields)[0];
32061
+ StorableDataService.prototype.updateInStores = function (item, action, fields, extraMapperParams) {
32062
+ return this.updateManyInStores([item], action, fields, extraMapperParams)[0];
31767
32063
  };
31768
- StorableDataService.prototype.updateManyInStores = function (items, action, fields) {
32064
+ StorableDataService.prototype.updateManyInStores = function (items, action, fields, extraMapperParams) {
31769
32065
  var _this = this;
31770
32066
  return (0, BringgDashboardSDK_1.getGlobals)().mobx.runInAction(function () {
31771
- var clientItems = items.map(function (item) { return _this.mapper(item, action); });
32067
+ var clientItems = items.map(function (item) { return _this.mapper(item, __assign({ action: action }, extraMapperParams)); });
31772
32068
  _this.dataStore.setMany(clientItems);
31773
32069
  _this.extraDataStores.forEach(function (dataStore) { return dataStore.setMany(clientItems, fields); });
31774
32070
  return clientItems;
@@ -34893,7 +35189,18 @@ Object.defineProperty(exports, "__esModule", ({ value: true }));
34893
35189
  "use strict";
34894
35190
 
34895
35191
  Object.defineProperty(exports, "__esModule", ({ value: true }));
34896
- exports.PlannedTasksFilterOptions = exports.UnassignedFilterOptions = exports.ReadyForPickupFilterOptions = void 0;
35192
+ exports.PlannedTasksFilterOptions = exports.UnassignedFilterOptions = exports.ReadyForPickupFilterOptions = exports.GroupMode = void 0;
35193
+ var GroupMode;
35194
+ (function (GroupMode) {
35195
+ GroupMode["Driver"] = "Driver";
35196
+ GroupMode["Fleet"] = "Fleet";
35197
+ GroupMode["FleetTeam"] = "FleetTeam";
35198
+ GroupMode["None"] = "None";
35199
+ GroupMode["Route"] = "Route";
35200
+ GroupMode["Team"] = "Team";
35201
+ GroupMode["TeamDriver"] = "TeamDriver";
35202
+ GroupMode["TeamRoute"] = "TeamRoute";
35203
+ })(GroupMode || (exports.GroupMode = GroupMode = {}));
34897
35204
  var ReadyForPickupFilterOptions;
34898
35205
  (function (ReadyForPickupFilterOptions) {
34899
35206
  ReadyForPickupFilterOptions[ReadyForPickupFilterOptions["NOT_READY_FOR_PICKUP"] = 1] = "NOT_READY_FOR_PICKUP";