@bringg/dashboard-sdk 9.77.1-pre → 9.77.2
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.
- package/dist/BringgDashboardSDK.js +4 -3
- package/dist/BringgDashboardSDK.js.map +1 -1
- package/dist/Data/storable-realtime-subscriptions.d.ts +1 -1
- package/dist/Data/storable-realtime-subscriptions.js +75 -7
- package/dist/Data/storable-realtime-subscriptions.js.map +1 -1
- package/dist/Data/storable-types.d.ts +12 -5
- package/dist/Task/v2/task-realtime-subscriptions.d.ts +3 -1
- package/dist/Task/v2/task-realtime-subscriptions.js +94 -2
- package/dist/Task/v2/task-realtime-subscriptions.js.map +1 -1
- package/dist/Task/v2/tasks-api.d.ts +2 -1
- package/dist/Task/v2/tasks-api.js +2 -2
- package/dist/Task/v2/tasks-api.js.map +1 -1
- package/dist/Vehicle/v2/vehicles-api.d.ts +4 -5
- package/dist/Vehicle/v2/vehicles-api.js +12 -18
- package/dist/Vehicle/v2/vehicles-api.js.map +1 -1
- package/dist/bringg-dashboard-sdk-cjs2.js +188 -147
- package/dist/bringg-dashboard-sdk-cjs2.js.map +1 -1
- package/dist/bringg-dashboard-sdk.js +6 -17
- package/dist/bringg-dashboard-sdk.min.js +1 -1
- package/dist/bringg-dashboard-sdk.min.js.map +1 -1
- package/package.json +1 -1
- package/dist/Vehicle/v2/vehicle-realtime-subscriptions.d.ts +0 -17
- package/dist/Vehicle/v2/vehicle-realtime-subscriptions.js +0 -107
- package/dist/Vehicle/v2/vehicle-realtime-subscriptions.js.map +0 -1
|
@@ -52,23 +52,22 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
52
52
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
53
53
|
var types_1 = require("@bringg/types");
|
|
54
54
|
var lodash_1 = require("lodash");
|
|
55
|
+
var storable_realtime_subscriptions_1 = __importDefault(require("../../Data/storable-realtime-subscriptions"));
|
|
55
56
|
var data_entity_1 = require("../../data-entity");
|
|
56
57
|
var data_store_1 = __importDefault(require("../../data-store"));
|
|
57
58
|
var storable_data_service_1 = __importDefault(require("../../storable-data-service"));
|
|
58
59
|
var Vehicle_consts_1 = require("../Vehicle.consts");
|
|
59
|
-
var vehicle_realtime_subscriptions_1 = __importDefault(require("./vehicle-realtime-subscriptions"));
|
|
60
60
|
var vehicles_service_1 = __importDefault(require("./vehicles-service"));
|
|
61
61
|
var VehiclesApi = /** @class */ (function () {
|
|
62
62
|
function VehiclesApi(session) {
|
|
63
|
-
var _this = this;
|
|
64
63
|
var groupFilters = [
|
|
65
64
|
{ groupType: Vehicle_consts_1.VehicleGroup.Team, keyFunc: function (vehicle) { return vehicle.team_id; } },
|
|
66
65
|
{ groupType: Vehicle_consts_1.VehicleGroup.IsTrailer, keyFunc: function (vehicle) { return !!vehicle.is_trailer; } }
|
|
67
66
|
];
|
|
68
67
|
this.vehiclesStore = new data_store_1.default(groupFilters);
|
|
69
68
|
this.vehiclesService = new vehicles_service_1.default(session);
|
|
70
|
-
this.storableDataService = new storable_data_service_1.default(this.vehiclesStore
|
|
71
|
-
this.
|
|
69
|
+
this.storableDataService = new storable_data_service_1.default(this.vehiclesStore);
|
|
70
|
+
this.storableRealtimeSubscriptions = new storable_realtime_subscriptions_1.default(session, this.vehiclesStore, this.storableDataService);
|
|
72
71
|
}
|
|
73
72
|
VehiclesApi.prototype.load = function (id, options) {
|
|
74
73
|
var _this = this;
|
|
@@ -165,26 +164,21 @@ var VehiclesApi = /** @class */ (function () {
|
|
|
165
164
|
return this.storableDataService.modify('create', function () { return _this.vehiclesService.create(vehicleData); });
|
|
166
165
|
};
|
|
167
166
|
VehiclesApi.prototype.updateStoreOnEvents = function () {
|
|
168
|
-
this.
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
// Preserve the cached `trailer` whenever the incoming payload omits the key; take it from the payload
|
|
173
|
-
// only when explicitly present (HTTP loads, PUT responses, reconciler writes).
|
|
174
|
-
VehiclesApi.prototype.mapVehicle = function (vehicle) {
|
|
175
|
-
var existing = this.vehiclesStore.get(vehicle.id);
|
|
176
|
-
var current = existing && 'trailer' in existing && !('trailer' in vehicle)
|
|
177
|
-
? __assign(__assign({}, vehicle), { trailer: existing.trailer }) : vehicle;
|
|
178
|
-
return { current: current, diff: existing };
|
|
167
|
+
this.storableRealtimeSubscriptions.updateStoreOnEvents([
|
|
168
|
+
{ name: Vehicle_consts_1.REAL_TIME_EVENTS.VEHICLE_UPDATE, isDelete: false },
|
|
169
|
+
{ name: Vehicle_consts_1.REAL_TIME_EVENTS.VEHICLE_DELETE, isDelete: true }
|
|
170
|
+
]);
|
|
179
171
|
};
|
|
180
172
|
VehiclesApi.prototype.onUpdate = function (callback) {
|
|
181
|
-
return this.
|
|
173
|
+
return this.storableRealtimeSubscriptions.onEvent(Vehicle_consts_1.REAL_TIME_EVENTS.VEHICLE_UPDATE, function (item) { return callback(item.current); });
|
|
182
174
|
};
|
|
183
175
|
VehiclesApi.prototype.onDelete = function (callback) {
|
|
184
|
-
return this.
|
|
176
|
+
return this.storableRealtimeSubscriptions.onEvent(Vehicle_consts_1.REAL_TIME_EVENTS.VEHICLE_DELETE, function (item) { return callback(item.current); });
|
|
185
177
|
};
|
|
186
178
|
VehiclesApi.prototype.onUnassigned = function (callback) {
|
|
187
|
-
return this.
|
|
179
|
+
return this.storableRealtimeSubscriptions.onAnyEvent(Vehicle_consts_1.REAL_TIME_EVENTS.VEHICLE_UNASSIGNED, function (vehicle) {
|
|
180
|
+
return callback(vehicle);
|
|
181
|
+
});
|
|
188
182
|
};
|
|
189
183
|
VehiclesApi.prototype.get = function (id) {
|
|
190
184
|
return this.vehiclesStore.get(id);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vehicles-api.js","sourceRoot":"","sources":["../../../src/Vehicle/v2/vehicles-api.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAMuB;AACvB,iCAAyC;
|
|
1
|
+
{"version":3,"file":"vehicles-api.js","sourceRoot":"","sources":["../../../src/Vehicle/v2/vehicles-api.ts"],"names":[],"mappings":"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"}
|
|
@@ -3069,18 +3069,19 @@ var BringgDashboardSDK = /** @class */ (function () {
|
|
|
3069
3069
|
exports.BringgDashboardSDK = BringgDashboardSDK;
|
|
3070
3070
|
function init(session) {
|
|
3071
3071
|
return __awaiter(this, void 0, void 0, function () {
|
|
3072
|
-
var bringg, workflows, taskRejectReasons;
|
|
3072
|
+
var bringg, customersApi, workflows, taskRejectReasons;
|
|
3073
3073
|
return __generator(this, function (_a) {
|
|
3074
3074
|
switch (_a.label) {
|
|
3075
3075
|
case 0:
|
|
3076
3076
|
bringg = new BringgDashboardSDK(session);
|
|
3077
|
+
customersApi = new customers_api_1.default(session);
|
|
3077
3078
|
bringg.v2 = {
|
|
3078
3079
|
vehicles: new vehicles_api_1.default(session),
|
|
3079
3080
|
relay: new RelayApi_1.default(session),
|
|
3080
|
-
tasks: new tasks_api_1.default(session),
|
|
3081
|
+
tasks: new tasks_api_1.default(session, customersApi),
|
|
3081
3082
|
users: new users_api_1.default(session),
|
|
3082
3083
|
tags: new tags_api_1.default(session),
|
|
3083
|
-
customers:
|
|
3084
|
+
customers: customersApi,
|
|
3084
3085
|
plannedDeliveryWindows: new planned_delivery_windows_api_1.default(session),
|
|
3085
3086
|
optimizationResultApi: new optimization_result_api_1.default(session),
|
|
3086
3087
|
exclusionWindow: new exclusion_window_api_1.ExclusionWindowApi(session),
|
|
@@ -8269,6 +8270,17 @@ exports.objectMerger = { deepMerge: deepMerge };
|
|
|
8269
8270
|
|
|
8270
8271
|
"use strict";
|
|
8271
8272
|
|
|
8273
|
+
var __assign = (this && this.__assign) || function () {
|
|
8274
|
+
__assign = Object.assign || function(t) {
|
|
8275
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
8276
|
+
s = arguments[i];
|
|
8277
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
8278
|
+
t[p] = s[p];
|
|
8279
|
+
}
|
|
8280
|
+
return t;
|
|
8281
|
+
};
|
|
8282
|
+
return __assign.apply(this, arguments);
|
|
8283
|
+
};
|
|
8272
8284
|
var __values = (this && this.__values) || function(o) {
|
|
8273
8285
|
var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
|
|
8274
8286
|
if (m) return m.call(o);
|
|
@@ -8299,7 +8311,6 @@ var StorableRealtimeSubscriptions = /** @class */ (function () {
|
|
|
8299
8311
|
if (subEntityEvents === void 0) { subEntityEvents = []; }
|
|
8300
8312
|
var _loop_1 = function (event_1) {
|
|
8301
8313
|
this_1.realtimeSubscriptions.subscribe(event_1.name, function (item) {
|
|
8302
|
-
var _a, _b;
|
|
8303
8314
|
item = event_1.itemExtractor ? event_1.itemExtractor(item) : item;
|
|
8304
8315
|
var data = event_1.extraDataFunc && event_1.extraDataFunc(item);
|
|
8305
8316
|
if (data === null || data === void 0 ? void 0 : data.ignore) {
|
|
@@ -8316,16 +8327,10 @@ var StorableRealtimeSubscriptions = /** @class */ (function () {
|
|
|
8316
8327
|
var skipStoreUpdate = !!(data === null || data === void 0 ? void 0 : data.skipStoreUpdate);
|
|
8317
8328
|
if (skipStoreUpdate) {
|
|
8318
8329
|
var mappedStorableItem = _this.storableDataService.mapItem(item, data === null || data === void 0 ? void 0 : data.params);
|
|
8319
|
-
// Cache layer: reconcile dependent cached entities even when this entity itself is
|
|
8320
|
-
// not stored (e.g. a not-yet-cached trailer moving between cached trucks).
|
|
8321
|
-
(_a = event_1.onAfterStoreSync) === null || _a === void 0 ? void 0 : _a.call(event_1, mappedStorableItem);
|
|
8322
8330
|
_this.runEventCallbacks(event_1.name, mappedStorableItem, { skipStoreUpdate: skipStoreUpdate });
|
|
8323
8331
|
}
|
|
8324
8332
|
else {
|
|
8325
8333
|
var mappedStorableItem = _this.storableDataService.updateInStores(item, undefined, undefined, data === null || data === void 0 ? void 0 : data.params);
|
|
8326
|
-
// Cache layer: let the entity reconcile dependent cached entities before any consumer
|
|
8327
|
-
// is notified, so the whole store is consistent when store events fire.
|
|
8328
|
-
(_b = event_1.onAfterStoreSync) === null || _b === void 0 ? void 0 : _b.call(event_1, mappedStorableItem);
|
|
8329
8334
|
_this.runEventCallbacks(event_1.name, mappedStorableItem);
|
|
8330
8335
|
}
|
|
8331
8336
|
}
|
|
@@ -8347,11 +8352,75 @@ var StorableRealtimeSubscriptions = /** @class */ (function () {
|
|
|
8347
8352
|
}
|
|
8348
8353
|
var _loop_2 = function (subEntityEvent) {
|
|
8349
8354
|
this_2.realtimeSubscriptions.subscribe(subEntityEvent.name, function (subEntityEventData) {
|
|
8355
|
+
var e_3, _a;
|
|
8356
|
+
var _b, _c;
|
|
8350
8357
|
subEntityEvent.ignoreFields.forEach(function (field) { return delete subEntityEventData[field]; });
|
|
8358
|
+
var parentId = subEntityEventData[subEntityEvent.parentField];
|
|
8359
|
+
var entityId = subEntityEventData[subEntityEvent.idField || 'id'];
|
|
8360
|
+
var getParent = function () { return _this.dataStore.get(parentId); };
|
|
8361
|
+
var pendingEnrichers = [];
|
|
8362
|
+
if (subEntityEvent.enrich) {
|
|
8363
|
+
var activeEnrichers = subEntityEvent.enrich.enrichers.filter(function (e) {
|
|
8364
|
+
return e.shouldEnrich(subEntityEventData, getParent);
|
|
8365
|
+
});
|
|
8366
|
+
try {
|
|
8367
|
+
for (var activeEnrichers_1 = (e_3 = void 0, __values(activeEnrichers)), activeEnrichers_1_1 = activeEnrichers_1.next(); !activeEnrichers_1_1.done; activeEnrichers_1_1 = activeEnrichers_1.next()) {
|
|
8368
|
+
var enricher = activeEnrichers_1_1.value;
|
|
8369
|
+
var result = (_c = (_b = enricher.resolveSync) === null || _b === void 0 ? void 0 : _b.call(enricher, subEntityEventData, getParent)) !== null && _c !== void 0 ? _c : null;
|
|
8370
|
+
if (result !== null) {
|
|
8371
|
+
Object.assign(subEntityEventData, result);
|
|
8372
|
+
}
|
|
8373
|
+
else {
|
|
8374
|
+
pendingEnrichers.push(enricher);
|
|
8375
|
+
}
|
|
8376
|
+
}
|
|
8377
|
+
}
|
|
8378
|
+
catch (e_3_1) { e_3 = { error: e_3_1 }; }
|
|
8379
|
+
finally {
|
|
8380
|
+
try {
|
|
8381
|
+
if (activeEnrichers_1_1 && !activeEnrichers_1_1.done && (_a = activeEnrichers_1.return)) _a.call(activeEnrichers_1);
|
|
8382
|
+
}
|
|
8383
|
+
finally { if (e_3) throw e_3.error; }
|
|
8384
|
+
}
|
|
8385
|
+
}
|
|
8351
8386
|
var eventChangeData = _this.changeSubEntity(subEntityEventData, subEntityEvent.idField || 'id', subEntityEvent.parentField, subEntityEvent.field, subEntityEvent.isDelete);
|
|
8352
8387
|
if (eventChangeData === null || eventChangeData === void 0 ? void 0 : eventChangeData.current) {
|
|
8353
8388
|
_this.runEventCallbacks(subEntityEvent.eventToRaise, eventChangeData);
|
|
8354
8389
|
}
|
|
8390
|
+
if (pendingEnrichers.length > 0) {
|
|
8391
|
+
var applyEnrichment_1 = function (data) {
|
|
8392
|
+
var _a;
|
|
8393
|
+
var _b;
|
|
8394
|
+
var parent = _this.dataStore.get(parentId);
|
|
8395
|
+
if (!parent) {
|
|
8396
|
+
return;
|
|
8397
|
+
}
|
|
8398
|
+
var subEntity = (_b = parent[subEntityEvent.field]) === null || _b === void 0 ? void 0 : _b.find(function (e) { return Number(e.id) === Number(entityId); });
|
|
8399
|
+
if (!subEntity) {
|
|
8400
|
+
return;
|
|
8401
|
+
}
|
|
8402
|
+
var oldValues = Object.fromEntries(Object.keys(data).map(function (key) { return [key, subEntity[key]]; }));
|
|
8403
|
+
Object.assign(subEntity, data);
|
|
8404
|
+
_this.runEventCallbacks(subEntityEvent.eventToRaise, {
|
|
8405
|
+
current: parent,
|
|
8406
|
+
diff: (_a = {}, _a[subEntityEvent.field] = [__assign({ id: entityId }, oldValues)], _a)
|
|
8407
|
+
});
|
|
8408
|
+
};
|
|
8409
|
+
// Promise.all is fine here because today there is only one async enricher per event.
|
|
8410
|
+
// If multiple async enrichers are ever added, switch to Promise.allSettled so a
|
|
8411
|
+
// single rejection does not suppress the results of the others.
|
|
8412
|
+
Promise.all(pendingEnrichers.map(function (e) { return e.resolveAsync(subEntityEventData, getParent); }))
|
|
8413
|
+
.then(function (results) {
|
|
8414
|
+
var asyncData = results.reduce(function (acc, result) { return (result !== null ? Object.assign(acc, result) : acc); }, {});
|
|
8415
|
+
if (Object.keys(asyncData).length > 0) {
|
|
8416
|
+
applyEnrichment_1(asyncData);
|
|
8417
|
+
}
|
|
8418
|
+
})
|
|
8419
|
+
.catch(function (err) {
|
|
8420
|
+
console.error('async enrichment failed for', subEntityEvent.field, 'id', entityId);
|
|
8421
|
+
console.error(err);
|
|
8422
|
+
});
|
|
8423
|
+
}
|
|
8355
8424
|
});
|
|
8356
8425
|
};
|
|
8357
8426
|
var this_2 = this;
|
|
@@ -23772,7 +23841,7 @@ var lodash_1 = __webpack_require__(96486);
|
|
|
23772
23841
|
var BringgException_1 = __webpack_require__(43605);
|
|
23773
23842
|
var Logger_1 = __importDefault(__webpack_require__(55860));
|
|
23774
23843
|
var abort_1 = __webpack_require__(34179);
|
|
23775
|
-
var version = '9.77.
|
|
23844
|
+
var version = '9.77.2';
|
|
23776
23845
|
function logErrorResponse(response) {
|
|
23777
23846
|
var data = response.data, status = response.status;
|
|
23778
23847
|
try {
|
|
@@ -26572,6 +26641,42 @@ exports.taskMerger = { mergeTaskIntoExisting: mergeTaskIntoExisting };
|
|
|
26572
26641
|
|
|
26573
26642
|
"use strict";
|
|
26574
26643
|
|
|
26644
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
26645
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
26646
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
26647
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
26648
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
26649
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
26650
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
26651
|
+
});
|
|
26652
|
+
};
|
|
26653
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
26654
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
26655
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
26656
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
26657
|
+
function step(op) {
|
|
26658
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
26659
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
26660
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
26661
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
26662
|
+
switch (op[0]) {
|
|
26663
|
+
case 0: case 1: t = op; break;
|
|
26664
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
26665
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
26666
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
26667
|
+
default:
|
|
26668
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
26669
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
26670
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
26671
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
26672
|
+
if (t[2]) _.ops.pop();
|
|
26673
|
+
_.trys.pop(); continue;
|
|
26674
|
+
}
|
|
26675
|
+
op = body.call(thisArg, _);
|
|
26676
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
26677
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
26678
|
+
}
|
|
26679
|
+
};
|
|
26575
26680
|
var __values = (this && this.__values) || function(o) {
|
|
26576
26681
|
var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
|
|
26577
26682
|
if (m) return m.call(o);
|
|
@@ -26587,11 +26692,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
26587
26692
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
26588
26693
|
};
|
|
26589
26694
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
26695
|
+
var cloneDeep_1 = __importDefault(__webpack_require__(50361));
|
|
26590
26696
|
var storable_realtime_subscriptions_1 = __importDefault(__webpack_require__(1227));
|
|
26591
26697
|
var Tasks_consts_1 = __webpack_require__(24976);
|
|
26592
26698
|
var TaskRealtimeSubscriptions = /** @class */ (function () {
|
|
26593
|
-
function TaskRealtimeSubscriptions(session, tasksStore, storableDataService) {
|
|
26699
|
+
function TaskRealtimeSubscriptions(session, tasksStore, storableDataService, customersApi) {
|
|
26594
26700
|
this.tasksStore = tasksStore;
|
|
26701
|
+
this.customersApi = customersApi;
|
|
26595
26702
|
this.storableRealtimeSubscriptions = new storable_realtime_subscriptions_1.default(session, tasksStore, storableDataService);
|
|
26596
26703
|
}
|
|
26597
26704
|
TaskRealtimeSubscriptions.prototype.updateStoreOnEvents = function () {
|
|
@@ -26642,7 +26749,61 @@ var TaskRealtimeSubscriptions = /** @class */ (function () {
|
|
|
26642
26749
|
parentField: 'task_id',
|
|
26643
26750
|
field: 'way_points',
|
|
26644
26751
|
ignoreFields: ['way_points'],
|
|
26645
|
-
isDelete: false
|
|
26752
|
+
isDelete: false,
|
|
26753
|
+
enrich: {
|
|
26754
|
+
enrichers: [
|
|
26755
|
+
/**
|
|
26756
|
+
* Updating customer on a WayPoint is pretty much an edge case
|
|
26757
|
+
* Customer enrichment can be fully removed if way_point.customer is deprecated and marked as such
|
|
26758
|
+
* that must not be used within dSDK data consumers and all existing usages are removed.
|
|
26759
|
+
* This is what we have to do if we want to avoid unnecessary complications on dSDK side.
|
|
26760
|
+
*/
|
|
26761
|
+
{
|
|
26762
|
+
shouldEnrich: function (payload, getTask) {
|
|
26763
|
+
var _a, _b, _c;
|
|
26764
|
+
if (!('customer_id' in payload) || 'customer' in payload) {
|
|
26765
|
+
return false;
|
|
26766
|
+
}
|
|
26767
|
+
var wp = (_b = (_a = getTask()) === null || _a === void 0 ? void 0 : _a.way_points) === null || _b === void 0 ? void 0 : _b.find(function (wp) { return Number(wp.id) === Number(payload.id); });
|
|
26768
|
+
return payload.customer_id !== ((_c = wp === null || wp === void 0 ? void 0 : wp.customer) === null || _c === void 0 ? void 0 : _c.id);
|
|
26769
|
+
},
|
|
26770
|
+
resolveSync: function (payload) {
|
|
26771
|
+
if (payload.customer_id === null) {
|
|
26772
|
+
return { customer: null };
|
|
26773
|
+
}
|
|
26774
|
+
var cached = _this.customersApi.get(payload.customer_id);
|
|
26775
|
+
return cached ? { customer: (0, cloneDeep_1.default)(cached) } : null;
|
|
26776
|
+
},
|
|
26777
|
+
resolveAsync: function (payload, getTask) { return __awaiter(_this, void 0, void 0, function () {
|
|
26778
|
+
var payloadCustomerId, wpId, shouldStop, findWp, customer;
|
|
26779
|
+
return __generator(this, function (_a) {
|
|
26780
|
+
switch (_a.label) {
|
|
26781
|
+
case 0:
|
|
26782
|
+
if (payload.customer_id === null) {
|
|
26783
|
+
return [2 /*return*/, null];
|
|
26784
|
+
}
|
|
26785
|
+
payloadCustomerId = Number(payload.customer_id);
|
|
26786
|
+
wpId = Number(payload.id);
|
|
26787
|
+
shouldStop = function (wp) {
|
|
26788
|
+
return !wp || Number(wp.customer_id) !== payloadCustomerId;
|
|
26789
|
+
};
|
|
26790
|
+
findWp = function () { var _a, _b; return (_b = (_a = getTask()) === null || _a === void 0 ? void 0 : _a.way_points) === null || _b === void 0 ? void 0 : _b.find(function (wp) { return wp.id === wpId; }); };
|
|
26791
|
+
if (shouldStop(findWp())) {
|
|
26792
|
+
return [2 /*return*/, null];
|
|
26793
|
+
}
|
|
26794
|
+
return [4 /*yield*/, this.customersApi.load(payload.customer_id)];
|
|
26795
|
+
case 1:
|
|
26796
|
+
customer = _a.sent();
|
|
26797
|
+
if (shouldStop(findWp())) {
|
|
26798
|
+
return [2 /*return*/, null];
|
|
26799
|
+
}
|
|
26800
|
+
return [2 /*return*/, { customer: (0, cloneDeep_1.default)(customer) }];
|
|
26801
|
+
}
|
|
26802
|
+
});
|
|
26803
|
+
}); }
|
|
26804
|
+
}
|
|
26805
|
+
]
|
|
26806
|
+
}
|
|
26646
26807
|
},
|
|
26647
26808
|
{
|
|
26648
26809
|
name: Tasks_consts_1.TaskRealTimeEvents.WAYPOINT_DELETED,
|
|
@@ -26803,7 +26964,7 @@ var tasks_service_1 = __importDefault(__webpack_require__(8159));
|
|
|
26803
26964
|
// hard coded fields to take advantage of the light data store cache
|
|
26804
26965
|
var READY_TO_EXECUTE_FIELDS = ['ready_to_execute'];
|
|
26805
26966
|
var TasksApi = /** @class */ (function () {
|
|
26806
|
-
function TasksApi(session) {
|
|
26967
|
+
function TasksApi(session, customersApi) {
|
|
26807
26968
|
var _this = this;
|
|
26808
26969
|
var groupFilters = [
|
|
26809
26970
|
{
|
|
@@ -26844,7 +27005,7 @@ var TasksApi = /** @class */ (function () {
|
|
|
26844
27005
|
params: params
|
|
26845
27006
|
});
|
|
26846
27007
|
}, [lightDataStore]);
|
|
26847
|
-
this.taskRealtimeSubscriptions = new task_realtime_subscriptions_1.default(session, this.tasksStore, this.storableDataService);
|
|
27008
|
+
this.taskRealtimeSubscriptions = new task_realtime_subscriptions_1.default(session, this.tasksStore, this.storableDataService, customersApi);
|
|
26848
27009
|
}
|
|
26849
27010
|
TasksApi.prototype.updateStoreOnEvents = function () {
|
|
26850
27011
|
this.taskRealtimeSubscriptions.updateStoreOnEvents();
|
|
@@ -33269,120 +33430,6 @@ exports["default"] = Vehicles;
|
|
|
33269
33430
|
|
|
33270
33431
|
/***/ }),
|
|
33271
33432
|
|
|
33272
|
-
/***/ 25240:
|
|
33273
|
-
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
33274
|
-
|
|
33275
|
-
"use strict";
|
|
33276
|
-
|
|
33277
|
-
var __assign = (this && this.__assign) || function () {
|
|
33278
|
-
__assign = Object.assign || function(t) {
|
|
33279
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
33280
|
-
s = arguments[i];
|
|
33281
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
33282
|
-
t[p] = s[p];
|
|
33283
|
-
}
|
|
33284
|
-
return t;
|
|
33285
|
-
};
|
|
33286
|
-
return __assign.apply(this, arguments);
|
|
33287
|
-
};
|
|
33288
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
33289
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
33290
|
-
};
|
|
33291
|
-
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
33292
|
-
var BringgDashboardSDK_1 = __webpack_require__(5655);
|
|
33293
|
-
var storable_realtime_subscriptions_1 = __importDefault(__webpack_require__(1227));
|
|
33294
|
-
var Vehicle_consts_1 = __webpack_require__(84010);
|
|
33295
|
-
var VehicleRealtimeSubscriptions = /** @class */ (function () {
|
|
33296
|
-
function VehicleRealtimeSubscriptions(session, vehiclesStore, storableDataService) {
|
|
33297
|
-
this.vehiclesStore = vehiclesStore;
|
|
33298
|
-
this.storableDataService = storableDataService;
|
|
33299
|
-
this.storableRealtimeSubscriptions = new storable_realtime_subscriptions_1.default(session, vehiclesStore, storableDataService);
|
|
33300
|
-
}
|
|
33301
|
-
VehicleRealtimeSubscriptions.prototype.updateStoreOnEvents = function () {
|
|
33302
|
-
var _this = this;
|
|
33303
|
-
this.storableRealtimeSubscriptions.updateStoreOnEvents([
|
|
33304
|
-
{
|
|
33305
|
-
name: Vehicle_consts_1.REAL_TIME_EVENTS.VEHICLE_UPDATE,
|
|
33306
|
-
isDelete: false,
|
|
33307
|
-
extraDataFunc: function (vehicle) { return ({ skipStoreUpdate: !_this.vehiclesStore.get(vehicle.id) }); },
|
|
33308
|
-
// Reconcile Trailer and affected Trucks after Truck-Trailer link is changed
|
|
33309
|
-
// Remove if / when Trailer-Truck link changes trigger Truck/-s real-time updated events
|
|
33310
|
-
onAfterStoreSync: function (mapped) { return _this.reconcileTrucksOnTrailerChange(mapped); }
|
|
33311
|
-
},
|
|
33312
|
-
{ name: Vehicle_consts_1.REAL_TIME_EVENTS.VEHICLE_DELETE, isDelete: true }
|
|
33313
|
-
]);
|
|
33314
|
-
};
|
|
33315
|
-
VehicleRealtimeSubscriptions.prototype.onUpdate = function (callback) {
|
|
33316
|
-
return this.storableRealtimeSubscriptions.onEvent(Vehicle_consts_1.REAL_TIME_EVENTS.VEHICLE_UPDATE, function (item) { return callback(item.current); });
|
|
33317
|
-
};
|
|
33318
|
-
VehicleRealtimeSubscriptions.prototype.onDelete = function (callback) {
|
|
33319
|
-
return this.storableRealtimeSubscriptions.onEvent(Vehicle_consts_1.REAL_TIME_EVENTS.VEHICLE_DELETE, function (item) { return callback(item.diff); });
|
|
33320
|
-
};
|
|
33321
|
-
VehicleRealtimeSubscriptions.prototype.onUnassigned = function (callback) {
|
|
33322
|
-
return this.storableRealtimeSubscriptions.onAnyEvent(Vehicle_consts_1.REAL_TIME_EVENTS.VEHICLE_UNASSIGNED, function (vehicle) {
|
|
33323
|
-
return callback(vehicle);
|
|
33324
|
-
});
|
|
33325
|
-
};
|
|
33326
|
-
// This should work as expected until Vehicle Update event sends full Vehicle structure
|
|
33327
|
-
// and StorableDataService.mapper maps real-time payload to MappedStorableItem.current
|
|
33328
|
-
VehicleRealtimeSubscriptions.prototype.reconcileTrucksOnTrailerChange = function (_a) {
|
|
33329
|
-
var _this = this;
|
|
33330
|
-
var _b, _c;
|
|
33331
|
-
var trailer = _a.current;
|
|
33332
|
-
// Only a trailer update can change a truck's derived `trailer` field.
|
|
33333
|
-
if (!(trailer === null || trailer === void 0 ? void 0 : trailer.is_trailer)) {
|
|
33334
|
-
return;
|
|
33335
|
-
}
|
|
33336
|
-
// A partial trailer update may omit `truck_id`; only reconcile when the payload carries it
|
|
33337
|
-
// (explicit null = detach, a value = attach). Absent = no connection info -> leave cache as-is,
|
|
33338
|
-
// so a partial update can't be misread as detach and wrongly clear the truck's trailer.
|
|
33339
|
-
if (!('truck_id' in trailer)) {
|
|
33340
|
-
return;
|
|
33341
|
-
}
|
|
33342
|
-
var newTruckId = (_b = trailer.truck_id) !== null && _b !== void 0 ? _b : null;
|
|
33343
|
-
var oldTruck = this.findTruckHoldingTrailer(trailer.id);
|
|
33344
|
-
// No connection change relative to the cache - nothing to reconcile.
|
|
33345
|
-
if (((_c = oldTruck === null || oldTruck === void 0 ? void 0 : oldTruck.id) !== null && _c !== void 0 ? _c : null) === newTruckId) {
|
|
33346
|
-
return;
|
|
33347
|
-
}
|
|
33348
|
-
(0, BringgDashboardSDK_1.getGlobals)().mobx.runInAction(function () {
|
|
33349
|
-
if (oldTruck) {
|
|
33350
|
-
_this.applyTrailerToTruck(oldTruck.id, null);
|
|
33351
|
-
}
|
|
33352
|
-
_this.applyTrailerToTruck(newTruckId, trailer);
|
|
33353
|
-
});
|
|
33354
|
-
};
|
|
33355
|
-
VehicleRealtimeSubscriptions.prototype.findTruckHoldingTrailer = function (trailerId) {
|
|
33356
|
-
return this.vehiclesStore
|
|
33357
|
-
.getGroup(Vehicle_consts_1.VehicleGroup.IsTrailer, false)
|
|
33358
|
-
.find(function (vehicle) { return vehicle.trailer && vehicle.trailer.id === trailerId; });
|
|
33359
|
-
};
|
|
33360
|
-
VehicleRealtimeSubscriptions.prototype.applyTrailerToTruck = function (truckId, trailerEntity) {
|
|
33361
|
-
if (!truckId) {
|
|
33362
|
-
return;
|
|
33363
|
-
}
|
|
33364
|
-
var truck = this.vehiclesStore.get(truckId);
|
|
33365
|
-
// Only reconcile trucks that are actually cached; missing trucks get the correct trailer on load.
|
|
33366
|
-
if (!truck) {
|
|
33367
|
-
return;
|
|
33368
|
-
}
|
|
33369
|
-
var mobx = (0, BringgDashboardSDK_1.getGlobals)().mobx;
|
|
33370
|
-
// Deep, plain, non-observable COPY so the truck's `trailer`.
|
|
33371
|
-
// Drop the nested trailer's own `trailer` to avoid recursive nesting.
|
|
33372
|
-
var trailerSnapshot = trailerEntity ? __assign(__assign({}, mobx.toJS(trailerEntity)), { trailer: null }) : null;
|
|
33373
|
-
// toJS the truck too so we replace it with a fresh plain object instead of mutating the live
|
|
33374
|
-
// observable in place; updateInStores re-observes it as the truck's own subtree.
|
|
33375
|
-
var updatedTruck = __assign(__assign({}, mobx.toJS(truck)), { trailer: trailerSnapshot });
|
|
33376
|
-
var mapped = this.storableDataService.updateInStores(updatedTruck);
|
|
33377
|
-
this.storableRealtimeSubscriptions.runEventCallbacks(Vehicle_consts_1.REAL_TIME_EVENTS.VEHICLE_UPDATE, mapped);
|
|
33378
|
-
};
|
|
33379
|
-
return VehicleRealtimeSubscriptions;
|
|
33380
|
-
}());
|
|
33381
|
-
exports["default"] = VehicleRealtimeSubscriptions;
|
|
33382
|
-
//# sourceMappingURL=vehicle-realtime-subscriptions.js.map
|
|
33383
|
-
|
|
33384
|
-
/***/ }),
|
|
33385
|
-
|
|
33386
33433
|
/***/ 57020:
|
|
33387
33434
|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
33388
33435
|
|
|
@@ -33441,23 +33488,22 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
33441
33488
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
33442
33489
|
var types_1 = __webpack_require__(63127);
|
|
33443
33490
|
var lodash_1 = __webpack_require__(96486);
|
|
33491
|
+
var storable_realtime_subscriptions_1 = __importDefault(__webpack_require__(1227));
|
|
33444
33492
|
var data_entity_1 = __webpack_require__(91083);
|
|
33445
33493
|
var data_store_1 = __importDefault(__webpack_require__(73135));
|
|
33446
33494
|
var storable_data_service_1 = __importDefault(__webpack_require__(45297));
|
|
33447
33495
|
var Vehicle_consts_1 = __webpack_require__(84010);
|
|
33448
|
-
var vehicle_realtime_subscriptions_1 = __importDefault(__webpack_require__(25240));
|
|
33449
33496
|
var vehicles_service_1 = __importDefault(__webpack_require__(87386));
|
|
33450
33497
|
var VehiclesApi = /** @class */ (function () {
|
|
33451
33498
|
function VehiclesApi(session) {
|
|
33452
|
-
var _this = this;
|
|
33453
33499
|
var groupFilters = [
|
|
33454
33500
|
{ groupType: Vehicle_consts_1.VehicleGroup.Team, keyFunc: function (vehicle) { return vehicle.team_id; } },
|
|
33455
33501
|
{ groupType: Vehicle_consts_1.VehicleGroup.IsTrailer, keyFunc: function (vehicle) { return !!vehicle.is_trailer; } }
|
|
33456
33502
|
];
|
|
33457
33503
|
this.vehiclesStore = new data_store_1.default(groupFilters);
|
|
33458
33504
|
this.vehiclesService = new vehicles_service_1.default(session);
|
|
33459
|
-
this.storableDataService = new storable_data_service_1.default(this.vehiclesStore
|
|
33460
|
-
this.
|
|
33505
|
+
this.storableDataService = new storable_data_service_1.default(this.vehiclesStore);
|
|
33506
|
+
this.storableRealtimeSubscriptions = new storable_realtime_subscriptions_1.default(session, this.vehiclesStore, this.storableDataService);
|
|
33461
33507
|
}
|
|
33462
33508
|
VehiclesApi.prototype.load = function (id, options) {
|
|
33463
33509
|
var _this = this;
|
|
@@ -33554,26 +33600,21 @@ var VehiclesApi = /** @class */ (function () {
|
|
|
33554
33600
|
return this.storableDataService.modify('create', function () { return _this.vehiclesService.create(vehicleData); });
|
|
33555
33601
|
};
|
|
33556
33602
|
VehiclesApi.prototype.updateStoreOnEvents = function () {
|
|
33557
|
-
this.
|
|
33558
|
-
|
|
33559
|
-
|
|
33560
|
-
|
|
33561
|
-
// Preserve the cached `trailer` whenever the incoming payload omits the key; take it from the payload
|
|
33562
|
-
// only when explicitly present (HTTP loads, PUT responses, reconciler writes).
|
|
33563
|
-
VehiclesApi.prototype.mapVehicle = function (vehicle) {
|
|
33564
|
-
var existing = this.vehiclesStore.get(vehicle.id);
|
|
33565
|
-
var current = existing && 'trailer' in existing && !('trailer' in vehicle)
|
|
33566
|
-
? __assign(__assign({}, vehicle), { trailer: existing.trailer }) : vehicle;
|
|
33567
|
-
return { current: current, diff: existing };
|
|
33603
|
+
this.storableRealtimeSubscriptions.updateStoreOnEvents([
|
|
33604
|
+
{ name: Vehicle_consts_1.REAL_TIME_EVENTS.VEHICLE_UPDATE, isDelete: false },
|
|
33605
|
+
{ name: Vehicle_consts_1.REAL_TIME_EVENTS.VEHICLE_DELETE, isDelete: true }
|
|
33606
|
+
]);
|
|
33568
33607
|
};
|
|
33569
33608
|
VehiclesApi.prototype.onUpdate = function (callback) {
|
|
33570
|
-
return this.
|
|
33609
|
+
return this.storableRealtimeSubscriptions.onEvent(Vehicle_consts_1.REAL_TIME_EVENTS.VEHICLE_UPDATE, function (item) { return callback(item.current); });
|
|
33571
33610
|
};
|
|
33572
33611
|
VehiclesApi.prototype.onDelete = function (callback) {
|
|
33573
|
-
return this.
|
|
33612
|
+
return this.storableRealtimeSubscriptions.onEvent(Vehicle_consts_1.REAL_TIME_EVENTS.VEHICLE_DELETE, function (item) { return callback(item.current); });
|
|
33574
33613
|
};
|
|
33575
33614
|
VehiclesApi.prototype.onUnassigned = function (callback) {
|
|
33576
|
-
return this.
|
|
33615
|
+
return this.storableRealtimeSubscriptions.onAnyEvent(Vehicle_consts_1.REAL_TIME_EVENTS.VEHICLE_UNASSIGNED, function (vehicle) {
|
|
33616
|
+
return callback(vehicle);
|
|
33617
|
+
});
|
|
33577
33618
|
};
|
|
33578
33619
|
VehiclesApi.prototype.get = function (id) {
|
|
33579
33620
|
return this.vehiclesStore.get(id);
|