@golemio/pid 2.8.8-dev.975544500 → 2.8.8

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 (30) hide show
  1. package/db/example/12_metro_line_A_gtfs_trips.sql +5 -0
  2. package/dist/integration-engine/ropid-gtfs/workers/railtrack/tasks/SaveMetroRailtrackDataToDBTask.js +0 -4
  3. package/dist/integration-engine/ropid-gtfs/workers/railtrack/tasks/SaveMetroRailtrackDataToDBTask.js.map +1 -1
  4. package/dist/integration-engine/ropid-gtfs/workers/railtrack/tasks/data-access/MetroRailtrackGPSRepository.js +3 -16
  5. package/dist/integration-engine/ropid-gtfs/workers/railtrack/tasks/data-access/MetroRailtrackGPSRepository.js.map +1 -1
  6. package/dist/integration-engine/vehicle-positions/ioc/Di.js +0 -8
  7. package/dist/integration-engine/vehicle-positions/ioc/Di.js.map +1 -1
  8. package/dist/integration-engine/vehicle-positions/ioc/VPContainerToken.d.ts +0 -3
  9. package/dist/integration-engine/vehicle-positions/ioc/VPContainerToken.js +0 -9
  10. package/dist/integration-engine/vehicle-positions/ioc/VPContainerToken.js.map +1 -1
  11. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/MetroRouteHelper.d.ts +0 -3
  12. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/MetroRouteHelper.js +0 -12
  13. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/MetroRouteHelper.js.map +1 -1
  14. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/PositionsRepository.d.ts +1 -1
  15. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/PositionsRepository.js.map +1 -1
  16. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/PositionsManager.d.ts +0 -3
  17. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/PositionsManager.js +117 -113
  18. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/PositionsManager.js.map +1 -1
  19. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/interfaces/VPInterfaces.d.ts +2 -0
  20. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/UpdateDelayTask.d.ts +0 -1
  21. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/UpdateDelayTask.js +1 -8
  22. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/UpdateDelayTask.js.map +1 -1
  23. package/package.json +5 -6
  24. package/db/example/17_metroRailtrack.sql +0 -357
  25. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/metro/CachedMetroRailtrackLookup.d.ts +0 -9
  26. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/metro/CachedMetroRailtrackLookup.js +0 -59
  27. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/metro/CachedMetroRailtrackLookup.js.map +0 -1
  28. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/metro/MetroShapePointsFixer.d.ts +0 -10
  29. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/metro/MetroShapePointsFixer.js +0 -77
  30. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/metro/MetroShapePointsFixer.js.map +0 -1
