@bringg/dashboard-sdk 9.77.1-pre → 9.77.1

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.
@@ -9,7 +9,7 @@ export default class StorableRealtimeSubscriptions<TClient extends DataEntity, T
9
9
  private readonly storableDataService;
10
10
  private readonly eventCallbacks;
11
11
  constructor(session: Session, dataStore: DataStore<TClient>, storableDataService: StorableDataService<TClient, TServer>);
12
- updateStoreOnEvents(events: StorableEvent<TServer, TClient>[], subEntityEvents?: StorableSubEntityEvent[]): void;
12
+ updateStoreOnEvents(events: StorableEvent<TServer>[], subEntityEvents?: StorableSubEntityEvent[]): void;
13
13
  onAnyEvent(event: string, callback: any): () => void;
14
14
  onEvent(event: string, callback: (eventData: MappedStorableItem<TClient>) => void, options?: EventCallbackOptions): StorableEventUnsubscribe;
15
15
  runEventCallbacks(event: string, data: MappedStorableItem<TClient>, meta?: {
@@ -29,7 +29,6 @@ var StorableRealtimeSubscriptions = /** @class */ (function () {
29
29
  if (subEntityEvents === void 0) { subEntityEvents = []; }
30
30
  var _loop_1 = function (event_1) {
31
31
  this_1.realtimeSubscriptions.subscribe(event_1.name, function (item) {
32
- var _a, _b;
33
32
  item = event_1.itemExtractor ? event_1.itemExtractor(item) : item;
34
33
  var data = event_1.extraDataFunc && event_1.extraDataFunc(item);
35
34
  if (data === null || data === void 0 ? void 0 : data.ignore) {
@@ -46,16 +45,10 @@ var StorableRealtimeSubscriptions = /** @class */ (function () {
46
45
  var skipStoreUpdate = !!(data === null || data === void 0 ? void 0 : data.skipStoreUpdate);
47
46
  if (skipStoreUpdate) {
48
47
  var mappedStorableItem = _this.storableDataService.mapItem(item, data === null || data === void 0 ? void 0 : data.params);
49
- // Cache layer: reconcile dependent cached entities even when this entity itself is
50
- // not stored (e.g. a not-yet-cached trailer moving between cached trucks).
51
- (_a = event_1.onAfterStoreSync) === null || _a === void 0 ? void 0 : _a.call(event_1, mappedStorableItem);
52
48
  _this.runEventCallbacks(event_1.name, mappedStorableItem, { skipStoreUpdate: skipStoreUpdate });
53
49
  }
54
50
  else {
55
51
  var mappedStorableItem = _this.storableDataService.updateInStores(item, undefined, undefined, data === null || data === void 0 ? void 0 : data.params);
56
- // Cache layer: let the entity reconcile dependent cached entities before any consumer
57
- // is notified, so the whole store is consistent when store events fire.
58
- (_b = event_1.onAfterStoreSync) === null || _b === void 0 ? void 0 : _b.call(event_1, mappedStorableItem);
59
52
  _this.runEventCallbacks(event_1.name, mappedStorableItem);
60
53
  }
61
54
  }
@@ -1 +1 @@
1
- {"version":3,"file":"storable-realtime-subscriptions.js","sourceRoot":"","sources":["../../src/Data/storable-realtime-subscriptions.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAEA,qFAA8D;AAG9D,iDAA+C;AAQ/C;IAWC,uCACC,OAAgB,EAChB,SAA6B,EAC7B,mBAA0D;QAE1D,IAAI,CAAC,qBAAqB,GAAG,IAAI,gCAAqB,CAAC,OAAO,CAAC,CAAC;QAChE,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,mBAAmB,GAAG,mBAAmB,CAAC;QAC/C,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;IAC1B,CAAC;IAEM,2DAAmB,GAA1B,UACC,MAAyC,EACzC,eAA8C;;QAF/C,iBAmEC;QAjEA,gCAAA,EAAA,oBAA8C;gCAEnC,OAAK;YACf,OAAK,qBAAqB,CAAC,SAAS,CAAC,OAAK,CAAC,IAAI,EAAE,UAAC,IAAa;;gBAC9D,IAAI,GAAG,OAAK,CAAC,aAAa,CAAC,CAAC,CAAC,OAAK,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBAE9D,IAAM,IAAI,GAAG,OAAK,CAAC,aAAa,IAAI,OAAK,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;gBAE9D,IAAI,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,EAAE;oBACjB,OAAO;iBACP;gBAED,IAAI,OAAK,CAAC,QAAQ,EAAE;oBACnB,IAAI,CAAC,KAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;wBACjC,OAAO;qBACP;oBAED,IAAM,WAAW,GAAG,KAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oBAEvE,KAAI,CAAC,iBAAiB,CAAC,OAAK,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;iBAC1D;qBAAM;oBACN,IAAM,eAAe,GAAG,CAAC,CAAC,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,eAAe,CAAA,CAAC;oBAEhD,IAAI,eAAe,EAAE;wBACpB,IAAM,kBAAkB,GAAG,KAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,CAAC,CAAC;wBAEhF,mFAAmF;wBACnF,2EAA2E;wBAC3E,MAAA,OAAK,CAAC,gBAAgB,wDAAG,kBAAkB,CAAC,CAAC;wBAE7C,KAAI,CAAC,iBAAiB,CAAC,OAAK,CAAC,IAAI,EAAE,kBAAkB,EAAE,EAAE,eAAe,iBAAA,EAAE,CAAC,CAAC;qBAC5E;yBAAM;wBACN,IAAM,kBAAkB,GAAG,KAAI,CAAC,mBAAmB,CAAC,cAAc,CACjE,IAAI,EACJ,SAAS,EACT,SAAS,EACT,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,CACZ,CAAC;wBAEF,sFAAsF;wBACtF,wEAAwE;wBACxE,MAAA,OAAK,CAAC,gBAAgB,wDAAG,kBAAkB,CAAC,CAAC;wBAE7C,KAAI,CAAC,iBAAiB,CAAC,OAAK,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAC;qBACvD;iBACD;YACF,CAAC,CAAC,CAAC;;;;YA5CJ,KAAoB,IAAA,WAAA,SAAA,MAAM,CAAA,8BAAA;gBAArB,IAAM,OAAK,mBAAA;wBAAL,OAAK;aA6Cf;;;;;;;;;gCAEU,cAAc;YACxB,OAAK,qBAAqB,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,EAAE,UAAA,kBAAkB;gBAC3E,cAAc,CAAC,YAAY,CAAC,OAAO,CAAC,UAAA,KAAK,IAAI,OAAA,OAAO,kBAAkB,CAAC,KAAK,CAAC,EAAhC,CAAgC,CAAC,CAAC;gBAC/E,IAAM,eAAe,GAAG,KAAI,CAAC,eAAe,CAC3C,kBAAkB,EAClB,cAAc,CAAC,OAAO,IAAI,IAAI,EAC9B,cAAc,CAAC,WAAW,EAC1B,cAAc,CAAC,KAAK,EACpB,cAAc,CAAC,QAAQ,CACvB,CAAC;gBAEF,IAAI,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,OAAO,EAAE;oBAC7B,KAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC;iBACrE;YACF,CAAC,CAAC,CAAC;;;;YAdJ,KAA6B,IAAA,oBAAA,SAAA,eAAe,CAAA,gDAAA;gBAAvC,IAAM,cAAc,4BAAA;wBAAd,cAAc;aAexB;;;;;;;;;IACF,CAAC;IAEM,kDAAU,GAAjB,UAAkB,KAAa,EAAE,QAAQ;QACxC,OAAO,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAC9D,CAAC;IAEM,+CAAO,GAAd,UACC,KAAa,EACb,QAA0D,EAC1D,OAAkC;QAHnC,iBAoBC;QAjBA,wBAAA,EAAA,YAAkC;QAElC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE;YAChC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;SAChC;QAED,IAAM,KAAK,GAAG,EAAE,QAAQ,UAAA,EAAE,OAAO,SAAA,EAAE,CAAC;QAEpC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAEvC,OAAO;YACN,IAAM,KAAK,GAAG,KAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAExD,IAAI,KAAK,GAAG,CAAC,CAAC,EAAE;gBACf,KAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;aAC5C;QACF,CAAC,CAAC;IACH,CAAC;IAEM,yDAAiB,GAAxB,UAAyB,KAAa,EAAE,IAAiC,EAAE,IAAoC;QAC9G,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,UAAA,KAAK;YAC/C,IAAI,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,eAAe,KAAI,KAAK,CAAC,OAAO,CAAC,0BAA0B,KAAK,IAAI,EAAE;gBAC/E,OAAO;aACP;YAED,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACtB,CAAC,CAAC,CAAC;IACJ,CAAC;IAEO,uDAAe,GAAvB,UACC,SAAc,EACd,OAAe,EACf,WAAmB,EACnB,cAAsB,EACtB,QAAiB;;QAEjB,IAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC;QAC3D,IAAI,IAAI,CAAC;QAET,IAAI,OAAO,EAAE;YACZ,IAAM,aAAa,GAAG,OAAO,CAAC,cAAc,CAAC;gBAC5C,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,UAAA,aAAa,IAAI,OAAA,aAAa,CAAC,EAAE,KAAK,SAAS,CAAC,OAAO,CAAC,EAAvC,CAAuC,CAAC;gBAC7F,CAAC,CAAC,CAAC,CAAC,CAAC;YAEN,IAAI,aAAa,GAAG,CAAC,CAAC,EAAE;gBACvB,IAAI,QAAQ,EAAE;oBACb,IAAI,aAAK,GAAC,cAAc,IAAG,IAAI,CAAC,yBAAyB,CAAC,aAAa,CAAC,KAAE,CAAC;oBAE3E,KAAK,IAAI,CAAC,GAAG,aAAa,EAAE,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;wBACpE,IAAI,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;qBACtD;oBAED,OAAO,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;iBACjD;qBAAM;oBACN,IAAM,aAAa,GAAG,4BAAY,CAAC,SAAS,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,aAAa,CAAC,EAAE,SAAS,CAAC,CAAC;oBAEhG,IAAI;wBACH,GAAC,cAAc,IAAG,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC;2BAChF,CAAC;oBACF,IAAI,CAAC,cAAc,CAAC,CAAC,aAAa,CAAC,GAAG,aAAa,CAAC;iBACpD;aACD;iBAAM,IAAI,CAAC,QAAQ,EAAE;gBACrB,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE;oBAC7B,OAAO,CAAC,cAAc,CAAC,GAAG,EAAE,CAAC;iBAC7B;gBAED,IAAI;oBACH,GAAC,cAAc,IAAG,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC;uBAChF,CAAC;gBAEF,IAAI,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBACrC,OAAO,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;aACxC;SACD;QAED,IAAI,IAAI,EAAE;YACT,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,MAAA,EAAE,CAAC;SAClC;IACF,CAAC;IAEO,iEAAyB,GAAjC,UAAkC,MAAM;QACvC,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,QAAA,EAAE,EAAE,cAAM,OAAA,CAAC,EAAE,CAAC,EAAJ,CAAI,CAAC,CAAC;IAC3C,CAAC;IACF,oCAAC;AAAD,CAAC,AArLD,IAqLC"}
1
+ {"version":3,"file":"storable-realtime-subscriptions.js","sourceRoot":"","sources":["../../src/Data/storable-realtime-subscriptions.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import { DataEntity, MappedStorableItem } from '../data-entity';
2
- export type StorableEvent<TServer extends DataEntity, TClient extends DataEntity = TServer> = {
1
+ import { DataEntity } from '../data-entity';
2
+ export type StorableEvent<TServer extends DataEntity> = {
3
3
  name: string;
4
4
  extraDataFunc?: (item: TServer) => {
5
5
  ignore?: boolean;
@@ -8,7 +8,6 @@ export type StorableEvent<TServer extends DataEntity, TClient extends DataEntity
8
8
  };
9
9
  itemExtractor?: (item: any) => TServer;
10
10
  isDelete: boolean;
11
- onAfterStoreSync?: (mapped: MappedStorableItem<TClient>) => void;
12
11
  };
13
12
  export type StorableSubEntityEvent = {
14
13
  name: string;
@@ -10,7 +10,7 @@ export default class VehiclesApi {
10
10
  private readonly vehiclesStore;
11
11
  private readonly vehiclesService;
12
12
  private readonly storableDataService;
13
- private readonly vehicleRealtimeSubscriptions;
13
+ private readonly storableRealtimeSubscriptions;
14
14
  constructor(session: Session);
15
15
  load(id: number, options?: DataOptions): Promise<Vehicle>;
16
16
  loadAll(options?: DataOptions): Promise<Vehicle[]>;
@@ -22,10 +22,9 @@ export default class VehiclesApi {
22
22
  batchUpdate(vehicles: Partial<VehicleDTO[]>): Promise<Vehicle[]>;
23
23
  create(vehicleData: Partial<VehicleDTO>): Promise<Vehicle>;
24
24
  updateStoreOnEvents(): void;
25
- private mapVehicle;
26
- onUpdate(callback: (vehicle: Vehicle) => void): StorableEventUnsubscribe;
27
- onDelete(callback: (vehicle: Vehicle) => void): StorableEventUnsubscribe;
28
- onUnassigned(callback: (vehicle: Vehicle) => void): () => void;
25
+ onUpdate(callback: (vehicle: Vehicle) => StorableEventUnsubscribe): StorableEventUnsubscribe;
26
+ onDelete(callback: (vehicle: Vehicle) => StorableEventUnsubscribe): StorableEventUnsubscribe;
27
+ onUnassigned(callback: (vehicle: Vehicle) => StorableEventUnsubscribe): () => void;
29
28
  get(id: number): Vehicle;
30
29
  getAll(): Vehicle[];
31
30
  getGroup(group: VehicleGroup, groupValue: GroupValue): Vehicle[];
@@ -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, function (vehicle) { return _this.mapVehicle(vehicle); });
71
- this.vehicleRealtimeSubscriptions = new vehicle_realtime_subscriptions_1.default(session, this.vehiclesStore, this.storableDataService);
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.vehicleRealtimeSubscriptions.updateStoreOnEvents();
169
- };
170
- // `trailer` is a derived field the reconciler maintains on trucks. Realtime vehicle payloads don't
171
- // carry it, so a plain truck update would otherwise REPLACE the cached truck and wipe its trailer.
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.vehicleRealtimeSubscriptions.onUpdate(callback);
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.vehicleRealtimeSubscriptions.onDelete(callback);
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.vehicleRealtimeSubscriptions.onUnassigned(callback);
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":"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"}
1
+ {"version":3,"file":"vehicles-api.js","sourceRoot":"","sources":["../../../src/Vehicle/v2/vehicles-api.ts"],"names":[],"mappings":"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"}
@@ -8299,7 +8299,6 @@ var StorableRealtimeSubscriptions = /** @class */ (function () {
8299
8299
  if (subEntityEvents === void 0) { subEntityEvents = []; }
8300
8300
  var _loop_1 = function (event_1) {
8301
8301
  this_1.realtimeSubscriptions.subscribe(event_1.name, function (item) {
8302
- var _a, _b;
8303
8302
  item = event_1.itemExtractor ? event_1.itemExtractor(item) : item;
8304
8303
  var data = event_1.extraDataFunc && event_1.extraDataFunc(item);
8305
8304
  if (data === null || data === void 0 ? void 0 : data.ignore) {
@@ -8316,16 +8315,10 @@ var StorableRealtimeSubscriptions = /** @class */ (function () {
8316
8315
  var skipStoreUpdate = !!(data === null || data === void 0 ? void 0 : data.skipStoreUpdate);
8317
8316
  if (skipStoreUpdate) {
8318
8317
  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
8318
  _this.runEventCallbacks(event_1.name, mappedStorableItem, { skipStoreUpdate: skipStoreUpdate });
8323
8319
  }
8324
8320
  else {
8325
8321
  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
8322
  _this.runEventCallbacks(event_1.name, mappedStorableItem);
8330
8323
  }
8331
8324
  }
@@ -23772,7 +23765,7 @@ var lodash_1 = __webpack_require__(96486);
23772
23765
  var BringgException_1 = __webpack_require__(43605);
23773
23766
  var Logger_1 = __importDefault(__webpack_require__(55860));
23774
23767
  var abort_1 = __webpack_require__(34179);
23775
- var version = '9.77.1-pre';
23768
+ var version = '9.77.1';
23776
23769
  function logErrorResponse(response) {
23777
23770
  var data = response.data, status = response.status;
23778
23771
  try {
@@ -33269,120 +33262,6 @@ exports["default"] = Vehicles;
33269
33262
 
33270
33263
  /***/ }),
33271
33264
 
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
33265
  /***/ 57020:
33387
33266
  /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
33388
33267
 
@@ -33441,23 +33320,22 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
33441
33320
  Object.defineProperty(exports, "__esModule", ({ value: true }));
33442
33321
  var types_1 = __webpack_require__(63127);
33443
33322
  var lodash_1 = __webpack_require__(96486);
33323
+ var storable_realtime_subscriptions_1 = __importDefault(__webpack_require__(1227));
33444
33324
  var data_entity_1 = __webpack_require__(91083);
33445
33325
  var data_store_1 = __importDefault(__webpack_require__(73135));
33446
33326
  var storable_data_service_1 = __importDefault(__webpack_require__(45297));
33447
33327
  var Vehicle_consts_1 = __webpack_require__(84010);
33448
- var vehicle_realtime_subscriptions_1 = __importDefault(__webpack_require__(25240));
33449
33328
  var vehicles_service_1 = __importDefault(__webpack_require__(87386));
33450
33329
  var VehiclesApi = /** @class */ (function () {
33451
33330
  function VehiclesApi(session) {
33452
- var _this = this;
33453
33331
  var groupFilters = [
33454
33332
  { groupType: Vehicle_consts_1.VehicleGroup.Team, keyFunc: function (vehicle) { return vehicle.team_id; } },
33455
33333
  { groupType: Vehicle_consts_1.VehicleGroup.IsTrailer, keyFunc: function (vehicle) { return !!vehicle.is_trailer; } }
33456
33334
  ];
33457
33335
  this.vehiclesStore = new data_store_1.default(groupFilters);
33458
33336
  this.vehiclesService = new vehicles_service_1.default(session);
33459
- this.storableDataService = new storable_data_service_1.default(this.vehiclesStore, function (vehicle) { return _this.mapVehicle(vehicle); });
33460
- this.vehicleRealtimeSubscriptions = new vehicle_realtime_subscriptions_1.default(session, this.vehiclesStore, this.storableDataService);
33337
+ this.storableDataService = new storable_data_service_1.default(this.vehiclesStore);
33338
+ this.storableRealtimeSubscriptions = new storable_realtime_subscriptions_1.default(session, this.vehiclesStore, this.storableDataService);
33461
33339
  }
33462
33340
  VehiclesApi.prototype.load = function (id, options) {
33463
33341
  var _this = this;
@@ -33554,26 +33432,21 @@ var VehiclesApi = /** @class */ (function () {
33554
33432
  return this.storableDataService.modify('create', function () { return _this.vehiclesService.create(vehicleData); });
33555
33433
  };
33556
33434
  VehiclesApi.prototype.updateStoreOnEvents = function () {
33557
- this.vehicleRealtimeSubscriptions.updateStoreOnEvents();
33558
- };
33559
- // `trailer` is a derived field the reconciler maintains on trucks. Realtime vehicle payloads don't
33560
- // carry it, so a plain truck update would otherwise REPLACE the cached truck and wipe its trailer.
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 };
33435
+ this.storableRealtimeSubscriptions.updateStoreOnEvents([
33436
+ { name: Vehicle_consts_1.REAL_TIME_EVENTS.VEHICLE_UPDATE, isDelete: false },
33437
+ { name: Vehicle_consts_1.REAL_TIME_EVENTS.VEHICLE_DELETE, isDelete: true }
33438
+ ]);
33568
33439
  };
33569
33440
  VehiclesApi.prototype.onUpdate = function (callback) {
33570
- return this.vehicleRealtimeSubscriptions.onUpdate(callback);
33441
+ return this.storableRealtimeSubscriptions.onEvent(Vehicle_consts_1.REAL_TIME_EVENTS.VEHICLE_UPDATE, function (item) { return callback(item.current); });
33571
33442
  };
33572
33443
  VehiclesApi.prototype.onDelete = function (callback) {
33573
- return this.vehicleRealtimeSubscriptions.onDelete(callback);
33444
+ return this.storableRealtimeSubscriptions.onEvent(Vehicle_consts_1.REAL_TIME_EVENTS.VEHICLE_DELETE, function (item) { return callback(item.current); });
33574
33445
  };
33575
33446
  VehiclesApi.prototype.onUnassigned = function (callback) {
33576
- return this.vehicleRealtimeSubscriptions.onUnassigned(callback);
33447
+ return this.storableRealtimeSubscriptions.onAnyEvent(Vehicle_consts_1.REAL_TIME_EVENTS.VEHICLE_UNASSIGNED, function (vehicle) {
33448
+ return callback(vehicle);
33449
+ });
33577
33450
  };
33578
33451
  VehiclesApi.prototype.get = function (id) {
33579
33452
  return this.vehiclesStore.get(id);