@bringg/dashboard-sdk 9.49.0 → 9.50.0-pre.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 (87) hide show
  1. package/dist/Application/Entity/ApplicationEntity.js +3 -3
  2. package/dist/Application/Entity/ApplicationEntity.js.map +1 -1
  3. package/dist/AsyncOperationStatus/AsyncOperationStatus.js +1 -0
  4. package/dist/AsyncOperationStatus/AsyncOperationStatus.js.map +1 -1
  5. package/dist/BringgDashboardSDK.js +0 -2
  6. package/dist/BringgDashboardSDK.js.map +1 -1
  7. package/dist/Chat/Chat.js.map +1 -1
  8. package/dist/Chat/Service/Chat.service.js.map +1 -1
  9. package/dist/ChatConversation/ChatConversation.consts.d.ts +4 -4
  10. package/dist/ChatConversation/Entity/ChatConversation.d.ts +5 -4
  11. package/dist/ChatConversation/Entity/ChatConversation.js +3 -3
  12. package/dist/ChatConversation/Entity/ChatConversation.js.map +1 -1
  13. package/dist/Core/BringgException.js +3 -3
  14. package/dist/Core/BringgException.js.map +1 -1
  15. package/dist/Core/Polly.js +4 -2
  16. package/dist/Core/Polly.js.map +1 -1
  17. package/dist/Core/RouteGenerator.d.ts +1 -1
  18. package/dist/Core/RouteGenerator.js +1 -4
  19. package/dist/Core/RouteGenerator.js.map +1 -1
  20. package/dist/Customer/v2/customers-api.js +2 -2
  21. package/dist/Customer/v2/customers-api.js.map +1 -1
  22. package/dist/Data/merge-mapper.js +1 -0
  23. package/dist/Data/merge-mapper.js.map +1 -1
  24. package/dist/DeliveryWindows/v2/delivery-windows-service.js +1 -1
  25. package/dist/MerchantConfiguration/Entity/MerchantConfigurationEntity.js +0 -1
  26. package/dist/MerchantConfiguration/Entity/MerchantConfigurationEntity.js.map +1 -1
  27. package/dist/MerchantConfiguration/MerchantConfigurationApi.js +0 -1
  28. package/dist/MerchantConfiguration/MerchantConfigurationApi.js.map +1 -1
  29. package/dist/OptimizationKpi/v2/optimization-kpi-service.js +1 -1
  30. package/dist/PlannedDeliveryWindows/planned-delivery-windows-service.js +2 -2
  31. package/dist/ReportPreference/Entity/ReportPreferenceEntity.js +1 -1
  32. package/dist/ServiceArea/v2/service-area-service.js +2 -1
  33. package/dist/ServiceArea/v2/service-area-service.js.map +1 -1
  34. package/dist/ServicePlans/Entity/ServicePlansEntity.js +0 -1
  35. package/dist/ServicePlans/Entity/ServicePlansEntity.js.map +1 -1
  36. package/dist/ServicePlans/ServicePlansApi.js.map +1 -1
  37. package/dist/Services/Route.js +0 -1
  38. package/dist/Services/Route.js.map +1 -1
  39. package/dist/Services/ServiceRequest.js +6 -25
  40. package/dist/Services/ServiceRequest.js.map +1 -1
  41. package/dist/Task/Entity/TaskEntity.js +0 -2
  42. package/dist/Task/Entity/TaskEntity.js.map +1 -1
  43. package/dist/Task/TaskApi.js +0 -2
  44. package/dist/Task/TaskApi.js.map +1 -1
  45. package/dist/Task/Tasks.consts.js +1 -1
  46. package/dist/Task/v2/task-realtime-subscriptions.js +1 -1
  47. package/dist/Task/v2/task-realtime-subscriptions.js.map +1 -1
  48. package/dist/Task/v2/tasks-api.js +1 -4
  49. package/dist/Task/v2/tasks-api.js.map +1 -1
  50. package/dist/Task/v2/tasks-service.js +2 -6
  51. package/dist/Task/v2/tasks-service.js.map +1 -1
  52. package/dist/TaskConfiguration/Entity/TaskConfigurationEntity.js +1 -1
  53. package/dist/TaskInventory/Service/TaskInventory.service.js +2 -2
  54. package/dist/TaskManagedAttributes/task-managed-attributes-realtime-subscriptions.js +2 -0
  55. package/dist/TaskManagedAttributes/task-managed-attributes-realtime-subscriptions.js.map +1 -1
  56. package/dist/TaskManagedAttributes/task-managed-attributes-service.js +2 -2
  57. package/dist/TasksExplorer/Services/tasks-explorer-service.js +2 -2
  58. package/dist/User/Service/UsersService.d.ts +4 -4
  59. package/dist/User/Service/UsersService.js +3 -3
  60. package/dist/User/Store/UsersStore.d.ts +3 -3
  61. package/dist/User/User.consts.d.ts +9 -4
  62. package/dist/User/User.consts.js +9 -4
  63. package/dist/User/User.consts.js.map +1 -1
  64. package/dist/User/Users.d.ts +3 -3
  65. package/dist/User/v2/users-api.d.ts +26 -5
  66. package/dist/User/v2/users-api.js +188 -29
  67. package/dist/User/v2/users-api.js.map +1 -1
  68. package/dist/User/v2/users-service.d.ts +17 -2
  69. package/dist/User/v2/users-service.js +129 -2
  70. package/dist/User/v2/users-service.js.map +1 -1
  71. package/dist/UserConfiguration/Entity/UserConfigurationEntity.js +2 -2
  72. package/dist/UserPresetViews/user-preset-views-service.js +2 -2
  73. package/dist/Vehicle/Entity/VehicleEntity.js +1 -1
  74. package/dist/Vehicle/v2/vehicles-service.js +3 -3
  75. package/dist/Workflow/v2/workflows-service.js +1 -1
  76. package/dist/bringg-dashboard-sdk-cjs2.js +386 -131
  77. package/dist/bringg-dashboard-sdk-cjs2.js.map +1 -1
  78. package/dist/bringg-dashboard-sdk.js +41 -41
  79. package/dist/bringg-dashboard-sdk.min.js +1 -1
  80. package/dist/bringg-dashboard-sdk.min.js.map +1 -1
  81. package/dist/index.d.ts +0 -1
  82. package/dist/index.js +1 -3
  83. package/dist/index.js.map +1 -1
  84. package/dist/utils/decorators/cached-promise.d.ts +1 -1
  85. package/dist/utils/decorators/cached-promise.js +2 -4
  86. package/dist/utils/decorators/cached-promise.js.map +1 -1
  87. package/package.json +6 -9
@@ -1137,11 +1137,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
1137
1137
  };
1138
1138
  Object.defineProperty(exports, "__esModule", ({ value: true }));
1139
1139
  var lodash_1 = __importDefault(__webpack_require__(96486));
1140
+ var p_defer_1 = __importDefault(__webpack_require__(63931));
1140
1141
  var uuid_1 = __webpack_require__(21614);
1141
- var StoreEntity_1 = __importDefault(__webpack_require__(95574));
1142
- var pDefer = __webpack_require__(63931);
1143
1142
  var BringgException_1 = __webpack_require__(43605);
1144
1143
  var ExceptionReason_1 = __webpack_require__(73532);
1144
+ var StoreEntity_1 = __importDefault(__webpack_require__(95574));
1145
1145
  var entityName = 'application_action';