@@ -100,6 +100,11 @@ INSERT INTO ropidgtfs_run_numbers_actual (route_id,run_number,service_id,trip_id
100
100
  ('L991',9,'1111111-1','991_294_220901',3,NULL,'2022-10-24 10:23:04.722+02',NULL,NULL,'2022-10-24 10:23:04.722+02',NULL),
101
101
  ('L991',17,'1111111-3','991_294_220901',3,NULL,'2022-10-24 10:23:04.722+02',NULL,NULL,'2022-10-24 10:23:04.722+02',NULL);
102
102
 
103
+ INSERT INTO ropidgtfs_metro_railtrack_gps (track_id, route_name, coordinates, gtfs_stop_id) VALUES
104
+ ('1806', 'A', ST_PointFromText('POINT(14.36282 50.09837)', 4326), 'U157Z102P'),
105
+ ('1209', 'A', ST_PointFromText('POINT(14.43101 50.079954)', 4326), NULL),
106
+ ('1211', 'A', ST_PointFromText('POINT(14.429208 50.081053)', 4326), NULL);
107
+
103
108
  WITH init_values AS (
104
109
  SELECT CAST(current_date - INTERVAL '1 day' + INTERVAL '10 hour' AS TIMESTAMP WITH TIME ZONE) AT TIME ZONE 'Europe/Prague' AS origin_datetime
105
110
  )
@@ -14,10 +14,6 @@ const workers_1 = require("@golemio/core/dist/integration-engine/workers");
14
14
  const MetroRailtrackGPSRepository_1 = require("./data-access/MetroRailtrackGPSRepository");
15
15
  const MetroRailtrackDataTransformation_1 = require("./transformations/MetroRailtrackDataTransformation");
16
16
  const MetroRailtrackDataSchema_1 = require("./schema/MetroRailtrackDataSchema");
17
- /*
18
- * In case of update of the data for metro railtrack.
19
- * It is necessary to restart the service to reload cache 'CacheMetroRailtrackLookup'.
20
- */
21
17
  class SaveMetroRailtrackDataToDBTask extends workers_1.AbstractTask {
22
18
  constructor(queuePrefix) {
23
19
  super(queuePrefix);
@@ -1 +1 @@
1
- {"version":3,"file":"SaveMetroRailtrackDataToDBTask.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/ropid-gtfs/workers/railtrack/tasks/SaveMetroRailtrackDataToDBTask.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2EAA6E;AAC7E,2FAAwF;AACxF,yGAAsG;AAEtG,gFAAuF;AAEvF;;;GAGG;AAEH,MAAa,8BAA+B,SAAQ,sBAAsC;IAQtF,YAAY,WAAmB;QAC3B,KAAK,CAAC,WAAW,CAAC,CAAC;QARP,cAAS,GAAG,4BAA4B,CAAC;QACzC,aAAQ,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,YAAY;QACtC,WAAM,GAAG,6DAAkC,CAAC;QAOxD,IAAI,CAAC,2BAA2B,GAAG,IAAI,mEAAgC,EAAE,CAAC;QAC1E,IAAI,CAAC,sBAAsB,GAAG,IAAI,yDAA2B,EAAE,CAAC;IACpE,CAAC;IAEe,OAAO,CAAC,IAA8B;;YAClD,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,2BAA2B,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAChF,MAAM,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;QACjE,CAAC;KAAA;CACJ;AAlBD,wEAkBC"}
1
+ {"version":3,"file":"SaveMetroRailtrackDataToDBTask.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/ropid-gtfs/workers/railtrack/tasks/SaveMetroRailtrackDataToDBTask.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2EAA6E;AAC7E,2FAAwF;AACxF,yGAAsG;AAEtG,gFAAuF;AAEvF,MAAa,8BAA+B,SAAQ,sBAAsC;IAQtF,YAAY,WAAmB;QAC3B,KAAK,CAAC,WAAW,CAAC,CAAC;QARP,cAAS,GAAG,4BAA4B,CAAC;QACzC,aAAQ,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,YAAY;QACtC,WAAM,GAAG,6DAAkC,CAAC;QAOxD,IAAI,CAAC,2BAA2B,GAAG,IAAI,mEAAgC,EAAE,CAAC;QAC1E,IAAI,CAAC,sBAAsB,GAAG,IAAI,yDAA2B,EAAE,CAAC;IACpE,CAAC;IAEe,OAAO,CAAC,IAA8B;;YAClD,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,2BAA2B,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAChF,MAAM,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;QACjE,CAAC;KAAA;CACJ;AAlBD,wEAkBC"}
@@ -1,13 +1,4 @@
1
1
  "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
- var __metadata = (this && this.__metadata) || function (k, v) {
9
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
- };
11
2
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
12
3
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
13
4
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -29,8 +20,7 @@ const models_1 = require("@golemio/core/dist/integration-engine/models");
29
20
  const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
30
21
  const golemio_validator_1 = require("@golemio/core/dist/shared/golemio-validator");
31
22
  const sequelize_1 = __importDefault(require("@golemio/core/dist/shared/sequelize"));
32
- const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
33
- let MetroRailtrackGPSRepository = exports.MetroRailtrackGPSRepository = class MetroRailtrackGPSRepository extends models_1.PostgresModel {
23
+ class MetroRailtrackGPSRepository extends models_1.PostgresModel {
34
24
  constructor() {
35
25
  super("MetroRailtrackGPSRepository", {
36
26
  pgTableName: MetroRailtrackGPSModel_1.MetroRailtrackGPSModel.TABLE_NAME,
@@ -88,9 +78,6 @@ let MetroRailtrackGPSRepository = exports.MetroRailtrackGPSRepository = class Me
88
78
  }
89
79
  });
90
80
  }
91
- };
92
- exports.MetroRailtrackGPSRepository = MetroRailtrackGPSRepository = __decorate([
93
- (0, tsyringe_1.injectable)(),
94
- __metadata("design:paramtypes", [])
95
- ], MetroRailtrackGPSRepository);
81
+ }
82
+ exports.MetroRailtrackGPSRepository = MetroRailtrackGPSRepository;
96
83
  //# sourceMappingURL=MetroRailtrackGPSRepository.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MetroRailtrackGPSRepository.js","sourceRoot":"","sources":["../../../../../../../src/integration-engine/ropid-gtfs/workers/railtrack/tasks/data-access/MetroRailtrackGPSRepository.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MetroRailtrackGPSRepository.js","sourceRoot":"","sources":["../../../../../../../src/integration-engine/ropid-gtfs/workers/railtrack/tasks/data-access/MetroRailtrackGPSRepository.ts"],"names":[],"mappings":"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"}
@@ -2,15 +2,12 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.VPContainer = void 0;
4
4
  const Di_1 = require("../../ioc/Di");
5
- const MetroRailtrackGPSRepository_1 = require("../../ropid-gtfs/workers/railtrack/tasks/data-access/MetroRailtrackGPSRepository");
6
5
  const DescriptorRepository_1 = require("../workers/vehicle-descriptors/data-access/DescriptorRepository");
7
6
  const DescriptorDataSourceFactory_1 = require("../workers/vehicle-descriptors/datasources/DescriptorDataSourceFactory");
8
7
  const SeznamAutobusuDataSourceProvider_1 = require("../workers/vehicle-descriptors/datasources/seznam-autobusu/SeznamAutobusuDataSourceProvider");
9
8
  const DeleteDataTask_1 = require("../workers/vehicle-descriptors/tasks/DeleteDataTask");
10
9
  const RefreshDescriptorsTask_1 = require("../workers/vehicle-descriptors/tasks/RefreshDescriptorsTask");
11
10
  const DescriptorTransformation_1 = require("../workers/vehicle-descriptors/transformations/DescriptorTransformation");
12
- const CachedMetroRailtrackLookup_1 = require("../workers/vehicle-positions/data-access/metro/CachedMetroRailtrackLookup");
13
- const MetroShapePointsFixer_1 = require("../workers/vehicle-positions/helpers/metro/MetroShapePointsFixer");
14
11
  const VPContainerToken_1 = require("./VPContainerToken");
15
12
  //#region Initialization
16
13
  const VPContainer = Di_1.PidContainer.createChildContainer();
@@ -22,15 +19,10 @@ VPContainer.registerSingleton(VPContainerToken_1.VPContainerToken.DescriptorData
22
19
  //#endregion
23
20
  //#region Repositories
24
21
  VPContainer.register(VPContainerToken_1.VPContainerToken.DescriptorRepository, DescriptorRepository_1.DescriptorRepository);
25
- VPContainer.registerSingleton(VPContainerToken_1.VPContainerToken.MetroRailtrackGPSRepository, MetroRailtrackGPSRepository_1.MetroRailtrackGPSRepository);
26
- VPContainer.registerSingleton(VPContainerToken_1.VPContainerToken.CachedMetroRailTrackLookup, CachedMetroRailtrackLookup_1.CachedMetroRailTrackLookup);
27
22
  //#endregion
28
23
  //#region Transformations
29
24
  VPContainer.register(VPContainerToken_1.VPContainerToken.DescriptorTransformation, DescriptorTransformation_1.DescriptorTransformation);
30
25
  //#endregion
31
- //#region Helpers
32
- VPContainer.register(VPContainerToken_1.VPContainerToken.MetroShapePointsFixer, MetroShapePointsFixer_1.MetroShapePointsFixer);
33
- //#endregion
34
26
  //#region Tasks
35
27
  VPContainer.registerSingleton(VPContainerToken_1.VPContainerToken.RefreshDescriptorsTask, RefreshDescriptorsTask_1.RefreshDescriptorsTask);
36
28
  VPContainer.registerSingleton(VPContainerToken_1.VPContainerToken.DeleteDataTask, DeleteDataTask_1.DeleteDataTask);
@@ -1 +1 @@
1
- {"version":3,"file":"Di.js","sourceRoot":"","sources":["../../../../src/integration-engine/vehicle-positions/ioc/Di.ts"],"names":[],"mappings":";;;AAAA,qCAA0C;AAC1C,kIAA6H;AAE7H,0GAAuG;AACvG,wHAAqH;AACrH,kJAA+I;AAC/I,wFAAqF;AACrF,wGAAqG;AACrG,sHAAmH;AACnH,0HAAuH;AACvH,4GAAyG;AACzG,yDAAsD;AAEtD,wBAAwB;AACxB,MAAM,WAAW,GAAwB,iBAAY,CAAC,oBAAoB,EAAE,CAAC;AA2BpE,kCAAW;AA1BpB,YAAY;AAEZ,qBAAqB;AACrB,WAAW,CAAC,QAAQ,CAAC,mCAAgB,CAAC,gCAAgC,EAAE,mEAAgC,CAAC,CAAC;AAC1G,WAAW,CAAC,iBAAiB,CAAC,mCAAgB,CAAC,2BAA2B,EAAE,yDAA2B,CAAC,CAAC;AACzG,YAAY;AAEZ,sBAAsB;AACtB,WAAW,CAAC,QAAQ,CAAC,mCAAgB,CAAC,oBAAoB,EAAE,2CAAoB,CAAC,CAAC;AAClF,WAAW,CAAC,iBAAiB,CAAC,mCAAgB,CAAC,2BAA2B,EAAE,yDAA2B,CAAC,CAAC;AACzG,WAAW,CAAC,iBAAiB,CAAC,mCAAgB,CAAC,0BAA0B,EAAE,uDAA0B,CAAC,CAAC;AACvG,YAAY;AAEZ,yBAAyB;AACzB,WAAW,CAAC,QAAQ,CAAC,mCAAgB,CAAC,wBAAwB,EAAE,mDAAwB,CAAC,CAAC;AAC1F,YAAY;AAEZ,iBAAiB;AACjB,WAAW,CAAC,QAAQ,CAAC,mCAAgB,CAAC,qBAAqB,EAAE,6CAAqB,CAAC,CAAC;AACpF,YAAY;AAEZ,eAAe;AACf,WAAW,CAAC,iBAAiB,CAAC,mCAAgB,CAAC,sBAAsB,EAAE,+CAAsB,CAAC,CAAC;AAC/F,WAAW,CAAC,iBAAiB,CAAC,mCAAgB,CAAC,cAAc,EAAE,+BAAc,CAAC,CAAC"}
1
+ {"version":3,"file":"Di.js","sourceRoot":"","sources":["../../../../src/integration-engine/vehicle-positions/ioc/Di.ts"],"names":[],"mappings":";;;AAAA,qCAA0C;AAE1C,0GAAuG;AACvG,wHAAqH;AACrH,kJAA+I;AAC/I,wFAAqF;AACrF,wGAAqG;AACrG,sHAAmH;AACnH,yDAAsD;AAEtD,wBAAwB;AACxB,MAAM,WAAW,GAAwB,iBAAY,CAAC,oBAAoB,EAAE,CAAC;AAqBpE,kCAAW;AApBpB,YAAY;AAEZ,qBAAqB;AACrB,WAAW,CAAC,QAAQ,CAAC,mCAAgB,CAAC,gCAAgC,EAAE,mEAAgC,CAAC,CAAC;AAC1G,WAAW,CAAC,iBAAiB,CAAC,mCAAgB,CAAC,2BAA2B,EAAE,yDAA2B,CAAC,CAAC;AACzG,YAAY;AAEZ,sBAAsB;AACtB,WAAW,CAAC,QAAQ,CAAC,mCAAgB,CAAC,oBAAoB,EAAE,2CAAoB,CAAC,CAAC;AAClF,YAAY;AAEZ,yBAAyB;AACzB,WAAW,CAAC,QAAQ,CAAC,mCAAgB,CAAC,wBAAwB,EAAE,mDAAwB,CAAC,CAAC;AAC1F,YAAY;AAEZ,eAAe;AACf,WAAW,CAAC,iBAAiB,CAAC,mCAAgB,CAAC,sBAAsB,EAAE,+CAAsB,CAAC,CAAC;AAC/F,WAAW,CAAC,iBAAiB,CAAC,mCAAgB,CAAC,cAAc,EAAE,+BAAc,CAAC,CAAC"}
@@ -5,8 +5,5 @@ declare const VPContainerToken: {
5
5
  DescriptorTransformation: symbol;
6
6
  RefreshDescriptorsTask: symbol;
7
7
  DeleteDataTask: symbol;
8
- MetroRailtrackGPSRepository: symbol;
9
- CachedMetroRailTrackLookup: symbol;
10
- MetroShapePointsFixer: symbol;
11
8
  };
12
9
  export { VPContainerToken };
@@ -10,15 +10,6 @@ const VPContainerToken = {
10
10
  RefreshDescriptorsTask: Symbol(),
11
11
  DeleteDataTask: Symbol(),
12
12
  //#endregion
13
- //#region Vehicle Positions
14
- //#region DataAccess
15
- MetroRailtrackGPSRepository: Symbol(),
16
- CachedMetroRailTrackLookup: Symbol(),
17
- //#endregion
18
- //#region Helpers
19
- MetroShapePointsFixer: Symbol(),
20
- //#endregion
21
- //#endregion
22
13
  };
23
14
  exports.VPContainerToken = VPContainerToken;
24
15
  //# sourceMappingURL=VPContainerToken.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"VPContainerToken.js","sourceRoot":"","sources":["../../../../src/integration-engine/vehicle-positions/ioc/VPContainerToken.ts"],"names":[],"mappings":";;;AAAA,MAAM,gBAAgB,GAAG;IACrB,6BAA6B;IAC7B,gCAAgC,EAAE,MAAM,EAAE;IAC1C,2BAA2B,EAAE,MAAM,EAAE;IACrC,oBAAoB,EAAE,MAAM,EAAE;IAC9B,wBAAwB,EAAE,MAAM,EAAE;IAClC,sBAAsB,EAAE,MAAM,EAAE;IAChC,cAAc,EAAE,MAAM,EAAE;IACxB,YAAY;IAEZ,2BAA2B;IAE3B,oBAAoB;IACpB,2BAA2B,EAAE,MAAM,EAAE;IACrC,0BAA0B,EAAE,MAAM,EAAE;IACpC,YAAY;IAEZ,iBAAiB;IACjB,qBAAqB,EAAE,MAAM,EAAE;IAC/B,YAAY;IAEZ,YAAY;CACf,CAAC;AAEO,4CAAgB"}
1
+ {"version":3,"file":"VPContainerToken.js","sourceRoot":"","sources":["../../../../src/integration-engine/vehicle-positions/ioc/VPContainerToken.ts"],"names":[],"mappings":";;;AAAA,MAAM,gBAAgB,GAAG;IACrB,6BAA6B;IAC7B,gCAAgC,EAAE,MAAM,EAAE;IAC1C,2BAA2B,EAAE,MAAM,EAAE;IACrC,oBAAoB,EAAE,MAAM,EAAE;IAC9B,wBAAwB,EAAE,MAAM,EAAE;IAClC,sBAAsB,EAAE,MAAM,EAAE;IAChC,cAAc,EAAE,MAAM,EAAE;IACxB,YAAY;CACf,CAAC;AAEO,4CAAgB"}
@@ -4,8 +4,5 @@ export declare enum MetroRouteName {
4
4
  LINE_C = "C"
5
5
  }
6
6
  export declare class MetroRouteHelper {
7
- private static tripToRouteMetroMap;
8
7
  static getRouteId(routeName: MetroRouteName | string): string | undefined;
9
- static getTripRouteMap(): Record<string, string>;
10
- static getRouteName(tripId: string): string;
11
8
  }
@@ -16,18 +16,6 @@ class MetroRouteHelper {
16
16
  static getRouteId(routeName) {
17
17
  return metroRouteId[routeName];
18
18
  }
19
- static getTripRouteMap() {
20
- if (!this.tripToRouteMetroMap) {
21
- this.tripToRouteMetroMap = {};
22
- for (const routeName of Object.values(MetroRouteName)) {
23
- this.tripToRouteMetroMap[`${MetroRouteHelper.getRouteId(routeName)}`] = routeName.toString();
24
- }
25
- }
26
- return this.tripToRouteMetroMap;
27
- }
28
- static getRouteName(tripId) {
29
- return this.getTripRouteMap()[tripId.substring(0, 3)];
30
- }
31
19
  }
32
20
  exports.MetroRouteHelper = MetroRouteHelper;
33
21
  //# sourceMappingURL=MetroRouteHelper.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MetroRouteHelper.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/runs/helpers/MetroRouteHelper.ts"],"names":[],"mappings":";;;AAAA,IAAY,cAIX;AAJD,WAAY,cAAc;IACtB,8BAAY,CAAA;IACZ,8BAAY,CAAA;IACZ,8BAAY,CAAA;AAChB,CAAC,EAJW,cAAc,8BAAd,cAAc,QAIzB;AAED,MAAM,YAAY,GAAwD;IACtE,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,KAAK;IAC9B,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,KAAK;IAC9B,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,KAAK;CACjC,CAAC;AAEF,MAAa,gBAAgB;IAGlB,MAAM,CAAC,UAAU,CAAC,SAAkC;QACvD,OAAO,YAAY,CAAC,SAAS,CAAC,CAAC;IACnC,CAAC;IAEM,MAAM,CAAC,eAAe;QACzB,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE;YAC3B,IAAI,CAAC,mBAAmB,GAAG,EAAE,CAAC;YAC9B,KAAK,MAAM,SAAS,IAAI,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE;gBACnD,IAAI,CAAC,mBAAmB,CAAC,GAAG,gBAAgB,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,QAAQ,EAAE,CAAC;aAChG;SACJ;QAED,OAAO,IAAI,CAAC,mBAAmB,CAAC;IACpC,CAAC;IAEM,MAAM,CAAC,YAAY,CAAC,MAAc;QACrC,OAAO,IAAI,CAAC,eAAe,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC1D,CAAC;CACJ;AArBD,4CAqBC"}
1
+ {"version":3,"file":"MetroRouteHelper.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/runs/helpers/MetroRouteHelper.ts"],"names":[],"mappings":";;;AAAA,IAAY,cAIX;AAJD,WAAY,cAAc;IACtB,8BAAY,CAAA;IACZ,8BAAY,CAAA;IACZ,8BAAY,CAAA;AAChB,CAAC,EAJW,cAAc,8BAAd,cAAc,QAIzB;AAED,MAAM,YAAY,GAAwD;IACtE,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,KAAK;IAC9B,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,KAAK;IAC9B,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,KAAK;CACjC,CAAC;AAEF,MAAa,gBAAgB;IAClB,MAAM,CAAC,UAAU,CAAC,SAAkC;QACvD,OAAO,YAAY,CAAC,SAAS,CAAC,CAAC;IACnC,CAAC;CACJ;AAJD,4CAIC"}
@@ -34,7 +34,7 @@ export declare class PositionsRepository extends PostgresModel implements IModel
34
34
  getPositionsForUpdateDelay: (tripIds: string[]) => Promise<ITripPositions[]>;
35
35
  bulkUpdate: (data: any[]) => Promise<any>;
36
36
  upsertCommonRunPosition: ({ run, run_message }: IUpdateRunsGtfsTripInput, gtfsTrip: IScheduleDto, isCurrent?: boolean) => Promise<any>;
37
- upsertMetroRunPosition: (runInput: IMetroRunInputForProcessing, gtfsTrip: IScheduleDto, isCurrent?: boolean) => Promise<IPositionDto>;
37
+ upsertMetroRunPosition: (runInput: IMetroRunInputForProcessing, gtfsTrip: IScheduleDto, isCurrent?: boolean) => Promise<any>;
38
38
  deleteNHoursOldData: (hours: number) => Promise<number>;
39
39
  createNotPublic: (positionDto: Partial<IPositionDto>) => Promise<PositionDto>;
40
40
  }
@@ -1 +1 @@
1
- {"version":3,"file":"PositionsRepository.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/PositionsRepository.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PositionsRepository.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/PositionsRepository.ts"],"names":[],"mappings":"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"}
@@ -71,9 +71,6 @@ export default class PositionsManager {
71
71
  * @returns {number} - Result delay in seconds, can be negative for trip ahead
72
72
  */
73
73
  private static getCorrectedTimeDelay;
74
- private static handleContext;
75
- private static handleNotTracking;
76
- private static handleTracking;
77
74
  /**
78
75
  * Get delay in seconds for positions before track to ensure correct delay propagation
79
76
  */
@@ -46,107 +46,6 @@ const PositionHandlerEnum_1 = require("./PositionHandlerEnum");
46
46
  const ValidToCalculator_1 = __importDefault(require("./ValidToCalculator"));
47
47
  const ComputeDelayHelper_1 = __importDefault(require("./compute-positions/ComputeDelayHelper"));
48
48
  class PositionsManager {
49
- static handleContext(context, positionToUpdate, position, gtfsRouteType) {
50
- context.isLastPositionAfterTrack =
51
- (positionToUpdate === null || positionToUpdate === void 0 ? void 0 : positionToUpdate.state_position) === const_1.StatePositionEnum.AFTER_TRACK ||
52
- position.state_position === const_1.StatePositionEnum.AFTER_TRACK;
53
- // set last known BEFORE_TRACK_DELAYED position
54
- if (position.state_position === const_1.StatePositionEnum.BEFORE_TRACK_DELAYED) {
55
- context.lastPositionBeforeTrackDelayed = {
56
- delay: position.delay,
57
- origin_timestamp: position.origin_timestamp.getTime(),
58
- };
59
- }
60
- // set last position tracking (only for at_stop and on_track)
61
- if ((positionToUpdate === null || positionToUpdate === void 0 ? void 0 : positionToUpdate.state_position) === const_1.StatePositionEnum.AT_STOP ||
62
- (positionToUpdate === null || positionToUpdate === void 0 ? void 0 : positionToUpdate.state_position) === const_1.StatePositionEnum.ON_TRACK ||
63
- position.state_position === const_1.StatePositionEnum.AT_STOP ||
64
- position.state_position === const_1.StatePositionEnum.ON_TRACK) {
65
- context.lastPositionTracking = turf.point([position.lng, position.lat], Object.assign(Object.assign({}, position), positionToUpdate));
66
- }
67
- // set new first position at stop streak if this stop seqence is set and it is not same as before
68
- if (positionToUpdate
69
- ? positionToUpdate.this_stop_sequence &&
70
- context.atStopStreak.stop_sequence !== positionToUpdate.this_stop_sequence
71
- : position.this_stop_sequence && context.atStopStreak.stop_sequence !== position.this_stop_sequence) {
72
- context.atStopStreak.stop_sequence = positionToUpdate
73
- ? positionToUpdate.this_stop_sequence
74
- : position.this_stop_sequence;
75
- context.atStopStreak.firstPositionTimestamp = position.origin_timestamp.getTime();
76
- context.atStopStreak.firstPositionDelay = positionToUpdate ? positionToUpdate.delay : position.delay;
77
- }
78
- // IF currently valid updated position / position was processed before
79
- // and it is NOT AT_STOP
80
- // then disrupt atStopStreak
81
- if (positionToUpdate &&
82
- positionToUpdate.state_position !== const_1.StatePositionEnum.MISMATCHED &&
83
- !positionToUpdate.this_stop_sequence) {
84
- context.atStopStreak.stop_sequence = null;
85
- }
86
- else if (!positionToUpdate && !position.this_stop_sequence) {
87
- context.atStopStreak.stop_sequence = null;
88
- }
89
- // duplicated or mismatched position should not be considered at all
90
- if ((positionToUpdate === null || positionToUpdate === void 0 ? void 0 : positionToUpdate.state_position) !== const_1.StatePositionEnum.DUPLICATE &&
91
- (positionToUpdate === null || positionToUpdate === void 0 ? void 0 : positionToUpdate.state_position) !== const_1.StatePositionEnum.INVISIBLE &&
92
- (positionToUpdate === null || positionToUpdate === void 0 ? void 0 : positionToUpdate.state_position) !== const_1.StatePositionEnum.MISMATCHED) {
93
- context.lastPositionId = position.id;
94
- context.lastPositionCanceled = position.is_canceled;
95
- context.lastPositionOriginTimestamp = position.origin_timestamp.getTime();
96
- ComputeDelayHelper_1.default.updateContext(context, positionToUpdate, position, gtfsRouteType);
97
- }
98
- }
99
- static handleNotTracking(tripPositions, context, position, startTimestamp, schedule, positionToUpdate, startDayTimestamp, gtfsRouteType) {
100
- const firstShapesAnchorPoint = tripPositions.gtfsData.shapes_anchor_points[0];
101
- if (context.lastPositionTracking === null) {
102
- const firstStopTime = tripPositions.gtfsData.stop_times[0];
103
- // if there is propagated delay we can use it for new position
104
- const lastPositionDelayed = context.lastPositionBeforeTrackDelayed;
105
- // if there is no delay to duplicate and DPP trip is far from start then invisible
106
- const setAsInvisible = !lastPositionDelayed &&
107
- DPPUtils_1.default.isInvisible(tripPositions.agency_name_scheduled, position.origin_timestamp, startTimestamp, [position.lng, position.lat], firstShapesAnchorPoint.coordinates, schedule, tripPositions.gtfs_trip_id, context.lastPositionTracking, position.tracking);
108
- positionToUpdate = Object.assign({ id: position.id, next_stop_arrival_time: new Date(startDayTimestamp + firstStopTime.arrival_time_seconds * 1000), next_stop_departure_time: new Date(startDayTimestamp + firstStopTime.departure_time_seconds * 1000), next_stop_id: firstStopTime.stop_id, next_stop_sequence: firstStopTime.stop_sequence, next_stop_name: firstStopTime.stop.stop_name, shape_dist_traveled: firstStopTime.shape_dist_traveled, state_position: setAsInvisible ? const_1.StatePositionEnum.INVISIBLE : const_1.StatePositionEnum.BEFORE_TRACK, state_process: const_1.StateProcessEnum.PROCESSED }, (firstStopTime.stop_headsign && {
109
- last_stop_headsign: firstStopTime.stop_headsign,
110
- }));
111
- if (positionToUpdate.state_position === const_1.StatePositionEnum.BEFORE_TRACK) {
112
- positionToUpdate.delay = this.getDelayBeforeTrack(lastPositionDelayed === null || lastPositionDelayed === void 0 ? void 0 : lastPositionDelayed.delay, firstStopTime.departure_time_seconds, position.origin_timestamp.getTime(), startDayTimestamp);
113
- }
114
- }
115
- else {
116
- // if there is tracking 2 position with same origin_timestamp then this position is duplicate
117
- const statePosition = position.origin_timestamp.getTime() === context.lastPositionOriginTimestamp ||
118
- tripPositions.positions.findIndex((positionItem) => positionItem.origin_timestamp.getTime() === position.origin_timestamp.getTime() &&
119
- positionItem.tracking === const_1.PositionTrackingEnum.TRACKING) >= 0
120
- ? const_1.StatePositionEnum.DUPLICATE
121
- : const_1.StatePositionEnum.AFTER_TRACK;
122
- const lastShapesAnchorPoint = tripPositions.gtfsData.shapes_anchor_points[tripPositions.gtfsData.shapes_anchor_points.length - 1];
123
- const lastStopTime = tripPositions.gtfsData.stop_times[tripPositions.gtfsData.stop_times.length - 1];
124
- // set as invisible if there are some AFTER_TRACK before
125
- const setAsInvisible = DPPUtils_1.default.isInvisible(tripPositions.agency_name_scheduled, position.origin_timestamp, startTimestamp, [position.lng, position.lat], firstShapesAnchorPoint.coordinates, schedule, tripPositions.gtfs_trip_id, context.lastPositionTracking, position.tracking) && statePosition === const_1.StatePositionEnum.AFTER_TRACK;
126
- 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: setAsInvisible ? const_1.StatePositionEnum.INVISIBLE : statePosition, state_process: const_1.StateProcessEnum.PROCESSED }, (lastStopTime.stop_headsign && {
127
- last_stop_headsign: lastStopTime.stop_headsign,
128
- }));
129
- positionToUpdate = ComputeDelayHelper_1.default.updatePositionToUpdate(context, positionToUpdate, position, gtfsRouteType);
130
- }
131
- return positionToUpdate;
132
- }
133
- static handleTracking(position, positionToUpdate, tripPositions, context, startDayTimestamp, endTimestamp, gtfsRouteType) {
134
- return __awaiter(this, void 0, void 0, function* () {
135
- const currentPosition = turf.point([position.lng, position.lat], {
136
- id: position.id,
137
- origin_time: position.origin_time,
138
- origin_timestamp: position.origin_timestamp,
139
- scheduled_timestamp: position.scheduled_timestamp,
140
- this_stop_id: position.this_stop_id,
141
- tcp_event: position.tcp_event,
142
- });
143
- positionToUpdate = yield this.getEstimatedPoint(tripPositions.gtfsData, currentPosition, context, startDayTimestamp, endTimestamp, tripPositions.gtfs_route_type);
144
- if (positionToUpdate.state_position !== const_1.StatePositionEnum.MISMATCHED) {
145
- positionToUpdate = ComputeDelayHelper_1.default.updatePositionToUpdate(context, positionToUpdate, position, gtfsRouteType);
146
- }
147
- return positionToUpdate;
148
- });
149
- }
150
49
  /**
151
50
  * Get delay in seconds for positions before track to ensure correct delay propagation
152
51
  */
