@golemio/pid 2.12.0 → 2.12.1-dev.1204295737

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 (50) hide show
  1. package/db/example/12_metro_line_A_gtfs_trips.sql +0 -5
  2. package/db/example/18_metroRailtrack.sql +369 -0
  3. package/dist/helpers/RouteTypeEnums.d.ts +1 -0
  4. package/dist/helpers/RouteTypeEnums.js +1 -0
  5. package/dist/helpers/RouteTypeEnums.js.map +1 -1
  6. package/dist/input-gateway/vehicle-positions/VehiclePositionsController.js +1 -1
  7. package/dist/input-gateway/vehicle-positions/VehiclePositionsController.js.map +1 -1
  8. package/dist/integration-engine/ropid-gtfs/workers/railtrack/tasks/SaveMetroRailtrackDataToDBTask.js +4 -0
  9. package/dist/integration-engine/ropid-gtfs/workers/railtrack/tasks/SaveMetroRailtrackDataToDBTask.js.map +1 -1
  10. package/dist/integration-engine/ropid-gtfs/workers/railtrack/tasks/data-access/MetroRailtrackGPSRepository.js +16 -3
  11. package/dist/integration-engine/ropid-gtfs/workers/railtrack/tasks/data-access/MetroRailtrackGPSRepository.js.map +1 -1
  12. package/dist/integration-engine/vehicle-positions/ioc/Di.js +8 -0
  13. package/dist/integration-engine/vehicle-positions/ioc/Di.js.map +1 -1
  14. package/dist/integration-engine/vehicle-positions/ioc/VPContainerToken.d.ts +3 -0
  15. package/dist/integration-engine/vehicle-positions/ioc/VPContainerToken.js +9 -0
  16. package/dist/integration-engine/vehicle-positions/ioc/VPContainerToken.js.map +1 -1
  17. package/dist/integration-engine/vehicle-positions/workers/gtfs-rt/helpers/AlertEffectMapper.js +71 -27
  18. package/dist/integration-engine/vehicle-positions/workers/gtfs-rt/helpers/AlertEffectMapper.js.map +1 -1
  19. package/dist/integration-engine/vehicle-positions/workers/gtfs-rt/tasks/GenerateFilesTask.d.ts +7 -2
  20. package/dist/integration-engine/vehicle-positions/workers/gtfs-rt/tasks/GenerateFilesTask.js +31 -5
  21. package/dist/integration-engine/vehicle-positions/workers/gtfs-rt/tasks/GenerateFilesTask.js.map +1 -1
  22. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/MetroRouteHelper.d.ts +3 -0
  23. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/MetroRouteHelper.js +12 -0
  24. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/MetroRouteHelper.js.map +1 -1
  25. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/regional-bus/RegionalBusMessageFilter.d.ts +1 -4
  26. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/regional-bus/RegionalBusMessageFilter.js +5 -21
  27. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/regional-bus/RegionalBusMessageFilter.js.map +1 -1
  28. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/metro/CachedMetroRailtrackLookup.d.ts +9 -0
  29. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/metro/CachedMetroRailtrackLookup.js +59 -0
  30. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/metro/CachedMetroRailtrackLookup.js.map +1 -0
  31. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/DelayComputationManager.d.ts +3 -0
  32. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/DelayComputationManager.js +13 -3
  33. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/DelayComputationManager.js.map +1 -1
  34. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/PositionsManager.js +5 -22
  35. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/PositionsManager.js.map +1 -1
  36. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/compute-positions/strategy/MetroDelayAtStop.js +2 -6
  37. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/compute-positions/strategy/MetroDelayAtStop.js.map +1 -1
  38. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/metro/MetroShapePointsFixer.d.ts +12 -0
  39. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/metro/MetroShapePointsFixer.js +117 -0
  40. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/metro/MetroShapePointsFixer.js.map +1 -0
  41. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/SaveDataToDBTask.d.ts +3 -0
  42. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/SaveDataToDBTask.js +89 -33
  43. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/SaveDataToDBTask.js.map +1 -1
  44. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/UpdateDelayTask.d.ts +1 -0
  45. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/UpdateDelayTask.js +7 -1
  46. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/UpdateDelayTask.js.map +1 -1
  47. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/transformations/MpvMessageTransformation.d.ts +3 -6
  48. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/transformations/MpvMessageTransformation.js +19 -25
  49. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/transformations/MpvMessageTransformation.js.map +1 -1
  50. package/package.json +3 -3
@@ -2,6 +2,7 @@
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");
5
6
  const RegionalBusRunsMessagesRepository_1 = require("../workers/runs/data-access/RegionalBusRunsMessagesRepository");
6
7
  const RegionalBusCisCacheRepository_1 = require("../workers/runs/data-access/cache/RegionalBusCisCacheRepository");
7
8
  const RegionalBusGtfsCacheRepository_1 = require("../workers/runs/data-access/cache/RegionalBusGtfsCacheRepository");
