@golemio/pid 2.22.1-dev.1474999897 → 2.22.1-dev.1484319989

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 (52) hide show
  1. package/db/example/13_http-propagate-delay.sql +1 -1
  2. package/db/migrations/postgresql/20241004085815-after-track-delayed.js +53 -0
  3. package/db/migrations/postgresql/sqls/20241004085815-after-track-delayed-down.sql +41 -0
  4. package/db/migrations/postgresql/sqls/20241004085815-after-track-delayed-up.sql +41 -0
  5. package/dist/const.d.ts +1 -0
  6. package/dist/const.js +1 -0
  7. package/dist/const.js.map +1 -1
  8. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/helpers/PositionsMapper.js +0 -1
  9. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/helpers/PositionsMapper.js.map +1 -1
  10. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/helpers/RawQueryProvider.js +3 -1
  11. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/helpers/RawQueryProvider.js.map +1 -1
  12. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/PositionsManager.d.ts +5 -10
  13. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/PositionsManager.js +42 -27
  14. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/PositionsManager.js.map +1 -1
  15. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/compute-positions/strategy/AbstractDelayAtStop.d.ts +2 -0
  16. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/compute-positions/strategy/AbstractDelayAtStop.js +9 -0
  17. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/compute-positions/strategy/AbstractDelayAtStop.js.map +1 -1
  18. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/compute-positions/strategy/CommonDelayAtStop.d.ts +1 -0
  19. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/compute-positions/strategy/CommonDelayAtStop.js +11 -10
  20. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/compute-positions/strategy/CommonDelayAtStop.js.map +1 -1
  21. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/compute-positions/strategy/MetroDelayAtStop.js +8 -6
  22. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/compute-positions/strategy/MetroDelayAtStop.js.map +1 -1
  23. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/interfaces/IPositionStateAndStopSequences.d.ts +1 -1
  24. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/regional-bus/RegionalBusPositionsManager.d.ts +4 -9
  25. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/regional-bus/RegionalBusPositionsManager.js +54 -29
  26. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/regional-bus/RegionalBusPositionsManager.js.map +1 -1
  27. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/regional-bus/compute-positions/strategy/BusDelayAtStop.js +12 -8
  28. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/regional-bus/compute-positions/strategy/BusDelayAtStop.js.map +1 -1
  29. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/state-position/PositionStateDelayManager.d.ts +7 -0
  30. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/state-position/PositionStateDelayManager.js +20 -0
  31. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/state-position/PositionStateDelayManager.js.map +1 -0
  32. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/interfaces/ITripPositionTuple.d.ts +4 -3
  33. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/schema/PropagateTrainDelaySchema.d.ts +2 -7
  34. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/schema/PropagateTrainDelaySchema.js.map +1 -1
  35. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/ProcessRegionalBusPositionsTask.js +1 -1
  36. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/ProcessRegionalBusPositionsTask.js.map +1 -1
  37. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/PropagateDelayTask.js +16 -7
  38. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/PropagateDelayTask.js.map +1 -1
  39. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/PropagateTrainDelayTask.js +2 -2
  40. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/PropagateTrainDelayTask.js.map +1 -1
  41. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/UpdateDelayTask.js +1 -1
  42. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/UpdateDelayTask.js.map +1 -1
  43. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/abstract/AbstractPropagateDelayTask.js +2 -1
  44. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/abstract/AbstractPropagateDelayTask.js.map +1 -1
  45. package/dist/output-gateway/vehicle-positions/data-access/views/TripWithLastPositionRepository.js +1 -1
  46. package/dist/output-gateway/vehicle-positions/data-access/views/TripWithLastPositionRepository.js.map +1 -1
  47. package/dist/schema-definitions/vehicle-positions/models/VPTripsModel.js +12 -0
  48. package/dist/schema-definitions/vehicle-positions/models/VPTripsModel.js.map +1 -1
  49. package/dist/schema-definitions/vehicle-positions/models/interfaces/VPTripsLastPositionInterfaces.d.ts +1 -0
  50. package/docs/asyncapi.yaml +10 -0
  51. package/docs/openapi-output.yaml +2 -0
  52. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"AbstractDelayAtStop.js","sourceRoot":"","sources":["../../../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/compute-positions/strategy/AbstractDelayAtStop.ts"],"names":[],"mappings":";;AAKA;;;GAGG;AACH,MAA8B,mBAAmB;IAanC,eAAe,CAAC,eAAuB,EAAE,kBAA2C;QAC1F,IAAI,CAAC,kBAAkB,EAAE;YACrB,OAAO,IAAI,CAAC;SACf;QAED,OAAO,CAAC,eAAe,GAAG,kBAAkB,CAAC,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC;IACnE,CAAC;IAES,YAAY,CAClB,OAAoC,EACpC,gBAA0C,EAC1C,QAAgD;QAEhD,IAAI,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,gBAAgB,EAAE,QAAQ,CAAC,EAAE;YAC3D,OAAO,CAAC,oBAAoB,CAAC,YAAY,GAAG,IAAI,CAAC;YACjD,OAAO,CAAC,oBAAoB,CAAC,aAAa,GAAG,IAAI,CAAC;YAClD,OAAO,CAAC,oBAAoB,CAAC,QAAQ,GAAG,IAAI,CAAC;YAC7C,OAAO,CAAC,oBAAoB,CAAC,cAAc,GAAG,IAAI,CAAC;YACnD,OAAO,CAAC,oBAAoB,CAAC,eAAe,GAAG,IAAI,CAAC;SACvD;QAED,OAAO,OAAO,CAAC;IACnB,CAAC;IAES,eAAe,CACrB,OAAoC,EACpC,gBAA0C,EAC1C,QAAgD;;QAEhD,OAAO,OAAO,CAAC,oBAAoB,CAAC,QAAQ,KAAK,CAAC,MAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,kBAAkB,mCAAI,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,kBAAkB,CAAC,CAAC;IAC5H,CAAC;CACJ;AA5CD,sCA4CC"}