@@ -159,17 +58,34 @@ class PositionsManager {
159
58
  return Math.max(lastPositionDelay, positionOriginTimeInSeconds - departureTimeInSeconds);
160
59
  }
161
60
  static getStateAndStopSequences(gtfsRouteType, tripStopTimes, thisClosestPoint, positionProperties, context) {
162
- var _b;
61
+ var _b, _c, _d;
163
62
  let statePosition = thisClosestPoint.this_stop_sequence ? const_1.StatePositionEnum.AT_STOP : const_1.StatePositionEnum.ON_TRACK;
164
63
  let thisStopSequence = thisClosestPoint.this_stop_sequence;
165
64
  let lastStopSequence = thisClosestPoint.last_stop_sequence;
166
65
  let nextStopSequence = thisClosestPoint.next_stop_sequence;
66
+ if (gtfsRouteType === RouteTypeEnums_1.GTFSRouteTypeEnum.METRO) {
67
+ thisStopSequence = null;
68
+ if (positionProperties.this_stop_id) {
69
+ const thisStopTime = tripStopTimes.find((stopTime) => stopTime.stop_id === positionProperties.this_stop_id);
70
+ if (thisStopTime) {
71
+ statePosition = const_1.StatePositionEnum.AT_STOP;
72
+ thisStopSequence = thisStopTime.stop_sequence;
73
+ lastStopSequence = thisStopSequence;
74
+ nextStopSequence = Math.min(tripStopTimes.length, thisStopSequence + 1);
75
+ }
76
+ }
77
+ if (thisStopSequence === null) {
78
+ statePosition = const_1.StatePositionEnum.ON_TRACK;
79
+ if (context === null || context === void 0 ? void 0 : context.lastPositionTracking) {
80
+ lastStopSequence = (_b = context.lastPositionTracking.properties.last_stop_sequence) !== null && _b !== void 0 ? _b : lastStopSequence;
81
+ nextStopSequence = (_c = context.lastPositionTracking.properties.next_stop_sequence) !== null && _c !== void 0 ? _c : nextStopSequence;
82
+ }
83
+ }
84
+ }
167
85
  // if current positions's TCP event is 'T' and previous position is tracked
168
- if (gtfsRouteType !== RouteTypeEnums_1.GTFSRouteTypeEnum.METRO &&
169
- positionProperties.tcp_event === const_1.TCPEventEnum.TIME &&
170
- (context === null || context === void 0 ? void 0 : context.lastPositionTracking)) {
86
+ else if (positionProperties.tcp_event === const_1.TCPEventEnum.TIME && (context === null || context === void 0 ? void 0 : context.lastPositionTracking)) {
171
87
  const previousPositionTcpEvent = context.lastPositionTracking.properties.tcp_event;
172
- const previousLastStopSequence = (_b = context.lastPositionTracking.properties.last_stop_sequence) !== null && _b !== void 0 ? _b : 0;
88
+ const previousLastStopSequence = (_d = context.lastPositionTracking.properties.last_stop_sequence) !== null && _d !== void 0 ? _d : 0;
173
89
  // if previous position was 'P' and current last stop sequence is lower than the previous last stop sequence
174
90
  // or if previous position was 'O', current position is at stop
175
91
  // and current last stop sequence is lower than the previous last stop sequence
@@ -229,8 +145,10 @@ PositionsManager.computePositions = (tripPositions, schedule) => __awaiter(void
229
145
  const startTimestamp = tripPositions.start_timestamp.getTime();
230
146
  const endTimestamp = (_c = (_b = tripPositions.end_timestamp) === null || _b === void 0 ? void 0 : _b.getTime()) !== null && _c !== void 0 ? _c : 0;
231
147
  const startDayTimestamp = _a.getStartDayTimestamp(startTimestamp, tripPositions.gtfsData.shapes_anchor_points[0].time_scheduled_seconds);
148
+ const gtfsRouteType = tripPositions.gtfs_route_type;
232
149
  const context = PositionsManager.getCurrentContext(tripPositions);
233
- return PositionsManager.updatePositions({ tripPositions, startTimestamp, endTimestamp, startDayTimestamp, context }, schedule);
150
+ const computedPositions = [];
151
+ return PositionsManager.updatePositions({ tripPositions, startTimestamp, endTimestamp, startDayTimestamp, context, computedPositions, gtfsRouteType }, schedule);
234
152
  });
235
153
  /**
236
154
  * Takes position one by one, set proper handler for type of position, and do the process of position
@@ -241,20 +159,59 @@ PositionsManager.computePositions = (tripPositions, schedule) => __awaiter(void
241
159
  * @returns {void} - void
242
160
  */
243
161
  PositionsManager.updatePositions = (options, schedule) => __awaiter(void 0, void 0, void 0, function* () {
244
- const computedPositions = [];
245
- const { tripPositions, startDayTimestamp, startTimestamp, endTimestamp, context } = options;
246
- const gtfsRouteType = tripPositions.gtfs_route_type;
162
+ const { tripPositions, startDayTimestamp, startTimestamp, endTimestamp, context, computedPositions, gtfsRouteType } = options;
247
163
  for (let i = 0; i < tripPositions.positions.length; i++) {
248
164
  const position = tripPositions.positions[i];
249
165
  let positionToUpdate = null;
250
166
  // situations
251
167
  switch (_a.setPositionUpdateHandler(position)) {
252
168
  case PositionHandlerEnum_1.PositionHandlerEnum.TRACKING:
253
- positionToUpdate = yield PositionsManager.handleTracking(position, positionToUpdate, tripPositions, context, startDayTimestamp, endTimestamp, gtfsRouteType);
169
+ const currentPosition = turf.point([position.lng, position.lat], {
170
+ id: position.id,
171
+ origin_time: position.origin_time,
172
+ origin_timestamp: position.origin_timestamp,
173
+ scheduled_timestamp: position.scheduled_timestamp,
174
+ this_stop_id: position.this_stop_id,
175
+ tcp_event: position.tcp_event,
176
+ });
177
+ positionToUpdate = yield _a.getEstimatedPoint(tripPositions.gtfsData, currentPosition, context, startDayTimestamp, endTimestamp, tripPositions.gtfs_route_type);
178
+ if (positionToUpdate.state_position !== const_1.StatePositionEnum.MISMATCHED) {
179
+ positionToUpdate = ComputeDelayHelper_1.default.updatePositionToUpdate(context, positionToUpdate, position, gtfsRouteType);
180
+ }
254
181
  break;
255
182
  case PositionHandlerEnum_1.PositionHandlerEnum.NOT_TRACKING:
256
183
  // if there is no previous positions with tracking status, set position as before_track
257
- positionToUpdate = PositionsManager.handleNotTracking(tripPositions, context, position, startTimestamp, schedule, positionToUpdate, startDayTimestamp, gtfsRouteType);
184
+ const firstShapesAnchorPoint = tripPositions.gtfsData.shapes_anchor_points[0];
185
+ if (context.lastPositionTracking === null) {
186
+ const firstStopTime = tripPositions.gtfsData.stop_times[0];
187
+ // if there is propagated delay we can use it for new position
188
+ const lastPositionDelayed = context.lastPositionBeforeTrackDelayed;
189
+ // if there is no delay to duplicate and DPP trip is far from start then invisible
190
+ const setAsInvisible = !lastPositionDelayed &&
191
+ DPPUtils_1.default.isInvisible(tripPositions.agency_name_scheduled, position.origin_timestamp, startTimestamp, [position.lng, position.lat], firstShapesAnchorPoint.coordinates, schedule, tripPositions.gtfs_trip_id, context.lastPositionTracking, position.tracking);
192
+ positionToUpdate = Object.assign({ id: position.id, next_stop_arrival_time: new Date(startDayTimestamp + firstStopTime.arrival_time_seconds * 1000), next_stop_departure_time: new Date(startDayTimestamp + firstStopTime.departure_time_seconds * 1000), next_stop_id: firstStopTime.stop_id, next_stop_sequence: firstStopTime.stop_sequence, next_stop_name: firstStopTime.stop.stop_name, shape_dist_traveled: firstStopTime.shape_dist_traveled, state_position: setAsInvisible ? const_1.StatePositionEnum.INVISIBLE : const_1.StatePositionEnum.BEFORE_TRACK, state_process: const_1.StateProcessEnum.PROCESSED }, (firstStopTime.stop_headsign && {
193
+ last_stop_headsign: firstStopTime.stop_headsign,
194
+ }));
195
+ if (positionToUpdate.state_position === const_1.StatePositionEnum.BEFORE_TRACK) {
196
+ positionToUpdate.delay = _a.getDelayBeforeTrack(lastPositionDelayed === null || lastPositionDelayed === void 0 ? void 0 : lastPositionDelayed.delay, firstStopTime.departure_time_seconds, position.origin_timestamp.getTime(), startDayTimestamp);
197
+ }
198
+ }
199
+ else {
200
+ // if there is tracking 2 position with same origin_timestamp then this position is duplicate
201
+ const statePosition = position.origin_timestamp.getTime() === context.lastPositionOriginTimestamp ||
202
+ tripPositions.positions.findIndex((positionItem) => positionItem.origin_timestamp.getTime() === position.origin_timestamp.getTime() &&
203
+ positionItem.tracking === const_1.PositionTrackingEnum.TRACKING) >= 0
204
+ ? const_1.StatePositionEnum.DUPLICATE
205
+ : const_1.StatePositionEnum.AFTER_TRACK;
206
+ const lastShapesAnchorPoint = tripPositions.gtfsData.shapes_anchor_points[tripPositions.gtfsData.shapes_anchor_points.length - 1];
207
+ const lastStopTime = tripPositions.gtfsData.stop_times[tripPositions.gtfsData.stop_times.length - 1];
208
+ // set as invisible if there are some AFTER_TRACK before
209
+ const setAsInvisible = DPPUtils_1.default.isInvisible(tripPositions.agency_name_scheduled, position.origin_timestamp, startTimestamp, [position.lng, position.lat], firstShapesAnchorPoint.coordinates, schedule, tripPositions.gtfs_trip_id, context.lastPositionTracking, position.tracking) && statePosition === const_1.StatePositionEnum.AFTER_TRACK;
210
+ 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: setAsInvisible ? const_1.StatePositionEnum.INVISIBLE : statePosition, state_process: const_1.StateProcessEnum.PROCESSED }, (lastStopTime.stop_headsign && {
211
+ last_stop_headsign: lastStopTime.stop_headsign,
212
+ }));
213
+ positionToUpdate = ComputeDelayHelper_1.default.updatePositionToUpdate(context, positionToUpdate, position, gtfsRouteType);
214
+ }
258
215
  break;
259
216
  case PositionHandlerEnum_1.PositionHandlerEnum.CANCELED:
260
217
  positionToUpdate = {
@@ -274,7 +231,54 @@ PositionsManager.updatePositions = (options, schedule) => __awaiter(void 0, void
274
231
  computedPositions.push(positionToUpdate);
275
232
  }
276
233
  // set if last position is AFTER_TRACK
277
- PositionsManager.handleContext(context, positionToUpdate, position, gtfsRouteType);
234
+ context.isLastPositionAfterTrack =
235
+ (positionToUpdate === null || positionToUpdate === void 0 ? void 0 : positionToUpdate.state_position) === const_1.StatePositionEnum.AFTER_TRACK ||
236
+ position.state_position === const_1.StatePositionEnum.AFTER_TRACK;
237
+ // set last known BEFORE_TRACK_DELAYED position
238
+ if (position.state_position === const_1.StatePositionEnum.BEFORE_TRACK_DELAYED) {
239
+ context.lastPositionBeforeTrackDelayed = {
240
+ delay: position.delay,
241
+ origin_timestamp: position.origin_timestamp.getTime(),
242
+ };
243
+ }
244
+ // set last position tracking (only for at_stop and on_track)
245
+ if ((positionToUpdate === null || positionToUpdate === void 0 ? void 0 : positionToUpdate.state_position) === const_1.StatePositionEnum.AT_STOP ||
246
+ (positionToUpdate === null || positionToUpdate === void 0 ? void 0 : positionToUpdate.state_position) === const_1.StatePositionEnum.ON_TRACK ||
247
+ position.state_position === const_1.StatePositionEnum.AT_STOP ||
248
+ position.state_position === const_1.StatePositionEnum.ON_TRACK) {
249
+ context.lastPositionTracking = turf.point([position.lng, position.lat], Object.assign(Object.assign({}, position), positionToUpdate));
250
+ }
251
+ // set new first position at stop streak if this stop seqence is set and it is not same as before
252
+ if (positionToUpdate
253
+ ? positionToUpdate.this_stop_sequence &&
254
+ context.atStopStreak.stop_sequence !== positionToUpdate.this_stop_sequence
255
+ : position.this_stop_sequence && context.atStopStreak.stop_sequence !== position.this_stop_sequence) {
256
+ context.atStopStreak.stop_sequence = positionToUpdate
257
+ ? positionToUpdate.this_stop_sequence
258
+ : position.this_stop_sequence;
259
+ context.atStopStreak.firstPositionTimestamp = position.origin_timestamp.getTime();
260
+ context.atStopStreak.firstPositionDelay = positionToUpdate ? positionToUpdate.delay : position.delay;
261
+ }
262
+ // IF currently valid updated position / position was processed before
263
+ // and it is NOT AT_STOP
264
+ // then disrupt atStopStreak
265
+ if (positionToUpdate &&
266
+ positionToUpdate.state_position !== const_1.StatePositionEnum.MISMATCHED &&
267
+ !positionToUpdate.this_stop_sequence) {
268
+ context.atStopStreak.stop_sequence = null;
269
+ }
270
+ else if (!positionToUpdate && !position.this_stop_sequence) {
271
+ context.atStopStreak.stop_sequence = null;
272
+ }
273
+ // duplicated or mismatched position should not be considered at all
274
+ if ((positionToUpdate === null || positionToUpdate === void 0 ? void 0 : positionToUpdate.state_position) !== const_1.StatePositionEnum.DUPLICATE &&
275
+ (positionToUpdate === null || positionToUpdate === void 0 ? void 0 : positionToUpdate.state_position) !== const_1.StatePositionEnum.INVISIBLE &&
276
+ (positionToUpdate === null || positionToUpdate === void 0 ? void 0 : positionToUpdate.state_position) !== const_1.StatePositionEnum.MISMATCHED) {
277
+ context.lastPositionId = position.id;
278
+ context.lastPositionCanceled = position.is_canceled;
279
+ context.lastPositionOriginTimestamp = position.origin_timestamp.getTime();
280
+ ComputeDelayHelper_1.default.updateContext(context, positionToUpdate, position, gtfsRouteType);
281
+ }
278
282
  }
279
283
  return {
280
284
  context,