@@ -26,6 +27,8 @@ const RefreshPublicStopTimeCacheTask_1 = require("../workers/vehicle-positions/t
26
27
  const RefreshPublicTripCacheTask_1 = require("../workers/vehicle-positions/tasks/RefreshPublicTripCacheTask");
27
28
  const PublicApiTripTransformation_1 = require("../workers/vehicle-positions/transformations/PublicApiTripTransformation");
28
29
  const VPContainerToken_1 = require("./VPContainerToken");
30
+ const CachedMetroRailtrackLookup_1 = require("../workers/vehicle-positions/data-access/metro/CachedMetroRailtrackLookup");
31
+ const MetroShapePointsFixer_1 = require("../workers/vehicle-positions/helpers/metro/MetroShapePointsFixer");
29
32
  //#region Initialization
30
33
  const VPContainer = Di_1.PidContainer.createChildContainer();
31
34
  exports.VPContainer = VPContainer;
@@ -42,6 +45,8 @@ VPContainer.register(VPContainerToken_1.VPContainerToken.RegionalBusRunsMessages
42
45
  VPContainer.register(VPContainerToken_1.VPContainerToken.PublicStopTimeRepository, PublicStopTimeRepository_1.PublicStopTimeRepository);
43
46
  VPContainer.register(VPContainerToken_1.VPContainerToken.PublicApiCacheRepository, PublicApiCacheRepository_1.PublicApiCacheRepository);
44
47
  VPContainer.register(VPContainerToken_1.VPContainerToken.PublicStopTimeCacheRepository, PublicStopTimeCacheRepository_1.PublicStopTimeCacheRepository);
48
+ VPContainer.registerSingleton(VPContainerToken_1.VPContainerToken.MetroRailtrackGPSRepository, MetroRailtrackGPSRepository_1.MetroRailtrackGPSRepository);
49
+ VPContainer.registerSingleton(VPContainerToken_1.VPContainerToken.CachedMetroRailTrackLookup, CachedMetroRailtrackLookup_1.CachedMetroRailTrackLookup);
45
50
  //#endregion
46
51
  //#region Transformations
47
52
  VPContainer.register(VPContainerToken_1.VPContainerToken.DescriptorTransformation, DescriptorTransformation_1.DescriptorTransformation);
@@ -56,6 +61,9 @@ VPContainer.registerSingleton(VPContainerToken_1.VPContainerToken.TripScheduleMa
56
61
  VPContainer.registerSingleton(VPContainerToken_1.VPContainerToken.RegionalBusMessageFilter, RegionalBusMessageFilter_1.RegionalBusMessageFilter);
57
62
  VPContainer.registerSingleton(VPContainerToken_1.VPContainerToken.RegionalBusRunsFacade, RegionalBusRunsFacade_1.RegionalBusRunsFacade);
58
63
  //#endregion
64
+ //#region Helpers
65
+ VPContainer.register(VPContainerToken_1.VPContainerToken.MetroShapePointsFixer, MetroShapePointsFixer_1.MetroShapePointsFixer);
66
+ //#endregion
59
67
  //#region Tasks
60
68
  VPContainer.registerSingleton(VPContainerToken_1.VPContainerToken.RefreshDescriptorsTask, RefreshDescriptorsTask_1.RefreshDescriptorsTask);
61
69
  VPContainer.registerSingleton(VPContainerToken_1.VPContainerToken.SaveArrivaCityRunsToDBTask, SaveArrivaCityRunsToDBTask_1.SaveArrivaCityRunsToDBTask);
@@ -1 +1 @@
1
- {"version":3,"file":"Di.js","sourceRoot":"","sources":["../../../../src/integration-engine/vehicle-positions/ioc/Di.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Di.js","sourceRoot":"","sources":["../../../../src/integration-engine/vehicle-positions/ioc/Di.ts"],"names":[],"mappings":"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"}
@@ -23,5 +23,8 @@ declare const VPContainerToken: {
23
23
  DescriptorFilter: symbol;
24
24
  RefreshDescriptorsTask: symbol;
25
25
  DeleteDataTask: symbol;
26
+ MetroRailtrackGPSRepository: symbol;
27
+ CachedMetroRailTrackLookup: symbol;
28
+ MetroShapePointsFixer: symbol;
26
29
  };
27
30
  export { VPContainerToken };
@@ -32,6 +32,15 @@ const VPContainerToken = {
32
32
  RefreshDescriptorsTask: Symbol(),
33
33
  DeleteDataTask: Symbol(),
34
34
  //#endregion
35
+ //#region Vehicle Positions
36
+ //#region DataAccess
37
+ MetroRailtrackGPSRepository: Symbol(),
38
+ CachedMetroRailTrackLookup: Symbol(),
39
+ //#endregion
40
+ //#region Helpers
41
+ MetroShapePointsFixer: Symbol(),
42
+ //#endregion
43
+ //#endregion
35
44
  };
36
45
  exports.VPContainerToken = VPContainerToken;
37
46
  //# 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,2BAA2B;IAC3B,wBAAwB,EAAE,MAAM,EAAE;IAClC,wBAAwB,EAAE,MAAM,EAAE;IAClC,6BAA6B,EAAE,MAAM,EAAE;IACvC,2BAA2B,EAAE,MAAM,EAAE;IACrC,0BAA0B,EAAE,MAAM,EAAE;IACpC,8BAA8B,EAAE,MAAM,EAAE;IACxC,YAAY;IAEZ,cAAc;IACd,6BAA6B,EAAE,MAAM,EAAE;IACvC,8BAA8B,EAAE,MAAM,EAAE;IACxC,iCAAiC,EAAE,MAAM,EAAE;IAC3C,qCAAqC,EAAE,MAAM,EAAE;IAC/C,gBAAgB,EAAE,MAAM,EAAE;IAC1B,iBAAiB,EAAE,MAAM,EAAE;IAC3B,mBAAmB,EAAE,MAAM,EAAE;IAC7B,wBAAwB,EAAE,MAAM,EAAE;IAClC,qBAAqB,EAAE,MAAM,EAAE;IAC/B,0BAA0B,EAAE,MAAM,EAAE;IACpC,iCAAiC,EAAE,MAAM,EAAE;IAC3C,YAAY;IAEZ,6BAA6B;IAC7B,gCAAgC,EAAE,MAAM,EAAE;IAC1C,2BAA2B,EAAE,MAAM,EAAE;IACrC,oBAAoB,EAAE,MAAM,EAAE;IAC9B,wBAAwB,EAAE,MAAM,EAAE;IAClC,gBAAgB,EAAE,MAAM,EAAE;IAC1B,sBAAsB,EAAE,MAAM,EAAE;IAChC,cAAc,EAAE,MAAM,EAAE;IACxB,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,2BAA2B;IAC3B,wBAAwB,EAAE,MAAM,EAAE;IAClC,wBAAwB,EAAE,MAAM,EAAE;IAClC,6BAA6B,EAAE,MAAM,EAAE;IACvC,2BAA2B,EAAE,MAAM,EAAE;IACrC,0BAA0B,EAAE,MAAM,EAAE;IACpC,8BAA8B,EAAE,MAAM,EAAE;IACxC,YAAY;IAEZ,cAAc;IACd,6BAA6B,EAAE,MAAM,EAAE;IACvC,8BAA8B,EAAE,MAAM,EAAE;IACxC,iCAAiC,EAAE,MAAM,EAAE;IAC3C,qCAAqC,EAAE,MAAM,EAAE;IAC/C,gBAAgB,EAAE,MAAM,EAAE;IAC1B,iBAAiB,EAAE,MAAM,EAAE;IAC3B,mBAAmB,EAAE,MAAM,EAAE;IAC7B,wBAAwB,EAAE,MAAM,EAAE;IAClC,qBAAqB,EAAE,MAAM,EAAE;IAC/B,0BAA0B,EAAE,MAAM,EAAE;IACpC,iCAAiC,EAAE,MAAM,EAAE;IAC3C,YAAY;IAEZ,6BAA6B;IAC7B,gCAAgC,EAAE,MAAM,EAAE;IAC1C,2BAA2B,EAAE,MAAM,EAAE;IACrC,oBAAoB,EAAE,MAAM,EAAE;IAC9B,wBAAwB,EAAE,MAAM,EAAE;IAClC,gBAAgB,EAAE,MAAM,EAAE;IAC1B,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"}
@@ -3,51 +3,95 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getGtfsEffectByEventType = void 0;
4
4
  const AlertEffectEnum_1 = require("./enums/AlertEffectEnum");
5
5
  const RopidVyMiEventType = {
6
- EFF_PROVOZ_ZASTAVEN: 1 << 0,
7
- EFF_PROVOZ_OMEZEN: 1 << 2,
8
- EFF_PROVOZ_OBNOVEN: 1 << 3,
9
- EFF_NEODJETI_SPOJE: 1 << 7,
10
- EFF_ZPOZDENI_SPOJE: 1 << 11,
11
- EFF_ZPOZDENI_SPOJU: 1 << 12,
12
- EFF_STANICE_UZAVRENA: 1 << 13,
13
- EFF_PRISTUP_OMEZEN: 1 << 14,
14
- EFF_POSILENI_SPOJU: 1 << 17,
15
- EFF_ROZVAZANI_PRESTUP: 1 << 18,
16
- EFF_OSTATNI: 1 << 19,
17
- EFF_ODKLON: 1 << 20,
18
- EFF_NEOBSLOUZENI_ZASTAVKY: 1 << 21,
19
- EFF_NAHRADNI_DOPRAVA: 1 << 23,
6
+ PROVOZ_ZASTAVEN: 1,
7
+ PROVOZ_OMEZEN: 3,
8
+ PROVOZ_OBNOVEN: 4,
9
+ PRERUSENI_PROVOZU_METRA: 5,
10
+ PRERUSENI_PROVOZU_TRAMVAJI: 6,
11
+ NEODJETI_SPOJE: 8,
12
+ ZPOZDENI_SPOJE: 12,
13
+ ZPOZDENI_SPOJU: 13,
14
+ STANICE_UZAVRENA: 14,
15
+ PRISTUP_OMEZEN: 15,
16
+ OMEZENI_BEZBARIEROVEHO_PRISTUPU: 16,
17
+ ZMENA_TRASY_A_ZASTAVEK: 17,
18
+ POSILENI_SPOJU: 18,
19
+ ROZVAZANI_PRESTUPNI_VAZBY: 19,
20
+ OSTATNI: 20,
21
+ ODKLON: 21,
22
+ ZRUSENI_ZASTAVKY: 22,
23
+ PREMISTENI_ZASTAVKY: 23,
24
+ NAHRADNI_DOPRAVA: 24,
25
+ PRERUSENI_PROVOZU: 25,
26
+ ZRUSENI_LINKY: 26,
27
+ ZAVEDENI_LINKY: 27,
28
+ ZMENA_TRASY: 28,
29
+ ZMENA_ZASTAVEK: 29,
30
+ ZMENA_JIZDNIHO_RADU: 30,
31
+ OMEZENI_PROVOZU: 31,
20
32
  };
21
33
  /**
22
34
  * Mapuje eventType na dopravní efekt. EventType může být i součet několika čísel RopidVyMiEventType.
23
35
  * @param eventType number
24
36
  */
25
37
  function getGtfsEffectByEventType(eventType) {
26
- if (eventType & RopidVyMiEventType.EFF_ODKLON || eventType & RopidVyMiEventType.EFF_NEOBSLOUZENI_ZASTAVKY) {
38
+ const values = findFromBin(eventType);
39
+ if (values.includes(RopidVyMiEventType.ODKLON)) {
27
40
  return AlertEffectEnum_1.GtfsAlertEffectEnum.DETOUR;
28
41
  }
29
- if (eventType & RopidVyMiEventType.EFF_PROVOZ_ZASTAVEN ||
30
- eventType & RopidVyMiEventType.EFF_PROVOZ_OMEZEN ||
31
- eventType & RopidVyMiEventType.EFF_ZPOZDENI_SPOJE ||
32
- eventType & RopidVyMiEventType.EFF_NEODJETI_SPOJE ||
33
- eventType & RopidVyMiEventType.EFF_ZPOZDENI_SPOJU) {
42
+ if (values.includes(RopidVyMiEventType.ROZVAZANI_PRESTUPNI_VAZBY) || values.includes(RopidVyMiEventType.NAHRADNI_DOPRAVA)) {
43
+ return AlertEffectEnum_1.GtfsAlertEffectEnum.MODIFIED_SERVICE;
44
+ }
45
+ if (values.includes(RopidVyMiEventType.PROVOZ_ZASTAVEN) ||
46
+ values.includes(RopidVyMiEventType.PROVOZ_OMEZEN) ||
47
+ values.includes(RopidVyMiEventType.NEODJETI_SPOJE) ||
48
+ values.includes(RopidVyMiEventType.PRERUSENI_PROVOZU_METRA) ||
49
+ values.includes(RopidVyMiEventType.PRERUSENI_PROVOZU_TRAMVAJI) ||
50
+ values.includes(RopidVyMiEventType.PRERUSENI_PROVOZU) ||
51
+ values.includes(RopidVyMiEventType.OMEZENI_PROVOZU)) {
34
52
  return AlertEffectEnum_1.GtfsAlertEffectEnum.REDUCED_SERVICE;
35
53
  }
36
- if (eventType & RopidVyMiEventType.EFF_ROZVAZANI_PRESTUP || eventType & RopidVyMiEventType.EFF_NAHRADNI_DOPRAVA) {
37
- return AlertEffectEnum_1.GtfsAlertEffectEnum.MODIFIED_SERVICE;
54
+ if (values.includes(RopidVyMiEventType.ZPOZDENI_SPOJE) || values.includes(RopidVyMiEventType.ZPOZDENI_SPOJU)) {
55
+ return AlertEffectEnum_1.GtfsAlertEffectEnum.SIGNIFICANT_DELAYS;
38
56
  }
39
- if (eventType & RopidVyMiEventType.EFF_POSILENI_SPOJU) {
57
+ if (values.includes(RopidVyMiEventType.POSILENI_SPOJU) || values.includes(RopidVyMiEventType.ZAVEDENI_LINKY)) {
40
58
  return AlertEffectEnum_1.GtfsAlertEffectEnum.ADDITIONAL_SERVICE;
41
59
  }
42
- if (eventType & RopidVyMiEventType.EFF_OSTATNI ||
43
- eventType & RopidVyMiEventType.EFF_PROVOZ_OBNOVEN ||
44
- eventType & RopidVyMiEventType.EFF_PRISTUP_OMEZEN) {
60
+ if (values.includes(RopidVyMiEventType.OSTATNI) ||
61
+ values.includes(RopidVyMiEventType.PROVOZ_OBNOVEN) ||
62
+ values.includes(RopidVyMiEventType.PRISTUP_OMEZEN) ||
63
+ values.includes(RopidVyMiEventType.OMEZENI_BEZBARIEROVEHO_PRISTUPU)) {
45
64
  return AlertEffectEnum_1.GtfsAlertEffectEnum.OTHER_EFFECT;
46
65
  }
47
- if (eventType & RopidVyMiEventType.EFF_STANICE_UZAVRENA) {
66
+ if (values.includes(RopidVyMiEventType.STANICE_UZAVRENA) ||
67
+ values.includes(RopidVyMiEventType.ZRUSENI_ZASTAVKY) ||
68
+ values.includes(RopidVyMiEventType.ZRUSENI_LINKY)) {
48
69
  return AlertEffectEnum_1.GtfsAlertEffectEnum.NO_SERVICE;
49
70
  }
71
+ if (values.includes(RopidVyMiEventType.ZMENA_ZASTAVEK)) {
72
+ return AlertEffectEnum_1.GtfsAlertEffectEnum.MODIFIED_SERVICE;
73
+ }
50
74
  return AlertEffectEnum_1.GtfsAlertEffectEnum.UNKNOWN_EFFECT;
51
75
  }
52
76
  exports.getGtfsEffectByEventType = getGtfsEffectByEventType;
77
+ /**
78
+ * Odhalil @OICT_ParoubekMartin
79
+ * Příklad jak 10551296 přeložit na 17, 22 a 24
80
+ * Desítková: 10551296
81
+ * Binárně: 1010 0001 0000 0000 0000 0000
82
+ * Na 17 místě zprava je 1
83
+ * Na 22 místě zprava je 1
84
+ * Na 24 místě zprava je 1
85
+ *
86
+ * @param num číslo v desítkové soustavě
87
+ **/
88
+ const findFromBin = (num) => {
89
+ let result = [];
90
+ const bin = (num >>> 0).toString(2);
91
+ for (let i = 0; i < bin.length; i++) {
92
+ if (bin[i] === "1")
93
+ result.push(bin.length - i);
94
+ }
95
+ return result;
96
+ };
53
97
  //# sourceMappingURL=AlertEffectMapper.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AlertEffectMapper.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/gtfs-rt/helpers/AlertEffectMapper.ts"],"names":[],"mappings":";;;AAAA,6DAA8D;AAE9D,MAAM,kBAAkB,GAAG;IACvB,mBAAmB,EAAE,CAAC,IAAI,CAAC;IAC3B,iBAAiB,EAAE,CAAC,IAAI,CAAC;IACzB,kBAAkB,EAAE,CAAC,IAAI,CAAC;IAC1B,kBAAkB,EAAE,CAAC,IAAI,CAAC;IAC1B,kBAAkB,EAAE,CAAC,IAAI,EAAE;IAC3B,kBAAkB,EAAE,CAAC,IAAI,EAAE;IAC3B,oBAAoB,EAAE,CAAC,IAAI,EAAE;IAC7B,kBAAkB,EAAE,CAAC,IAAI,EAAE;IAC3B,kBAAkB,EAAE,CAAC,IAAI,EAAE;IAC3B,qBAAqB,EAAE,CAAC,IAAI,EAAE;IAC9B,WAAW,EAAE,CAAC,IAAI,EAAE;IACpB,UAAU,EAAE,CAAC,IAAI,EAAE;IACnB,yBAAyB,EAAE,CAAC,IAAI,EAAE;IAClC,oBAAoB,EAAE,CAAC,IAAI,EAAE;CAChC,CAAC;AAEF;;;GAGG;AACH,SAAgB,wBAAwB,CAAC,SAAiB;IACtD,IAAI,SAAS,GAAG,kBAAkB,CAAC,UAAU,IAAI,SAAS,GAAG,kBAAkB,CAAC,yBAAyB,EAAE;QACvG,OAAO,qCAAmB,CAAC,MAAM,CAAC;KACrC;IAED,IACI,SAAS,GAAG,kBAAkB,CAAC,mBAAmB;QAClD,SAAS,GAAG,kBAAkB,CAAC,iBAAiB;QAChD,SAAS,GAAG,kBAAkB,CAAC,kBAAkB;QACjD,SAAS,GAAG,kBAAkB,CAAC,kBAAkB;QACjD,SAAS,GAAG,kBAAkB,CAAC,kBAAkB,EACnD;QACE,OAAO,qCAAmB,CAAC,eAAe,CAAC;KAC9C;IACD,IAAI,SAAS,GAAG,kBAAkB,CAAC,qBAAqB,IAAI,SAAS,GAAG,kBAAkB,CAAC,oBAAoB,EAAE;QAC7G,OAAO,qCAAmB,CAAC,gBAAgB,CAAC;KAC/C;IAED,IAAI,SAAS,GAAG,kBAAkB,CAAC,kBAAkB,EAAE;QACnD,OAAO,qCAAmB,CAAC,kBAAkB,CAAC;KACjD;IAED,IACI,SAAS,GAAG,kBAAkB,CAAC,WAAW;QAC1C,SAAS,GAAG,kBAAkB,CAAC,kBAAkB;QACjD,SAAS,GAAG,kBAAkB,CAAC,kBAAkB,EACnD;QACE,OAAO,qCAAmB,CAAC,YAAY,CAAC;KAC3C;IAED,IAAI,SAAS,GAAG,kBAAkB,CAAC,oBAAoB,EAAE;QACrD,OAAO,qCAAmB,CAAC,UAAU,CAAC;KACzC;IAED,OAAO,qCAAmB,CAAC,cAAc,CAAC;AAC9C,CAAC;AAnCD,4DAmCC"}
1
+ {"version":3,"file":"AlertEffectMapper.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/gtfs-rt/helpers/AlertEffectMapper.ts"],"names":[],"mappings":"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"}
@@ -14,11 +14,16 @@ export declare class GenerateFilesTask extends AbstractEmptyTask {
14
14
  *
15
15
  * @param message The message to get rid of duplicate vehicle descriptors from
16
16
  * @param tripData The trip data to get start timestamps from
17
+ * @param options Options for the duplicate removal process
18
+ * @param options.removeVehicleOnly Whether to only remove the duplicate vehicle descriptor from the message entity, instead
19
+ * of removing the whole entity. Defaults to `false`. Note that if an entity with a duplicate vehicle descriptor does not
20
+ * contain any other valuable data, it will be removed regardless of this option.
17
21
  */
18
22
  private removeDuplicateVehicleDescriptors;
19
23
  /**
20
- * Update a given `EntityWithTripStartByVehicleId` Map with given values if the entity has a lower trip start date/time and is
21
- * not canceled
24
+ * Update a given `EntityWithTripStartByVehicleId` Map with given values if the new entity has a lower trip start date/time
25
+ * and is not canceled. The entity that does not end up in the map (either the new entity if it does not meet the conditions
26
+ * for the update or the original entity if the new entity does) is returned.
22
27
  *
23
28
  * @param entityWithTripStartByVehicleId The Map to update
24
29
  * @param vehicleId The vehicle ID to use as a key
@@ -8,6 +8,17 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
8
8
  step((generator = generator.apply(thisArg, _arguments || [])).next());
9
9
  });
10
10
  };
11
+ var __rest = (this && this.__rest) || function (s, e) {
12
+ var t = {};
13
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
14
+ t[p] = s[p];
15
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
16
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
17
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
18
+ t[p[i]] = s[p[i]];
19
+ }
20
+ return t;
21
+ };
11
22
  Object.defineProperty(exports, "__esModule", { value: true });
12
23
  exports.GenerateFilesTask = void 0;
13
24
  const RouteTypeEnums_1 = require("../../../../../helpers/RouteTypeEnums");
@@ -93,6 +104,7 @@ class GenerateFilesTask extends workers_1.AbstractEmptyTask {
93
104
  pidFeedMessage.entity.push(feedMessageEntity);
94
105
  }
95
106
  this.removeDuplicateVehicleDescriptors(positionsMessage, tripData);
107
+ this.removeDuplicateVehicleDescriptors(pidFeedMessage, tripData, { shouldRemoveVehicleOnly: true });
96
108
  this.validateAndSaveBuffer("trip_updates", updatesMessage);
97
109
  this.validateAndSaveBuffer("vehicle_positions", positionsMessage);
98
110
  this.validateAndSaveBuffer("pid_feed", pidFeedMessage);
@@ -104,12 +116,17 @@ class GenerateFilesTask extends workers_1.AbstractEmptyTask {
104
116
  *
105
117
  * @param message The message to get rid of duplicate vehicle descriptors from
106
118
  * @param tripData The trip data to get start timestamps from
119
+ * @param options Options for the duplicate removal process
120
+ * @param options.removeVehicleOnly Whether to only remove the duplicate vehicle descriptor from the message entity, instead
121
+ * of removing the whole entity. Defaults to `false`. Note that if an entity with a duplicate vehicle descriptor does not
122
+ * contain any other valuable data, it will be removed regardless of this option.
107
123
  */
108
- removeDuplicateVehicleDescriptors(message, tripData) {
124
+ removeDuplicateVehicleDescriptors(message, tripData, options = { shouldRemoveVehicleOnly: false }) {
109
125
  var _a, _b, _c;
110
126
  if (!message.entity)
111
127
  return;
112
128
  const entitiesWithoutVehicleId = [];
129
+ const entitiesWithoutTheirDuplicateVehicle = [];
113
130
  const entityWithTripStartByVehicleId = new Map();
114
131
  for (let i = 0; i < message.entity.length; i++) {
115
132
  const entity = message.entity[i];
@@ -122,16 +139,23 @@ class GenerateFilesTask extends workers_1.AbstractEmptyTask {
122
139
  entityWithTripStartByVehicleId.set(vehicleId, { entity, entityTripStart });
123
140
  }
124
141
  else {
125
- this.conditionallyUpdateEntityByVehicleId(entityWithTripStartByVehicleId, vehicleId, entity, entityTripStart);
142
+ const unusedEntity = this.conditionallyUpdateEntityByVehicleId(entityWithTripStartByVehicleId, vehicleId, entity, entityTripStart);
143
+ if (options.shouldRemoveVehicleOnly) {
144
+ const { vehicle = null } = unusedEntity, entityWithoutVehicle = __rest(unusedEntity, ["vehicle"]);
145
+ if (Object.keys(entityWithoutVehicle).find((key) => key !== "id")) {
146
+ entitiesWithoutTheirDuplicateVehicle.push(entityWithoutVehicle);
147
+ }
148
+ }
126
149
  }
127
150
  }
128
- message.entity = entitiesWithoutVehicleId;
151
+ message.entity = entitiesWithoutVehicleId.concat(entitiesWithoutTheirDuplicateVehicle);
129
152
  for (const { entity } of entityWithTripStartByVehicleId.values())
130
153
  message.entity.push(entity);
131
154
  }
132
155
  /**
133
- * Update a given `EntityWithTripStartByVehicleId` Map with given values if the entity has a lower trip start date/time and is
134
- * not canceled
156
+ * Update a given `EntityWithTripStartByVehicleId` Map with given values if the new entity has a lower trip start date/time
157
+ * and is not canceled. The entity that does not end up in the map (either the new entity if it does not meet the conditions
158
+ * for the update or the original entity if the new entity does) is returned.
135
159
  *
136
160
  * @param entityWithTripStartByVehicleId The Map to update
137
161
  * @param vehicleId The vehicle ID to use as a key
@@ -145,7 +169,9 @@ class GenerateFilesTask extends workers_1.AbstractEmptyTask {
145
169
  if (entityTripScheduleRelationship !== ovapi_gtfs_realtime_bindings_1.transit_realtime.TripDescriptor.ScheduleRelationship.CANCELED &&
146
170
  entityTripStart < mapItem.entityTripStart) {
147
171
  entityWithTripStartByVehicleId.set(vehicleId, { entity, entityTripStart });
172
+ return mapItem.entity;
148
173
  }
174
+ return entity;
149
175
  }
150
176
  generateStopTimeUpdate(stopTimeEvents, routeType) {
151
177
  const stopTimeUpdates = [];
@@ -1 +1 @@
1
- {"version":3,"file":"GenerateFilesTask.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/gtfs-rt/tasks/GenerateFilesTask.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GenerateFilesTask.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/gtfs-rt/tasks/GenerateFilesTask.ts"],"names":[],"mappings":"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"}
@@ -4,5 +4,8 @@ export declare enum MetroRouteName {
4
4
  LINE_C = "C"
5
5
  }
6
6
  export declare class MetroRouteHelper {
7
+ private static tripToRouteMetroMap;
7
8
  static getRouteId(routeName: MetroRouteName | string): string | undefined;
9
+ static getTripRouteMap(): Record<string, string>;
10
+ static getRouteName(tripId: string): string;
8
11
  }
@@ -16,6 +16,18 @@ 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
+ }
19
31
  }
20
32
  exports.MetroRouteHelper = MetroRouteHelper;
21
33
  //# 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;IAClB,MAAM,CAAC,UAAU,CAAC,SAAkC;QACvD,OAAO,YAAY,CAAC,SAAS,CAAC,CAAC;IACnC,CAAC;CACJ;AAJD,4CAIC"}
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,14 +1,11 @@
1
1
  import { IRegionalBusRunsMessagesModel } from "../../../../../../schema-definitions/vehicle-positions/models/interfaces/IRegionalBusRunsMessagesModel";
2
- import { ISimpleConfig } from "@golemio/core/dist/helpers/configuration/ISimpleConfig";
3
2
  import { ILogger } from "@golemio/core/dist/helpers/logger";
4
3
  import { IRegionalBusMessageFilter } from "./interfaces/IRegionalBusMessageFilter";
5
4
  export declare class RegionalBusMessageFilter implements IRegionalBusMessageFilter {
6
- private config;
7
5
  private logger;
8
- constructor(config: ISimpleConfig, logger: ILogger);
6
+ constructor(logger: ILogger);
9
7
  /**
10
8
  * Get messages that are valid for processing
11
9
  */
12
10
  getFilteredMessages(messages: IRegionalBusRunsMessagesModel[]): IRegionalBusRunsMessagesModel[];
13
- private get regNumberWhitelist();
14
11
  }
@@ -16,8 +16,7 @@ exports.RegionalBusMessageFilter = void 0;
16
16
  const CoreToken_1 = require("@golemio/core/dist/helpers/ioc/CoreToken");
17
17
  const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
18
18
  let RegionalBusMessageFilter = exports.RegionalBusMessageFilter = class RegionalBusMessageFilter {
19
- constructor(config, logger) {
20
- this.config = config;
19
+ constructor(logger) {
21
20
  this.logger = logger;
22
21
  }
23
22
  /**
@@ -26,13 +25,8 @@ let RegionalBusMessageFilter = exports.RegionalBusMessageFilter = class Regional
26
25
  getFilteredMessages(messages) {
27
26
  let filteredMessages = [];
28
27
  for (const message of messages) {
29
- if (message.cis_line_id && message.cis_trip_number && message.registration_number && message.events !== "") {
30
- if (this.regNumberWhitelist && !this.regNumberWhitelist.includes(message.registration_number.toString())) {
31
- this.logger.verbose(
32
- // eslint-disable-next-line max-len
33
- `getFilteredMessages: message with registration_number=${message.registration_number} is not in whitelist, skipping`);
34
- continue;
35
- }
28
+ const isValidMessage = message.cis_line_id && message.cis_trip_number && message.registration_number && message.events !== "";
29
+ if (isValidMessage) {
36
30
  filteredMessages.push(message);
37
31
  }
38
32
  }
@@ -41,20 +35,10 @@ let RegionalBusMessageFilter = exports.RegionalBusMessageFilter = class Regional
41
35
  }
42
36
  return filteredMessages;
43
37
  }
44
- get regNumberWhitelist() {
45
- const valuePath = "old.datasources.pid.vehicle-positions.regNumberWhitelist.regionalBus";
46
- const whitelistDict = this.config.getValue(valuePath, {});
47
- const whitelist = Object.values(whitelistDict);
48
- if (whitelist[0] !== "*") {
49
- return whitelist;
50
- }
51
- return null;
52
- }
53
38
  };
54
39
  exports.RegionalBusMessageFilter = RegionalBusMessageFilter = __decorate([
55
40
  (0, tsyringe_1.injectable)(),
56
- __param(0, (0, tsyringe_1.inject)(CoreToken_1.CoreToken.SimpleConfig)),
57
- __param(1, (0, tsyringe_1.inject)(CoreToken_1.CoreToken.Logger)),
58
- __metadata("design:paramtypes", [Object, Object])
41
+ __param(0, (0, tsyringe_1.inject)(CoreToken_1.CoreToken.Logger)),
42
+ __metadata("design:paramtypes", [Object])
59
43
  ], RegionalBusMessageFilter);
60
44
  //# sourceMappingURL=RegionalBusMessageFilter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RegionalBusMessageFilter.js","sourceRoot":"","sources":["../../../../../../../src/integration-engine/vehicle-positions/workers/runs/helpers/regional-bus/RegionalBusMessageFilter.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAEA,wEAAqE;AAErE,iEAAwE;AAIjE,IAAM,wBAAwB,sCAA9B,MAAM,wBAAwB;IACjC,YAC4C,MAAqB,EAC3B,MAAe;QADT,WAAM,GAAN,MAAM,CAAe;QAC3B,WAAM,GAAN,MAAM,CAAS;IAClD,CAAC;IAEJ;;OAEG;IACI,mBAAmB,CAAC,QAAyC;QAChE,IAAI,gBAAgB,GAAoC,EAAE,CAAC;QAC3D,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;YAC5B,IAAI,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,eAAe,IAAI,OAAO,CAAC,mBAAmB,IAAI,OAAO,CAAC,MAAM,KAAK,EAAE,EAAE;gBACxG,IAAI,IAAI,CAAC,kBAAkB,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,OAAO,CAAC,mBAAmB,CAAC,QAAQ,EAAE,CAAC,EAAE;oBACtG,IAAI,CAAC,MAAM,CAAC,OAAO;oBACf,mCAAmC;oBACnC,yDAAyD,OAAO,CAAC,mBAAmB,gCAAgC,CACvH,CAAC;oBACF,SAAS;iBACZ;gBAED,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aAClC;SACJ;QAED,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE;YAC/B,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,uDAAuD,CAAC,CAAC;SAChF;QAED,OAAO,gBAAgB,CAAC;IAC5B,CAAC;IAED,IAAY,kBAAkB;QAC1B,MAAM,SAAS,GAAG,sEAAsE,CAAC;QACzF,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAyB,SAAS,EAAE,EAAE,CAAC,CAAC;QAClF,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QAE/C,IAAI,SAAS,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;YACtB,OAAO,SAAS,CAAC;SACpB;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ,CAAA;mCA3CY,wBAAwB;IADpC,IAAA,qBAAU,GAAE;IAGJ,WAAA,IAAA,iBAAM,EAAC,qBAAS,CAAC,YAAY,CAAC,CAAA;IAC9B,WAAA,IAAA,iBAAM,EAAC,qBAAS,CAAC,MAAM,CAAC,CAAA;;GAHpB,wBAAwB,CA2CpC"}
1
+ {"version":3,"file":"RegionalBusMessageFilter.js","sourceRoot":"","sources":["../../../../../../../src/integration-engine/vehicle-positions/workers/runs/helpers/regional-bus/RegionalBusMessageFilter.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AACA,wEAAqE;AAErE,iEAAwE;AAIjE,IAAM,wBAAwB,sCAA9B,MAAM,wBAAwB;IACjC,YAA8C,MAAe;QAAf,WAAM,GAAN,MAAM,CAAS;IAAG,CAAC;IAEjE;;OAEG;IACI,mBAAmB,CAAC,QAAyC;QAChE,IAAI,gBAAgB,GAAoC,EAAE,CAAC;QAC3D,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;YAC5B,MAAM,cAAc,GAChB,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,eAAe,IAAI,OAAO,CAAC,mBAAmB,IAAI,OAAO,CAAC,MAAM,KAAK,EAAE,CAAC;YAE3G,IAAI,cAAc,EAAE;gBAChB,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aAClC;SACJ;QAED,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE;YAC/B,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,uDAAuD,CAAC,CAAC;SAChF;QAED,OAAO,gBAAgB,CAAC;IAC5B,CAAC;CACJ,CAAA;mCAvBY,wBAAwB;IADpC,IAAA,qBAAU,GAAE;IAEI,WAAA,IAAA,iBAAM,EAAC,qBAAS,CAAC,MAAM,CAAC,CAAA;;GAD5B,wBAAwB,CAuBpC"}
@@ -0,0 +1,9 @@
1
+ import { MetroRailtrackGPSRepository } from "../../../../../ropid-gtfs/workers/railtrack/tasks/data-access/MetroRailtrackGPSRepository";
2
+ import { IMetroRailtrackGPSModel } from "../../../../../../schema-definitions/ropid-gtfs/models/railtrack/interfaces/IMetroRailtrackGPSModel";
3
+ export declare class CachedMetroRailTrackLookup {
4
+ private metroRailtrackGPSRepository;
5
+ private cachedLookup;
6
+ constructor(metroRailtrackGPSRepository: MetroRailtrackGPSRepository);
7
+ getAllByRouteName(route_name: string): Promise<IMetroRailtrackGPSModel[]>;
8
+ private groupByRouteName;
9
+ }
@@ -0,0 +1,59 @@
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
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
15
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
16
+ return new (P || (P = Promise))(function (resolve, reject) {
17
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
18
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
19
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
20
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
21
+ });
22
+ };
23
+ Object.defineProperty(exports, "__esModule", { value: true });
24
+ exports.CachedMetroRailTrackLookup = void 0;
25
+ const MetroRailtrackGPSRepository_1 = require("../../../../../ropid-gtfs/workers/railtrack/tasks/data-access/MetroRailtrackGPSRepository");
26
+ const VPContainerToken_1 = require("../../../../ioc/VPContainerToken");
27
+ const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
28
+ /*
29
+ * In case of update of the data for metro railtrack. It is necessary to restart the service to reload cache.
30
+ */
31
+ let CachedMetroRailTrackLookup = exports.CachedMetroRailTrackLookup = class CachedMetroRailTrackLookup {
32
+ constructor(metroRailtrackGPSRepository) {
33
+ this.metroRailtrackGPSRepository = metroRailtrackGPSRepository;
34
+ }
35
+ getAllByRouteName(route_name) {
36
+ return __awaiter(this, void 0, void 0, function* () {
37
+ if (!this.cachedLookup) {
38
+ const result = yield this.metroRailtrackGPSRepository["sequelizeModel"].findAll({
39
+ raw: true,
40
+ });
41
+ this.cachedLookup = this.groupByRouteName(result);
42
+ }
43
+ return this.cachedLookup[route_name];
44
+ });
45
+ }
46
+ groupByRouteName(result) {
47
+ return result.reduce((r, a) => {
48
+ r[a.route_name] = r[a.route_name] || [];
49
+ r[a.route_name].push(a);
50
+ return r;
51
+ }, Object.create(null));
52
+ }
53
+ };
54
+ exports.CachedMetroRailTrackLookup = CachedMetroRailTrackLookup = __decorate([
55
+ (0, tsyringe_1.injectable)(),
56
+ __param(0, (0, tsyringe_1.inject)(VPContainerToken_1.VPContainerToken.MetroRailtrackGPSRepository)),
57
+ __metadata("design:paramtypes", [MetroRailtrackGPSRepository_1.MetroRailtrackGPSRepository])
58
+ ], CachedMetroRailTrackLookup);
59
+ //# sourceMappingURL=CachedMetroRailtrackLookup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CachedMetroRailtrackLookup.js","sourceRoot":"","sources":["../../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/metro/CachedMetroRailtrackLookup.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,2IAA6H;AAC7H,uEAA8E;AAG9E,iEAAwE;AAExE;;GAEG;AAGI,IAAM,0BAA0B,wCAAhC,MAAM,0BAA0B;IAGnC,YACkE,2BAAwD;QAAxD,gCAA2B,GAA3B,2BAA2B,CAA6B;IACvH,CAAC;IAES,iBAAiB,CAAC,UAAkB;;YAC7C,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;gBACpB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,2BAA2B,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAyB;oBACpG,GAAG,EAAE,IAAI;iBACZ,CAAC,CAAC;gBACH,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;aACrD;YAED,OAAO,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;QACzC,CAAC;KAAA;IAEO,gBAAgB,CAAC,MAAgC;QACrD,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YAC1B,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;YACxC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACxB,OAAO,CAAC,CAAC;QACb,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IAC5B,CAAC;CACJ,CAAA;qCAzBY,0BAA0B;IADtC,IAAA,qBAAU,GAAE;IAKJ,WAAA,IAAA,iBAAM,EAAC,mCAAgB,CAAC,2BAA2B,CAAC,CAAA;qCAAsC,yDAA2B;GAJjH,0BAA0B,CAyBtC"}
@@ -2,6 +2,9 @@ import { RopidGTFSTripsModel } from "../../../../ropid-gtfs/RopidGTFSTripsModel"
2
2
  import { IComputationTrip } from "../interfaces/VPInterfaces";
3
3
  export declare class DelayComputationManager {
4
4
  private readonly gtfsTripsRepository;
5
+ private METRO_TRIP_PREFIX_REGEX;
6
+ private stepBetweenPoints;
7
+ private stepBetweenPointsforMetro;
5
8
  constructor(gtfsTripsRepository: RopidGTFSTripsModel);
6
9
  /**
7
10
  * Return shape anchor points along trip track shape with stop times parameters