1
+ {"version":3,"file":"AbstractDelayAtStop.js","sourceRoot":"","sources":["../../../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/compute-positions/strategy/AbstractDelayAtStop.ts"],"names":[],"mappings":";;AAGA,sDAA8C;AAE9C;;;GAGG;AACH,MAA8B,mBAAmB;IAanC,eAAe,CAAC,eAAuB,EAAE,kBAA2C;QAC1F,IAAI,CAAC,kBAAkB,EAAE;YACrB,OAAO,IAAI,CAAC;SACf;QAED,OAAO,CAAC,eAAe,GAAG,kBAAkB,CAAC,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC;IACnE,CAAC;IAES,YAAY,CAClB,OAAoC,EACpC,gBAA0C,EAC1C,QAAgD;QAEhD,IAAI,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,gBAAgB,EAAE,QAAQ,CAAC,EAAE;YAC3D,OAAO,CAAC,oBAAoB,CAAC,YAAY,GAAG,IAAI,CAAC;YACjD,OAAO,CAAC,oBAAoB,CAAC,aAAa,GAAG,IAAI,CAAC;YAClD,OAAO,CAAC,oBAAoB,CAAC,QAAQ,GAAG,IAAI,CAAC;YAC7C,OAAO,CAAC,oBAAoB,CAAC,cAAc,GAAG,IAAI,CAAC;YACnD,OAAO,CAAC,oBAAoB,CAAC,eAAe,GAAG,IAAI,CAAC;SACvD;QAED,OAAO,OAAO,CAAC;IACnB,CAAC;IAES,eAAe,CACrB,OAAoC,EACpC,gBAA0C,EAC1C,QAAgD;;QAEhD,OAAO,OAAO,CAAC,oBAAoB,CAAC,QAAQ,KAAK,CAAC,MAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,kBAAkB,mCAAI,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,kBAAkB,CAAC,CAAC;IAC5H,CAAC;IAES,6BAA6B,CAAC,gBAAmC,EAAE,OAAoC;QAC7G,OAAO,CACH,gBAAgB,CAAC,cAAc,KAAK,yBAAiB,CAAC,mBAAmB;YACzE,OAAO,CAAC,oBAAoB,CAAC,aAAa,KAAK,IAAI,CACtD,CAAC;IACN,CAAC;IAES,wBAAwB,CAAC,gBAAmC;QAClE,OAAO,CACH,gBAAgB,CAAC,cAAc,KAAK,yBAAiB,CAAC,WAAW;YACjE,gBAAgB,CAAC,cAAc,KAAK,yBAAiB,CAAC,mBAAmB,CAC5E,CAAC;IACN,CAAC;CACJ;AA1DD,sCA0DC"}
@@ -5,6 +5,7 @@ import AbstractDelayAtStop from "./AbstractDelayAtStop";
5
5
  export default class CommonDelayAtStop extends AbstractDelayAtStop {
6
6
  updateContext(context: IVPTripsLastPositionContext, positionToUpdate: IPositionToUpdate | null, position: IVPTripsPositionAttributes): IVPTripsLastPositionContext;
7
7
  updatePosition(context: IVPTripsLastPositionContext, positionToUpdate: IPositionToUpdate, position: IVPTripsPositionAttributes | undefined): IPositionToUpdate;
8
+ private isValidPosition;
8
9
  private hasTcpEvent;
9
10
  private didVehicleArrive;
10
11
  private didVehicleDepart;
@@ -8,14 +8,14 @@ const AbstractDelayAtStop_1 = __importDefault(require("./AbstractDelayAtStop"));
8
8
  class CommonDelayAtStop extends AbstractDelayAtStop_1.default {
9
9
  updateContext(context, positionToUpdate, position) {
10
10
  var _a, _b, _c, _d;
11
- if (!this.hasTcpEvent(position) || !position.is_tracked) {
11
+ if (!positionToUpdate || !this.isValidPosition(position, positionToUpdate)) {
12
12
  return context;
13
13
  }
14
14
  context = this.resetContext(context, positionToUpdate, position);
15
15
  if (!context.lastPositionLastStop.sequence) {
16
16
  context.lastPositionLastStop.sequence = (_b = (_a = positionToUpdate === null || positionToUpdate === void 0 ? void 0 : positionToUpdate.last_stop_sequence) !== null && _a !== void 0 ? _a : position === null || position === void 0 ? void 0 : position.last_stop_sequence) !== null && _b !== void 0 ? _b : null;
17
17
  }
18
- if (this.didVehicleArrive(position)) {
18
+ if (this.didVehicleArrive(position) || this.isValidUntrackedPosition(positionToUpdate)) {
19
19
  context.lastPositionLastStop.arrival_delay = (_c = positionToUpdate === null || positionToUpdate === void 0 ? void 0 : positionToUpdate.delay_stop_arrival) !== null && _c !== void 0 ? _c : context.lastPositionDelay;
20
20
  }
21
21
  else if (this.didVehicleDepart(position, context)) {
@@ -24,15 +24,11 @@ class CommonDelayAtStop extends AbstractDelayAtStop_1.default {
24
24
  return context;
25
25
  }
26
26
  updatePosition(context, positionToUpdate, position) {
27
- var _a, _b;
28
- if (positionToUpdate.state_position === const_1.StatePositionEnum.AFTER_TRACK) {
29
- positionToUpdate.delay_stop_arrival = (_b = (_a = positionToUpdate.delay) !== null && _a !== void 0 ? _a : position === null || position === void 0 ? void 0 : position.delay) !== null && _b !== void 0 ? _b : 0;
30
- }
31
- if (!this.hasTcpEvent(position) || !position.is_tracked) {
27
+ if (!position || !this.isValidPosition(position, positionToUpdate)) {
32
28
  return positionToUpdate;
33
29
  }
34
30
  context = this.resetContext(context, positionToUpdate, position);
35
- if (this.didVehicleArrive(position)) {
31
+ if (this.didVehicleArrive(position) || this.didVehicleArriveAtTheLastStop(positionToUpdate, context)) {
36
32
  positionToUpdate.delay_stop_arrival = this.calcDelayAtStop(position.origin_timestamp.getTime(), positionToUpdate.last_stop_arrival_time);
37
33
  }
38
34
  else if (this.didVehicleDepart(position, context)) {
@@ -40,14 +36,19 @@ class CommonDelayAtStop extends AbstractDelayAtStop_1.default {
40
36
  }
41
37
  return this.updatePositionStopDelays(positionToUpdate, context);
42
38
  }
39
+ isValidPosition(position, positionToUpdate) {
40
+ return this.hasTcpEvent(position) || this.isValidUntrackedPosition(positionToUpdate);
41
+ }
43
42
  hasTcpEvent(position) {
44
43
  return typeof (position === null || position === void 0 ? void 0 : position.tcp_event) === "string";
45
44
  }
46
45
  didVehicleArrive(position) {
47
- return position.tcp_event === const_1.TCPEventEnum.ARRIVAL_ANNOUNCED;
46
+ return position.is_tracked && position.tcp_event === const_1.TCPEventEnum.ARRIVAL_ANNOUNCED;
48
47
  }
49
48
  didVehicleDepart(position, context) {
50
- return position.tcp_event === const_1.TCPEventEnum.DEPARTURED && context.lastPositionLastStop.departure_delay === null;
49
+ return (position.is_tracked &&
50
+ position.tcp_event === const_1.TCPEventEnum.DEPARTURED &&
51
+ context.lastPositionLastStop.departure_delay === null);
51
52
  }
52
53
  updatePositionStopDelays(positionToUpdate, context) {
53
54
  const { delay_stop_arrival, delay_stop_departure } = positionToUpdate;
@@ -1 +1 @@
1
- {"version":3,"file":"CommonDelayAtStop.js","sourceRoot":"","sources":["../../../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/compute-positions/strategy/CommonDelayAtStop.ts"],"names":[],"mappings":";;;;;AAGA,sDAA4D;AAC5D,gFAAwD;AAExD,MAAqB,iBAAkB,SAAQ,6BAAmB;IACvD,aAAa,CAChB,OAAoC,EACpC,gBAA0C,EAC1C,QAAoC;;QAEpC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE;YACrD,OAAO,OAAO,CAAC;SAClB;QAED,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,gBAAgB,EAAE,QAAQ,CAAC,CAAC;QAEjE,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,QAAQ,EAAE;YACxC,OAAO,CAAC,oBAAoB,CAAC,QAAQ,GAAG,MAAA,MAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,kBAAkB,mCAAI,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,kBAAkB,mCAAI,IAAI,CAAC;SACxH;QAED,IAAI,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE;YACjC,OAAO,CAAC,oBAAoB,CAAC,aAAa,GAAG,MAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,kBAAkB,mCAAI,OAAO,CAAC,iBAAiB,CAAC;SAClH;aAAM,IAAI,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE;YACjD,OAAO,CAAC,oBAAoB,CAAC,eAAe,GAAG,MAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,oBAAoB,mCAAI,OAAO,CAAC,iBAAiB,CAAC;SACtH;QAED,OAAO,OAAO,CAAC;IACnB,CAAC;IAEM,cAAc,CACjB,OAAoC,EACpC,gBAAmC,EACnC,QAAgD;;QAEhD,IAAI,gBAAgB,CAAC,cAAc,KAAK,yBAAiB,CAAC,WAAW,EAAE;YACnE,gBAAgB,CAAC,kBAAkB,GAAG,MAAA,MAAA,gBAAgB,CAAC,KAAK,mCAAI,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,KAAK,mCAAI,CAAC,CAAC;SACxF;QAED,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE;YACrD,OAAO,gBAAgB,CAAC;SAC3B;QAED,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,gBAAgB,EAAE,QAAQ,CAAC,CAAC;QAEjE,IAAI,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE;YACjC,gBAAgB,CAAC,kBAAkB,GAAG,IAAI,CAAC,eAAe,CACtD,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,EACnC,gBAAgB,CAAC,sBAAsB,CAC1C,CAAC;SACL;aAAM,IAAI,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE;YACjD,gBAAgB,CAAC,oBAAoB,GAAG,IAAI,CAAC,eAAe,CACxD,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,EACnC,gBAAgB,CAAC,wBAAwB,CAC5C,CAAC;SACL;QAED,OAAO,IAAI,CAAC,wBAAwB,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;IACpE,CAAC;IAEO,WAAW,CAAC,QAAgD;QAChE,OAAO,OAAO,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,SAAS,CAAA,KAAK,QAAQ,CAAC;IACnD,CAAC;IAEO,gBAAgB,CAAC,QAAoC;QACzD,OAAO,QAAQ,CAAC,SAAS,KAAK,oBAAY,CAAC,iBAAiB,CAAC;IACjE,CAAC;IAEO,gBAAgB,CAAC,QAAoC,EAAE,OAAoC;QAC/F,OAAO,QAAQ,CAAC,SAAS,KAAK,oBAAY,CAAC,UAAU,IAAI,OAAO,CAAC,oBAAoB,CAAC,eAAe,KAAK,IAAI,CAAC;IACnH,CAAC;IAEO,wBAAwB,CAC5B,gBAAmC,EACnC,OAAoC;QAEpC,MAAM,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,GAAG,gBAAgB,CAAC;QAEtE,IACI,CAAC,kBAAkB,KAAK,IAAI,IAAI,kBAAkB,KAAK,SAAS,CAAC;YACjE,OAAO,CAAC,oBAAoB,CAAC,aAAa,KAAK,IAAI,EACrD;YACE,gBAAgB,CAAC,kBAAkB,GAAG,OAAO,CAAC,oBAAoB,CAAC,aAAa,CAAC;SACpF;QAED,IACI,CAAC,oBAAoB,KAAK,IAAI,IAAI,oBAAoB,KAAK,SAAS,CAAC;YACrE,OAAO,CAAC,oBAAoB,CAAC,eAAe,KAAK,IAAI,EACvD;YACE,gBAAgB,CAAC,oBAAoB,GAAG,OAAO,CAAC,oBAAoB,CAAC,eAAe,CAAC;SACxF;QAED,OAAO,gBAAgB,CAAC;IAC5B,CAAC;CACJ;AAzFD,oCAyFC"}
1
+ {"version":3,"file":"CommonDelayAtStop.js","sourceRoot":"","sources":["../../../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/compute-positions/strategy/CommonDelayAtStop.ts"],"names":[],"mappings":"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"}
@@ -14,28 +14,30 @@ class MetroDelayAtStop extends AbstractDelayAtStop_1.default {
14
14
  }
15
15
  updateContext(context, positionToUpdate, position) {
16
16
  var _a, _b, _c, _d;
17
- if (!position.is_tracked) {
17
+ if (!positionToUpdate || (!position.is_tracked && !this.isValidUntrackedPosition(positionToUpdate))) {
18
18
  return context;
19
19
  }
20
20
  context = this.resetContext(context, positionToUpdate, position);
21
21
  if (!context.lastPositionLastStop.sequence) {
22
- context.lastPositionLastStop.sequence = (_b = (_a = positionToUpdate === null || positionToUpdate === void 0 ? void 0 : positionToUpdate.last_stop_sequence) !== null && _a !== void 0 ? _a : position === null || position === void 0 ? void 0 : position.last_stop_sequence) !== null && _b !== void 0 ? _b : null;
22
+ context.lastPositionLastStop.sequence = (_b = (_a = positionToUpdate.last_stop_sequence) !== null && _a !== void 0 ? _a : position.last_stop_sequence) !== null && _b !== void 0 ? _b : null;
23
23
  }
24
- if ((positionToUpdate === null || positionToUpdate === void 0 ? void 0 : positionToUpdate.state_position) === const_1.StatePositionEnum.AT_STOP ||
25
- (positionToUpdate === null || positionToUpdate === void 0 ? void 0 : positionToUpdate.state_position) === const_1.StatePositionEnum.ON_TRACK) {
24
+ if (positionToUpdate.state_position === const_1.StatePositionEnum.AT_STOP ||
25
+ positionToUpdate.state_position === const_1.StatePositionEnum.ON_TRACK ||
26
+ this.isValidUntrackedPosition(positionToUpdate)) {
26
27
  context.lastPositionLastStop.arrival_delay = (_c = positionToUpdate.delay_stop_arrival) !== null && _c !== void 0 ? _c : null;
27
28
  context.lastPositionLastStop.departure_delay = (_d = positionToUpdate.delay_stop_departure) !== null && _d !== void 0 ? _d : null;
28
29
  }
29
30
  return context;
30
31
  }
31
32
  updatePosition(context, positionToUpdate, position) {
32
- if (!(position === null || position === void 0 ? void 0 : position.is_tracked)) {
33
+ if (!position || (!position.is_tracked && !this.isValidUntrackedPosition(positionToUpdate))) {
33
34
  return positionToUpdate;
34
35
  }
35
36
  context = this.resetContext(context, positionToUpdate, position);
36
37
  positionToUpdate.delay_stop_arrival = context.lastPositionLastStop.arrival_delay;
37
38
  positionToUpdate.delay_stop_departure = context.lastPositionLastStop.departure_delay;
38
- if (positionToUpdate.state_position === const_1.StatePositionEnum.AT_STOP && context.atStopStreak.stop_sequence === null) {
39
+ if ((positionToUpdate.state_position === const_1.StatePositionEnum.AT_STOP && context.atStopStreak.stop_sequence === null) ||
40
+ this.didVehicleArriveAtTheLastStop(positionToUpdate, context)) {
39
41
  if (positionToUpdate.last_stop_sequence === 1) {
40
42
  // first stop
41
43
  positionToUpdate.delay_stop_arrival = null;
@@ -1 +1 @@
1
- {"version":3,"file":"MetroDelayAtStop.js","sourceRoot":"","sources":["../../../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/compute-positions/strategy/MetroDelayAtStop.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MetroDelayAtStop.js","sourceRoot":"","sources":["../../../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/compute-positions/strategy/MetroDelayAtStop.ts"],"names":[],"mappings":";;;;;AAGA,yEAAsE;AACtE,sDAA8C;AAC9C,gFAAwD;AAExD,MAAqB,gBAAiB,SAAQ,6BAAmB;IAI7D;QACI,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,yBAAyB,GAAG,eAAM,CAAC,gBAAgB,CAAC,yBAAyB,CAAC;QACnF,IAAI,CAAC,2BAA2B,GAAG,eAAM,CAAC,gBAAgB,CAAC,2BAA2B,CAAC;IAC3F,CAAC;IAEM,aAAa,CAChB,OAAoC,EACpC,gBAA0C,EAC1C,QAAoC;;QAEpC,IAAI,CAAC,gBAAgB,IAAI,CAAC,CAAC,QAAQ,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,wBAAwB,CAAC,gBAAgB,CAAC,CAAC,EAAE;YACjG,OAAO,OAAO,CAAC;SAClB;QAED,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,gBAAgB,EAAE,QAAQ,CAAC,CAAC;QAEjE,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,QAAQ,EAAE;YACxC,OAAO,CAAC,oBAAoB,CAAC,QAAQ,GAAG,MAAA,MAAA,gBAAgB,CAAC,kBAAkB,mCAAI,QAAQ,CAAC,kBAAkB,mCAAI,IAAI,CAAC;SACtH;QAED,IACI,gBAAgB,CAAC,cAAc,KAAK,yBAAiB,CAAC,OAAO;YAC7D,gBAAgB,CAAC,cAAc,KAAK,yBAAiB,CAAC,QAAQ;YAC9D,IAAI,CAAC,wBAAwB,CAAC,gBAAgB,CAAC,EACjD;YACE,OAAO,CAAC,oBAAoB,CAAC,aAAa,GAAG,MAAA,gBAAgB,CAAC,kBAAkB,mCAAI,IAAI,CAAC;YACzF,OAAO,CAAC,oBAAoB,CAAC,eAAe,GAAG,MAAA,gBAAgB,CAAC,oBAAoB,mCAAI,IAAI,CAAC;SAChG;QAED,OAAO,OAAO,CAAC;IACnB,CAAC;IAEM,cAAc,CACjB,OAAoC,EACpC,gBAAmC,EACnC,QAAgD;QAEhD,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC,QAAQ,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,wBAAwB,CAAC,gBAAgB,CAAC,CAAC,EAAE;YACzF,OAAO,gBAAgB,CAAC;SAC3B;QAED,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,gBAAgB,EAAE,QAAQ,CAAC,CAAC;QACjE,gBAAgB,CAAC,kBAAkB,GAAG,OAAO,CAAC,oBAAoB,CAAC,aAAa,CAAC;QACjF,gBAAgB,CAAC,oBAAoB,GAAG,OAAO,CAAC,oBAAoB,CAAC,eAAe,CAAC;QAErF,IACI,CAAC,gBAAgB,CAAC,cAAc,KAAK,yBAAiB,CAAC,OAAO,IAAI,OAAO,CAAC,YAAY,CAAC,aAAa,KAAK,IAAI,CAAC;YAC9G,IAAI,CAAC,6BAA6B,CAAC,gBAAgB,EAAE,OAAO,CAAC,EAC/D;YACE,IAAI,gBAAgB,CAAC,kBAAkB,KAAK,CAAC,EAAE;gBAC3C,aAAa;gBACb,gBAAgB,CAAC,kBAAkB,GAAG,IAAI,CAAC;aAC9C;iBAAM;gBACH,MAAM,oBAAoB,GAAG,IAAI,CAAC,eAAe,CAC7C,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,EACnC,gBAAgB,CAAC,sBAAsB,CAC1C,CAAC;gBAEF,gBAAgB,CAAC,kBAAkB,GAAG,oBAAoB;oBACtD,CAAC,CAAC,IAAI,CAAC,4BAA4B,CAAC,oBAAoB,GAAG,IAAI,CAAC,yBAAyB,CAAC;oBAC1F,CAAC,CAAC,IAAI,CAAC;aACd;SACJ;aAAM,IAAI,gBAAgB,CAAC,cAAc,KAAK,yBAAiB,CAAC,QAAQ,IAAI,OAAO,CAAC,YAAY,CAAC,aAAa,EAAE;YAC7G,MAAM,oBAAoB,GAAG,IAAI,CAAC,eAAe,CAC7C,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,EACnC,gBAAgB,CAAC,wBAAwB,CAC5C,CAAC;YAEF,gBAAgB,CAAC,oBAAoB,GAAG,oBAAoB;gBACxD,CAAC,CAAC,IAAI,CAAC,4BAA4B,CAAC,oBAAoB,GAAG,IAAI,CAAC,2BAA2B,CAAC;gBAC5F,CAAC,CAAC,IAAI,CAAC;SACd;QAED,OAAO,gBAAgB,CAAC;IAC5B,CAAC;IAED,cAAc;IACd,aAAa;IACb,eAAe;IACf,gBAAgB;IAChB,OAAO;IACC,4BAA4B,CAAC,KAAa;QAC9C,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;IACrC,CAAC;CACJ;AAzFD,mCAyFC"}
@@ -3,5 +3,5 @@ export interface IPositionStateAndStopSequences {
3
3
  statePosition: StatePositionEnum;
4
4
  thisStopSequence: number | null;
5
5
  lastStopSequence: number;
6
- nextStopSequence: number;
6
+ nextStopSequence: number | null;
7
7
  }
@@ -1,5 +1,4 @@
1
- import { IVPTripsLastPositionContext } from "../../../../../../schema-definitions/vehicle-positions/models/interfaces/VPTripsLastPositionInterfaces";
2
- import { IPositionToUpdate, IProcessedPositions, ITripPositionsWithGTFS, IUpdatePositionsIteratorOptions } from "../../interfaces/VPInterfaces";
1
+ import { IProcessedPositions, ITripPositionsWithGTFS, IUpdatePositionsIteratorOptions } from "../../interfaces/VPInterfaces";
3
2
  import { ValidToCalculator } from "../ValidToCalculator";
4
3
  export declare class RegionalBusPositionsManager {
5
4
  private validToCalculator;
@@ -8,17 +7,13 @@ export declare class RegionalBusPositionsManager {
8
7
  * Compute positions and return computed positions
9
8
  *
10
9
  * @param {ITripPositionsWithGTFS} tripPositions - Trip positions with shape anchors data
11
- * @returns {Promise<IProcessedPositions>} - Returns computed/updated positions
10
+ * @returns {IProcessedPositions} - Returns computed/updated positions
12
11
  */
13
- computePositions: (tripPositions: ITripPositionsWithGTFS) => Promise<IProcessedPositions>;
12
+ computePositions: (tripPositions: ITripPositionsWithGTFS) => IProcessedPositions;
14
13
  /**
15
14
  * Takes position one by one, set proper handler for type of position, and do the process of position
16
15
  */
17
- updatePositions: (options: IUpdatePositionsIteratorOptions) => Promise<{
18
- context: IVPTripsLastPositionContext;
19
- positions: (IPositionToUpdate | null)[];
20
- isBacktrackingDetected: boolean;
21
- }>;
16
+ updatePositions: (options: IUpdatePositionsIteratorOptions) => IProcessedPositions;
22
17
  private getCurrentContext;
23
18
  /**
24
19
  * Decide how to process input position data
@@ -34,15 +34,6 @@ var __metadata = (this && this.__metadata) || function (k, v) {
34
34
  var __param = (this && this.__param) || function (paramIndex, decorator) {
35
35
  return function (target, key) { decorator(target, key, paramIndex); }
36
36
  };
37
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
38
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
39
- return new (P || (P = Promise))(function (resolve, reject) {
40
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
41
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
42
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
43
- step((generator = generator.apply(thisArg, _arguments || [])).next());
44
- });
45
- };
46
37
  var __importDefault = (this && this.__importDefault) || function (mod) {
47
38
  return (mod && mod.__esModule) ? mod : { "default": mod };
48
39
  };
@@ -58,6 +49,7 @@ const PositionHandlerEnum_1 = require("../PositionHandlerEnum");
58
49
  const ValidToCalculator_1 = require("../ValidToCalculator");
59
50
  const AnchorPointSegmenter_1 = require("../anchor-points/AnchorPointSegmenter");
60
51
  const RegionalBusComputeDelayHelper_1 = require("./compute-positions/RegionalBusComputeDelayHelper");
52
+ const PositionStateDelayManager_1 = require("../state-position/PositionStateDelayManager");
61
53
  let RegionalBusPositionsManager = exports.RegionalBusPositionsManager = class RegionalBusPositionsManager {
62
54
  constructor(validToCalculator) {
63
55
  this.validToCalculator = validToCalculator;
@@ -65,9 +57,9 @@ let RegionalBusPositionsManager = exports.RegionalBusPositionsManager = class Re
65
57
  * Compute positions and return computed positions
66
58
  *
67
59
  * @param {ITripPositionsWithGTFS} tripPositions - Trip positions with shape anchors data
68
- * @returns {Promise<IProcessedPositions>} - Returns computed/updated positions
60
+ * @returns {IProcessedPositions} - Returns computed/updated positions
69
61
  */
70
- this.computePositions = (tripPositions) => __awaiter(this, void 0, void 0, function* () {
62
+ this.computePositions = (tripPositions) => {
71
63
  const startTimestamp = tripPositions.start_timestamp.getTime();
72
64
  const startDayTimestamp = this.getStartDayTimestamp(startTimestamp, tripPositions.gtfsData.shapes_anchor_points[0].time_scheduled_seconds);
73
65
  const gtfsRouteType = tripPositions.gtfs_route_type;
@@ -82,11 +74,11 @@ let RegionalBusPositionsManager = exports.RegionalBusPositionsManager = class Re
82
74
  computedPositions,
83
75
  gtfsRouteType,
84
76
  });
85
- });
77
+ };
86
78
  /**
87
79
  * Takes position one by one, set proper handler for type of position, and do the process of position
88
80
  */
89
- this.updatePositions = (options) => __awaiter(this, void 0, void 0, function* () {
81
+ this.updatePositions = (options) => {
90
82
  var _a, _b, _c, _d, _e, _f, _g;
91
83
  const { tripPositions, startDayTimestamp, startTimestamp, context, computedPositions, gtfsRouteType } = options;
92
84
  let isBacktrackingDetected = false;
@@ -104,7 +96,7 @@ let RegionalBusPositionsManager = exports.RegionalBusPositionsManager = class Re
104
96
  this_stop_id: position.this_stop_id,
105
97
  tcp_event: position.tcp_event,
106
98
  });
107
- positionToUpdate = yield this.getEstimatedPoint(tripPositions.gtfsData, currentPosition, context, startDayTimestamp);
99
+ positionToUpdate = this.getEstimatedPoint(tripPositions.gtfsData, currentPosition, context, startDayTimestamp);
108
100
  positionToUpdate = RegionalBusComputeDelayHelper_1.RegionalBusComputeDelayHelper.updatePositionToUpdate(context, positionToUpdate, position, gtfsRouteType);
109
101
  positionToUpdate.bearing = (_a = position.bearing) !== null && _a !== void 0 ? _a : positionToUpdate.bearing;
110
102
  break;
@@ -131,7 +123,16 @@ let RegionalBusPositionsManager = exports.RegionalBusPositionsManager = class Re
131
123
  positionToUpdate = Object.assign({ id: position.id, last_stop_arrival_time: new Date(startDayTimestamp + lastShapesAnchorPoint.time_scheduled_seconds * 1000), last_stop_departure_time: new Date(startDayTimestamp + lastShapesAnchorPoint.time_scheduled_seconds * 1000), last_stop_id: lastStopTime.stop_id, last_stop_sequence: lastShapesAnchorPoint.last_stop_sequence, shape_dist_traveled: lastShapesAnchorPoint.shape_dist_traveled, state_position: statePosition, state_process: const_1.StateProcessEnum.PROCESSED }, (lastStopTime.stop_headsign && {
132
124
  last_stop_headsign: lastStopTime.stop_headsign,
133
125
  }));
126
+ // if state was changed in last 30 seconds, then it is AFTER_TRACK_DELAYED
127
+ // with delay computation (copied from delay at stop)
128
+ if (positionToUpdate.state_position === const_1.StatePositionEnum.AFTER_TRACK &&
129
+ PositionStateDelayManager_1.PositionStateDelayManager.shouldPropagateAfterTrackDelay(context)) {
130
+ positionToUpdate.state_position = const_1.StatePositionEnum.AFTER_TRACK_DELAYED;
131
+ }
134
132
  positionToUpdate = RegionalBusComputeDelayHelper_1.RegionalBusComputeDelayHelper.updatePositionToUpdate(context, positionToUpdate, position, gtfsRouteType);
133
+ if (positionToUpdate.state_position === const_1.StatePositionEnum.AFTER_TRACK_DELAYED) {
134
+ positionToUpdate.delay = (_b = positionToUpdate.delay_stop_arrival) !== null && _b !== void 0 ? _b : null;
135
+ }
135
136
  }
136
137
  break;
137
138
  case PositionHandlerEnum_1.PositionHandlerEnum.DO_NOTHING:
@@ -140,7 +141,7 @@ let RegionalBusPositionsManager = exports.RegionalBusPositionsManager = class Re
140
141
  }
141
142
  // if not null push to update
142
143
  if (positionToUpdate) {
143
- (_b = positionToUpdate.is_tracked) !== null && _b !== void 0 ? _b : (positionToUpdate.is_tracked = position.is_tracked);
144
+ (_c = positionToUpdate.is_tracked) !== null && _c !== void 0 ? _c : (positionToUpdate.is_tracked = position.is_tracked);
144
145
  positionToUpdate.valid_to = this.validToCalculator.getValidToAttribute(positionToUpdate, position, gtfsRouteType, tripPositions.gtfsData, startTimestamp);
145
146
  // backtracking detection so we can later invalidate old positions
146
147
  if (!isBacktrackingDetected && positionToUpdate.last_stop_sequence && context.lastStopSequence) {
@@ -148,7 +149,6 @@ let RegionalBusPositionsManager = exports.RegionalBusPositionsManager = class Re
148
149
  }
149
150
  computedPositions.push(positionToUpdate);
150
151
  }
151
- context.lastPositionState = (_c = positionToUpdate === null || positionToUpdate === void 0 ? void 0 : positionToUpdate.state_position) !== null && _c !== void 0 ? _c : position.state_position;
152
152
  // set last known BEFORE_TRACK_DELAYED position
153
153
  if (position.state_position === const_1.StatePositionEnum.BEFORE_TRACK_DELAYED) {
154
154
  context.lastPositionBeforeTrackDelayed = {
@@ -186,9 +186,15 @@ let RegionalBusPositionsManager = exports.RegionalBusPositionsManager = class Re
186
186
  // duplicated position should not be considered at all
187
187
  if (positionToUpdate && positionToUpdate.state_position !== const_1.StatePositionEnum.DUPLICATE) {
188
188
  context.lastPositionId = position.id;
189
+ context.lastPositionLat = position.lat;
190
+ context.lastPositionLng = position.lng;
189
191
  context.lastPositionCanceled = position.is_canceled;
190
192
  context.lastPositionOriginTimestamp = position.origin_timestamp.getTime();
191
193
  context.lastStopSequence = (_g = (_f = positionToUpdate.last_stop_sequence) !== null && _f !== void 0 ? _f : context.lastStopSequence) !== null && _g !== void 0 ? _g : null;
194
+ if (context.lastPositionState !== positionToUpdate.state_position) {
195
+ context.lastPositionState = positionToUpdate.state_position;
196
+ context.lastPositionStateChange = new Date().toISOString();
197
+ }
192
198
  RegionalBusComputeDelayHelper_1.RegionalBusComputeDelayHelper.updateContext(context, positionToUpdate, position, gtfsRouteType);
193
199
  }
194
200
  }
@@ -197,7 +203,7 @@ let RegionalBusPositionsManager = exports.RegionalBusPositionsManager = class Re
197
203
  positions: computedPositions,
198
204
  isBacktrackingDetected: isBacktrackingDetected,
199
205
  };
200
- });
206
+ };
201
207
  this.getCurrentContext = (tripPositions) => {
202
208
  var _a;
203
209
  const context = (_a = tripPositions.last_position_context) !== null && _a !== void 0 ? _a : {
@@ -216,12 +222,15 @@ let RegionalBusPositionsManager = exports.RegionalBusPositionsManager = class Re
216
222
  },
217
223
  lastPositionDelay: null,
218
224
  lastPositionId: null,
225
+ lastPositionLat: null,
226
+ lastPositionLng: null,
219
227
  lastPositionOriginTimestamp: null,
220
228
  lastPositionTracking: null,
221
229
  lastPositionCanceled: null,
222
230
  lastPositionBeforeTrackDelayed: null,
223
231
  lastPositionState: null,
224
232
  lastStopSequence: null,
233
+ lastPositionStateChange: null,
225
234
  tripId: tripPositions.id,
226
235
  };
227
236
  return context;
@@ -291,7 +300,6 @@ let RegionalBusPositionsManager = exports.RegionalBusPositionsManager = class Re
291
300
  */
292
301
  this.getClosestPoint = (currentPosition, context, startDayTimestamp, thisClosestPoint, tripGtfsData) => {
293
302
  // want to find minimum difference of our prediction, where the bus should be
294
- let minTimeRealDiff = Infinity;
295
303
  const tripShapePoints = tripGtfsData.shapes_anchor_points;
296
304
  const tripStopTimes = tripGtfsData.stop_times;
297
305
  const firstTripShapePoint = tripShapePoints[0];
@@ -314,26 +322,40 @@ let RegionalBusPositionsManager = exports.RegionalBusPositionsManager = class Re
314
322
  timeDelayInSeconds = Math.max(timeDelayInSeconds, 0);
315
323
  }
316
324
  }
317
- const statePosition = this.determineStatePosition(thisClosestPoint, lastTripShapePoint);
318
- const thisStopSequence = thisClosestPoint.this_stop_sequence;
319
- const lastStopSequence = thisClosestPoint.last_stop_sequence;
320
- const nextStopSequence = thisClosestPoint.next_stop_sequence;
325
+ let thisStopSequence = thisClosestPoint.this_stop_sequence;
326
+ let lastStopSequence = thisClosestPoint.last_stop_sequence;
327
+ let nextStopSequence = thisClosestPoint.next_stop_sequence;
328
+ const statePosition = this.determineStatePosition(thisClosestPoint, lastTripShapePoint, context);
329
+ const isTracked = statePosition === const_1.StatePositionEnum.AT_STOP || statePosition === const_1.StatePositionEnum.ON_TRACK;
330
+ if (!isTracked) {
331
+ if (statePosition === const_1.StatePositionEnum.AFTER_TRACK) {
332
+ // normal after track positions (without propagation) should always have delay null
333
+ timeDelayInSeconds = null;
334
+ }
335
+ thisStopSequence = lastTripShapePoint.this_stop_sequence;
336
+ lastStopSequence = lastTripShapePoint.last_stop_sequence;
337
+ nextStopSequence = null;
338
+ }
321
339
  // save it for result
322
340
  const estimatedPoint = {
323
341
  id: currentPosition.properties.id,
324
342
  bearing: thisClosestPoint.bearing,
325
343
  shape_dist_traveled: thisClosestPoint.shape_dist_traveled,
326
- next_stop_id: tripStopTimes[nextStopSequence - 1].stop_id,
344
+ next_stop_id: nextStopSequence ? tripStopTimes[nextStopSequence - 1].stop_id : null,
327
345
  last_stop_id: tripStopTimes[lastStopSequence - 1].stop_id,
328
- next_stop_name: tripStopTimes[nextStopSequence - 1].stop.stop_name,
346
+ next_stop_name: nextStopSequence ? tripStopTimes[nextStopSequence - 1].stop.stop_name : null,
329
347
  last_stop_name: tripStopTimes[lastStopSequence - 1].stop.stop_name,
330
348
  next_stop_sequence: nextStopSequence,
331
349
  last_stop_sequence: lastStopSequence,
332
- next_stop_arrival_time: DateTimeUtils_1.DateTimeUtils.getStopDateTimeForDayStart(tripStopTimes[nextStopSequence - 1].arrival_time_seconds, startDayTimestamp),
350
+ next_stop_arrival_time: nextStopSequence
351
+ ? DateTimeUtils_1.DateTimeUtils.getStopDateTimeForDayStart(tripStopTimes[nextStopSequence - 1].arrival_time_seconds, startDayTimestamp)
352
+ : null,
333
353
  last_stop_arrival_time: DateTimeUtils_1.DateTimeUtils.getStopDateTimeForDayStart(tripStopTimes[lastStopSequence - 1].arrival_time_seconds, startDayTimestamp),
334
- next_stop_departure_time: DateTimeUtils_1.DateTimeUtils.getStopDateTimeForDayStart(tripStopTimes[nextStopSequence - 1].departure_time_seconds, startDayTimestamp),
354
+ next_stop_departure_time: nextStopSequence
355
+ ? DateTimeUtils_1.DateTimeUtils.getStopDateTimeForDayStart(tripStopTimes[nextStopSequence - 1].departure_time_seconds, startDayTimestamp)
356
+ : null,
335
357
  last_stop_departure_time: DateTimeUtils_1.DateTimeUtils.getStopDateTimeForDayStart(tripStopTimes[lastStopSequence - 1].departure_time_seconds, startDayTimestamp),
336
- delay: statePosition === const_1.StatePositionEnum.AFTER_TRACK ? 0 : timeDelayInSeconds,
358
+ delay: timeDelayInSeconds,
337
359
  this_stop_id: (statePosition === const_1.StatePositionEnum.AT_STOP &&
338
360
  thisStopSequence &&
339
361
  tripStopTimes[thisStopSequence - 1].stop_id) ||
@@ -347,7 +369,7 @@ let RegionalBusPositionsManager = exports.RegionalBusPositionsManager = class Re
347
369
  state_position: statePosition,
348
370
  state_process: const_1.StateProcessEnum.PROCESSED,
349
371
  valid_to: this.validToCalculator.getDefaultValidToAttribute(currentPosition.properties.origin_timestamp),
350
- is_tracked: statePosition !== const_1.StatePositionEnum.AFTER_TRACK,
372
+ is_tracked: isTracked,
351
373
  };
352
374
  return estimatedPoint;
353
375
  };
@@ -406,8 +428,11 @@ let RegionalBusPositionsManager = exports.RegionalBusPositionsManager = class Re
406
428
  }
407
429
  return startDayTimestamp.valueOf();
408
430
  };
409
- this.determineStatePosition = (thisClosestPoint, lastTripPoint) => {
431
+ this.determineStatePosition = (thisClosestPoint, lastTripPoint, context) => {
410
432
  if (thisClosestPoint.last_stop_sequence >= lastTripPoint.last_stop_sequence) {
433
+ if (PositionStateDelayManager_1.PositionStateDelayManager.shouldPropagateAfterTrackDelay(context)) {
434
+ return const_1.StatePositionEnum.AFTER_TRACK_DELAYED;
435
+ }
411
436
  return const_1.StatePositionEnum.AFTER_TRACK;
412
437
  }
413
438
  else if (thisClosestPoint.this_stop_sequence) {
@@ -1 +1 @@
1
- {"version":3,"file":"RegionalBusPositionsManager.js","sourceRoot":"","sources":["../../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/regional-bus/RegionalBusPositionsManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RegionalBusPositionsManager.js","sourceRoot":"","sources":["../../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/regional-bus/RegionalBusPositionsManager.ts"],"names":[],"mappings":"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"}
@@ -9,15 +9,16 @@ const AbstractDelayAtStop_1 = __importDefault(require("../../../compute-position
9
9
  class BusDelayAtStop extends AbstractDelayAtStop_1.default {
10
10
  updateContext(context, positionToUpdate, position) {
11
11
  var _a, _b, _c, _d;
12
- if (!position.is_tracked) {
12
+ if (!positionToUpdate || (!position.is_tracked && !this.isValidUntrackedPosition(positionToUpdate))) {
13
13
  return context;
14
14
  }
15
15
  context = this.resetContext(context, positionToUpdate, position);
16
16
  if (!context.lastPositionLastStop.sequence) {
17
- context.lastPositionLastStop.sequence = (_b = (_a = positionToUpdate === null || positionToUpdate === void 0 ? void 0 : positionToUpdate.last_stop_sequence) !== null && _a !== void 0 ? _a : position === null || position === void 0 ? void 0 : position.last_stop_sequence) !== null && _b !== void 0 ? _b : null;
17
+ context.lastPositionLastStop.sequence = (_b = (_a = positionToUpdate.last_stop_sequence) !== null && _a !== void 0 ? _a : position.last_stop_sequence) !== null && _b !== void 0 ? _b : null;
18
18
  }
19
- if ((positionToUpdate === null || positionToUpdate === void 0 ? void 0 : positionToUpdate.state_position) === const_1.StatePositionEnum.AT_STOP ||
20
- (positionToUpdate === null || positionToUpdate === void 0 ? void 0 : positionToUpdate.state_position) === const_1.StatePositionEnum.ON_TRACK) {
19
+ if (positionToUpdate.state_position === const_1.StatePositionEnum.AT_STOP ||
20
+ positionToUpdate.state_position === const_1.StatePositionEnum.ON_TRACK ||
21
+ this.isValidUntrackedPosition(positionToUpdate)) {
21
22
  context.lastPositionLastStop.arrival_delay = (_c = positionToUpdate.delay_stop_arrival) !== null && _c !== void 0 ? _c : null;
22
23
  context.lastPositionLastStop.departure_delay = (_d = positionToUpdate.delay_stop_departure) !== null && _d !== void 0 ? _d : null;
23
24
  }
@@ -25,14 +26,17 @@ class BusDelayAtStop extends AbstractDelayAtStop_1.default {
25
26
  }
26
27
  updatePosition(context, positionToUpdate, position) {
27
28
  var _a, _b;
28
- if (!(position === null || position === void 0 ? void 0 : position.is_tracked)) {
29
+ if (!position || (!position.is_tracked && !this.isValidUntrackedPosition(positionToUpdate))) {
29
30
  return positionToUpdate;
30
31
  }
31
32
  context = this.resetContext(context, positionToUpdate, position);
32
33
  positionToUpdate.delay_stop_arrival = context.lastPositionLastStop.arrival_delay;
33
34
  positionToUpdate.delay_stop_departure = context.lastPositionLastStop.departure_delay;
34
- if (positionToUpdate.state_position === const_1.StatePositionEnum.AT_STOP) {
35
- const delayInSeconds = (_b = (_a = positionToUpdate.delay) !== null && _a !== void 0 ? _a : position === null || position === void 0 ? void 0 : position.delay) !== null && _b !== void 0 ? _b : null;
35
+ if (this.didVehicleArriveAtTheLastStop(positionToUpdate, context)) {
36
+ positionToUpdate.delay_stop_arrival = this.calcDelayAtStop(position.origin_timestamp.getTime(), positionToUpdate.last_stop_arrival_time);
37
+ }
38
+ else if (positionToUpdate.state_position === const_1.StatePositionEnum.AT_STOP) {
39
+ const delayInSeconds = (_b = (_a = positionToUpdate.delay) !== null && _a !== void 0 ? _a : position.delay) !== null && _b !== void 0 ? _b : null;
36
40
  if (context.atStopStreak.stop_sequence === null) {
37
41
  positionToUpdate.delay_stop_arrival = delayInSeconds;
38
42
  }
@@ -43,7 +47,7 @@ class BusDelayAtStop extends AbstractDelayAtStop_1.default {
43
47
  return positionToUpdate;
44
48
  }
45
49
  didVehicleDepart(position) {
46
- return position.tcp_event === const_1.RegionalBusEventEnum.DEPARTURED;
50
+ return position.is_tracked && position.tcp_event === const_1.RegionalBusEventEnum.DEPARTURED;
47
51
  }
48
52
  }
49
53
  exports.BusDelayAtStop = BusDelayAtStop;
@@ -1 +1 @@
1
- {"version":3,"file":"BusDelayAtStop.js","sourceRoot":"","sources":["../../../../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/regional-bus/compute-positions/strategy/BusDelayAtStop.ts"],"names":[],"mappings":";;;;;;AAGA,yDAAoE;AACpE,kHAA0F;AAE1F,MAAa,cAAe,SAAQ,6BAAmB;IAC5C,aAAa,CAChB,OAAoC,EACpC,gBAA0C,EAC1C,QAAoC;;QAEpC,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE;YACtB,OAAO,OAAO,CAAC;SAClB;QAED,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,gBAAgB,EAAE,QAAQ,CAAC,CAAC;QAEjE,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,QAAQ,EAAE;YACxC,OAAO,CAAC,oBAAoB,CAAC,QAAQ,GAAG,MAAA,MAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,kBAAkB,mCAAI,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,kBAAkB,mCAAI,IAAI,CAAC;SACxH;QAED,IACI,CAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,cAAc,MAAK,yBAAiB,CAAC,OAAO;YAC9D,CAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,cAAc,MAAK,yBAAiB,CAAC,QAAQ,EACjE;YACE,OAAO,CAAC,oBAAoB,CAAC,aAAa,GAAG,MAAA,gBAAgB,CAAC,kBAAkB,mCAAI,IAAI,CAAC;YACzF,OAAO,CAAC,oBAAoB,CAAC,eAAe,GAAG,MAAA,gBAAgB,CAAC,oBAAoB,mCAAI,IAAI,CAAC;SAChG;QAED,OAAO,OAAO,CAAC;IACnB,CAAC;IAEM,cAAc,CACjB,OAAoC,EACpC,gBAAmC,EACnC,QAAgD;;QAEhD,IAAI,CAAC,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,UAAU,CAAA,EAAE;YACvB,OAAO,gBAAgB,CAAC;SAC3B;QAED,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,gBAAgB,EAAE,QAAQ,CAAC,CAAC;QACjE,gBAAgB,CAAC,kBAAkB,GAAG,OAAO,CAAC,oBAAoB,CAAC,aAAa,CAAC;QACjF,gBAAgB,CAAC,oBAAoB,GAAG,OAAO,CAAC,oBAAoB,CAAC,eAAe,CAAC;QAErF,IAAI,gBAAgB,CAAC,cAAc,KAAK,yBAAiB,CAAC,OAAO,EAAE;YAC/D,MAAM,cAAc,GAAG,MAAA,MAAA,gBAAgB,CAAC,KAAK,mCAAI,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,KAAK,mCAAI,IAAI,CAAC;YAEzE,IAAI,OAAO,CAAC,YAAY,CAAC,aAAa,KAAK,IAAI,EAAE;gBAC7C,gBAAgB,CAAC,kBAAkB,GAAG,cAAc,CAAC;aACxD;iBAAM,IAAI,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE;gBACxC,gBAAgB,CAAC,oBAAoB,GAAG,cAAc,CAAC;aAC1D;SACJ;QAED,OAAO,gBAAgB,CAAC;IAC5B,CAAC;IAEO,gBAAgB,CAAC,QAAoC;QACzD,OAAO,QAAQ,CAAC,SAAS,KAAK,4BAAoB,CAAC,UAAU,CAAC;IAClE,CAAC;CACJ;AAxDD,wCAwDC"}
1
+ {"version":3,"file":"BusDelayAtStop.js","sourceRoot":"","sources":["../../../../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/regional-bus/compute-positions/strategy/BusDelayAtStop.ts"],"names":[],"mappings":";;;;;;AAGA,yDAAoE;AACpE,kHAA0F;AAE1F,MAAa,cAAe,SAAQ,6BAAmB;IAC5C,aAAa,CAChB,OAAoC,EACpC,gBAA0C,EAC1C,QAAoC;;QAEpC,IAAI,CAAC,gBAAgB,IAAI,CAAC,CAAC,QAAQ,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,wBAAwB,CAAC,gBAAgB,CAAC,CAAC,EAAE;YACjG,OAAO,OAAO,CAAC;SAClB;QAED,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,gBAAgB,EAAE,QAAQ,CAAC,CAAC;QAEjE,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,QAAQ,EAAE;YACxC,OAAO,CAAC,oBAAoB,CAAC,QAAQ,GAAG,MAAA,MAAA,gBAAgB,CAAC,kBAAkB,mCAAI,QAAQ,CAAC,kBAAkB,mCAAI,IAAI,CAAC;SACtH;QAED,IACI,gBAAgB,CAAC,cAAc,KAAK,yBAAiB,CAAC,OAAO;YAC7D,gBAAgB,CAAC,cAAc,KAAK,yBAAiB,CAAC,QAAQ;YAC9D,IAAI,CAAC,wBAAwB,CAAC,gBAAgB,CAAC,EACjD;YACE,OAAO,CAAC,oBAAoB,CAAC,aAAa,GAAG,MAAA,gBAAgB,CAAC,kBAAkB,mCAAI,IAAI,CAAC;YACzF,OAAO,CAAC,oBAAoB,CAAC,eAAe,GAAG,MAAA,gBAAgB,CAAC,oBAAoB,mCAAI,IAAI,CAAC;SAChG;QAED,OAAO,OAAO,CAAC;IACnB,CAAC;IAEM,cAAc,CACjB,OAAoC,EACpC,gBAAmC,EACnC,QAAgD;;QAEhD,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC,QAAQ,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,wBAAwB,CAAC,gBAAgB,CAAC,CAAC,EAAE;YACzF,OAAO,gBAAgB,CAAC;SAC3B;QAED,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,gBAAgB,EAAE,QAAQ,CAAC,CAAC;QACjE,gBAAgB,CAAC,kBAAkB,GAAG,OAAO,CAAC,oBAAoB,CAAC,aAAa,CAAC;QACjF,gBAAgB,CAAC,oBAAoB,GAAG,OAAO,CAAC,oBAAoB,CAAC,eAAe,CAAC;QAErF,IAAI,IAAI,CAAC,6BAA6B,CAAC,gBAAgB,EAAE,OAAO,CAAC,EAAE;YAC/D,gBAAgB,CAAC,kBAAkB,GAAG,IAAI,CAAC,eAAe,CACtD,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,EACnC,gBAAgB,CAAC,sBAAsB,CAC1C,CAAC;SACL;aAAM,IAAI,gBAAgB,CAAC,cAAc,KAAK,yBAAiB,CAAC,OAAO,EAAE;YACtE,MAAM,cAAc,GAAG,MAAA,MAAA,gBAAgB,CAAC,KAAK,mCAAI,QAAQ,CAAC,KAAK,mCAAI,IAAI,CAAC;YAExE,IAAI,OAAO,CAAC,YAAY,CAAC,aAAa,KAAK,IAAI,EAAE;gBAC7C,gBAAgB,CAAC,kBAAkB,GAAG,cAAc,CAAC;aACxD;iBAAM,IAAI,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE;gBACxC,gBAAgB,CAAC,oBAAoB,GAAG,cAAc,CAAC;aAC1D;SACJ;QAED,OAAO,gBAAgB,CAAC;IAC5B,CAAC;IAEO,gBAAgB,CAAC,QAAoC;QACzD,OAAO,QAAQ,CAAC,UAAU,IAAI,QAAQ,CAAC,SAAS,KAAK,4BAAoB,CAAC,UAAU,CAAC;IACzF,CAAC;CACJ;AA9DD,wCA8DC"}
@@ -0,0 +1,7 @@
1
+ import { IVPTripsLastPositionContext } from "../../../../../../schema-definitions/vehicle-positions/models/interfaces/VPTripsLastPositionInterfaces";
2
+ export declare class PositionStateDelayManager {
3
+ /**
4
+ * Check if delay should be propagated for after track state
5
+ */
6
+ static shouldPropagateAfterTrackDelay(context: IVPTripsLastPositionContext | null): boolean;
7
+ }
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PositionStateDelayManager = void 0;
4
+ const const_1 = require("../../../../../../const");
5
+ class PositionStateDelayManager {
6
+ /**
7
+ * Check if delay should be propagated for after track state
8
+ */
9
+ static shouldPropagateAfterTrackDelay(context) {
10
+ if (context && context.lastPositionState !== const_1.StatePositionEnum.AFTER_TRACK && context.lastPositionStateChange) {
11
+ const nowTimestamp = new Date().getTime();
12
+ const stateChangedTimestamp = new Date(context.lastPositionStateChange).getTime();
13
+ // if state was changed in the last 30 seconds, then it is allowed to propagate delay
14
+ return nowTimestamp - stateChangedTimestamp <= 30 * 1000;
15
+ }
16
+ return false;
17
+ }
18
+ }
19
+ exports.PositionStateDelayManager = PositionStateDelayManager;
20
+ //# sourceMappingURL=PositionStateDelayManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PositionStateDelayManager.js","sourceRoot":"","sources":["../../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/state-position/PositionStateDelayManager.ts"],"names":[],"mappings":";;;AACA,mDAA8C;AAE9C,MAAa,yBAAyB;IAClC;;OAEG;IACI,MAAM,CAAC,8BAA8B,CAAC,OAA2C;QACpF,IAAI,OAAO,IAAI,OAAO,CAAC,iBAAiB,KAAK,yBAAiB,CAAC,WAAW,IAAI,OAAO,CAAC,uBAAuB,EAAE;YAC3G,MAAM,YAAY,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;YAC1C,MAAM,qBAAqB,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC,OAAO,EAAE,CAAC;YAElF,qFAAqF;YACrF,OAAO,YAAY,GAAG,qBAAqB,IAAI,EAAE,GAAG,IAAI,CAAC;SAC5D;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;CACJ;AAfD,8DAeC"}
@@ -1,7 +1,8 @@
1
- import { IVPTripsPositionAttributes } from "../../../../../schema-definitions/vehicle-positions/models/interfaces/IVPTripsPositionAttributes";
2
- import { Feature, Point } from "@golemio/core/dist/shared/geojson";
3
1
  import { IUpdateDelayRunTripsData } from "../data-access/interfaces/TripRepositoryInterfaces";
4
2
  export interface ITripPositionTuple {
5
- position: Feature<Point, IVPTripsPositionAttributes>;
3
+ position: {
4
+ delayInSeconds: number;
5
+ originTimestamp: Date;
6
+ };
6
7
  trip: IUpdateDelayRunTripsData;
7
8
  }
@@ -1,10 +1,5 @@
1
- import { IVPTripsPositionAttributes } from "../../../../../schema-definitions/vehicle-positions/models/interfaces/IVPTripsPositionAttributes";
2
- import { Feature, Point } from "@golemio/core/dist/shared/geojson";
3
- import { IUpdateDelayRunTripsData } from "../data-access/interfaces/TripRepositoryInterfaces";
4
1
  import { IPropagateTrainDelayInput } from "../interfaces/IPropagateTrainDelayInput";
2
+ import { ITripPositionTuple } from "../interfaces/ITripPositionTuple";
5
3
  export declare class PropagateDelayValidationSchema implements IPropagateTrainDelayInput {
6
- data: Array<{
7
- position: Feature<Point, IVPTripsPositionAttributes>;
8
- trip: IUpdateDelayRunTripsData;
9
- }>;
4
+ data: ITripPositionTuple[];
10
5
  }
@@ -1 +1 @@
1
- {"version":3,"file":"PropagateTrainDelaySchema.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/schema/PropagateTrainDelaySchema.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,+EAA8E;AAK9E,MAAa,8BAA8B;CAO1C;AAPD,wEAOC;AAJG;IAFC,IAAA,yBAAO,GAAE;IACT,IAAA,0BAAQ,EAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;8BAClB,KAAK;4DAGT"}
1
+ {"version":3,"file":"PropagateTrainDelaySchema.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/schema/PropagateTrainDelaySchema.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+EAA8E;AAI9E,MAAa,8BAA8B;CAI1C;AAJD,wEAIC;AADG;IAFC,IAAA,yBAAO,GAAE;IACT,IAAA,0BAAQ,EAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;;4DACG"}