1146
1146
  var ApplicationEntity = /** @class */ (function (_super) {
1147
1147
  __extends(ApplicationEntity, _super);
@@ -1169,7 +1169,7 @@ var ApplicationEntity = /** @class */ (function (_super) {
1169
1169
  _a.label = 1;
1170
1170
  case 1:
1171
1171
  _a.trys.push([1, , 4, 5]);
1172
- deferred = pDefer();
1172
+ deferred = (0, p_defer_1.default)();
1173
1173
  this.inFlightActions.set(actionUuid, deferred);
1174
1174
  return [4 /*yield*/, this.createApplicationAction({
1175
1175
  action_name: actionName,
@@ -2080,6 +2080,7 @@ var AsyncOperationStatus = /** @class */ (function () {
2080
2080
  return;
2081
2081
  }
2082
2082
  if (this.listeners.has(requestId)) {
2083
+ // eslint-disable-next-line no-console
2083
2084
  console.warn("Listener for request ".concat(requestId, " already exists"));
2084
2085
  }
2085
2086
  var abortedInTheMiddle = false;
@@ -2676,7 +2677,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
2676
2677
  };
2677
2678
  Object.defineProperty(exports, "__esModule", ({ value: true }));
2678
2679
  exports.newConfigurationProvider = exports.getFullConfiguration = exports.setEnvironment = exports.getEnvironment = exports.getGlobals = exports.setGlobals = exports.setConfigurationProvider = exports.getConfigurationProvider = exports.resendConfirmationEmail = exports.sendOtpEmail = exports.loginWithOtp = exports.login = exports.loginInternal = exports.initWithOneTimeCode = exports.initWithAuthToken = exports.initWithEmail = exports.initWithSessionCode = exports.setConfigurations = exports.BringgDashboardSDK = void 0;
2679
- // eslint-disable-next-line no-restricted-imports
2680
2680
  var mobx = __importStar(__webpack_require__(68949));
2681
2681
  var AddonsApi_1 = __importDefault(__webpack_require__(22464));
2682
2682
  var AlertsApi_1 = __importDefault(__webpack_require__(86776));
@@ -2802,7 +2802,6 @@ var BringgDashboardSDK = /** @class */ (function () {
2802
2802
  this.chat = null;
2803
2803
  this.optimizationKpi = null;
2804
2804
  this.companies = null;
2805
- // eslint-disable-next-line @typescript-eslint/ban-types
2806
2805
  this.credentials = {};
2807
2806
  this.crews = null;
2808
2807
  this.crossAppTransport = null;
@@ -3750,13 +3749,13 @@ var ChatConversation = /** @class */ (function (_super) {
3750
3749
  });
3751
3750
  _this.realTime.on('conversation created', function (chatConversationCreated) {
3752
3751
  return _this.store.addToStore(
3753
- //@ts-ignore
3752
+ //@ts-expect-error - Type mismatch in event structure
3754
3753
  chatConversationCreated.conversation || chatConversationCreated);
3755
3754
  });
3756
3755
  _this.realTime.on('conversation update', function (chatConversationUpdate) {
3757
3756
  return _this.store.updateInStore(
3758
- //@ts-ignore
3759
- chatConversationCreated.conversation || chatConversationCreated);
3757
+ //@ts-expect-error - Type mismatch in event structure
3758
+ chatConversationUpdate.conversation || chatConversationUpdate);
3760
3759
  });
3761
3760
  return _this;
3762
3761
  }
@@ -4432,7 +4431,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4432
4431
  };
4433
4432
  Object.defineProperty(exports, "__esModule", ({ value: true }));
4434
4433
  exports.BringgException = exports.logOnException = void 0;
4435
- var _ = __webpack_require__(96486);
4434
+ var lodash_1 = __importDefault(__webpack_require__(96486));
4436
4435
  var extendable_error_1 = __webpack_require__(93310);
4437
4436
  var ExceptionReason_1 = __webpack_require__(73532);
4438
4437
  var Logger_1 = __importDefault(__webpack_require__(55860));
@@ -4468,10 +4467,10 @@ function handleError(e) {
4468
4467
  throw new BringgException(ExceptionReason_1.ExceptionReason.UNCAUGHT, e.message, e);
4469
4468
  }
4470
4469
  var toStringProducer = function (messageProducer) {
4471
- if (_.isUndefined(messageProducer)) {
4470
+ if (lodash_1.default.isUndefined(messageProducer)) {
4472
4471
  return null;
4473
4472
  }
4474
- if (_.isFunction(messageProducer)) {
4473
+ if (lodash_1.default.isFunction(messageProducer)) {
4475
4474
  return messageProducer;
4476
4475
  }
4477
4476
  return function () { return messageProducer.toString(); };
@@ -5353,8 +5352,8 @@ var Retryable = /** @class */ (function (_super) {
5353
5352
  }
5354
5353
  Retryable.prototype.execute = function (fn) {
5355
5354
  var count = 0;
5356
- // eslint-disable-next-line no-constant-condition
5357
- while (true) {
5355
+ var maxIterations = this.config.isForever ? 10000 : this.config.numRetries + 1; // Safety limit for forever loops
5356
+ while (count < maxIterations) {
5358
5357
  try {
5359
5358
  return fn(new Info(count));
5360
5359
  }
@@ -5373,6 +5372,8 @@ var Retryable = /** @class */ (function (_super) {
5373
5372
  }
5374
5373
  }
5375
5374
  }
5375
+ // If we somehow reach here, throw an error
5376
+ throw new Error('Maximum retry iterations exceeded');
5376
5377
  };
5377
5378
  return Retryable;
5378
5379
  }(AsyncRetryable));
@@ -5446,9 +5447,7 @@ exports.defaultExtractor = defaultExtractor;
5446
5447
  * @param exception The error message.
5447
5448
  * @param stackConstructor Optionally provide the error factory function, so it will be omitted from the stack if possible.
5448
5449
  */
5449
- function createServiceError(exception,
5450
- // eslint-disable-next-line @typescript-eslint/ban-types
5451
- stackConstructor) {
5450
+ function createServiceError(exception, stackConstructor) {
5452
5451
  if (stackConstructor === void 0) { stackConstructor = createServiceError; }
5453
5452
  var generatedException = new BringgException_1.BringgException(ExceptionReason_1.ExceptionReason.UNSUCCESSFUL_RESULT, exception);
5454
5453
  // Not available on browser, only nodejs.
@@ -5487,7 +5486,6 @@ var Request = /** @class */ (function () {
5487
5486
  this.payload = payload;
5488
5487
  return this;
5489
5488
  };
5490
- // eslint-disable-next-line @typescript-eslint/ban-types
5491
5489
  Request.prototype.withHeaders = function (headers) {
5492
5490
  this.headers = headers;
5493
5491
  return this;
@@ -6709,7 +6707,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
6709
6707
  return (mod && mod.__esModule) ? mod : { "default": mod };
6710
6708
  };
6711
6709
  Object.defineProperty(exports, "__esModule", ({ value: true }));
6712
- var _ = __webpack_require__(96486);
6710
+ var lodash_1 = __importDefault(__webpack_require__(96486));
6713
6711
  var merge_mapper_1 = __webpack_require__(59200);
6714
6712
  var storable_realtime_subscriptions_1 = __importDefault(__webpack_require__(1227));
6715
6713
  var data_entity_1 = __webpack_require__(91083);
@@ -6790,7 +6788,7 @@ var CustomersApi = /** @class */ (function () {
6790
6788
  }))];
6791
6789
  case 2:
6792
6790
  results = _a.sent();
6793
- return [2 /*return*/, _.flatten(results)];
6791
+ return [2 /*return*/, lodash_1.default.flatten(results)];
6794
6792
  }
6795
6793
  });
6796
6794
  }); }, ids, options)];
@@ -7425,6 +7423,7 @@ function mergeIntoExisting(dataStore, item) {
7425
7423
  return { current: existing, diff: diff };
7426
7424
  }
7427
7425
  catch (e) {
7426
+ // eslint-disable-next-line no-console
7428
7427
  console.error('failed to merge item update to existing', item, existing);
7429
7428
  e.params = { existing: existing, item: item };
7430
7429
  throw e;
@@ -9307,7 +9306,7 @@ var DeliveryWindowsService = /** @class */ (function () {
9307
9306
  return [4 /*yield*/, this.service.routeGenerator
9308
9307
  .post("".concat(this.service.Routes.GET_ALL, "/batch_get"))
9309
9308
  .withPayload(params)
9310
- .setException("Failed to get all delivery windows")
9309
+ .setException('Failed to get all delivery windows')
9311
9310
  .invoke()];
9312
9311
  case 1:
9313
9312
  result = _a.sent();
@@ -12486,7 +12485,6 @@ var MerchantConfigurationEntity = /** @class */ (function (_super) {
12486
12485
  });
12487
12486
  });
12488
12487
  };
12489
- // eslint-disable-next-line @typescript-eslint/ban-types
12490
12488
  MerchantConfigurationEntity.prototype.dashboardTableConfigurationUpdate = function (table_configuration) {
12491
12489
  return __awaiter(this, void 0, void 0, function () {
12492
12490
  return __generator(this, function (_a) {
@@ -12896,7 +12894,6 @@ var MerchantConfigurationApi = /** @class */ (function () {
12896
12894
  });
12897
12895
  });
12898
12896
  };
12899
- // eslint-disable-next-line @typescript-eslint/ban-types
12900
12897
  MerchantConfigurationApi.prototype.dashboardTableConfigurationUpdate = function (table_configuration) {
12901
12898
  return __awaiter(this, void 0, void 0, function () {
12902
12899
  return __generator(this, function (_a) {
@@ -14917,7 +14914,7 @@ var OptimizationKpiService = /** @class */ (function () {
14917
14914
  switch (_a.label) {
14918
14915
  case 0: return [4 /*yield*/, this.service.routeGenerator
14919
14916
  .post(exports.Routes.CREATE)
14920
- .setException("Could not fetch optimization kpi data")
14917
+ .setException('Could not fetch optimization kpi data')
14921
14918
  .withPayload(request)
14922
14919
  .invoke()];
14923
14920
  case 1: return [2 /*return*/, _a.sent()];
@@ -16152,7 +16149,7 @@ var PlannedDeliveryWindowsService = /** @class */ (function () {
16152
16149
  switch (_a.label) {
16153
16150
  case 0: return [4 /*yield*/, this.service.routeGenerator
16154
16151
  .get(exports.Routes.GET_ALL)
16155
- .setException("failed to load planned delivery windows without team")
16152
+ .setException('failed to load planned delivery windows without team')
16156
16153
  .withQueryString({ start_time: startTime, end_time: endTime })
16157
16154
  .invoke()];
16158
16155
  case 1:
@@ -16237,7 +16234,7 @@ var PlannedDeliveryWindowsService = /** @class */ (function () {
16237
16234
  switch (_a.label) {
16238
16235
  case 0: return [4 /*yield*/, this.service.routeGenerator
16239
16236
  .post(exports.Routes.BULK_DELETE)
16240
- .setException("failed to delete some of planned delivery windows")
16237
+ .setException('failed to delete some of planned delivery windows')
16241
16238
  .withPayload(plannedDeliveryWindowsToDelete)
16242
16239
  .invoke()];
16243
16240
  case 1:
@@ -17817,7 +17814,7 @@ var ReportPreferenceEntity = /** @class */ (function (_super) {
17817
17814
  }
17818
17815
  ReportPreferenceEntity.prototype.upsert = function (reportPreference) {
17819
17816
  return this.service.routeGenerator
17820
- .put("/merchant/report_preferences/upsert")
17817
+ .put('/merchant/report_preferences/upsert')
17821
17818
  .withPayload(reportPreference)
17822
17819
  .invoke();
17823
17820
  };
@@ -20421,7 +20418,7 @@ var ServiceAreaService = /** @class */ (function () {
20421
20418
  case 0: return [4 /*yield*/, this.service.routeGenerator
20422
20419
  .get("/".concat(this.service.entityName))
20423
20420
  .withCommonOptions(commonOptions)
20424
- .setException("Failed to get all service areas")
20421
+ .setException('Failed to get all service areas')
20425
20422
  .invoke()];
20426
20423
  case 1:
20427
20424
  result = _a.sent();
@@ -20439,6 +20436,7 @@ var ServiceAreaService = /** @class */ (function () {
20439
20436
  case 0:
20440
20437
  // Not requesting with empty/non valid teams_ids as the API will return all the service areas the user have access to
20441
20438
  if ((_a = request.teams_ids) === null || _a === void 0 ? void 0 : _a.every(function (id) { return id == null; })) {
20439
+ // eslint-disable-next-line no-console
20442
20440
  console.warn('Teams ids are empty, please use loadAll instead', __assign({}, request));
20443
20441
  return [2 /*return*/, []];
20444
20442
  }
@@ -20637,7 +20635,6 @@ var ServicePlanSEntity = /** @class */ (function (_super) {
20637
20635
  });
20638
20636
  });
20639
20637
  };
20640
- // eslint-disable-next-line @typescript-eslint/ban-types
20641
20638
  ServicePlanSEntity.prototype.deleteServicePlan = function (id) {
20642
20639
  return __awaiter(this, void 0, void 0, function () {
20643
20640
  var response;
@@ -22145,7 +22142,6 @@ var Route = /** @class */ (function () {
22145
22142
  this.uri = uri;
22146
22143
  this.httpMethod = httpMethod;
22147
22144
  }
22148
- // eslint-disable-next-line @typescript-eslint/ban-types
22149
22145
  Route.prototype.applyParams = function (params) {
22150
22146
  return this.uri.replace(/{:([^}]+)}/gi, function (uri, paramKey) {
22151
22147
  if ((0, lodash_1.isUndefined)(params[paramKey])) {
@@ -22223,7 +22219,7 @@ var lodash_1 = __webpack_require__(96486);
22223
22219
  var BringgException_1 = __webpack_require__(43605);
22224
22220
  var Logger_1 = __importDefault(__webpack_require__(55860));
22225
22221
  var abort_1 = __webpack_require__(34179);
22226
- var version = '9.49.0';
22222
+ var version = '9.50.0-pre.0';
22227
22223
  function logErrorResponse(response) {
22228
22224
  var data = response.data, status = response.status;
22229
22225
  try {
@@ -22248,11 +22244,7 @@ function logErrorResponse(response) {
22248
22244
  exports.logErrorResponse = logErrorResponse;
22249
22245
  var DEFAULT_TIMEOUT = 120000;
22250
22246
  var RequestOptions = /** @class */ (function () {
22251
- function RequestOptions(clientId, timeout,
22252
- // eslint-disable-next-line @typescript-eslint/ban-types
22253
- queryString, authenticationToken,
22254
- // eslint-disable-next-line @typescript-eslint/ban-types
22255
- headers, responseType, signal) {
22247
+ function RequestOptions(clientId, timeout, queryString, authenticationToken, headers, responseType, signal) {
22256
22248
  // NiceToHave: move headers to HttpHeaders class
22257
22249
  this.headers = __assign(__assign({ 'Content-Type': 'application/json' }, headers), { 'sdk-version': version, Client: clientId });
22258
22250
  this.timeout = timeout;
@@ -22330,9 +22322,7 @@ function patch(axiosInstance, host, uri, queryString, payload, signal) {
22330
22322
  function remove(axiosInstance, host, uri, queryString, payload, signal) {
22331
22323
  return new ResponseHandler(axiosInstance.delete("".concat(host).concat(uri), { params: queryString, data: payload, signal: signal }), signal);
22332
22324
  }
22333
- function routify(axiosInstance, endpoint, route,
22334
- // eslint-disable-next-line @typescript-eslint/ban-types
22335
- routeParams, queryString, payload, signal) {
22325
+ function routify(axiosInstance, endpoint, route, routeParams, queryString, payload, signal) {
22336
22326
  switch (route.httpMethod) {
22337
22327
  case 0 /* HttpMethod.GET */:
22338
22328
  return get(axiosInstance, endpoint.encode(), route.applyParams(routeParams), queryString, signal);
@@ -22384,12 +22374,9 @@ function wrapWithInterceptors(axios) {
22384
22374
  });
22385
22375
  return axios;
22386
22376
  }
22387
- function axiosInstance(clientId, authenticationToken,
22388
- // eslint-disable-next-line @typescript-eslint/ban-types
22389
- headers, responseType, timeout, signal) {
22377
+ function axiosInstance(clientId, authenticationToken, headers, responseType, timeout, signal) {
22390
22378
  return wrapWithInterceptors(axios_1.default.create(RequestOptions.new({ clientId: clientId, authenticationToken: authenticationToken, headers: headers, responseType: responseType, timeout: timeout, signal: signal })));
22391
22379
  }
22392
- // eslint-disable-next-line @typescript-eslint/ban-types
22393
22380
  function anonymousAxiosInstance(clientId, headers, signal) {
22394
22381
  return wrapWithInterceptors(axios_1.default.create(RequestOptions.new({ clientId: clientId, headers: headers, signal: signal })));
22395
22382
  }
@@ -22398,13 +22385,7 @@ var AuthorizedServiceRequest = /** @class */ (function () {
22398
22385
  this.authToken = authToken;
22399
22386
  this.clientId = clientId;
22400
22387
  }
22401
- AuthorizedServiceRequest.prototype.invoke = function (endpoint, route,
22402
- // eslint-disable-next-line @typescript-eslint/ban-types
22403
- routeParams,
22404
- // eslint-disable-next-line @typescript-eslint/ban-types
22405
- queryString, payload,
22406
- // eslint-disable-next-line @typescript-eslint/ban-types
22407
- headers, responseType, timeout, signal) {
22388
+ AuthorizedServiceRequest.prototype.invoke = function (endpoint, route, routeParams, queryString, payload, headers, responseType, timeout, signal) {
22408
22389
  if (signal === null || signal === void 0 ? void 0 : signal.aborted) {
22409
22390
  (0, abort_1.throwAbortError)(signal, 'Request aborted (before even started the request)');
22410
22391
  }
@@ -22418,11 +22399,7 @@ var AnonymousServiceRequest = /** @class */ (function () {
22418
22399
  this.clientId = clientId;
22419
22400
  this.headers = headers;
22420
22401
  }
22421
- AnonymousServiceRequest.prototype.invoke = function (endpoint, route,
22422
- // eslint-disable-next-line @typescript-eslint/ban-types
22423
- routeParams,
22424
- // eslint-disable-next-line @typescript-eslint/ban-types
22425
- queryString, payload, signal) {
22402
+ AnonymousServiceRequest.prototype.invoke = function (endpoint, route, routeParams, queryString, payload, signal) {
22426
22403
  if (signal === null || signal === void 0 ? void 0 : signal.aborted) {
22427
22404
  (0, abort_1.throwAbortError)(signal, 'Request aborted (before even started the request)');
22428
22405
  }
@@ -24379,7 +24356,6 @@ var TaskEntity = /** @class */ (function (_super) {
24379
24356
  .withPayload({ task_ids: task_ids })
24380
24357
  .invoke();
24381
24358
  };
24382
- // eslint-disable-next-line @typescript-eslint/ban-types
24383
24359
  TaskEntity.prototype.massUnassign = function (task_ids, options) {
24384
24360
  return this.service.routeGenerator
24385
24361
  .post(Tasks_consts_1.Routes.MASS_TASK_UNASSIGN)
@@ -24388,7 +24364,6 @@ var TaskEntity = /** @class */ (function (_super) {
24388
24364
  .withPayload({ task_ids: task_ids, options: options })
24389
24365
  .invoke();
24390
24366
  };
24391
- // eslint-disable-next-line @typescript-eslint/ban-types
24392
24367
  TaskEntity.prototype.massAssign = function (user_id, task_ids, options, targetRun) {
24393
24368
  return this.service.routeGenerator
24394
24369
  .post(Tasks_consts_1.Routes.MASS_TASK_ASSIGN)
@@ -24610,14 +24585,12 @@ var Tasks = /** @class */ (function () {
24610
24585
  Tasks.prototype.batchGet = function (ids) {
24611
24586
  return this.taskEntity.batchGet(ids);
24612
24587
  };
24613
- // eslint-disable-next-line @typescript-eslint/ban-types
24614
24588
  Tasks.prototype.massAssign = function (userId, taskIds, options, targetRun) {
24615
24589
  return this.taskEntity.massAssign(userId, taskIds, options, targetRun);
24616
24590
  };
24617
24591
  Tasks.prototype.getChildTasks = function (taskId) {
24618
24592
  return this.taskEntity.getChildTasks(taskId);
24619
24593
  };
24620
- // eslint-disable-next-line @typescript-eslint/ban-types
24621
24594
  Tasks.prototype.massUnassign = function (taskIds, options) {
24622
24595
  return this.taskEntity.massUnassign(taskIds, options);
24623
24596
  };
@@ -24899,7 +24872,7 @@ var TaskRealTimeEvents;
24899
24872
  TaskRealTimeEvents["TASK_DELETED"] = "task deleted";
24900
24873
  TaskRealTimeEvents["NEW_TASK"] = "new task";
24901
24874
  })(TaskRealTimeEvents = exports.TaskRealTimeEvents || (exports.TaskRealTimeEvents = {}));
24902
- exports.baseRoute = "/tasks";
24875
+ exports.baseRoute = '/tasks';
24903
24876
  exports.Routes = {
24904
24877
  GET_OPEN_TASKS: "".concat(exports.baseRoute, "/open"),
24905
24878
  GET_PLANNING_TASKS: "".concat(exports.baseRoute, "/planning"),
@@ -25010,7 +24983,7 @@ var TaskRealtimeSubscriptions = /** @class */ (function () {
25010
24983
  name: Tasks_consts_1.TaskRealTimeEvents.TASK_UPDATE,
25011
24984
  isDelete: false,
25012
24985
  extraDataFunc: function (task) {
25013
- var isPartialUpdate = !task.hasOwnProperty('status');
24986
+ var isPartialUpdate = !Object.prototype.hasOwnProperty.call(task, 'status');
25014
24987
  return { ignore: isPartialUpdate && !_this.tasksStore.get(task.id) };
25015
24988
  }
25016
24989
  },
@@ -25338,12 +25311,9 @@ var TasksApi = /** @class */ (function () {
25338
25311
  });
25339
25312
  });
25340
25313
  };
25341
- TasksApi.prototype.massAssign = function (userId, taskIds,
25342
- // eslint-disable-next-line @typescript-eslint/ban-types
25343
- options, targetRun) {
25314
+ TasksApi.prototype.massAssign = function (userId, taskIds, options, targetRun) {
25344
25315
  return this.tasksService.massAssign(userId, taskIds, options, targetRun);
25345
25316
  };
25346
- // eslint-disable-next-line @typescript-eslint/ban-types
25347
25317
  TasksApi.prototype.massUnassign = function (taskIds, options) {
25348
25318
  return this.tasksService.massUnassign(taskIds, options);
25349
25319
  };
@@ -25606,7 +25576,7 @@ var TasksService = /** @class */ (function () {
25606
25576
  TasksService.prototype.loadInvalid = function (commonOptions) {
25607
25577
  return this.service.routeGenerator
25608
25578
  .get(Tasks_consts_1.Routes.GET_INVALID_TASKS)
25609
- .setException("failed to fetch invalid tasks")
25579
+ .setException('failed to fetch invalid tasks')
25610
25580
  .withCommonOptions(commonOptions)
25611
25581
  .invoke();
25612
25582
  };
@@ -25652,9 +25622,7 @@ var TasksService = /** @class */ (function () {
25652
25622
  .withCommonOptions(commonOptions)
25653
25623
  .invoke();
25654
25624
  };
25655
- TasksService.prototype.massAssign = function (user_id, ids,
25656
- // eslint-disable-next-line @typescript-eslint/ban-types
25657
- options, targetRun) {
25625
+ TasksService.prototype.massAssign = function (user_id, ids, options, targetRun) {
25658
25626
  return this.service.routeGenerator
25659
25627
  .post(Tasks_consts_1.Routes.MASS_TASK_ASSIGN)
25660
25628
  .setException("failed to assign tasks ".concat(ids, " to user ").concat(user_id))
@@ -25662,7 +25630,6 @@ var TasksService = /** @class */ (function () {
25662
25630
  .withCommonOptions(options)
25663
25631
  .invoke();
25664
25632
  };
25665
- // eslint-disable-next-line @typescript-eslint/ban-types
25666
25633
  TasksService.prototype.massUnassign = function (ids, options) {
25667
25634
  return this.service.routeGenerator
25668
25635
  .post(Tasks_consts_1.Routes.MASS_TASK_UNASSIGN)
@@ -25713,7 +25680,6 @@ var TasksService = /** @class */ (function () {
25713
25680
  .setException("failed to get reschedule virtual tasks for tasks : [".concat(taskIds.join(', '), "]"))
25714
25681
  .invoke();
25715
25682
  };
25716
- // eslint-disable-next-line @typescript-eslint/ban-types
25717
25683
  TasksService.prototype.batchLoad = function (ids, fields, options) {
25718
25684
  return __awaiter(this, void 0, void 0, function () {
25719
25685
  return __generator(this, function (_a) {
@@ -25892,7 +25858,7 @@ var TaskConfigurationEntity = /** @class */ (function (_super) {
25892
25858
  }) || this;
25893
25859
  }
25894
25860
  TaskConfigurationEntity.prototype.getAllActionData = function () {
25895
- return this.service.routeGenerator.get("/merchant/task_configurations/get_all_action_data").invoke();
25861
+ return this.service.routeGenerator.get('/merchant/task_configurations/get_all_action_data').invoke();
25896
25862
  };
25897
25863
  return TaskConfigurationEntity;
25898
25864
  }(Entity_1.default));
@@ -25993,12 +25959,12 @@ var BringgException_1 = __webpack_require__(43605);
25993
25959
  var Route_1 = __webpack_require__(92641);
25994
25960
  var SessionBasedService_1 = __webpack_require__(27826);
25995
25961
  var TaskInventory_consts_1 = __webpack_require__(31289);
25996
- exports.baseRoute = "/task_inventories";
25962
+ exports.baseRoute = '/task_inventories';
25997
25963
  exports.Routes = {
25998
25964
  GET: new Route_1.Route("".concat(exports.baseRoute, "/mass_quantity_update"), 1 /* HttpMethod.POST */),
25999
25965
  UPDATE: new Route_1.Route("".concat(exports.baseRoute, "/{:id}"), 2 /* HttpMethod.PUT */),
26000
25966
  GET_REJECT_DETAILS: new Route_1.Route("".concat(exports.baseRoute, "/reject_details"), 0 /* HttpMethod.GET */),
26001
- GET_TASKS_WEIGHT: new Route_1.Route("/task-service/task-inventories/calculate-loads", 1 /* HttpMethod.POST */)
25967
+ GET_TASKS_WEIGHT: new Route_1.Route('/task-service/task-inventories/calculate-loads', 1 /* HttpMethod.POST */)
26002
25968
  };
26003
25969
  var TaskInventoryService = /** @class */ (function (_super) {
26004
25970
  __extends(TaskInventoryService, _super);
@@ -26467,6 +26433,7 @@ var TaskManagedAttributesRealtimeSubscriptions = /** @class */ (function () {
26467
26433
  this.realtimeSubscriptions.subscribe(internal_types_1.TaskManagedAttributesRealTimeEvents.TASK_MANAGED_ATTRIBUTE_DELETE, function (event) {
26468
26434
  var attribute = _this.tasksManagedAttributesStore.get(event.task_id);
26469
26435
  if (!attribute) {
26436
+ // eslint-disable-next-line no-console
26470
26437
  console.warn("Received delete event for task managed attribute ".concat(event.name, " on task ").concat(event.task_id, ", but it does not exist in the store."));
26471
26438
  return;
26472
26439
  }
@@ -26485,6 +26452,7 @@ var TaskManagedAttributesRealtimeSubscriptions = /** @class */ (function () {
26485
26452
  listener(event);
26486
26453
  }
26487
26454
  catch (e) {
26455
+ // eslint-disable-next-line no-console
26488
26456
  console.error('Error in update listener', e);
26489
26457
  }
26490
26458
  });
@@ -26574,7 +26542,7 @@ var TaskManagedAttributesService = /** @class */ (function () {
26574
26542
  .withPayload({
26575
26543
  task_ids: ids
26576
26544
  })
26577
- .setException("failed to fetch managed attributes for requested tasks")
26545
+ .setException('failed to fetch managed attributes for requested tasks')
26578
26546
  .withCommonOptions(commonOptions)
26579
26547
  .invoke()];
26580
26548
  });
@@ -26586,7 +26554,7 @@ var TaskManagedAttributesService = /** @class */ (function () {
26586
26554
  return __generator(this, function (_a) {
26587
26555
  return [2 /*return*/, this.service.routeGenerator
26588
26556
  .get("".concat(basePath, "/available"))
26589
- .setException("failed to fetch available managed attributes")
26557
+ .setException('failed to fetch available managed attributes')
26590
26558
  .withCommonOptions(commonOptions)
26591
26559
  .invoke()];
26592
26560
  });
@@ -26889,7 +26857,7 @@ var TasksExplorerService = /** @class */ (function () {
26889
26857
  return [2 /*return*/, this.service.routeGenerator
26890
26858
  .post(Routes.GET_ALL)
26891
26859
  .withPayload(req)
26892
- .setException("failed to fetch tasks")
26860
+ .setException('failed to fetch tasks')
26893
26861
  .withCommonOptions(commonOptions)
26894
26862
  .invoke()];
26895
26863
  });
@@ -26901,7 +26869,7 @@ var TasksExplorerService = /** @class */ (function () {
26901
26869
  return [2 /*return*/, this.service.routeGenerator
26902
26870
  .post(Routes.GET_AGGREGATIONS)
26903
26871
  .withPayload(req)
26904
- .setException("failed to fetch aggregations")
26872
+ .setException('failed to fetch aggregations')
26905
26873
  .withCommonOptions(commonOptions)
26906
26874
  .invoke()];
26907
26875
  });
@@ -28484,7 +28452,7 @@ var UsersService = /** @class */ (function (_super) {
28484
28452
  case 0: return [4 /*yield*/, this.handleAuthorizedRequest({
28485
28453
  route: ROUTES.TOTAL_EMPLOYEES,
28486
28454
  extractor: User_consts_1.countExtractor,
28487
- exceptionProducer: BringgException_1.BringgException.serviceException(function () { return "Could not get total employee count"; })
28455
+ exceptionProducer: BringgException_1.BringgException.serviceException(function () { return 'Could not get total employee count'; })
28488
28456
  })];
28489
28457
  case 1: return [2 /*return*/, _a.sent()];
28490
28458
  }
@@ -28498,7 +28466,7 @@ var UsersService = /** @class */ (function (_super) {
28498
28466
  case 0: return [4 /*yield*/, this.handleAuthorizedRequest({
28499
28467
  route: ROUTES.TOTAL_DRIVERS,
28500
28468
  extractor: User_consts_1.countExtractor,
28501
- exceptionProducer: BringgException_1.BringgException.serviceException(function () { return "Could not get total drivers count"; })
28469
+ exceptionProducer: BringgException_1.BringgException.serviceException(function () { return 'Could not get total drivers count'; })
28502
28470
  })];
28503
28471
  case 1: return [2 /*return*/, _a.sent()];
28504
28472
  }
@@ -28767,7 +28735,7 @@ var UsersService = /** @class */ (function (_super) {
28767
28735
  route: ROUTES.GENERATE_RESET_PASSWORD_TOKEN,
28768
28736
  extractor: function (response) { return response.reset_password_token; },
28769
28737
  payload: { email: email },
28770
- exceptionProducer: BringgException_1.BringgException.serviceException(function () { return "Could not generate token"; })
28738
+ exceptionProducer: BringgException_1.BringgException.serviceException(function () { return 'Could not generate token'; })
28771
28739
  })];
28772
28740
  case 1: return [2 /*return*/, _a.sent()];
28773
28741
  }
@@ -29465,7 +29433,7 @@ var __values = (this && this.__values) || function(o) {
29465
29433
  throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
29466
29434
  };
29467
29435
  Object.defineProperty(exports, "__esModule", ({ value: true }));
29468
- exports.RealtimeEvents = exports.userToGroupsMapper = exports.groupFilter = exports.GROUP_VALUES = exports.UserGroupTypes = exports.UserEvents = exports.Routes = exports.baseRoute = exports.successExtractor = exports.countExtractor = exports.usersExtractor = exports.userExtractor = exports.defaultExtractor = exports.UsersScopes = void 0;
29436
+ exports.RealtimeEvents = exports.userToGroupsMapper = exports.groupFilter = exports.GROUP_VALUES = exports.UserGroupTypes = exports.UserEvents = exports.ROUTES = exports.baseRoute = exports.successExtractor = exports.countExtractor = exports.usersExtractor = exports.userExtractor = exports.defaultExtractor = exports.UsersScopes = void 0;
29469
29437
  var UserHelpers_1 = __webpack_require__(2450);
29470
29438
  var UsersScopes;
29471
29439
  (function (UsersScopes) {
@@ -29485,10 +29453,13 @@ var countExtractor = function (response) { return response.count; };
29485
29453
  exports.countExtractor = countExtractor;
29486
29454
  var successExtractor = function (response) { return response.success; };
29487
29455
  exports.successExtractor = successExtractor;
29488
- exports.baseRoute = "/users";
29489
- exports.Routes = {
29456
+ exports.baseRoute = '/users';
29457
+ exports.ROUTES = {
29490
29458
  GET_ALL: exports.baseRoute,
29491
- GET_DRIVERS_BY_TEAM: "/teams/{:teamId}/users"
29459
+ GET_DRIVERS_BY_TEAM: '/teams/{:teamId}/users',
29460
+ UNLOCK: "".concat(exports.baseRoute, "/{:userId}/unlock"),
29461
+ MESSAGE_DRIVER: '/announcement/user/{:userId}',
29462
+ VALIDATE_PHONE: '/api/user/validate_phone'
29492
29463
  };
29493
29464
  var UserEvents;
29494
29465
  (function (UserEvents) {
@@ -29542,6 +29513,8 @@ exports.userToGroupsMapper = userToGroupsMapper;
29542
29513
  var RealtimeEvents;
29543
29514
  (function (RealtimeEvents) {
29544
29515
  RealtimeEvents["Update"] = "employee update";
29516
+ RealtimeEvents["Create"] = "new employee";
29517
+ RealtimeEvents["Delete"] = "delete employee";
29545
29518
  })(RealtimeEvents = exports.RealtimeEvents || (exports.RealtimeEvents = {}));
29546
29519
  //# sourceMappingURL=User.consts.js.map
29547
29520
 
@@ -29957,23 +29930,55 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
29957
29930
  return (mod && mod.__esModule) ? mod : { "default": mod };
29958
29931
  };
29959
29932
  Object.defineProperty(exports, "__esModule", ({ value: true }));
29933
+ var lodash_1 = __webpack_require__(96486);
29934
+ var BringgException_1 = __webpack_require__(43605);
29935
+ var ExceptionReason_1 = __webpack_require__(73532);
29960
29936
  var merge_mapper_1 = __webpack_require__(59200);
29961
29937
  var storable_realtime_subscriptions_1 = __importDefault(__webpack_require__(1227));
29938
+ var data_entity_1 = __webpack_require__(91083);
29962
29939
  var data_store_1 = __importDefault(__webpack_require__(73135));
29963
29940
  var storable_data_service_1 = __importDefault(__webpack_require__(45297));
29941
+ var keyset_pagination_consts_1 = __webpack_require__(92400);
29964
29942
  var User_consts_1 = __webpack_require__(38894);
29965
29943
  var users_service_1 = __importDefault(__webpack_require__(38267));
29966
29944
  var UsersApi = /** @class */ (function () {
29967
29945
  function UsersApi(session) {
29968
29946
  var _this = this;
29969
- this.userStore = new data_store_1.default(undefined, { shallow: true });
29947
+ var groupFilters = [
29948
+ {
29949
+ groupType: User_consts_1.UserGroupTypes.Main,
29950
+ keyFunc: function (user) { return (0, User_consts_1.userToGroupsMapper)(user); }
29951
+ },
29952
+ {
29953
+ groupType: 'team',
29954
+ keyFunc: function (user) { return user.team_ids || []; }
29955
+ }
29956
+ ];
29957
+ this.userStore = new data_store_1.default(groupFilters, { shallow: true });
29970
29958
  this.usersService = new users_service_1.default(session);
29971
29959
  this.storableDataService = new storable_data_service_1.default(this.userStore, function (user) {
29972
29960
  return merge_mapper_1.mergeMapper.mergeIntoExisting(_this.userStore, user);
29973
29961
  });
29974
29962
  this.storableRealtimeSubscriptions = new storable_realtime_subscriptions_1.default(session, this.userStore, this.storableDataService);
29975
- this.storableRealtimeSubscriptions.updateStoreOnEvents([{ name: User_consts_1.RealtimeEvents.Update, isDelete: false }]);
29963
+ this.storableRealtimeSubscriptions.updateStoreOnEvents([
29964
+ { name: User_consts_1.RealtimeEvents.Update, isDelete: false },
29965
+ { name: User_consts_1.RealtimeEvents.Create, isDelete: false },
29966
+ { name: User_consts_1.RealtimeEvents.Delete, isDelete: true }
29967
+ ]);
29976
29968
  }
29969
+ /**
29970
+ * Initialize group filters for user categorization
29971
+ * This sets up the realtime subscriptions for proper store management
29972
+ * for now keep this, need to check if this is needed
29973
+ */
29974
+ // public updateStoreOnEvents() {
29975
+ // // This mirrors the pattern from TasksApi and other v2 APIs
29976
+ // this.storableRealtimeSubscriptions.updateStoreOnEvents([
29977
+ // { name: RealtimeEvents.Update, isDelete: false },
29978
+ // { name: RealtimeEvents.Create, isDelete: false },
29979
+ // { name: RealtimeEvents.Delete, isDelete: true }
29980
+ // ]);
29981
+ // }
29977
29982
  UsersApi.prototype.delete = function (userId) {
29978
29983
  return __awaiter(this, void 0, void 0, function () {
29979
29984
  var response;
@@ -29997,35 +30002,45 @@ var UsersApi = /** @class */ (function () {
29997
30002
  });
29998
30003
  });
29999
30004
  };
30000
- UsersApi.prototype.loadAll = function (options) {
30001
- var _this = this;
30002
- return this.storableDataService.loadAll('loadAll', function () { return __awaiter(_this, void 0, void 0, function () {
30003
- var response;
30005
+ UsersApi.prototype.create = function (user) {
30006
+ return __awaiter(this, void 0, void 0, function () {
30007
+ var _this = this;
30004
30008
  return __generator(this, function (_a) {
30005
- switch (_a.label) {
30006
- case 0: return [4 /*yield*/, this.usersService.loadAll({}, options)];
30007
- case 1:
30008
- response = _a.sent();
30009
- return [2 /*return*/, response.users];
30009
+ if ((0, lodash_1.isNil)(user.email) && (0, lodash_1.isNil)(user.phone)) {
30010
+ throw new BringgException_1.BringgException(ExceptionReason_1.ExceptionReason.INVALID_ARGUMENTS, 'Phone or Email is required');
30010
30011
  }
30012
+ return [2 /*return*/, this.storableDataService.modify('create', function () { return _this.usersService.create(user); })];
30011
30013
  });
30012
- }); }, options);
30013
- };
30014
- UsersApi.prototype.getGroup = function (group) {
30015
- return this.userStore.getGroup(User_consts_1.UserGroupTypes.Main, group);
30014
+ });
30016
30015
  };
30017
- UsersApi.prototype.get = function (id) {
30018
- return this.userStore.get(id);
30016
+ UsersApi.prototype.update = function (userId, userDelta) {
30017
+ return __awaiter(this, void 0, void 0, function () {
30018
+ var _this = this;
30019
+ return __generator(this, function (_a) {
30020
+ return [2 /*return*/, this.storableDataService.modify('update', function () { return _this.usersService.update(userId, userDelta); }, function (modifiedUser) {
30021
+ var currentUser = _this.usersService.session.user;
30022
+ if (currentUser.id === modifiedUser.current.id) {
30023
+ _this.usersService.session.user = (0, lodash_1.merge)(currentUser, modifiedUser.current);
30024
+ _this.usersService.session.sendDataEvent(User_consts_1.UserEvents.CURRENT_USER_UPDATED, _this.usersService.session.user);
30025
+ }
30026
+ })];
30027
+ });
30028
+ });
30019
30029
  };
30020
- UsersApi.prototype.getMany = function (ids) {
30021
- return this.userStore.getMany(ids);
30030
+ UsersApi.prototype.load = function (userId, options) {
30031
+ if (options === void 0) { options = data_entity_1.DEFAULT_OPTIONS; }
30032
+ return __awaiter(this, void 0, void 0, function () {
30033
+ var _this = this;
30034
+ return __generator(this, function (_a) {
30035
+ return [2 /*return*/, this.storableDataService.load('load', function () { return _this.usersService.get(userId); }, userId, options)];
30036
+ });
30037
+ });
30022
30038
  };
30023
30039
  UsersApi.prototype.loadMany = function (ids, options) {
30024
30040
  if (options === void 0) { options = { useCache: true }; }
30025
30041
  return __awaiter(this, void 0, void 0, function () {
30026
30042
  var _this = this;
30027
30043
  return __generator(this, function (_a) {
30028
- // If no IDs provided, return empty array without making API call
30029
30044
  if (ids.length === 0) {
30030
30045
  return [2 /*return*/, []];
30031
30046
  }
@@ -30043,23 +30058,140 @@ var UsersApi = /** @class */ (function () {
30043
30058
  });
30044
30059
  });
30045
30060
  };
30046
- UsersApi.prototype.onUpdate = function (callback) {
30047
- return this.storableRealtimeSubscriptions.onEvent(User_consts_1.RealtimeEvents.Update, callback);
30061
+ UsersApi.prototype.loadDriversByTeam = function (teamId, options) {
30062
+ return __awaiter(this, void 0, void 0, function () {
30063
+ var _this = this;
30064
+ return __generator(this, function (_a) {
30065
+ return [2 /*return*/, this.storableDataService.loadAll('loadDriversByTeam', function () { return __awaiter(_this, void 0, void 0, function () {
30066
+ var users;
30067
+ return __generator(this, function (_a) {
30068
+ switch (_a.label) {
30069
+ case 0: return [4 /*yield*/, this.usersService.loadAllByTeams(teamId)];
30070
+ case 1:
30071
+ users = _a.sent();
30072
+ return [2 /*return*/, users];
30073
+ }
30074
+ });
30075
+ }); }, __assign(__assign({}, options), { groupType: 'team', groupValue: teamId }))];
30076
+ });
30077
+ });
30048
30078
  };
30049
- UsersApi.prototype.loadDriversByTeam = function (teamId) {
30079
+ // Pagination methods
30080
+ // TODO: convert options:DataOptions to page and limit
30081
+ UsersApi.prototype.loadAll = function (options) {
30050
30082
  return __awaiter(this, void 0, void 0, function () {
30051
- var users;
30083
+ var _this = this;
30052
30084
  return __generator(this, function (_a) {
30053
- switch (_a.label) {
30054
- case 0: return [4 /*yield*/, this.usersService.loadAllByTeams(teamId)];
30085
+ return [2 /*return*/, this.storableDataService.loadAll('loadAll', function () { return __awaiter(_this, void 0, void 0, function () {
30086
+ var response;
30087
+ return __generator(this, function (_a) {
30088
+ switch (_a.label) {
30089
+ case 0: return [4 /*yield*/, this.usersService.loadAll({}, { signal: options === null || options === void 0 ? void 0 : options.signal })];
30090
+ case 1:
30091
+ response = _a.sent();
30092
+ return [2 /*return*/, response.users];
30093
+ }
30094
+ });
30095
+ }); }, options)];
30096
+ });
30097
+ });
30098
+ };
30099
+ UsersApi.prototype.getAllDrivers = function (_a) {
30100
+ var _b = _a.limit, limit = _b === void 0 ? 25 : _b, _c = _a.page_action, page_action = _c === void 0 ? keyset_pagination_consts_1.KeysetPaginationPageAction.NEXT : _c, cursor = _a.cursor, options = _a.options;
30101
+ return __awaiter(this, void 0, void 0, function () {
30102
+ var optionsWithDefaults, loadResult;
30103
+ var _this = this;
30104
+ return __generator(this, function (_d) {
30105
+ switch (_d.label) {
30106
+ case 0:
30107
+ optionsWithDefaults = (0, lodash_1.defaults)(options, { onlyOnlineDriver: false, onlyCustomers: false });
30108
+ return [4 /*yield*/, this.storableDataService.loadAll('getAllDrivers', function () { return __awaiter(_this, void 0, void 0, function () {
30109
+ var result;
30110
+ return __generator(this, function (_a) {
30111
+ switch (_a.label) {
30112
+ case 0: return [4 /*yield*/, this.usersService.getAllDrivers({
30113
+ limit: limit,
30114
+ page_action: page_action,
30115
+ cursor: cursor,
30116
+ options: optionsWithDefaults
30117
+ })];
30118
+ case 1:
30119
+ result = _a.sent();
30120
+ loadResult = result;
30121
+ return [2 /*return*/, result.users];
30122
+ }
30123
+ });
30124
+ }); }, {
30125
+ useCache: true,
30126
+ // Group drivers appropriately based on options
30127
+ groupType: User_consts_1.UserGroupTypes.Main,
30128
+ groupValue: optionsWithDefaults.onlyCustomers ? User_consts_1.GROUP_VALUES.Customers : User_consts_1.GROUP_VALUES.Drivers
30129
+ })];
30055
30130
  case 1:
30056
- users = _a.sent();
30057
- this.storableDataService.updateManyInStores(users);
30058
- return [2 /*return*/, users];
30131
+ _d.sent();
30132
+ return [2 /*return*/, __assign(__assign({}, loadResult), { users: loadResult.users.map(function (user) { return _this.userStore.get(user.id); }) })];
30059
30133
  }
30060
30134
  });
30061
30135
  });
30062
30136
  };
30137
+ // Business logic methods
30138
+ UsersApi.prototype.messageDriver = function (userId, message) {
30139
+ return __awaiter(this, void 0, void 0, function () {
30140
+ return __generator(this, function (_a) {
30141
+ return [2 /*return*/, this.usersService.messageDriver(userId, message)];
30142
+ });
30143
+ });
30144
+ };
30145
+ UsersApi.prototype.unlock = function (userId) {
30146
+ return __awaiter(this, void 0, void 0, function () {
30147
+ return __generator(this, function (_a) {
30148
+ return [2 /*return*/, this.usersService.unlock(userId)];
30149
+ });
30150
+ });
30151
+ };
30152
+ UsersApi.prototype.validatePhone = function (phone) {
30153
+ return __awaiter(this, void 0, void 0, function () {
30154
+ return __generator(this, function (_a) {
30155
+ return [2 /*return*/, this.usersService.validatePhone(phone)];
30156
+ });
30157
+ });
30158
+ };
30159
+ // Store query methods - direct access to local store without API calls
30160
+ UsersApi.prototype.getGroup = function (group) {
30161
+ return this.userStore.getGroup(User_consts_1.UserGroupTypes.Main, group);
30162
+ };
30163
+ UsersApi.prototype.get = function (id) {
30164
+ return this.userStore.get(id);
30165
+ };
30166
+ UsersApi.prototype.getMany = function (ids) {
30167
+ return this.userStore.getMany(ids);
30168
+ };
30169
+ UsersApi.prototype.getOfflineDrivers = function () {
30170
+ var group = this.userStore.getGroup(User_consts_1.UserGroupTypes.Main, User_consts_1.GROUP_VALUES.OfflineDrivers);
30171
+ return group ? Array.from(group) : [];
30172
+ };
30173
+ UsersApi.prototype.getOnlineDrivers = function () {
30174
+ var group = this.userStore.getGroup(User_consts_1.UserGroupTypes.Main, User_consts_1.GROUP_VALUES.OnlineDrivers);
30175
+ return group ? Array.from(group) : [];
30176
+ };
30177
+ UsersApi.prototype.getAllLocalDrivers = function () {
30178
+ var group = this.userStore.getGroup(User_consts_1.UserGroupTypes.Main, User_consts_1.GROUP_VALUES.Drivers);
30179
+ return group ? Array.from(group) : [];
30180
+ };
30181
+ UsersApi.prototype.getOnShiftDrivers = function () {
30182
+ var group = this.userStore.getGroup(User_consts_1.UserGroupTypes.Main, User_consts_1.GROUP_VALUES.OnShiftDrivers);
30183
+ return group ? Array.from(group) : [];
30184
+ };
30185
+ // Additional callback methods
30186
+ UsersApi.prototype.onCreate = function (callback) {
30187
+ return this.storableRealtimeSubscriptions.onEvent(User_consts_1.RealtimeEvents.Create, callback);
30188
+ };
30189
+ UsersApi.prototype.onUpdate = function (callback) {
30190
+ return this.storableRealtimeSubscriptions.onEvent(User_consts_1.RealtimeEvents.Update, callback);
30191
+ };
30192
+ UsersApi.prototype.onDelete = function (callback) {
30193
+ return this.storableRealtimeSubscriptions.onEvent(User_consts_1.RealtimeEvents.Delete, callback);
30194
+ };
30063
30195
  return UsersApi;
30064
30196
  }());
30065
30197
  exports["default"] = UsersApi;
@@ -30118,6 +30250,13 @@ var UsersService = /** @class */ (function () {
30118
30250
  function UsersService(session) {
30119
30251
  this.service = new CrudService_1.default(session, 'users');
30120
30252
  }
30253
+ Object.defineProperty(UsersService.prototype, "session", {
30254
+ get: function () {
30255
+ return this.service.session;
30256
+ },
30257
+ enumerable: false,
30258
+ configurable: true
30259
+ });
30121
30260
  UsersService.prototype.delete = function (userId) {
30122
30261
  return __awaiter(this, void 0, void 0, function () {
30123
30262
  return __generator(this, function (_a) {
@@ -30125,13 +30264,34 @@ var UsersService = /** @class */ (function () {
30125
30264
  });
30126
30265
  });
30127
30266
  };
30267
+ UsersService.prototype.create = function (user) {
30268
+ return __awaiter(this, void 0, void 0, function () {
30269
+ return __generator(this, function (_a) {
30270
+ return [2 /*return*/, this.service.create(user).then(function (response) { return response.user; })];
30271
+ });
30272
+ });
30273
+ };
30274
+ UsersService.prototype.update = function (userId, userDelta) {
30275
+ return __awaiter(this, void 0, void 0, function () {
30276
+ return __generator(this, function (_a) {
30277
+ return [2 /*return*/, this.service.update(userId, userDelta).then(function (response) { return response.user; })];
30278
+ });
30279
+ });
30280
+ };
30281
+ UsersService.prototype.get = function (userId) {
30282
+ return __awaiter(this, void 0, void 0, function () {
30283
+ return __generator(this, function (_a) {
30284
+ return [2 /*return*/, this.service.get(userId).then(function (response) { return response.user; })];
30285
+ });
30286
+ });
30287
+ };
30128
30288
  UsersService.prototype.loadAll = function (query, commonOptions) {
30129
30289
  if (query === void 0) { query = {}; }
30130
30290
  return __awaiter(this, void 0, void 0, function () {
30131
30291
  return __generator(this, function (_a) {
30132
30292
  switch (_a.label) {
30133
30293
  case 0: return [4 /*yield*/, this.service.routeGenerator
30134
- .get(User_consts_1.Routes.GET_ALL)
30294
+ .get(User_consts_1.ROUTES.GET_ALL)
30135
30295
  .withQueryString(query)
30136
30296
  .withExtractor(function (response) { return ({ has_next_page: response.has_next_page, users: response.users }); })
30137
30297
  .setException('Could not get users')
@@ -30146,7 +30306,7 @@ var UsersService = /** @class */ (function () {
30146
30306
  return __awaiter(this, void 0, void 0, function () {
30147
30307
  return __generator(this, function (_a) {
30148
30308
  return [2 /*return*/, this.service.routeGenerator
30149
- .get(User_consts_1.Routes.GET_DRIVERS_BY_TEAM)
30309
+ .get(User_consts_1.ROUTES.GET_DRIVERS_BY_TEAM)
30150
30310
  .withRouteParams({ teamId: teamId })
30151
30311
  .setException("failed to get teams drivers for team ".concat(teamId))
30152
30312
  .withCommonOptions(commonOptions)
@@ -30154,6 +30314,105 @@ var UsersService = /** @class */ (function () {
30154
30314
  });
30155
30315
  });
30156
30316
  };
30317
+ UsersService.prototype.getMany = function (usersIds, page, limit, commonOptions) {
30318
+ if (page === void 0) { page = 1; }
30319
+ if (limit === void 0) { limit = 50; }
30320
+ return __awaiter(this, void 0, void 0, function () {
30321
+ return __generator(this, function (_a) {
30322
+ return [2 /*return*/, this.service.routeGenerator
30323
+ .get(User_consts_1.ROUTES.GET_ALL)
30324
+ .withQueryString({ ids: usersIds, page: page, limit: limit })
30325
+ .withExtractor(function (response) { return ({ has_next_page: response.has_next_page, users: response.users }); })
30326
+ .setException('Could not get users by ids')
30327
+ .withCommonOptions(commonOptions)
30328
+ .invoke()];
30329
+ });
30330
+ });
30331
+ };
30332
+ /**
30333
+ * Generic method for keyset pagination with optional scoping
30334
+ */
30335
+ UsersService.prototype.getAllUsersWithKeysetPagination = function (request, scopes, exceptionMessage) {
30336
+ if (scopes === void 0) { scopes = []; }
30337
+ if (exceptionMessage === void 0) { exceptionMessage = 'Could not get users'; }
30338
+ return __awaiter(this, void 0, void 0, function () {
30339
+ var limit, page_action, cursor, options, queryParams;
30340
+ return __generator(this, function (_a) {
30341
+ limit = request.limit, page_action = request.page_action, cursor = request.cursor, options = request.options;
30342
+ // Add driver-specific scopes if options are provided
30343
+ if (options) {
30344
+ if (options.onlyCustomers) {
30345
+ scopes.push(User_consts_1.UsersScopes.CUSTOMERS);
30346
+ }
30347
+ else if (!scopes.includes(User_consts_1.UsersScopes.ADMINS) && !scopes.includes(User_consts_1.UsersScopes.DISPATCHERS)) {
30348
+ // Only add DRIVERS scope if we're not already dealing with admins/dispatchers
30349
+ scopes.push(User_consts_1.UsersScopes.DRIVERS);
30350
+ }
30351
+ if (options.onlyOnlineDriver) {
30352
+ scopes.push(User_consts_1.UsersScopes.MARKED_AS_ONLINE);
30353
+ }
30354
+ }
30355
+ queryParams = { pgver: '2', limit: limit, page_action: page_action, cursor: cursor };
30356
+ if (scopes.length > 0) {
30357
+ queryParams.scopes = scopes;
30358
+ }
30359
+ return [2 /*return*/, this.service.routeGenerator
30360
+ .get(User_consts_1.ROUTES.GET_ALL)
30361
+ .withQueryString(queryParams)
30362
+ .withExtractor(function (response) { return ({
30363
+ next_page_cursor: response.next_page_cursor,
30364
+ previous_page_cursor: response.previous_page_cursor,
30365
+ users: response.users
30366
+ }); })
30367
+ .setException(exceptionMessage)
30368
+ .invoke()];
30369
+ });
30370
+ });
30371
+ };
30372
+ UsersService.prototype.getAllDrivers = function (request) {
30373
+ return __awaiter(this, void 0, void 0, function () {
30374
+ return __generator(this, function (_a) {
30375
+ return [2 /*return*/, this.getAllUsersWithKeysetPagination(request, [], 'Could not get all drivers')];
30376
+ });
30377
+ });
30378
+ };
30379
+ UsersService.prototype.unlock = function (userId) {
30380
+ return __awaiter(this, void 0, void 0, function () {
30381
+ return __generator(this, function (_a) {
30382
+ return [2 /*return*/, this.service.routeGenerator
30383
+ .post(User_consts_1.ROUTES.UNLOCK)
30384
+ .withRouteParams({ userId: userId })
30385
+ .withExtractor(User_consts_1.successExtractor)
30386
+ .setException("Could not unlock user with id: ".concat(userId))
30387
+ .invoke()];
30388
+ });
30389
+ });
30390
+ };
30391
+ UsersService.prototype.validatePhone = function (phone) {
30392
+ return __awaiter(this, void 0, void 0, function () {
30393
+ return __generator(this, function (_a) {
30394
+ return [2 /*return*/, this.service.routeGenerator
30395
+ .get(User_consts_1.ROUTES.VALIDATE_PHONE)
30396
+ .withQueryString({ phone: phone })
30397
+ .withExtractor(function (response) { return response.phone_valid; })
30398
+ .setException("Phone is not valid: ".concat(phone))
30399
+ .invoke()];
30400
+ });
30401
+ });
30402
+ };
30403
+ UsersService.prototype.messageDriver = function (userId, message) {
30404
+ return __awaiter(this, void 0, void 0, function () {
30405
+ return __generator(this, function (_a) {
30406
+ return [2 /*return*/, this.service.routeGenerator
30407
+ .put(User_consts_1.ROUTES.MESSAGE_DRIVER)
30408
+ .withRouteParams({ userId: userId })
30409
+ .withPayload({ user_id: userId, message: message })
30410
+ .withExtractor(function (response) { return response.announcement_id; })
30411
+ .setException("Could not message to user ".concat(userId))
30412
+ .invoke()];
30413
+ });
30414
+ });
30415
+ };
30157
30416
  return UsersService;
30158
30417
  }());
30159
30418
  exports["default"] = UsersService;
@@ -30353,7 +30612,7 @@ var UserConfigurationEntity = /** @class */ (function (_super) {
30353
30612
  UserConfigurationEntity.prototype.getActionData = function () {
30354
30613
  return __awaiter(this, void 0, void 0, function () {
30355
30614
  return __generator(this, function (_a) {
30356
- return [2 /*return*/, this.service.routeGenerator.get("/merchant/user_configuration/get_action_data").invoke()];
30615
+ return [2 /*return*/, this.service.routeGenerator.get('/merchant/user_configuration/get_action_data').invoke()];
30357
30616
  });
30358
30617
  });
30359
30618
  };
@@ -30361,7 +30620,7 @@ var UserConfigurationEntity = /** @class */ (function (_super) {
30361
30620
  UserConfigurationEntity.prototype.update = function (userConfiguration) {
30362
30621
  return __awaiter(this, void 0, void 0, function () {
30363
30622
  return __generator(this, function (_a) {
30364
- return [2 /*return*/, this.service.routeGenerator.put("/merchant/user_configuration").withPayload(userConfiguration).invoke()];
30623
+ return [2 /*return*/, this.service.routeGenerator.put('/merchant/user_configuration').withPayload(userConfiguration).invoke()];
30365
30624
  });
30366
30625
  });
30367
30626
  };
@@ -30605,7 +30864,7 @@ var UserPresetViewsService = /** @class */ (function (_super) {
30605
30864
  case 0: return [4 /*yield*/, this.routeGenerator
30606
30865
  .get(baseRoute)
30607
30866
  .withQueryString(query)
30608
- .setException("Failed to get all preset-views/user")
30867
+ .setException('Failed to get all preset-views/user')
30609
30868
  .withCommonOptions(commonOptions)
30610
30869
  .invoke()];
30611
30870
  case 1: return [2 /*return*/, _a.sent()];
@@ -30618,7 +30877,7 @@ var UserPresetViewsService = /** @class */ (function (_super) {
30618
30877
  case 0: return [4 /*yield*/, this.routeGenerator
30619
30878
  .put(baseRoute)
30620
30879
  .withPayload(payload)
30621
- .setException("Failed to update preset-views/user")
30880
+ .setException('Failed to update preset-views/user')
30622
30881
  .withCommonOptions(commonOptions)
30623
30882
  .invoke()];
30624
30883
  case 1: return [2 /*return*/, _a.sent()];
@@ -30950,7 +31209,7 @@ var VehicleEntity = /** @class */ (function (_super) {
30950
31209
  return [2 /*return*/, this.service.routeGenerator
30951
31210
  .get(exports.Routes.GET_CSV_UPLOAD_FIELDS)
30952
31211
  .withExtractor(Vehicle_consts_1.getCsvFieldsExtractor)
30953
- .setException("failed to get vehicles csv upload fields")
31212
+ .setException('failed to get vehicles csv upload fields')
30954
31213
  .invoke()];
30955
31214
  });
30956
31215
  });
@@ -31346,7 +31605,7 @@ var VehiclesService = /** @class */ (function () {
31346
31605
  case 0: return [4 /*yield*/, this.service.routeGenerator
31347
31606
  .patch(VehicleEntity_1.Routes.BATCH_UPDATE)
31348
31607
  .withPayload({ vehicles: vehicles })
31349
- .setException("failed to batch update vehicles")
31608
+ .setException('failed to batch update vehicles')
31350
31609
  .withExtractor(Vehicle_consts_1.vehiclesExtractor)
31351
31610
  .invoke()];
31352
31611
  case 1: return [2 /*return*/, _a.sent()];
@@ -31382,7 +31641,7 @@ var VehiclesService = /** @class */ (function () {
31382
31641
  return [2 /*return*/, this.service.routeGenerator
31383
31642
  .get(VehicleEntity_1.Routes.GET_CSV_UPLOAD_FIELDS)
31384
31643
  .withExtractor(Vehicle_consts_1.getCsvFieldsExtractor)
31385
- .setException("failed to get vehicles csv upload fields")
31644
+ .setException('failed to get vehicles csv upload fields')
31386
31645
  .invoke()];
31387
31646
  });
31388
31647
  });
@@ -31396,7 +31655,7 @@ var VehiclesService = /** @class */ (function () {
31396
31655
  return [2 /*return*/, this.service.routeGenerator
31397
31656
  .post(VehicleEntity_1.Routes.IMPORT_VEHICLES_CSV)
31398
31657
  .withHeaders({ 'Content-Type': 'multipart/form-data' })
31399
- .setException("failed to import vehicles csv")
31658
+ .setException('failed to import vehicles csv')
31400
31659
  .withPayload(formData)
31401
31660
  .invoke()];
31402
31661
  });
@@ -32536,7 +32795,7 @@ var WorkflowsService = /** @class */ (function () {
32536
32795
  WorkflowsService.prototype.getTemplates = function (commonOptions) {
32537
32796
  return this.service.routeGenerator
32538
32797
  .get("".concat(baseRoute, "/templates"))
32539
- .setException("failed to get workflow templates")
32798
+ .setException('failed to get workflow templates')
32540
32799
  .withCommonOptions(commonOptions)
32541
32800
  .invoke();
32542
32801
  };
@@ -32962,11 +33221,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
32962
33221
  return (mod && mod.__esModule) ? mod : { "default": mod };
32963
33222
  };
32964
33223
  Object.defineProperty(exports, "__esModule", ({ value: true }));
32965
- exports.WorkflowsApi = exports.VehicleTypeConsts = exports.VehicleCategoryConsts = exports.VehicleGroup = exports.VehiclesApi = exports.AbortUtils = exports.UsersApi = exports.UploadApi = exports.UploadConsts = exports.TasksExplorerApi = exports.TaskRejectReasonsApi = exports.TaskInventoryConsts = exports.TasksApi = exports.TaskGroupValues = exports.TaskGroupTypes = exports.TagConsts = exports.ServiceAreaApi = exports.ServiceAreaFilterGroups = exports.RunsApi = exports.RunStatus = exports.RunConsts = exports.ResourceUploadType = exports.ReasonToChangeInventory = exports.PlannedRoutesConsts = exports.PlannedDeliveryWindowsApi = exports.RecurrenceType = exports.PlannedDeliveryWindowsFilterGroups = exports.OptimizationResultApi = exports.NotificationTypesConsts = exports.NotificationTemplateConsts = exports.LookupConsts = exports.LanguageConsts = exports.ExclusionWindowApiV2 = exports.ExclusionWindowsFilterGroups = exports.DeliveryWindowsApi = exports.DeliveryBlockConsts = exports.CrewConsts = exports.Responses = exports.ChatMessageConsts = exports.ChatConversationConsts = exports.BringgDashboardSDK = void 0;
33224
+ exports.WorkflowsApi = exports.VehicleTypeConsts = exports.VehicleCategoryConsts = exports.VehicleGroup = exports.VehiclesApi = exports.AbortUtils = exports.UsersApi = exports.UploadApi = exports.UploadConsts = exports.TasksExplorerApi = exports.TaskRejectReasonsApi = exports.TaskInventoryConsts = exports.TasksApi = exports.TaskGroupValues = exports.TaskGroupTypes = exports.TagConsts = exports.ServiceAreaApi = exports.ServiceAreaFilterGroups = exports.RunsApi = exports.RunStatus = exports.RunConsts = exports.ResourceUploadType = exports.ReasonToChangeInventory = exports.PlannedRoutesConsts = exports.PlannedDeliveryWindowsApi = exports.RecurrenceType = exports.PlannedDeliveryWindowsFilterGroups = exports.OptimizationResultApi = exports.NotificationTypesConsts = exports.NotificationTemplateConsts = exports.LookupConsts = exports.LanguageConsts = exports.ExclusionWindowApiV2 = exports.ExclusionWindowsFilterGroups = exports.DeliveryWindowsApi = exports.DeliveryBlockConsts = exports.CrewConsts = exports.Responses = exports.ChatMessageConsts = exports.ChatConversationConsts = void 0;
32966
33225
  __exportStar(__webpack_require__(37360), exports);
32967
33226
  __exportStar(__webpack_require__(5655), exports);
32968
- var BringgDashboardSDK_1 = __webpack_require__(5655);
32969
- Object.defineProperty(exports, "BringgDashboardSDK", ({ enumerable: true, get: function () { return BringgDashboardSDK_1.BringgDashboardSDK; } }));
32970
33227
  exports.ChatConversationConsts = __importStar(__webpack_require__(44448));
32971
33228
  exports.ChatMessageConsts = __importStar(__webpack_require__(39634));
32972
33229
  __exportStar(__webpack_require__(55860), exports);
@@ -33513,9 +33770,7 @@ exports.KEYSET_PAGINATION_VER = 2;
33513
33770
  "use strict";
33514
33771
 
33515
33772
  Object.defineProperty(exports, "__esModule", ({ value: true }));
33516
- function withPromiseCache(
33517
- // eslint-disable-next-line @typescript-eslint/ban-types
33518
- target, propertyName, propertyDesciptor) {
33773
+ function withPromiseCache(target, propertyName, propertyDesciptor) {
33519
33774
  var promiseCache = {};
33520
33775
  var method = propertyDesciptor.value;
33521
33776
  propertyDesciptor.value = function () {
@@ -33524,7 +33779,7 @@ target, propertyName, propertyDesciptor) {
33524
33779
  args[_i] = arguments[_i];
33525
33780
  }
33526
33781
  var cacheKey = JSON.stringify(args);
33527
- if (promiseCache.hasOwnProperty(cacheKey)) {
33782
+ if (Object.prototype.hasOwnProperty.call(promiseCache, cacheKey)) {
33528
33783
  return promiseCache[cacheKey];
33529
33784
  }
33530
33785
  promiseCache[cacheKey] = method