@golemio/pid 2.13.1-dev.1284390928 → 2.13.1-dev.1285929601

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 (54) hide show
  1. package/dist/integration-engine/vehicle-positions/ioc/Di.js +14 -0
  2. package/dist/integration-engine/vehicle-positions/ioc/Di.js.map +1 -1
  3. package/dist/integration-engine/vehicle-positions/ioc/VPContainerToken.d.ts +7 -0
  4. package/dist/integration-engine/vehicle-positions/ioc/VPContainerToken.js +7 -0
  5. package/dist/integration-engine/vehicle-positions/ioc/VPContainerToken.js.map +1 -1
  6. package/dist/integration-engine/vehicle-positions/workers/runs/RunsWorker.js +4 -8
  7. package/dist/integration-engine/vehicle-positions/workers/runs/RunsWorker.js.map +1 -1
  8. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/BusMessageFilter.d.ts +4 -2
  9. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/BusMessageFilter.js +13 -3
  10. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/BusMessageFilter.js.map +1 -1
  11. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/TimestampValidator.d.ts +6 -0
  12. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/TimestampValidator.js +38 -0
  13. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/TimestampValidator.js.map +1 -0
  14. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/TramMessageFilter.d.ts +5 -2
  15. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/TramMessageFilter.js +14 -3
  16. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/TramMessageFilter.js.map +1 -1
  17. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/interfaces/ICommonMessageFilter.d.ts +1 -1
  18. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/regional-bus/RegionalBusMessageFilter.d.ts +4 -2
  19. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/regional-bus/RegionalBusMessageFilter.js +13 -3
  20. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/regional-bus/RegionalBusMessageFilter.js.map +1 -1
  21. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/regional-bus/RegionalBusRunsFacade.d.ts +4 -4
  22. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/regional-bus/RegionalBusRunsFacade.js +4 -3
  23. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/regional-bus/RegionalBusRunsFacade.js.map +1 -1
  24. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/regional-bus/interfaces/IRegionalBusMessageFilter.d.ts +1 -1
  25. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/regional-bus/interfaces/IRegionalBusRunsFacade.d.ts +2 -2
  26. package/dist/integration-engine/vehicle-positions/workers/runs/interfaces/MetroRunsMessageInterfaces.d.ts +3 -0
  27. package/dist/integration-engine/vehicle-positions/workers/runs/interfaces/RegionalBusRunsMessageInterfaces.d.ts +4 -0
  28. package/dist/integration-engine/vehicle-positions/workers/runs/schema/RegionalBusTransformedRunsSchema.js +4 -0
  29. package/dist/integration-engine/vehicle-positions/workers/runs/schema/RegionalBusTransformedRunsSchema.js.map +1 -1
  30. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/ProcessMetroRunMessagesTask.d.ts +1 -1
  31. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/ProcessMetroRunMessagesTask.js +19 -5
  32. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/ProcessMetroRunMessagesTask.js.map +1 -1
  33. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/SaveArrivaCityRunsToDBTask.d.ts +2 -2
  34. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/SaveArrivaCityRunsToDBTask.js +11 -2
  35. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/SaveArrivaCityRunsToDBTask.js.map +1 -1
  36. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/SaveBusRunsToDBTask.d.ts +1 -1
  37. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/SaveBusRunsToDBTask.js +21 -8
  38. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/SaveBusRunsToDBTask.js.map +1 -1
  39. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/SaveMetroRunsToDBTask.d.ts +5 -1
  40. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/SaveMetroRunsToDBTask.js +42 -8
  41. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/SaveMetroRunsToDBTask.js.map +1 -1
  42. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/SaveTramRunsToDBTask.d.ts +1 -1
  43. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/SaveTramRunsToDBTask.js +21 -8
  44. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/SaveTramRunsToDBTask.js.map +1 -1
  45. package/dist/integration-engine/vehicle-positions/workers/runs/transformations/CommonRunsMessagesTransformation.d.ts +3 -1
  46. package/dist/integration-engine/vehicle-positions/workers/runs/transformations/CommonRunsMessagesTransformation.js +28 -7
  47. package/dist/integration-engine/vehicle-positions/workers/runs/transformations/CommonRunsMessagesTransformation.js.map +1 -1
  48. package/dist/integration-engine/vehicle-positions/workers/runs/transformations/MetroRunsMessagesTransformation.d.ts +2 -2
  49. package/dist/integration-engine/vehicle-positions/workers/runs/transformations/MetroRunsMessagesTransformation.js +1 -1
  50. package/dist/integration-engine/vehicle-positions/workers/runs/transformations/MetroRunsMessagesTransformation.js.map +1 -1
  51. package/dist/integration-engine/vehicle-positions/workers/runs/transformations/RegionalBusRunsMessagesTransformation.js +1 -0
  52. package/dist/integration-engine/vehicle-positions/workers/runs/transformations/RegionalBusRunsMessagesTransformation.js.map +1 -1
  53. package/dist/schema-definitions/vehicle-positions/models/interfaces/IRegionalBusRunsMessagesModel.d.ts +1 -0
  54. package/package.json +1 -1
@@ -35,6 +35,13 @@ const RefreshPublicStopTimeCacheTask_1 = require("../workers/vehicle-positions/t
35
35
  const RefreshPublicTripCacheTask_1 = require("../workers/vehicle-positions/tasks/RefreshPublicTripCacheTask");
36
36
  const PublicApiTripTransformation_1 = require("../workers/vehicle-positions/transformations/PublicApiTripTransformation");
37
37
  const VPContainerToken_1 = require("./VPContainerToken");
38
+ const TimestampValidator_1 = require("../workers/runs/helpers/TimestampValidator");
39
+ const CommonRunsMessagesTransformation_1 = require("../workers/runs/transformations/CommonRunsMessagesTransformation");
40
+ const MetroRunsMessagesTransformation_1 = require("../workers/runs/transformations/MetroRunsMessagesTransformation");
41
+ const SaveTramRunsToDBTask_1 = require("../workers/runs/tasks/SaveTramRunsToDBTask");
42
+ const SaveBusRunsToDBTask_1 = require("../workers/runs/tasks/SaveBusRunsToDBTask");
43
+ const SaveMetroRunsToDBTask_1 = require("../workers/runs/tasks/SaveMetroRunsToDBTask");
44
+ const ProcessMetroRunMessagesTask_1 = require("../workers/runs/tasks/ProcessMetroRunMessagesTask");
38
45
  //#region Initialization
39
46
  const VPContainer = Di_1.PidContainer.createChildContainer();
40
47
  exports.VPContainer = VPContainer;
@@ -59,6 +66,8 @@ VPContainer.registerSingleton(VPContainerToken_1.VPContainerToken.CachedMetroRai
59
66
  VPContainer.register(VPContainerToken_1.VPContainerToken.DescriptorTransformation, DescriptorTransformation_1.DescriptorTransformation);
60
67
  VPContainer.register(VPContainerToken_1.VPContainerToken.RegionalBusRunsMessagesTransformation, RegionalBusRunsMessagesTransformation_1.RegionalBusRunsMessagesTransformation);
61
68
  VPContainer.register(VPContainerToken_1.VPContainerToken.PublicApiTripTransformation, PublicApiTripTransformation_1.PublicApiTripTransformation);
69
+ VPContainer.register(VPContainerToken_1.VPContainerToken.CommonRunsMessagesTransformation, CommonRunsMessagesTransformation_1.CommonRunsMessagesTransformation);
70
+ VPContainer.register(VPContainerToken_1.VPContainerToken.MetroRunsMessagesTransformation, MetroRunsMessagesTransformation_1.MetroRunsMessagesTransformation);
62
71
  //#endregion
63
72
  //#region Helpers
64
73
  VPContainer.registerSingleton(VPContainerToken_1.VPContainerToken.DescriptorFilter, DescriptorFilter_1.DescriptorFilter);
@@ -71,6 +80,7 @@ VPContainer.registerSingleton(VPContainerToken_1.VPContainerToken.RegionalBusMes
71
80
  VPContainer.registerSingleton(VPContainerToken_1.VPContainerToken.RegionalBusRunsFacade, RegionalBusRunsFacade_1.RegionalBusRunsFacade);
72
81
  VPContainer.registerSingleton(VPContainerToken_1.VPContainerToken.HttpGtfsTripDataFixer, HttpGtfsTripDataFixer_1.HttpGtfsTripDataFixer);
73
82
  VPContainer.registerSingleton(VPContainerToken_1.VPContainerToken.GtfsTripDataFixerFactory, GtfsTripDataFixerFactory_1.GtfsTripDataFixerFactory);
83
+ VPContainer.registerSingleton(VPContainerToken_1.VPContainerToken.TimestampValidator, TimestampValidator_1.TimestampValidator);
74
84
  //#endregion
75
85
  //#region Helpers
76
86
  VPContainer.register(VPContainerToken_1.VPContainerToken.MetroShapePointsFixer, MetroShapePointsFixer_1.MetroShapePointsFixer);
@@ -82,4 +92,8 @@ VPContainer.registerSingleton(VPContainerToken_1.VPContainerToken.ProcessRegiona
82
92
  VPContainer.registerSingleton(VPContainerToken_1.VPContainerToken.RefreshPublicTripCacheTask, RefreshPublicTripCacheTask_1.RefreshPublicTripCacheTask);
83
93
  VPContainer.registerSingleton(VPContainerToken_1.VPContainerToken.RefreshPublicStopTimeCacheTask, RefreshPublicStopTimeCacheTask_1.RefreshPublicStopTimeCacheTask);
84
94
  VPContainer.registerSingleton(VPContainerToken_1.VPContainerToken.RefreshGtfsTripDataTask, RefreshGtfsTripDataTask_1.RefreshGtfsTripDataTask);
95
+ VPContainer.register(VPContainerToken_1.VPContainerToken.SaveTramRunsToDBTask, SaveTramRunsToDBTask_1.SaveTramRunsToDBTask);
96
+ VPContainer.register(VPContainerToken_1.VPContainerToken.SaveBusRunsToDBTask, SaveBusRunsToDBTask_1.SaveBusRunsToDBTask);
97
+ VPContainer.register(VPContainerToken_1.VPContainerToken.SaveMetroRunsToDBTask, SaveMetroRunsToDBTask_1.SaveMetroRunsToDBTask);
98
+ VPContainer.register(VPContainerToken_1.VPContainerToken.ProcessMetroRunMessagesTask, ProcessMetroRunMessagesTask_1.ProcessMetroRunMessagesTask);
85
99
  //# sourceMappingURL=Di.js.map
@@ -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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"}
@@ -21,7 +21,13 @@ declare const VPContainerToken: {
21
21
  RegionalBusMessageFilter: symbol;
22
22
  RegionalBusRunsFacade: symbol;
23
23
  SaveArrivaCityRunsToDBTask: symbol;
24
+ SaveTramRunsToDBTask: symbol;
25
+ SaveBusRunsToDBTask: symbol;
26
+ SaveMetroRunsToDBTask: symbol;
27
+ ProcessMetroRunMessagesTask: symbol;
24
28
  ProcessRegionalBusRunMessagesTask: symbol;
29
+ MetroRunsMessagesTransformation: symbol;
30
+ CommonRunsMessagesTransformation: symbol;
25
31
  SeznamAutobusuDataSourceProvider: symbol;
26
32
  DescriptorDataSourceFactory: symbol;
27
33
  DescriptorRepository: symbol;
@@ -32,5 +38,6 @@ declare const VPContainerToken: {
32
38
  MetroRailtrackGPSRepository: symbol;
33
39
  CachedMetroRailTrackLookup: symbol;
34
40
  MetroShapePointsFixer: symbol;
41
+ TimestampValidator: symbol;
35
42
  };
36
43
  export { VPContainerToken };
@@ -27,7 +27,13 @@ const VPContainerToken = {
27
27
  RegionalBusMessageFilter: Symbol(),
28
28
  RegionalBusRunsFacade: Symbol(),
29
29
  SaveArrivaCityRunsToDBTask: Symbol(),
30
+ SaveTramRunsToDBTask: Symbol(),
31
+ SaveBusRunsToDBTask: Symbol(),
32
+ SaveMetroRunsToDBTask: Symbol(),
33
+ ProcessMetroRunMessagesTask: Symbol(),
30
34
  ProcessRegionalBusRunMessagesTask: Symbol(),
35
+ MetroRunsMessagesTransformation: Symbol(),
36
+ CommonRunsMessagesTransformation: Symbol(),
31
37
  //#endregion
32
38
  //#region Vehicle Descriptors
33
39
  SeznamAutobusuDataSourceProvider: Symbol(),
@@ -45,6 +51,7 @@ const VPContainerToken = {
45
51
  //#endregion
46
52
  //#region Helpers
47
53
  MetroShapePointsFixer: Symbol(),
54
+ TimestampValidator: Symbol(),
48
55
  //#endregion
49
56
  //#endregion
50
57
  };
@@ -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,cAAc,EAAE,MAAM,EAAE;IACxB,wBAAwB,EAAE,MAAM,EAAE;IAClC,wBAAwB,EAAE,MAAM,EAAE;IAClC,6BAA6B,EAAE,MAAM,EAAE;IACvC,2BAA2B,EAAE,MAAM,EAAE;IACrC,wBAAwB,EAAE,MAAM,EAAE;IAClC,qBAAqB,EAAE,MAAM,EAAE;IAC/B,0BAA0B,EAAE,MAAM,EAAE;IACpC,8BAA8B,EAAE,MAAM,EAAE;IACxC,uBAAuB,EAAE,MAAM,EAAE;IACjC,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,gBAAgB,EAAE,MAAM,EAAE;IAC1B,iBAAiB,EAAE,MAAM,EAAE;IAC3B,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"}
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,cAAc,EAAE,MAAM,EAAE;IACxB,wBAAwB,EAAE,MAAM,EAAE;IAClC,wBAAwB,EAAE,MAAM,EAAE;IAClC,6BAA6B,EAAE,MAAM,EAAE;IACvC,2BAA2B,EAAE,MAAM,EAAE;IACrC,wBAAwB,EAAE,MAAM,EAAE;IAClC,qBAAqB,EAAE,MAAM,EAAE;IAC/B,0BAA0B,EAAE,MAAM,EAAE;IACpC,8BAA8B,EAAE,MAAM,EAAE;IACxC,uBAAuB,EAAE,MAAM,EAAE;IACjC,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,gBAAgB,EAAE,MAAM,EAAE;IAC1B,iBAAiB,EAAE,MAAM,EAAE;IAC3B,wBAAwB,EAAE,MAAM,EAAE;IAClC,qBAAqB,EAAE,MAAM,EAAE;IAC/B,0BAA0B,EAAE,MAAM,EAAE;IACpC,oBAAoB,EAAE,MAAM,EAAE;IAC9B,mBAAmB,EAAE,MAAM,EAAE;IAC7B,qBAAqB,EAAE,MAAM,EAAE;IAC/B,2BAA2B,EAAE,MAAM,EAAE;IACrC,iCAAiC,EAAE,MAAM,EAAE;IAC3C,+BAA+B,EAAE,MAAM,EAAE;IACzC,gCAAgC,EAAE,MAAM,EAAE;IAE1C,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,kBAAkB,EAAE,MAAM,EAAE;IAC5B,YAAY;IAEZ,YAAY;CACf,CAAC;AAEO,4CAAgB"}
@@ -5,10 +5,6 @@ const Di_1 = require("../../ioc/Di");
5
5
  const VPContainerToken_1 = require("../../ioc/VPContainerToken");
6
6
  const workers_1 = require("@golemio/core/dist/integration-engine/workers");
7
7
  const constants_1 = require("./constants");
8
- const ProcessMetroRunMessagesTask_1 = require("./tasks/ProcessMetroRunMessagesTask");
9
- const SaveBusRunsToDBTask_1 = require("./tasks/SaveBusRunsToDBTask");
10
- const SaveMetroRunsToDBTask_1 = require("./tasks/SaveMetroRunsToDBTask");
11
- const SaveTramRunsToDBTask_1 = require("./tasks/SaveTramRunsToDBTask");
12
8
  class RunsWorker extends workers_1.AbstractWorker {
13
9
  constructor() {
14
10
  super();
@@ -20,10 +16,10 @@ class RunsWorker extends workers_1.AbstractWorker {
20
16
  // Register tasks
21
17
  this.registerTask(Di_1.VPContainer.resolve(VPContainerToken_1.VPContainerToken.SaveArrivaCityRunsToDBTask));
22
18
  this.registerTask(Di_1.VPContainer.resolve(VPContainerToken_1.VPContainerToken.ProcessRegionalBusRunMessagesTask));
23
- this.registerTask(new SaveBusRunsToDBTask_1.SaveBusRunsToDBTask(this.getQueuePrefix()));
24
- this.registerTask(new SaveTramRunsToDBTask_1.SaveTramRunsToDBTask(this.getQueuePrefix()));
25
- this.registerTask(new SaveMetroRunsToDBTask_1.SaveMetroRunsToDBTask(this.getQueuePrefix()));
26
- this.registerTask(new ProcessMetroRunMessagesTask_1.ProcessMetroRunMessagesTask(this.getQueuePrefix()));
19
+ this.registerTask(Di_1.VPContainer.resolve(VPContainerToken_1.VPContainerToken.SaveTramRunsToDBTask));
20
+ this.registerTask(Di_1.VPContainer.resolve(VPContainerToken_1.VPContainerToken.SaveBusRunsToDBTask));
21
+ this.registerTask(Di_1.VPContainer.resolve(VPContainerToken_1.VPContainerToken.SaveMetroRunsToDBTask));
22
+ this.registerTask(Di_1.VPContainer.resolve(VPContainerToken_1.VPContainerToken.ProcessMetroRunMessagesTask));
27
23
  }
28
24
  }
29
25
  exports.RunsWorker = RunsWorker;
@@ -1 +1 @@
1
- {"version":3,"file":"RunsWorker.js","sourceRoot":"","sources":["../../../../../src/integration-engine/vehicle-positions/workers/runs/RunsWorker.ts"],"names":[],"mappings":";;;AAAA,qCAA2D;AAC3D,iEAA8E;AAC9E,2EAA6F;AAC7F,2CAA0C;AAC1C,qFAAkF;AAClF,qEAAkE;AAClE,yEAAsE;AACtE,uEAAoE;AAEpE,MAAa,UAAW,SAAQ,wBAAc;IAG1C;QACI,KAAK,EAAE,CAAC;QAHF,SAAI,GAAG,uBAAW,CAAC;QActB,iBAAY,GAAG,CAAC,IAAuB,EAAQ,EAAE;YACpD,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;YACzB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QAC7C,CAAC,CAAC;QAZE,iBAAiB;QACjB,IAAI,CAAC,YAAY,CAAC,gBAAW,CAAC,OAAO,CAAC,mCAAgB,CAAC,0BAA0B,CAAC,CAAC,CAAC;QACpF,IAAI,CAAC,YAAY,CAAC,gBAAW,CAAC,OAAO,CAAC,mCAAgB,CAAC,iCAAiC,CAAC,CAAC,CAAC;QAC3F,IAAI,CAAC,YAAY,CAAC,IAAI,yCAAmB,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;QAClE,IAAI,CAAC,YAAY,CAAC,IAAI,2CAAoB,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;QACnE,IAAI,CAAC,YAAY,CAAC,IAAI,6CAAqB,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;QACpE,IAAI,CAAC,YAAY,CAAC,IAAI,yDAA2B,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;IAC9E,CAAC;CAMJ;AAnBD,gCAmBC"}
1
+ {"version":3,"file":"RunsWorker.js","sourceRoot":"","sources":["../../../../../src/integration-engine/vehicle-positions/workers/runs/RunsWorker.ts"],"names":[],"mappings":";;;AAAA,qCAA2D;AAC3D,iEAA8E;AAC9E,2EAA6F;AAC7F,2CAA0C;AAM1C,MAAa,UAAW,SAAQ,wBAAc;IAG1C;QACI,KAAK,EAAE,CAAC;QAHF,SAAI,GAAG,uBAAW,CAAC;QAetB,iBAAY,GAAG,CAAC,IAAuB,EAAQ,EAAE;YACpD,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;YACzB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QAC7C,CAAC,CAAC;QAbE,iBAAiB;QACjB,IAAI,CAAC,YAAY,CAAC,gBAAW,CAAC,OAAO,CAAC,mCAAgB,CAAC,0BAA0B,CAAC,CAAC,CAAC;QACpF,IAAI,CAAC,YAAY,CAAC,gBAAW,CAAC,OAAO,CAAC,mCAAgB,CAAC,iCAAiC,CAAC,CAAC,CAAC;QAC3F,IAAI,CAAC,YAAY,CAAC,gBAAW,CAAC,OAAO,CAAuB,mCAAgB,CAAC,oBAAoB,CAAC,CAAC,CAAC;QAEpG,IAAI,CAAC,YAAY,CAAC,gBAAW,CAAC,OAAO,CAAsB,mCAAgB,CAAC,mBAAmB,CAAC,CAAC,CAAC;QAClG,IAAI,CAAC,YAAY,CAAC,gBAAW,CAAC,OAAO,CAAwB,mCAAgB,CAAC,qBAAqB,CAAC,CAAC,CAAC;QACtG,IAAI,CAAC,YAAY,CAAC,gBAAW,CAAC,OAAO,CAA8B,mCAAgB,CAAC,2BAA2B,CAAC,CAAC,CAAC;IACtH,CAAC;CAMJ;AApBD,gCAoBC"}
@@ -1,14 +1,16 @@
1
1
  import { ICommonRunWithMessageDto } from "../../../../../schema-definitions/vehicle-positions/models/interfaces/ICommonRunWithMessageDto";
2
2
  import { ILogger } from "@golemio/core/dist/helpers/logger";
3
3
  import { ICommonMessageFilter } from "./interfaces/ICommonMessageFilter";
4
+ import { TimestampValidator } from "./TimestampValidator";
4
5
  export declare class BusMessageFilter implements ICommonMessageFilter {
5
6
  private logger;
6
- constructor(logger: ILogger);
7
+ private timestampValidator;
8
+ constructor(logger: ILogger, timestampValidator: TimestampValidator);
7
9
  /**
8
10
  * Yield messages that are valid for processing (filter out internal bus lines)
9
11
  * - route id is a string of length 3 or more
10
12
  * - route id is a number in range of bus and trolleybus lines
11
13
  * - route id >= 100 (bus) ∪ [50, 69] (trolleybus)
12
14
  */
13
- yieldFilteredMessages(messages: ICommonRunWithMessageDto[]): Generator<ICommonRunWithMessageDto>;
15
+ yieldFilteredMessages(messages: ICommonRunWithMessageDto[], timestamp: number): Generator<ICommonRunWithMessageDto>;
14
16
  }
@@ -15,11 +15,15 @@ Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.BusMessageFilter = 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
+ const VPContainerToken_1 = require("../../../ioc/VPContainerToken");
19
+ const TimestampValidator_1 = require("./TimestampValidator");
20
+ const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
18
21
  const TROLLEYBUS_ROUTE_ID_MIN = 50;
19
22
  const TROLLEYBUS_ROUTE_ID_MAX = 69;
20
23
  let BusMessageFilter = exports.BusMessageFilter = class BusMessageFilter {
21
- constructor(logger) {
24
+ constructor(logger, timestampValidator) {
22
25
  this.logger = logger;
26
+ this.timestampValidator = timestampValidator;
23
27
  }
24
28
  /**
25
29
  * Yield messages that are valid for processing (filter out internal bus lines)
@@ -27,9 +31,14 @@ let BusMessageFilter = exports.BusMessageFilter = class BusMessageFilter {
27
31
  * - route id is a number in range of bus and trolleybus lines
28
32
  * - route id >= 100 (bus) ∪ [50, 69] (trolleybus)
29
33
  */
30
- *yieldFilteredMessages(messages) {
34
+ *yieldFilteredMessages(messages, timestamp) {
31
35
  for (const message of messages) {
32
36
  const { run } = message;
37
+ if (!this.timestampValidator.isTimestampValid(timestamp, message.run_message.actual_stop_timestamp_real.toString())) {
38
+ this.logger.error(new golemio_errors_1.GeneralError(`Message timestamp 'takt' of value ${message.run_message.actual_stop_timestamp_real} is not valid ` +
39
+ `for line ${message.run.line_short_name}, run ${message.run.run_number}`, this.constructor.name, undefined, undefined, "pid"));
40
+ continue;
41
+ }
33
42
  if (run.route_id.length > 2) {
34
43
  yield message;
35
44
  continue;
@@ -47,6 +56,7 @@ let BusMessageFilter = exports.BusMessageFilter = class BusMessageFilter {
47
56
  exports.BusMessageFilter = BusMessageFilter = __decorate([
48
57
  (0, tsyringe_1.injectable)(),
49
58
  __param(0, (0, tsyringe_1.inject)(CoreToken_1.CoreToken.Logger)),
50
- __metadata("design:paramtypes", [Object])
59
+ __param(1, (0, tsyringe_1.inject)(VPContainerToken_1.VPContainerToken.TimestampValidator)),
60
+ __metadata("design:paramtypes", [Object, TimestampValidator_1.TimestampValidator])
51
61
  ], BusMessageFilter);
52
62
  //# sourceMappingURL=BusMessageFilter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BusMessageFilter.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/runs/helpers/BusMessageFilter.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AACA,wEAAqE;AAErE,iEAAwE;AAGxE,MAAM,uBAAuB,GAAG,EAAE,CAAC;AACnC,MAAM,uBAAuB,GAAG,EAAE,CAAC;AAG5B,IAAM,gBAAgB,8BAAtB,MAAM,gBAAgB;IACzB,YAA8C,MAAe;QAAf,WAAM,GAAN,MAAM,CAAS;IAAG,CAAC;IAEjE;;;;;OAKG;IACI,CAAC,qBAAqB,CAAC,QAAoC;QAC9D,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;YAC5B,MAAM,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC;YACxB,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;gBACzB,MAAM,OAAO,CAAC;gBACd,SAAS;aACZ;YAED,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC9C,IAAI,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,OAAO,GAAG,uBAAuB,IAAI,OAAO,GAAG,uBAAuB,EAAE;gBACjG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,cAAc,OAAO,6BAA6B,CAAC,CAAC;gBAC7F,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBAC3B,SAAS;aACZ;YAED,MAAM,OAAO,CAAC;SACjB;IACL,CAAC;CACJ,CAAA;2BA3BY,gBAAgB;IAD5B,IAAA,qBAAU,GAAE;IAEI,WAAA,IAAA,iBAAM,EAAC,qBAAS,CAAC,MAAM,CAAC,CAAA;;GAD5B,gBAAgB,CA2B5B"}
1
+ {"version":3,"file":"BusMessageFilter.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/runs/helpers/BusMessageFilter.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AACA,wEAAqE;AAErE,iEAAwE;AAExE,oEAA8E;AAC9E,6DAA0D;AAC1D,6EAAwE;AAExE,MAAM,uBAAuB,GAAG,EAAE,CAAC;AACnC,MAAM,uBAAuB,GAAG,EAAE,CAAC;AAG5B,IAAM,gBAAgB,8BAAtB,MAAM,gBAAgB;IACzB,YACsC,MAAe,EACI,kBAAsC;QADzD,WAAM,GAAN,MAAM,CAAS;QACI,uBAAkB,GAAlB,kBAAkB,CAAoB;IAC5F,CAAC;IAEJ;;;;;OAKG;IACI,CAAC,qBAAqB,CAAC,QAAoC,EAAE,SAAiB;QACjF,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;YAC5B,MAAM,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC;YAExB,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,SAAS,EAAE,OAAO,CAAC,WAAW,CAAC,0BAA0B,CAAC,QAAQ,EAAE,CAAC,EAAE;gBACjH,IAAI,CAAC,MAAM,CAAC,KAAK,CACb,IAAI,6BAAY,CACZ,qCAAqC,OAAO,CAAC,WAAW,CAAC,0BAA0B,gBAAgB;oBAC/F,YAAY,OAAO,CAAC,GAAG,CAAC,eAAe,SAAS,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,EAC5E,IAAI,CAAC,WAAW,CAAC,IAAI,EACrB,SAAS,EACT,SAAS,EACT,KAAK,CACR,CACJ,CAAC;gBACF,SAAS;aACZ;YACD,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;gBACzB,MAAM,OAAO,CAAC;gBACd,SAAS;aACZ;YAED,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC9C,IAAI,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,OAAO,GAAG,uBAAuB,IAAI,OAAO,GAAG,uBAAuB,EAAE;gBACjG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,cAAc,OAAO,6BAA6B,CAAC,CAAC;gBAC7F,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBAC3B,SAAS;aACZ;YAED,MAAM,OAAO,CAAC;SACjB;IACL,CAAC;CACJ,CAAA;2BA5CY,gBAAgB;IAD5B,IAAA,qBAAU,GAAE;IAGJ,WAAA,IAAA,iBAAM,EAAC,qBAAS,CAAC,MAAM,CAAC,CAAA;IACxB,WAAA,IAAA,iBAAM,EAAC,mCAAgB,CAAC,kBAAkB,CAAC,CAAA;6CAA6B,uCAAkB;GAHtF,gBAAgB,CA4C5B"}
@@ -0,0 +1,6 @@
1
+ import { ISimpleConfig } from "@golemio/core/dist/helpers/configuration/ISimpleConfig";
2
+ export declare class TimestampValidator {
3
+ private config;
4
+ constructor(config: ISimpleConfig);
5
+ isTimestampValid(now: number, timestamp: string): boolean;
6
+ }
@@ -0,0 +1,38 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.TimestampValidator = void 0;
16
+ const CoreToken_1 = require("@golemio/core/dist/helpers/ioc/CoreToken");
17
+ const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
18
+ let TimestampValidator = exports.TimestampValidator = class TimestampValidator {
19
+ constructor(config) {
20
+ this.config = config;
21
+ }
22
+ isTimestampValid(now, timestamp) {
23
+ const convertedTimestamp = new Date(timestamp).getTime();
24
+ let convertedNow = new Date(now);
25
+ const before = convertedNow.setMinutes(convertedNow.getMinutes() -
26
+ Number(this.config.getValue("module.pid.vehicle-positions.tcpTimestampTolerance.beforeTimestamp", 120)));
27
+ convertedNow = new Date(now);
28
+ const after = convertedNow.setMinutes(convertedNow.getMinutes() +
29
+ Number(this.config.getValue("module.pid.vehicle-positions.tcpTimestampTolerance.afterTimestamp", 1)));
30
+ return convertedTimestamp >= before && convertedTimestamp <= after;
31
+ }
32
+ };
33
+ exports.TimestampValidator = TimestampValidator = __decorate([
34
+ (0, tsyringe_1.injectable)(),
35
+ __param(0, (0, tsyringe_1.inject)(CoreToken_1.CoreToken.SimpleConfig)),
36
+ __metadata("design:paramtypes", [Object])
37
+ ], TimestampValidator);
38
+ //# sourceMappingURL=TimestampValidator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TimestampValidator.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/runs/helpers/TimestampValidator.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AACA,wEAAqE;AACrE,iEAAwE;AAGjE,IAAM,kBAAkB,gCAAxB,MAAM,kBAAkB;IAC3B,YAAoD,MAAqB;QAArB,WAAM,GAAN,MAAM,CAAe;IAAG,CAAC;IAEtE,gBAAgB,CAAC,GAAW,EAAE,SAAiB;QAClD,MAAM,kBAAkB,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC;QAEzD,IAAI,YAAY,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC;QAEjC,MAAM,MAAM,GAAG,YAAY,CAAC,UAAU,CAClC,YAAY,CAAC,UAAU,EAAE;YACrB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,oEAAoE,EAAE,GAAG,CAAC,CAAC,CAC9G,CAAC;QACF,YAAY,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC;QAC7B,MAAM,KAAK,GAAG,YAAY,CAAC,UAAU,CACjC,YAAY,CAAC,UAAU,EAAE;YACrB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,mEAAmE,EAAE,CAAC,CAAC,CAAC,CAC3G,CAAC;QAEF,OAAO,kBAAkB,IAAI,MAAM,IAAI,kBAAkB,IAAI,KAAK,CAAC;IACvE,CAAC;CACJ,CAAA;6BApBY,kBAAkB;IAD9B,IAAA,qBAAU,GAAE;IAEI,WAAA,IAAA,iBAAM,EAAC,qBAAS,CAAC,YAAY,CAAC,CAAA;;GADlC,kBAAkB,CAoB9B"}
@@ -1,16 +1,19 @@
1
1
  import { ICommonRunWithMessageDto } from "../../../../../schema-definitions/vehicle-positions/models/interfaces/ICommonRunWithMessageDto";
2
2
  import { ILogger } from "@golemio/core/dist/helpers/logger";
3
3
  import { ICommonMessageFilter } from "./interfaces/ICommonMessageFilter";
4
+ import { TimestampValidator } from "./TimestampValidator";
4
5
  export declare class TramMessageFilter implements ICommonMessageFilter {
5
6
  private logger;
6
- constructor(logger: ILogger);
7
+ private timestampValidator;
8
+ constructor(logger: ILogger, timestampValidator: TimestampValidator);
7
9
  /**
8
10
  * Yield tram messages that are valid for processing
9
11
  * - route id is not considered a servicing route (50-89, note: >89 is a night tram route)
10
12
  * - run number is less than 80
11
13
  * - mazačka trams (maintanance) are always processed, even though they are servicing routes
14
+ * - timestamp is in acceptable range
12
15
  */
13
- yieldFilteredMessages(messages: ICommonRunWithMessageDto[]): Generator<ICommonRunWithMessageDto>;
16
+ yieldFilteredMessages(messages: ICommonRunWithMessageDto[], timestamp: number): Generator<ICommonRunWithMessageDto>;
14
17
  private isRouteIdValid;
15
18
  private isRunNumberValid;
16
19
  }
@@ -16,22 +16,32 @@ exports.TramMessageFilter = 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
  const const_1 = require("../../../../../const");
19
+ const VPContainerToken_1 = require("../../../ioc/VPContainerToken");
20
+ const TimestampValidator_1 = require("./TimestampValidator");
21
+ const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
19
22
  const TRAM_SERVICING_ROUTE_ID_MIN = 50;
20
23
  const TRAM_SERVICING_ROUTE_ID_MAX = 89;
21
24
  const TRAM_UNUSUAL_RUN_NUMBER_MIN = 80;
22
25
  let TramMessageFilter = exports.TramMessageFilter = class TramMessageFilter {
23
- constructor(logger) {
26
+ constructor(logger, timestampValidator) {
24
27
  this.logger = logger;
28
+ this.timestampValidator = timestampValidator;
25
29
  }
26
30
  /**
27
31
  * Yield tram messages that are valid for processing
28
32
  * - route id is not considered a servicing route (50-89, note: >89 is a night tram route)
29
33
  * - run number is less than 80
30
34
  * - mazačka trams (maintanance) are always processed, even though they are servicing routes
35
+ * - timestamp is in acceptable range
31
36
  */
32
- *yieldFilteredMessages(messages) {
37
+ *yieldFilteredMessages(messages, timestamp) {
33
38
  for (const message of messages) {
34
39
  const { route_id, run_number, registration_number } = message.run;
40
+ if (!this.timestampValidator.isTimestampValid(timestamp, message.run_message.actual_stop_timestamp_real.toString())) {
41
+ this.logger.error(new golemio_errors_1.GeneralError(`Message timestamp 'takt' of value ${message.run_message.actual_stop_timestamp_real} is not valid ` +
42
+ `for line ${message.run.line_short_name}, run ${message.run.run_number}`, this.constructor.name, undefined, undefined, "pid"));
43
+ continue;
44
+ }
35
45
  if (const_1.ArrayNotPublicRegistrationNumbers.includes(registration_number) ||
36
46
  (this.isRouteIdValid(route_id) && this.isRunNumberValid(run_number))) {
37
47
  yield message;
@@ -55,6 +65,7 @@ let TramMessageFilter = exports.TramMessageFilter = class TramMessageFilter {
55
65
  exports.TramMessageFilter = TramMessageFilter = __decorate([
56
66
  (0, tsyringe_1.injectable)(),
57
67
  __param(0, (0, tsyringe_1.inject)(CoreToken_1.CoreToken.Logger)),
58
- __metadata("design:paramtypes", [Object])
68
+ __param(1, (0, tsyringe_1.inject)(VPContainerToken_1.VPContainerToken.TimestampValidator)),
69
+ __metadata("design:paramtypes", [Object, TimestampValidator_1.TimestampValidator])
59
70
  ], TramMessageFilter);
60
71
  //# sourceMappingURL=TramMessageFilter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TramMessageFilter.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/runs/helpers/TramMessageFilter.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AACA,wEAAqE;AAErE,iEAAwE;AACxE,gDAA8D;AAG9D,MAAM,2BAA2B,GAAG,EAAE,CAAC;AACvC,MAAM,2BAA2B,GAAG,EAAE,CAAC;AACvC,MAAM,2BAA2B,GAAG,EAAE,CAAC;AAGhC,IAAM,iBAAiB,+BAAvB,MAAM,iBAAiB;IAC1B,YAA8C,MAAe;QAAf,WAAM,GAAN,MAAM,CAAS;IAAG,CAAC;IAEjE;;;;;OAKG;IACI,CAAC,qBAAqB,CAAC,QAAoC;QAC9D,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;YAC5B,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,mBAAmB,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC;YAElE,IACI,yCAAiC,CAAC,QAAQ,CAAC,mBAAmB,CAAC;gBAC/D,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC,EACtE;gBACE,MAAM,OAAO,CAAC;aACjB;iBAAM;gBACH,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,cAAc,QAAQ,kBAAkB,UAAU,aAAa,CAAC,CAAC;gBAC1G,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBAC3B,SAAS;aACZ;SACJ;IACL,CAAC;IAEO,cAAc,CAAC,OAAe;QAClC,MAAM,aAAa,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAC/C,OAAO,CACH,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC;YAC5B,CAAC,aAAa,GAAG,2BAA2B,IAAI,aAAa,GAAG,2BAA2B,CAAC,CAC/F,CAAC;IACN,CAAC;IAEO,gBAAgB,CAAC,SAAiB;QACtC,OAAO,SAAS,GAAG,2BAA2B,CAAC;IACnD,CAAC;CACJ,CAAA;4BArCY,iBAAiB;IAD7B,IAAA,qBAAU,GAAE;IAEI,WAAA,IAAA,iBAAM,EAAC,qBAAS,CAAC,MAAM,CAAC,CAAA;;GAD5B,iBAAiB,CAqC7B"}
1
+ {"version":3,"file":"TramMessageFilter.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/runs/helpers/TramMessageFilter.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AACA,wEAAqE;AAErE,iEAAwE;AACxE,gDAA8D;AAE9D,oEAA8E;AAC9E,6DAA0D;AAC1D,6EAAwE;AAExE,MAAM,2BAA2B,GAAG,EAAE,CAAC;AACvC,MAAM,2BAA2B,GAAG,EAAE,CAAC;AACvC,MAAM,2BAA2B,GAAG,EAAE,CAAC;AAGhC,IAAM,iBAAiB,+BAAvB,MAAM,iBAAiB;IAC1B,YACsC,MAAe,EACI,kBAAsC;QADzD,WAAM,GAAN,MAAM,CAAS;QACI,uBAAkB,GAAlB,kBAAkB,CAAoB;IAC5F,CAAC;IAEJ;;;;;;OAMG;IACI,CAAC,qBAAqB,CAAC,QAAoC,EAAE,SAAiB;QACjF,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;YAC5B,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,mBAAmB,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC;YAElE,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,SAAS,EAAE,OAAO,CAAC,WAAW,CAAC,0BAA0B,CAAC,QAAQ,EAAE,CAAC,EAAE;gBACjH,IAAI,CAAC,MAAM,CAAC,KAAK,CACb,IAAI,6BAAY,CACZ,qCAAqC,OAAO,CAAC,WAAW,CAAC,0BAA0B,gBAAgB;oBAC/F,YAAY,OAAO,CAAC,GAAG,CAAC,eAAe,SAAS,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,EAC5E,IAAI,CAAC,WAAW,CAAC,IAAI,EACrB,SAAS,EACT,SAAS,EACT,KAAK,CACR,CACJ,CAAC;gBACF,SAAS;aACZ;YAED,IACI,yCAAiC,CAAC,QAAQ,CAAC,mBAAmB,CAAC;gBAC/D,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC,EACtE;gBACE,MAAM,OAAO,CAAC;aACjB;iBAAM;gBACH,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,cAAc,QAAQ,kBAAkB,UAAU,aAAa,CAAC,CAAC;gBAC1G,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBAC3B,SAAS;aACZ;SACJ;IACL,CAAC;IAEO,cAAc,CAAC,OAAe;QAClC,MAAM,aAAa,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAC/C,OAAO,CACH,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC;YAC5B,CAAC,aAAa,GAAG,2BAA2B,IAAI,aAAa,GAAG,2BAA2B,CAAC,CAC/F,CAAC;IACN,CAAC;IAEO,gBAAgB,CAAC,SAAiB;QACtC,OAAO,SAAS,GAAG,2BAA2B,CAAC;IACnD,CAAC;CACJ,CAAA;4BAvDY,iBAAiB;IAD7B,IAAA,qBAAU,GAAE;IAGJ,WAAA,IAAA,iBAAM,EAAC,qBAAS,CAAC,MAAM,CAAC,CAAA;IACxB,WAAA,IAAA,iBAAM,EAAC,mCAAgB,CAAC,kBAAkB,CAAC,CAAA;6CAA6B,uCAAkB;GAHtF,iBAAiB,CAuD7B"}
@@ -1,4 +1,4 @@
1
1
  import { ICommonRunWithMessageDto } from "../../../../../../schema-definitions/vehicle-positions/models/interfaces/ICommonRunWithMessageDto";
2
2
  export interface ICommonMessageFilter {
3
- yieldFilteredMessages(messages: ICommonRunWithMessageDto[]): Generator<ICommonRunWithMessageDto>;
3
+ yieldFilteredMessages(messages: ICommonRunWithMessageDto[], timestamp: number): Generator<ICommonRunWithMessageDto>;
4
4
  }
@@ -1,11 +1,13 @@
1
1
  import { IRegionalBusRunsMessagesModel } from "../../../../../../schema-definitions/vehicle-positions/models/interfaces/IRegionalBusRunsMessagesModel";
2
2
  import { ILogger } from "@golemio/core/dist/helpers/logger";
3
3
  import { IRegionalBusMessageFilter } from "./interfaces/IRegionalBusMessageFilter";
4
+ import { TimestampValidator } from "../TimestampValidator";
4
5
  export declare class RegionalBusMessageFilter implements IRegionalBusMessageFilter {
5
6
  private logger;
6
- constructor(logger: ILogger);
7
+ private timestampValidator;
8
+ constructor(logger: ILogger, timestampValidator: TimestampValidator);
7
9
  /**
8
10
  * Get messages that are valid for processing
9
11
  */
10
- getFilteredMessages(messages: IRegionalBusRunsMessagesModel[]): IRegionalBusRunsMessagesModel[];
12
+ getFilteredMessages(messages: IRegionalBusRunsMessagesModel[], timestamp: number): IRegionalBusRunsMessagesModel[];
11
13
  }
@@ -15,17 +15,26 @@ Object.defineProperty(exports, "__esModule", { value: true });
15
15
  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
+ const VPContainerToken_1 = require("../../../../ioc/VPContainerToken");
19
+ const TimestampValidator_1 = require("../TimestampValidator");
20
+ const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
18
21
  let RegionalBusMessageFilter = exports.RegionalBusMessageFilter = class RegionalBusMessageFilter {
19
- constructor(logger) {
22
+ constructor(logger, timestampValidator) {
20
23
  this.logger = logger;
24
+ this.timestampValidator = timestampValidator;
21
25
  }
22
26
  /**
23
27
  * Get messages that are valid for processing
24
28
  */
25
- getFilteredMessages(messages) {
29
+ getFilteredMessages(messages, timestamp) {
26
30
  let filteredMessages = [];
27
31
  for (const message of messages) {
28
32
  const isValidMessage = message.cis_line_id && message.cis_trip_number && message.registration_number && message.events !== "";
33
+ if (!this.timestampValidator.isTimestampValid(timestamp, message.timestamp)) {
34
+ this.logger.error(new golemio_errors_1.GeneralError(`Message timestamp 'tm' of value ${message.timestamp} is not valid ` +
35
+ `(line ${message.cis_line_id}, trip id ${message.cis_trip_number})`, this.constructor.name, undefined, undefined, "pid"));
36
+ continue;
37
+ }
29
38
  if (isValidMessage) {
30
39
  filteredMessages.push(message);
31
40
  }
@@ -39,6 +48,7 @@ let RegionalBusMessageFilter = exports.RegionalBusMessageFilter = class Regional
39
48
  exports.RegionalBusMessageFilter = RegionalBusMessageFilter = __decorate([
40
49
  (0, tsyringe_1.injectable)(),
41
50
  __param(0, (0, tsyringe_1.inject)(CoreToken_1.CoreToken.Logger)),
42
- __metadata("design:paramtypes", [Object])
51
+ __param(1, (0, tsyringe_1.inject)(VPContainerToken_1.VPContainerToken.TimestampValidator)),
52
+ __metadata("design:paramtypes", [Object, TimestampValidator_1.TimestampValidator])
43
53
  ], RegionalBusMessageFilter);
44
54
  //# 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":";;;;;;;;;;;;;;;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"}
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;AAExE,uEAA8E;AAC9E,8DAA2D;AAC3D,6EAAwE;AAGjE,IAAM,wBAAwB,sCAA9B,MAAM,wBAAwB;IACjC,YACsC,MAAe,EACI,kBAAsC;QADzD,WAAM,GAAN,MAAM,CAAS;QACI,uBAAkB,GAAlB,kBAAkB,CAAoB;IAC5F,CAAC;IAEJ;;OAEG;IACI,mBAAmB,CAAC,QAAyC,EAAE,SAAiB;QACnF,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;YAC3G,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,SAAS,EAAE,OAAO,CAAC,SAAU,CAAC,EAAE;gBAC1E,IAAI,CAAC,MAAM,CAAC,KAAK,CACb,IAAI,6BAAY,CACZ,mCAAmC,OAAO,CAAC,SAAS,gBAAgB;oBAChE,SAAS,OAAO,CAAC,WAAW,aAAa,OAAO,CAAC,eAAe,GAAG,EACvE,IAAI,CAAC,WAAW,CAAC,IAAI,EACrB,SAAS,EACT,SAAS,EACT,KAAK,CACR,CACJ,CAAC;gBACF,SAAS;aACZ;YAED,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;mCAvCY,wBAAwB;IADpC,IAAA,qBAAU,GAAE;IAGJ,WAAA,IAAA,iBAAM,EAAC,qBAAS,CAAC,MAAM,CAAC,CAAA;IACxB,WAAA,IAAA,iBAAM,EAAC,mCAAgB,CAAC,kBAAkB,CAAC,CAAA;6CAA6B,uCAAkB;GAHtF,wBAAwB,CAuCpC"}
@@ -1,15 +1,15 @@
1
1
  import { IRegionalBusRunsMessagesModel } from "../../../../../../schema-definitions/vehicle-positions/models/interfaces/IRegionalBusRunsMessagesModel";
2
2
  import { IModel } from "@golemio/core/dist/integration-engine/models";
3
- import { IRegionalBusRunsMessagePropertiesWrapper } from "../../interfaces/RegionalBusRunsMessageInterfaces";
3
+ import { ITransformationInput } from "../../interfaces/RegionalBusRunsMessageInterfaces";
4
4
  import { RegionalBusRunsMessagesTransformation } from "../../transformations/RegionalBusRunsMessagesTransformation";
5
5
  import { ICisLookupManager } from "./interfaces/ICisLookupManager";
6
- import { IRegionalBusMessageFilter } from "./interfaces/IRegionalBusMessageFilter";
7
6
  import { IRegionalBusRunsFacade } from "./interfaces/IRegionalBusRunsFacade";
7
+ import { RegionalBusMessageFilter } from "./RegionalBusMessageFilter";
8
8
  export declare class RegionalBusRunsFacade implements IRegionalBusRunsFacade {
9
9
  private messageTransformation;
10
10
  private messageRepository;
11
11
  private messageFilter;
12
12
  private cisLookupManager;
13
- constructor(messageTransformation: RegionalBusRunsMessagesTransformation, messageRepository: IModel, messageFilter: IRegionalBusMessageFilter, cisLookupManager: ICisLookupManager);
14
- transformAndSaveMessages(messages: IRegionalBusRunsMessagePropertiesWrapper[]): Promise<IRegionalBusRunsMessagesModel[]>;
13
+ constructor(messageTransformation: RegionalBusRunsMessagesTransformation, messageRepository: IModel, messageFilter: RegionalBusMessageFilter, cisLookupManager: ICisLookupManager);
14
+ transformAndSaveMessages({ messages, timestamp, }: ITransformationInput): Promise<IRegionalBusRunsMessagesModel[]>;
15
15
  }
@@ -26,6 +26,7 @@ const VPContainerToken_1 = require("../../../../ioc/VPContainerToken");
26
26
  const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
27
27
  const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
28
28
  const RegionalBusRunsMessagesTransformation_1 = require("../../transformations/RegionalBusRunsMessagesTransformation");
29
+ const RegionalBusMessageFilter_1 = require("./RegionalBusMessageFilter");
29
30
  let RegionalBusRunsFacade = exports.RegionalBusRunsFacade = class RegionalBusRunsFacade {
30
31
  constructor(messageTransformation, messageRepository, messageFilter, cisLookupManager) {
31
32
  this.messageTransformation = messageTransformation;
@@ -33,7 +34,7 @@ let RegionalBusRunsFacade = exports.RegionalBusRunsFacade = class RegionalBusRun
33
34
  this.messageFilter = messageFilter;
34
35
  this.cisLookupManager = cisLookupManager;
35
36
  }
36
- transformAndSaveMessages(messages) {
37
+ transformAndSaveMessages({ messages, timestamp, }) {
37
38
  return __awaiter(this, void 0, void 0, function* () {
38
39
  let transformedMessages = this.messageTransformation.transformArray(messages);
39
40
  if (transformedMessages.length === 0) {
@@ -45,7 +46,7 @@ let RegionalBusRunsFacade = exports.RegionalBusRunsFacade = class RegionalBusRun
45
46
  catch (err) {
46
47
  throw new golemio_errors_1.GeneralError("transformAndFilterMessages: failed to enrich messages with CIS data", this.constructor.name, err);
47
48
  }
48
- const filteredMessages = this.messageFilter.getFilteredMessages(transformedMessages);
49
+ const filteredMessages = this.messageFilter.getFilteredMessages(transformedMessages, timestamp);
49
50
  yield this.messageRepository.bulkSave(filteredMessages);
50
51
  return filteredMessages;
51
52
  });
@@ -57,6 +58,6 @@ exports.RegionalBusRunsFacade = RegionalBusRunsFacade = __decorate([
57
58
  __param(1, (0, tsyringe_1.inject)(VPContainerToken_1.VPContainerToken.RegionalBusRunsMessagesRepository)),
58
59
  __param(2, (0, tsyringe_1.inject)(VPContainerToken_1.VPContainerToken.RegionalBusMessageFilter)),
59
60
  __param(3, (0, tsyringe_1.inject)(VPContainerToken_1.VPContainerToken.CisLookupManager)),
60
- __metadata("design:paramtypes", [RegionalBusRunsMessagesTransformation_1.RegionalBusRunsMessagesTransformation, Object, Object, Object])
61
+ __metadata("design:paramtypes", [RegionalBusRunsMessagesTransformation_1.RegionalBusRunsMessagesTransformation, Object, RegionalBusMessageFilter_1.RegionalBusMessageFilter, Object])
61
62
  ], RegionalBusRunsFacade);
62
63
  //# sourceMappingURL=RegionalBusRunsFacade.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RegionalBusRunsFacade.js","sourceRoot":"","sources":["../../../../../../../src/integration-engine/vehicle-positions/workers/runs/helpers/regional-bus/RegionalBusRunsFacade.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,uEAA8E;AAG9E,6EAAwE;AACxE,iEAAwE;AAExE,uHAAoH;AAM7G,IAAM,qBAAqB,mCAA3B,MAAM,qBAAqB;IAC9B,YAEY,qBAA4D,EAE5D,iBAAyB,EAEzB,aAAwC,EAExC,gBAAmC;QANnC,0BAAqB,GAArB,qBAAqB,CAAuC;QAE5D,sBAAiB,GAAjB,iBAAiB,CAAQ;QAEzB,kBAAa,GAAb,aAAa,CAA2B;QAExC,qBAAgB,GAAhB,gBAAgB,CAAmB;IAC5C,CAAC;IAES,wBAAwB,CACjC,QAAoD;;YAEpD,IAAI,mBAAmB,GAAG,IAAI,CAAC,qBAAqB,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;YAC9E,IAAI,mBAAmB,CAAC,MAAM,KAAK,CAAC,EAAE;gBAClC,OAAO,EAAE,CAAC;aACb;YAED,IAAI;gBACA,mBAAmB,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,yBAAyB,CAAC,mBAAmB,CAAC,CAAC;aACpG;YAAC,OAAO,GAAG,EAAE;gBACV,MAAM,IAAI,6BAAY,CAClB,qEAAqE,EACrE,IAAI,CAAC,WAAW,CAAC,IAAI,EACrB,GAAG,CACN,CAAC;aACL;YAED,MAAM,gBAAgB,GAAG,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,mBAAmB,CAAC,CAAC;YACrF,MAAM,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;YAExD,OAAO,gBAAgB,CAAC;QAC5B,CAAC;KAAA;CACJ,CAAA;gCAnCY,qBAAqB;IADjC,IAAA,qBAAU,GAAE;IAGJ,WAAA,IAAA,iBAAM,EAAC,mCAAgB,CAAC,qCAAqC,CAAC,CAAA;IAE9D,WAAA,IAAA,iBAAM,EAAC,mCAAgB,CAAC,iCAAiC,CAAC,CAAA;IAE1D,WAAA,IAAA,iBAAM,EAAC,mCAAgB,CAAC,wBAAwB,CAAC,CAAA;IAEjD,WAAA,IAAA,iBAAM,EAAC,mCAAgB,CAAC,gBAAgB,CAAC,CAAA;qCALX,6EAAqC;GAH/D,qBAAqB,CAmCjC"}
1
+ {"version":3,"file":"RegionalBusRunsFacade.js","sourceRoot":"","sources":["../../../../../../../src/integration-engine/vehicle-positions/workers/runs/helpers/regional-bus/RegionalBusRunsFacade.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,uEAA8E;AAG9E,6EAAwE;AACxE,iEAAwE;AAExE,uHAAoH;AAIpH,yEAAsE;AAG/D,IAAM,qBAAqB,mCAA3B,MAAM,qBAAqB;IAC9B,YAEY,qBAA4D,EAE5D,iBAAyB,EAEzB,aAAuC,EAEvC,gBAAmC;QANnC,0BAAqB,GAArB,qBAAqB,CAAuC;QAE5D,sBAAiB,GAAjB,iBAAiB,CAAQ;QAEzB,kBAAa,GAAb,aAAa,CAA0B;QAEvC,qBAAgB,GAAhB,gBAAgB,CAAmB;IAC5C,CAAC;IAES,wBAAwB,CAAC,EAClC,QAAQ,EACR,SAAS,GACU;;YACnB,IAAI,mBAAmB,GAAG,IAAI,CAAC,qBAAqB,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;YAC9E,IAAI,mBAAmB,CAAC,MAAM,KAAK,CAAC,EAAE;gBAClC,OAAO,EAAE,CAAC;aACb;YAED,IAAI;gBACA,mBAAmB,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,yBAAyB,CAAC,mBAAmB,CAAC,CAAC;aACpG;YAAC,OAAO,GAAG,EAAE;gBACV,MAAM,IAAI,6BAAY,CAClB,qEAAqE,EACrE,IAAI,CAAC,WAAW,CAAC,IAAI,EACrB,GAAG,CACN,CAAC;aACL;YAED,MAAM,gBAAgB,GAAG,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,mBAAmB,EAAE,SAAS,CAAC,CAAC;YAChG,MAAM,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;YAExD,OAAO,gBAAgB,CAAC;QAC5B,CAAC;KAAA;CACJ,CAAA;gCApCY,qBAAqB;IADjC,IAAA,qBAAU,GAAE;IAGJ,WAAA,IAAA,iBAAM,EAAC,mCAAgB,CAAC,qCAAqC,CAAC,CAAA;IAE9D,WAAA,IAAA,iBAAM,EAAC,mCAAgB,CAAC,iCAAiC,CAAC,CAAA;IAE1D,WAAA,IAAA,iBAAM,EAAC,mCAAgB,CAAC,wBAAwB,CAAC,CAAA;IAEjD,WAAA,IAAA,iBAAM,EAAC,mCAAgB,CAAC,gBAAgB,CAAC,CAAA;qCALX,6EAAqC,UAI7C,mDAAwB;GAP1C,qBAAqB,CAoCjC"}
@@ -1,4 +1,4 @@
1
1
  import { IRegionalBusRunsMessagesModel } from "../../../../../../../schema-definitions/vehicle-positions/models/interfaces/IRegionalBusRunsMessagesModel";
2
2
  export interface IRegionalBusMessageFilter {
3
- getFilteredMessages(messages: IRegionalBusRunsMessagesModel[]): IRegionalBusRunsMessagesModel[];
3
+ getFilteredMessages(messages: IRegionalBusRunsMessagesModel[], timestamp: number): IRegionalBusRunsMessagesModel[];
4
4
  }
@@ -1,5 +1,5 @@
1
1
  import { IRegionalBusRunsMessagesModel } from "../../../../../../../schema-definitions/vehicle-positions/models/interfaces/IRegionalBusRunsMessagesModel";
2
- import { IRegionalBusRunsMessagePropertiesWrapper } from "../../../interfaces/RegionalBusRunsMessageInterfaces";
2
+ import { ITransformationInput } from "../../../interfaces/RegionalBusRunsMessageInterfaces";
3
3
  export interface IRegionalBusRunsFacade {
4
- transformAndSaveMessages(messages: IRegionalBusRunsMessagePropertiesWrapper[]): Promise<IRegionalBusRunsMessagesModel[]>;
4
+ transformAndSaveMessages(data: ITransformationInput): Promise<IRegionalBusRunsMessagesModel[]>;
5
5
  }
@@ -20,3 +20,6 @@ export interface IMetroRunsMessageContent {
20
20
  export interface IMetroRunsInput {
21
21
  m: IMetroRunsMessageContent;
22
22
  }
23
+ export interface IMetroRunsInputData {
24
+ data: IMetroRunsInput;
25
+ }
@@ -19,3 +19,7 @@ export interface IRegionalBusRunsMessageProperties {
19
19
  rych: string;
20
20
  smer: string;
21
21
  }
22
+ export interface ITransformationInput {
23
+ messages: IRegionalBusRunsMessagePropertiesWrapper[];
24
+ timestamp: number;
25
+ }
@@ -54,6 +54,10 @@ __decorate([
54
54
  (0, class_validator_1.IsBoolean)(),
55
55
  __metadata("design:type", Boolean)
56
56
  ], RegionalBusTransformedRunMessagesValidationSchema.prototype, "is_terminated", void 0);
57
+ __decorate([
58
+ (0, class_validator_1.IsString)(),
59
+ __metadata("design:type", String)
60
+ ], RegionalBusTransformedRunMessagesValidationSchema.prototype, "timestamp", void 0);
57
61
  class RegionalBusTransformedRunsValidationSchema {
58
62
  }
59
63
  exports.RegionalBusTransformedRunsValidationSchema = RegionalBusTransformedRunsValidationSchema;
@@ -1 +1 @@
1
- {"version":3,"file":"RegionalBusTransformedRunsSchema.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/runs/schema/RegionalBusTransformedRunsSchema.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,mFAAmE;AACnE,+EAQmD;AAOnD,MAAM,iDAAiD;CA8BtD;AA5BG;IADC,IAAA,0BAAQ,GAAE;;2FACe;AAG1B;IADC,IAAA,0BAAQ,GAAE;;sFACU;AAGrB;IADC,IAAA,0BAAQ,GAAE;;0FACc;AAGzB;IADC,IAAA,0BAAQ,GAAE;;iFACK;AAGhB;IADC,IAAA,0BAAQ,GAAE;;sFACS;AAGpB;IADC,IAAA,2BAAS,GAAE;8BACQ,IAAI;4FAAC;AAGzB;IADC,IAAA,0BAAQ,GAAE;;8FACkB;AAG7B;IADC,IAAA,0BAAQ,GAAE;;oFACQ;AAGnB;IADC,IAAA,0BAAQ,GAAE;;kFACM;AAGjB;IADC,IAAA,2BAAS,GAAE;;wFACY;AAG5B,MAAa,0CAA0C;CAMtD;AAND,gGAMC;AADG;IAJC,IAAA,yBAAO,GAAE;IACT,IAAA,0BAAQ,EAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACxB,IAAA,gCAAc,GAAE;IAChB,IAAA,wBAAI,EAAC,GAAG,EAAE,CAAC,iDAAiD,CAAC;;4EACnB"}
1
+ {"version":3,"file":"RegionalBusTransformedRunsSchema.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/runs/schema/RegionalBusTransformedRunsSchema.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,mFAAmE;AACnE,+EAQmD;AAOnD,MAAM,iDAAiD;CAiCtD;AA/BG;IADC,IAAA,0BAAQ,GAAE;;2FACe;AAG1B;IADC,IAAA,0BAAQ,GAAE;;sFACU;AAGrB;IADC,IAAA,0BAAQ,GAAE;;0FACc;AAGzB;IADC,IAAA,0BAAQ,GAAE;;iFACK;AAGhB;IADC,IAAA,0BAAQ,GAAE;;sFACS;AAGpB;IADC,IAAA,2BAAS,GAAE;8BACQ,IAAI;4FAAC;AAGzB;IADC,IAAA,0BAAQ,GAAE;;8FACkB;AAG7B;IADC,IAAA,0BAAQ,GAAE;;oFACQ;AAGnB;IADC,IAAA,0BAAQ,GAAE;;kFACM;AAGjB;IADC,IAAA,2BAAS,GAAE;;wFACY;AAGxB;IADC,IAAA,0BAAQ,GAAE;;oFACQ;AAGvB,MAAa,0CAA0C;CAMtD;AAND,gGAMC;AADG;IAJC,IAAA,yBAAO,GAAE;IACT,IAAA,0BAAQ,EAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACxB,IAAA,gCAAc,GAAE;IAChB,IAAA,wBAAI,EAAC,GAAG,EAAE,CAAC,iDAAiD,CAAC;;4EACnB"}
@@ -14,7 +14,7 @@ export declare class ProcessMetroRunMessagesTask extends AbstractTask<IProcessMe
14
14
  private readonly runTripsRedisRepository;
15
15
  private readonly gtfsTripRunManager;
16
16
  private readonly tripScheduleRepository;
17
- constructor(queuePrefix: string);
17
+ constructor();
18
18
  protected execute({ routeName, messages }: IProcessMetroRunsMessagesInput, msgProperties?: MessageProperties): Promise<void>;
19
19
  private processMessage;
20
20
  private enrichRunMessage;
@@ -1,4 +1,13 @@
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
+ };
2
11
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
12
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
13
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -25,9 +34,11 @@ const CommonRunsRepository_1 = require("../data-access/CommonRunsRepository");
25
34
  const MetroMessageFilter_1 = require("../helpers/MetroMessageFilter");
26
35
  const MetroTransformedRunsSchema_1 = require("../schema/MetroTransformedRunsSchema");
27
36
  const MetroRunsMessageProcessingTransformation_1 = require("../transformations/MetroRunsMessageProcessingTransformation");
28
- class ProcessMetroRunMessagesTask extends integration_engine_1.AbstractTask {
29
- constructor(queuePrefix) {
30
- super(queuePrefix);
37
+ const constants_1 = require("../constants");
38
+ const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
39
+ let ProcessMetroRunMessagesTask = exports.ProcessMetroRunMessagesTask = class ProcessMetroRunMessagesTask extends integration_engine_1.AbstractTask {
40
+ constructor() {
41
+ super(constants_1.WORKER_NAME);
31
42
  this.queueName = "processMetroRunMessages";
32
43
  this.queueTtl = 10 * 60 * 1000; // 10 minutes
33
44
  this.schema = MetroTransformedRunsSchema_1.MetroTransformedRunsValidationSchema;
@@ -99,6 +110,9 @@ class ProcessMetroRunMessagesTask extends integration_engine_1.AbstractTask {
99
110
  return Object.assign(Object.assign({}, runInput), { tripId: tripSchedule.trip_id, internalRunNumber: tripSchedule.run_number });
100
111
  });
101
112
  }
102
- }
103
- exports.ProcessMetroRunMessagesTask = ProcessMetroRunMessagesTask;
113
+ };
114
+ exports.ProcessMetroRunMessagesTask = ProcessMetroRunMessagesTask = __decorate([
115
+ (0, tsyringe_1.injectable)(),
116
+ __metadata("design:paramtypes", [])
117
+ ], ProcessMetroRunMessagesTask);
104
118
  //# sourceMappingURL=ProcessMetroRunMessagesTask.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ProcessMetroRunMessagesTask.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/runs/tasks/ProcessMetroRunMessagesTask.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oEAA2E;AAC3E,gFAAgF;AAChF,wIAA6H;AAM7H,iGAAsH;AACtH,yFAA8G;AAE9G,uHAGyG;AACzG,2FAA0D;AAC1D,8EAA2F;AAC3F,2EAAoE;AACpE,6EAAwE;AACxE,mEAAoE;AAEpE,8EAA2E;AAC3E,sEAAmE;AAEnE,qFAA4F;AAC5F,0HAAuH;AAEvH,MAAa,2BAA4B,SAAQ,iCAA4C;IAczF,YAAY,WAAmB;QAC3B,KAAK,CAAC,WAAW,CAAC,CAAC;QAdP,cAAS,GAAG,yBAAyB,CAAC;QACtC,aAAQ,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,aAAa;QACxC,WAAM,GAAG,iEAAoC,CAAC;QAa1D,IAAI,CAAC,wBAAwB,GAAG,IAAI,mFAAwC,EAAE,CAAC;QAC/E,IAAI,CAAC,sBAAsB,GAAG,IAAI,yDAA2B,EAAE,CAAC;QAChE,IAAI,CAAC,mBAAmB,GAAG,IAAI,yCAAmB,EAAE,CAAC;QACrD,IAAI,CAAC,eAAe,GAAG,IAAI,iCAAe,EAAE,CAAC;QAC7C,IAAI,CAAC,cAAc,GAAG,IAAI,2CAAoB,EAAE,CAAC;QACjD,IAAI,CAAC,uBAAuB,GAAG,IAAI,+BAAuB,EAAE,CAAC;QAC7D,IAAI,CAAC,sBAAsB,GAAG,IAAI,oCAAsB,EAAE,CAAC;QAE3D,IAAI,CAAC,kBAAkB,GAAG,qDAAyB,CAAC,MAAM,CACtD,2CAAe,CAAC,KAAK,EACrB,IAAI,CAAC,mBAAmB,EACxB,IAAI,CAAC,eAAe,EACpB,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,uBAAuB,CAC/B,CAAC;IACN,CAAC;IAEe,OAAO,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAkC,EAAE,aAAiC;;YAC9G,MAAM,EAAE,gBAAgB,EAAE,QAAQ,EAAE,GAAG,uCAAkB,CAAC,4BAA4B,CAAC,QAAQ,CAAC,CAAC;YACjG,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE;gBAC/B,OAAO;aACV;YAED,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,eAAe,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;YAEvF,KAAK,MAAM,OAAO,IAAI,gBAAgB,EAAE;gBACpC,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,OAAO,EAAE,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,SAAS,CAAC,CAAC;aACzE;QACL,CAAC;KAAA;IAEa,cAAc,CACxB,OAAiC,EACjC,OAA2C,EAC3C,qBAA8B;;;YAE9B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,wBAAwB,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;YACjF,IAAI,CAAC,IAAI,EAAE;gBACP,OAAO;aACV;YAED,IAAI,eAAe,GAA+C,IAAI,CAAC;YACvE,IAAI;gBACA,eAAe,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aAChE;YAAC,OAAO,GAAG,EAAE;gBACV,MAAM,IAAI,6BAAY,CAAC,oDAAoD,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;aAC5G;YAED,IAAI,CAAC,eAAe,EAAE;gBAClB,aAAG,CAAC,OAAO,CAAC,6CAA6C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;gBAC1F,OAAO;aACV;YAED,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,0BAA0B,iCACxE,IAAI,CAAC,WAAW;gBACnB,yFAAyF;gBACzF,UAAU,EAAE,MAAA,eAAe,CAAC,iBAAiB,mCAAI,IAAI,CAAC,WAAW,CAAC,UAAU,IAC9E,CAAC;YAEH,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE;gBAC7B,aAAG,CAAC,OAAO,CAAC,8CAA8C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;gBAC9F,OAAO;aACV;YAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,cAAc,EAAE,eAAe,CAAC,CAAC;YACjG,IAAI,QAAQ,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE;gBAClC,MAAM,iCAAY,CAAC,qBAAqB,CACpC,GAAG,2BAAM,CAAC,oBAAoB,IAAI,oCAAgB,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,EACvE,aAAa,EACb,QAAQ,EACR,EAAE,SAAS,EAAE,qBAAqB,EAAE,CACvC,CAAC;aACL;;KACJ;IAEa,gBAAgB,CAAC,QAAqC;;YAChE,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC;gBAC3D,UAAU,EAAE,CAAC,SAAS,EAAE,YAAY,CAAC;gBACrC,KAAK,EAAE;oBACH,WAAW,EAAE,QAAQ,CAAC,WAAW;oBACjC,QAAQ,EAAE,IAAI,QAAQ,CAAC,OAAO,EAAE;oBAChC,CAAC,cAAE,CAAC,GAAG,CAAC,EAAE,CAAC,qBAAS,CAAC,OAAO,CAAC,sCAAsC,CAAC,CAAC;iBACxE;aACJ,CAAC,CAAC;YAEH,IAAI,CAAC,YAAY,EAAE;gBACf,OAAO,IAAI,CAAC;aACf;YAED,uCACO,QAAQ,KACX,MAAM,EAAE,YAAY,CAAC,OAAO,EAC5B,iBAAiB,EAAE,YAAY,CAAC,UAAU,IAC5C;QACN,CAAC;KAAA;CACJ;AA9GD,kEA8GC"}
1
+ {"version":3,"file":"ProcessMetroRunMessagesTask.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/runs/tasks/ProcessMetroRunMessagesTask.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,13 @@
1
1
  import { AbstractTask } from "@golemio/core/dist/integration-engine/workers";
2
2
  import { MessageProperties } from "amqplib";
3
- import { IRegionalBusRunsFacade } from "../helpers/regional-bus/interfaces/IRegionalBusRunsFacade";
4
3
  import { IRegionalBusRunsInput } from "../interfaces/RegionalBusRunsMessageInterfaces";
5
4
  import { RegionalBusRunsValidationSchema } from "../schema/RegionalBusRunsSchema";
5
+ import { RegionalBusRunsFacade } from "../helpers/regional-bus/RegionalBusRunsFacade";
6
6
  export declare class SaveArrivaCityRunsToDBTask extends AbstractTask<IRegionalBusRunsInput> {
7
7
  private regionalBusRunsFacade;
8
8
  readonly queueName = "saveArrivaCityRunsToDB";
9
9
  readonly queueTtl: number;
10
10
  readonly schema: typeof RegionalBusRunsValidationSchema;
11
- constructor(regionalBusRunsFacade: IRegionalBusRunsFacade);
11
+ constructor(regionalBusRunsFacade: RegionalBusRunsFacade);
12
12
  protected execute(data: IRegionalBusRunsInput, msgProperties?: MessageProperties): Promise<void>;
13
13
  }
@@ -28,6 +28,8 @@ const workers_1 = require("@golemio/core/dist/integration-engine/workers");
28
28
  const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
29
29
  const constants_1 = require("../constants");
30
30
  const RegionalBusRunsSchema_1 = require("../schema/RegionalBusRunsSchema");
31
+ const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
32
+ const RegionalBusRunsFacade_1 = require("../helpers/regional-bus/RegionalBusRunsFacade");
31
33
  let SaveArrivaCityRunsToDBTask = exports.SaveArrivaCityRunsToDBTask = class SaveArrivaCityRunsToDBTask extends workers_1.AbstractTask {
32
34
  constructor(regionalBusRunsFacade) {
33
35
  super(constants_1.WORKER_NAME);
@@ -39,7 +41,14 @@ let SaveArrivaCityRunsToDBTask = exports.SaveArrivaCityRunsToDBTask = class Save
39
41
  execute(data, msgProperties) {
40
42
  return __awaiter(this, void 0, void 0, function* () {
41
43
  const inputMessages = Array.isArray(data.M.V) ? data.M.V : [data.M.V];
42
- const transformedMessages = yield this.regionalBusRunsFacade.transformAndSaveMessages(inputMessages);
44
+ const timestamp = msgProperties === null || msgProperties === void 0 ? void 0 : msgProperties.timestamp;
45
+ if (!timestamp) {
46
+ throw new golemio_errors_1.GeneralError(`Missing ArrivaCity run message timestamp: ${JSON.stringify(data)}`, this.constructor.name);
47
+ }
48
+ const transformedMessages = yield this.regionalBusRunsFacade.transformAndSaveMessages({
49
+ messages: inputMessages,
50
+ timestamp,
51
+ });
43
52
  if (transformedMessages.length === 0) {
44
53
  return;
45
54
  }
@@ -52,6 +61,6 @@ let SaveArrivaCityRunsToDBTask = exports.SaveArrivaCityRunsToDBTask = class Save
52
61
  exports.SaveArrivaCityRunsToDBTask = SaveArrivaCityRunsToDBTask = __decorate([
53
62
  (0, tsyringe_1.injectable)(),
54
63
  __param(0, (0, tsyringe_1.inject)(VPContainerToken_1.VPContainerToken.RegionalBusRunsFacade)),
55
- __metadata("design:paramtypes", [Object])
64
+ __metadata("design:paramtypes", [RegionalBusRunsFacade_1.RegionalBusRunsFacade])
56
65
  ], SaveArrivaCityRunsToDBTask);
57
66
  //# sourceMappingURL=SaveArrivaCityRunsToDBTask.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SaveArrivaCityRunsToDBTask.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/runs/tasks/SaveArrivaCityRunsToDBTask.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,oEAA8E;AAC9E,2FAAqF;AACrF,2EAA6E;AAC7E,iEAAwE;AAExE,4CAA2C;AAG3C,2EAAkF;AAG3E,IAAM,0BAA0B,wCAAhC,MAAM,0BAA2B,SAAQ,sBAAmC;IAK/E,YAA4D,qBAAqD;QAC7G,KAAK,CAAC,uBAAW,CAAC,CAAC;QAD6C,0BAAqB,GAArB,qBAAqB,CAAwB;QAJjG,cAAS,GAAG,wBAAwB,CAAC;QACrC,aAAQ,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,YAAY;QACtC,WAAM,GAAG,uDAA+B,CAAC;IAIzD,CAAC;IAEe,OAAO,CAAC,IAA2B,EAAE,aAAiC;;YAClF,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACtE,MAAM,mBAAmB,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,wBAAwB,CAAC,aAAa,CAAC,CAAC;YACrG,IAAI,mBAAmB,CAAC,MAAM,KAAK,CAAC,EAAE;gBAClC,OAAO;aACV;YAED,MAAM,8BAAY,CAAC,qBAAqB,CACpC,IAAI,CAAC,WAAW,EAChB,+BAA+B,EAC/B;gBACI,QAAQ,EAAE,mBAAmB;aAChC,EACD,EAAE,SAAS,EAAE,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,SAAS,EAAE,CAC1C,CAAC;QACN,CAAC;KAAA;CACJ,CAAA;qCAzBY,0BAA0B;IADtC,IAAA,qBAAU,GAAE;IAMI,WAAA,IAAA,iBAAM,EAAC,mCAAgB,CAAC,qBAAqB,CAAC,CAAA;;GALlD,0BAA0B,CAyBtC"}
1
+ {"version":3,"file":"SaveArrivaCityRunsToDBTask.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/runs/tasks/SaveArrivaCityRunsToDBTask.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,oEAA8E;AAC9E,2FAAqF;AACrF,2EAA6E;AAC7E,iEAAwE;AAExE,4CAA2C;AAE3C,2EAAkF;AAClF,6EAAwE;AACxE,yFAAsF;AAG/E,IAAM,0BAA0B,wCAAhC,MAAM,0BAA2B,SAAQ,sBAAmC;IAK/E,YAA4D,qBAAoD;QAC5G,KAAK,CAAC,uBAAW,CAAC,CAAC;QAD6C,0BAAqB,GAArB,qBAAqB,CAAuB;QAJhG,cAAS,GAAG,wBAAwB,CAAC;QACrC,aAAQ,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,YAAY;QACtC,WAAM,GAAG,uDAA+B,CAAC;IAIzD,CAAC;IAEe,OAAO,CAAC,IAA2B,EAAE,aAAiC;;YAClF,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACtE,MAAM,SAAS,GAAG,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,SAAS,CAAC;YAC3C,IAAI,CAAC,SAAS,EAAE;gBACZ,MAAM,IAAI,6BAAY,CAAC,6CAA6C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;aACtH;YACD,MAAM,mBAAmB,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,wBAAwB,CAAC;gBAClF,QAAQ,EAAE,aAAa;gBACvB,SAAS;aACZ,CAAC,CAAC;YACH,IAAI,mBAAmB,CAAC,MAAM,KAAK,CAAC,EAAE;gBAClC,OAAO;aACV;YAED,MAAM,8BAAY,CAAC,qBAAqB,CACpC,IAAI,CAAC,WAAW,EAChB,+BAA+B,EAC/B;gBACI,QAAQ,EAAE,mBAAmB;aAChC,EACD,EAAE,SAAS,EAAE,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,SAAS,EAAE,CAC1C,CAAC;QACN,CAAC;KAAA;CACJ,CAAA;qCAhCY,0BAA0B;IADtC,IAAA,qBAAU,GAAE;IAMI,WAAA,IAAA,iBAAM,EAAC,mCAAgB,CAAC,qBAAqB,CAAC,CAAA;qCAAgC,6CAAqB;GALvG,0BAA0B,CAgCtC"}
@@ -10,6 +10,6 @@ export declare class SaveBusRunsToDBTask extends AbstractTask<ICommonRunsInput>
10
10
  private readonly runsRepository;
11
11
  private readonly messageProcessor;
12
12
  private readonly messageFilter;
13
- constructor(queuePrefix: string);
13
+ constructor();
14
14
  protected execute(data: ICommonRunsInput, msgProperties?: MessageProperties): Promise<void>;
15
15
  }
@@ -1,4 +1,13 @@
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
+ };
2
11
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
12
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
13
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -15,16 +24,17 @@ const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
15
24
  const CommonRunsRepository_1 = require("../data-access/CommonRunsRepository");
16
25
  const CommonMessageProcessor_1 = require("../helpers/CommonMessageProcessor");
17
26
  const CommonRunsSchema_1 = require("../schema/CommonRunsSchema");
18
- const CommonRunsMessagesTransformation_1 = require("../transformations/CommonRunsMessagesTransformation");
19
27
  const Di_1 = require("../../../ioc/Di");
20
28
  const VPContainerToken_1 = require("../../../ioc/VPContainerToken");
21
- class SaveBusRunsToDBTask extends workers_1.AbstractTask {
22
- constructor(queuePrefix) {
23
- super(queuePrefix);
29
+ const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
30
+ const constants_1 = require("../constants");
31
+ let SaveBusRunsToDBTask = exports.SaveBusRunsToDBTask = class SaveBusRunsToDBTask extends workers_1.AbstractTask {
32
+ constructor() {
33
+ super(constants_1.WORKER_NAME);
24
34
  this.queueName = "saveBusRunsToDB";
25
35
  this.queueTtl = 2 * 60 * 1000; // 2 minutes
26
36
  this.schema = CommonRunsSchema_1.CommonRunsValidationSchema;
27
- this.messagesTransformation = new CommonRunsMessagesTransformation_1.CommonRunsMessagesTransformation();
37
+ this.messagesTransformation = Di_1.VPContainer.resolve(VPContainerToken_1.VPContainerToken.CommonRunsMessagesTransformation);
28
38
  this.runsRepository = new CommonRunsRepository_1.CommonRunsRepository();
29
39
  this.messageProcessor = new CommonMessageProcessor_1.CommonMessageProcessor(this.runsRepository);
30
40
  this.messageFilter = Di_1.VPContainer.resolve(VPContainerToken_1.VPContainerToken.BusMessageFilter);
@@ -36,12 +46,15 @@ class SaveBusRunsToDBTask extends workers_1.AbstractTask {
36
46
  throw new golemio_errors_1.GeneralError(`Missing bus run message timestamp: ${JSON.stringify(data)}`, this.constructor.name);
37
47
  }
38
48
  const messages = yield this.messagesTransformation.transform({ data: data.M.V, timestamp });
39
- const filteredMessages = this.messageFilter.yieldFilteredMessages(messages);
49
+ const filteredMessages = this.messageFilter.yieldFilteredMessages(messages, timestamp);
40
50
  for (const runMessage of filteredMessages) {
41
51
  yield this.messageProcessor.processTransformedRun(runMessage, timestamp);
42
52
  }
43
53
  });
44
54
  }
45
- }
46
- exports.SaveBusRunsToDBTask = SaveBusRunsToDBTask;
55
+ };
56
+ exports.SaveBusRunsToDBTask = SaveBusRunsToDBTask = __decorate([
57
+ (0, tsyringe_1.injectable)(),
58
+ __metadata("design:paramtypes", [])
59
+ ], SaveBusRunsToDBTask);
47
60
  //# sourceMappingURL=SaveBusRunsToDBTask.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SaveBusRunsToDBTask.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/runs/tasks/SaveBusRunsToDBTask.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2EAA6E;AAC7E,6EAAwE;AAExE,8EAA2E;AAE3E,8EAA2E;AAG3E,iEAAwE;AACxE,0GAAuG;AACvG,wCAA2D;AAC3D,oEAA8E;AAE9E,MAAa,mBAAoB,SAAQ,sBAA8B;IAUnE,YAAY,WAAmB;QAC3B,KAAK,CAAC,WAAW,CAAC,CAAC;QAVP,cAAS,GAAG,iBAAiB,CAAC;QAC9B,aAAQ,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,YAAY;QACtC,WAAM,GAAG,6CAA0B,CAAC;QAShD,IAAI,CAAC,sBAAsB,GAAG,IAAI,mEAAgC,EAAE,CAAC;QACrE,IAAI,CAAC,cAAc,GAAG,IAAI,2CAAoB,EAAE,CAAC;QACjD,IAAI,CAAC,gBAAgB,GAAG,IAAI,+CAAsB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACxE,IAAI,CAAC,aAAa,GAAG,gBAAW,CAAC,OAAO,CAAuB,mCAAgB,CAAC,gBAAgB,CAAC,CAAC;IACtG,CAAC;IAEe,OAAO,CAAC,IAAsB,EAAE,aAAiC;;YAC7E,MAAM,SAAS,GAAG,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,SAAS,CAAC;YAC3C,IAAI,CAAC,SAAS,EAAE;gBACZ,MAAM,IAAI,6BAAY,CAAC,sCAAsC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;aAC/G;YAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;YAC5F,MAAM,gBAAgB,GAAG,IAAI,CAAC,aAAa,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC;YAE5E,KAAK,MAAM,UAAU,IAAI,gBAAgB,EAAE;gBACvC,MAAM,IAAI,CAAC,gBAAgB,CAAC,qBAAqB,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;aAC5E;QACL,CAAC;KAAA;CACJ;AA/BD,kDA+BC"}
1
+ {"version":3,"file":"SaveBusRunsToDBTask.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/runs/tasks/SaveBusRunsToDBTask.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,2EAA6E;AAC7E,6EAAwE;AAExE,8EAA2E;AAE3E,8EAA2E;AAG3E,iEAAwE;AAExE,wCAA2D;AAC3D,oEAA8E;AAC9E,iEAAgE;AAChE,4CAA2C;AAGpC,IAAM,mBAAmB,iCAAzB,MAAM,mBAAoB,SAAQ,sBAA8B;IAUnE;QACI,KAAK,CAAC,uBAAW,CAAC,CAAC;QAVP,cAAS,GAAG,iBAAiB,CAAC;QAC9B,aAAQ,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,YAAY;QACtC,WAAM,GAAG,6CAA0B,CAAC;QAShD,IAAI,CAAC,sBAAsB,GAAG,gBAAW,CAAC,OAAO,CAC7C,mCAAgB,CAAC,gCAAgC,CACpD,CAAC;QACF,IAAI,CAAC,cAAc,GAAG,IAAI,2CAAoB,EAAE,CAAC;QACjD,IAAI,CAAC,gBAAgB,GAAG,IAAI,+CAAsB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACxE,IAAI,CAAC,aAAa,GAAG,gBAAW,CAAC,OAAO,CAAmB,mCAAgB,CAAC,gBAAgB,CAAC,CAAC;IAClG,CAAC;IAEe,OAAO,CAAC,IAAsB,EAAE,aAAiC;;YAC7E,MAAM,SAAS,GAAG,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,SAAS,CAAC;YAC3C,IAAI,CAAC,SAAS,EAAE;gBACZ,MAAM,IAAI,6BAAY,CAAC,sCAAsC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;aAC/G;YAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;YAC5F,MAAM,gBAAgB,GAAG,IAAI,CAAC,aAAa,CAAC,qBAAqB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;YAEvF,KAAK,MAAM,UAAU,IAAI,gBAAgB,EAAE;gBACvC,MAAM,IAAI,CAAC,gBAAgB,CAAC,qBAAqB,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;aAC5E;QACL,CAAC;KAAA;CACJ,CAAA;8BAjCY,mBAAmB;IAD/B,IAAA,qBAAU,GAAE;;GACA,mBAAmB,CAiC/B"}
@@ -2,12 +2,16 @@ import { AbstractTask } from "@golemio/core/dist/integration-engine/workers";
2
2
  import { MessageProperties } from "amqplib";
3
3
  import { IMetroRunsInput } from "../interfaces/MetroRunsMessageInterfaces";
4
4
  import { MetroRunsValidationSchema } from "../schema/MetroRunsSchema";
5
+ import { TimestampValidator } from "../helpers/TimestampValidator";
6
+ import { ILogger } from "@golemio/core/dist/helpers";
5
7
  export declare class SaveMetroRunsToDBTask extends AbstractTask<IMetroRunsInput> {
8
+ private timestampValidator;
9
+ private logger;
6
10
  readonly queueName = "saveMetroRunsToDB";
7
11
  readonly queueTtl: number;
8
12
  readonly schema: typeof MetroRunsValidationSchema;
9
13
  private readonly messagesTransformation;
10
14
  private readonly messagesRepository;
11
- constructor(queuePrefix: string);
15
+ constructor(timestampValidator: TimestampValidator, logger: ILogger);
12
16
  protected execute(data: IMetroRunsInput, msgProperties?: MessageProperties): Promise<void>;
13
17
  }
@@ -1,4 +1,16 @@
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
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
2
14
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
15
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
16
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -14,19 +26,36 @@ const queueprocessors_1 = require("@golemio/core/dist/integration-engine/queuepr
14
26
  const workers_1 = require("@golemio/core/dist/integration-engine/workers");
15
27
  const MetroRunsMessagesRepository_1 = require("../data-access/MetroRunsMessagesRepository");
16
28
  const MetroRunsSchema_1 = require("../schema/MetroRunsSchema");
17
- const MetroRunsMessagesTransformation_1 = require("../transformations/MetroRunsMessagesTransformation");
18
- class SaveMetroRunsToDBTask extends workers_1.AbstractTask {
19
- constructor(queuePrefix) {
20
- super(queuePrefix);
29
+ const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
30
+ const Di_1 = require("../../../ioc/Di");
31
+ const VPContainerToken_1 = require("../../../ioc/VPContainerToken");
32
+ const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
33
+ const constants_1 = require("../constants");
34
+ const TimestampValidator_1 = require("../helpers/TimestampValidator");
35
+ const CoreToken_1 = require("@golemio/core/dist/helpers/ioc/CoreToken");
36
+ let SaveMetroRunsToDBTask = exports.SaveMetroRunsToDBTask = class SaveMetroRunsToDBTask extends workers_1.AbstractTask {
37
+ constructor(timestampValidator, logger) {
38
+ super(constants_1.WORKER_NAME);
39
+ this.timestampValidator = timestampValidator;
40
+ this.logger = logger;
21
41
  this.queueName = "saveMetroRunsToDB";
22
42
  this.queueTtl = 3 * 60 * 1000; // 3 minutes
23
43
  this.schema = MetroRunsSchema_1.MetroRunsValidationSchema;
24
- this.messagesTransformation = new MetroRunsMessagesTransformation_1.MetroRunsMessagesTransformation();
44
+ this.messagesTransformation = Di_1.VPContainer.resolve(VPContainerToken_1.VPContainerToken.MetroRunsMessagesTransformation);
25
45
  this.messagesRepository = new MetroRunsMessagesRepository_1.MetroRunsMessagesRepository();
26
46
  }
27
47
  execute(data, msgProperties) {
28
48
  return __awaiter(this, void 0, void 0, function* () {
29
- const messages = yield this.messagesTransformation.transform(data);
49
+ const timestamp = msgProperties === null || msgProperties === void 0 ? void 0 : msgProperties.timestamp;
50
+ if (!timestamp) {
51
+ throw new golemio_errors_1.GeneralError(`Missing metro run message timestamp: ${JSON.stringify(data)}`, this.constructor.name);
52
+ }
53
+ if (!this.timestampValidator.isTimestampValid(timestamp, data.m.$.tm)) {
54
+ this.logger.error(new golemio_errors_1.GeneralError(`Message timestamp 'tm' of value ${data.m.$.tm} is not valid ` +
55
+ `for line ${data.m.$.linka}, gvd ${data.m.$.gvd}`, this.constructor.name, undefined, undefined, "pid"));
56
+ return Promise.resolve();
57
+ }
58
+ const messages = yield this.messagesTransformation.transform({ data });
30
59
  if (messages.length === 0) {
31
60
  return;
32
61
  }
@@ -37,6 +66,11 @@ class SaveMetroRunsToDBTask extends workers_1.AbstractTask {
37
66
  }, { timestamp: msgProperties === null || msgProperties === void 0 ? void 0 : msgProperties.timestamp });
38
67
  });
39
68
  }
40
- }
41
- exports.SaveMetroRunsToDBTask = SaveMetroRunsToDBTask;
69
+ };
70
+ exports.SaveMetroRunsToDBTask = SaveMetroRunsToDBTask = __decorate([
71
+ (0, tsyringe_1.injectable)(),
72
+ __param(0, (0, tsyringe_1.inject)(VPContainerToken_1.VPContainerToken.TimestampValidator)),
73
+ __param(1, (0, tsyringe_1.inject)(CoreToken_1.CoreToken.Logger)),
74
+ __metadata("design:paramtypes", [TimestampValidator_1.TimestampValidator, Object])
75
+ ], SaveMetroRunsToDBTask);
42
76
  //# sourceMappingURL=SaveMetroRunsToDBTask.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SaveMetroRunsToDBTask.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/runs/tasks/SaveMetroRunsToDBTask.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2FAAqF;AACrF,2EAA6E;AAE7E,4FAAyF;AAEzF,+DAAsE;AACtE,wGAAqG;AAErG,MAAa,qBAAsB,SAAQ,sBAA6B;IAQpE,YAAY,WAAmB;QAC3B,KAAK,CAAC,WAAW,CAAC,CAAC;QARP,cAAS,GAAG,mBAAmB,CAAC;QAChC,aAAQ,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,YAAY;QACtC,WAAM,GAAG,2CAAyB,CAAC;QAO/C,IAAI,CAAC,sBAAsB,GAAG,IAAI,iEAA+B,EAAE,CAAC;QACpE,IAAI,CAAC,kBAAkB,GAAG,IAAI,yDAA2B,EAAE,CAAC;IAChE,CAAC;IAEe,OAAO,CAAC,IAAqB,EAAE,aAAiC;;YAC5E,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACnE,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;gBACvB,OAAO;aACV;YAED,MAAM,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YACjD,MAAM,8BAAY,CAAC,qBAAqB,CACpC,IAAI,CAAC,WAAW,EAChB,yBAAyB,EACzB;gBACI,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK;gBACzB,QAAQ;aACX,EACD,EAAE,SAAS,EAAE,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,SAAS,EAAE,CAC1C,CAAC;QACN,CAAC;KAAA;CACJ;AA/BD,sDA+BC"}
1
+ {"version":3,"file":"SaveMetroRunsToDBTask.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/runs/tasks/SaveMetroRunsToDBTask.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,2FAAqF;AACrF,2EAA6E;AAE7E,4FAAyF;AAEzF,+DAAsE;AAEtE,6EAAwE;AACxE,wCAA2D;AAC3D,oEAA8E;AAC9E,iEAAwE;AACxE,4CAA2C;AAC3C,sEAAmE;AACnE,wEAAqE;AAI9D,IAAM,qBAAqB,mCAA3B,MAAM,qBAAsB,SAAQ,sBAA6B;IAQpE,YACiD,kBAA8C,EACjE,MAAuB;QAEjD,KAAK,CAAC,uBAAW,CAAC,CAAC;QAHkC,uBAAkB,GAAlB,kBAAkB,CAAoB;QACzD,WAAM,GAAN,MAAM,CAAS;QATrC,cAAS,GAAG,mBAAmB,CAAC;QAChC,aAAQ,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,YAAY;QACtC,WAAM,GAAG,2CAAyB,CAAC;QAU/C,IAAI,CAAC,sBAAsB,GAAG,gBAAW,CAAC,OAAO,CAC7C,mCAAgB,CAAC,+BAA+B,CACnD,CAAC;QACF,IAAI,CAAC,kBAAkB,GAAG,IAAI,yDAA2B,EAAE,CAAC;IAChE,CAAC;IAEe,OAAO,CAAC,IAAqB,EAAE,aAAiC;;YAC5E,MAAM,SAAS,GAAG,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,SAAS,CAAC;YAC3C,IAAI,CAAC,SAAS,EAAE;gBACZ,MAAM,IAAI,6BAAY,CAAC,wCAAwC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;aACjH;YAED,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;gBACnE,IAAI,CAAC,MAAM,CAAC,KAAK,CACb,IAAI,6BAAY,CACZ,mCAAmC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,gBAAgB;oBAC1D,YAAY,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,SAAS,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,EACrD,IAAI,CAAC,WAAW,CAAC,IAAI,EACrB,SAAS,EACT,SAAS,EACT,KAAK,CACR,CACJ,CAAC;gBACF,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;aAC5B;YAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;YACvE,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;gBACvB,OAAO;aACV;YAED,MAAM,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YACjD,MAAM,8BAAY,CAAC,qBAAqB,CACpC,IAAI,CAAC,WAAW,EAChB,yBAAyB,EACzB;gBACI,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK;gBACzB,QAAQ;aACX,EACD,EAAE,SAAS,EAAE,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,SAAS,EAAE,CAC1C,CAAC;QACN,CAAC;KAAA;CACJ,CAAA;gCAvDY,qBAAqB;IADjC,IAAA,qBAAU,GAAE;IAUJ,WAAA,IAAA,iBAAM,EAAC,mCAAgB,CAAC,kBAAkB,CAAC,CAAA;IAC3C,WAAA,IAAA,iBAAM,EAAC,qBAAS,CAAC,MAAM,CAAC,CAAA;qCADgD,uCAAkB;GATtF,qBAAqB,CAuDjC"}
@@ -10,6 +10,6 @@ export declare class SaveTramRunsToDBTask extends AbstractTask<ICommonRunsInput>
10
10
  private readonly runsRepository;
11
11
  private readonly messageProcessor;
12
12
  private readonly messageFilter;
13
- constructor(queuePrefix: string);
13
+ constructor();
14
14
  protected execute(data: ICommonRunsInput, msgProperties?: MessageProperties): Promise<void>;
15
15
  }
@@ -1,4 +1,13 @@
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
+ };
2
11
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
12
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
13
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -17,14 +26,15 @@ const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
17
26
  const CommonRunsRepository_1 = require("../data-access/CommonRunsRepository");
18
27
  const CommonMessageProcessor_1 = require("../helpers/CommonMessageProcessor");
19
28
  const CommonRunsSchema_1 = require("../schema/CommonRunsSchema");
20
- const CommonRunsMessagesTransformation_1 = require("../transformations/CommonRunsMessagesTransformation");
21
- class SaveTramRunsToDBTask extends workers_1.AbstractTask {
22
- constructor(queuePrefix) {
23
- super(queuePrefix);
29
+ const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
30
+ const constants_1 = require("../constants");
31
+ let SaveTramRunsToDBTask = exports.SaveTramRunsToDBTask = class SaveTramRunsToDBTask extends workers_1.AbstractTask {
32
+ constructor() {
33
+ super(constants_1.WORKER_NAME);
24
34
  this.queueName = "saveTramRunsToDB";
25
35
  this.queueTtl = 3 * 60 * 1000; // 3 minutes
26
36
  this.schema = CommonRunsSchema_1.CommonRunsValidationSchema;
27
- this.messagesTransformation = new CommonRunsMessagesTransformation_1.CommonRunsMessagesTransformation();
37
+ this.messagesTransformation = Di_1.VPContainer.resolve(VPContainerToken_1.VPContainerToken.CommonRunsMessagesTransformation);
28
38
  this.runsRepository = new CommonRunsRepository_1.CommonRunsRepository();
29
39
  this.messageProcessor = new CommonMessageProcessor_1.CommonMessageProcessor(this.runsRepository);
30
40
  this.messageFilter = Di_1.VPContainer.resolve(VPContainerToken_1.VPContainerToken.TramMessageFilter);
@@ -36,12 +46,15 @@ class SaveTramRunsToDBTask extends workers_1.AbstractTask {
36
46
  throw new golemio_errors_1.GeneralError(`Missing tram run message timestamp: ${JSON.stringify(data)}`, this.constructor.name);
37
47
  }
38
48
  const messages = yield this.messagesTransformation.transform({ data: data.M.V, timestamp }, true);
39
- const filteredMessages = this.messageFilter.yieldFilteredMessages(messages);
49
+ const filteredMessages = this.messageFilter.yieldFilteredMessages(messages, timestamp);
40
50
  for (const runMessage of filteredMessages) {
41
51
  yield this.messageProcessor.processTransformedRun(runMessage, timestamp);
42
52
  }
43
53
  });
44
54
  }
45
- }
46
- exports.SaveTramRunsToDBTask = SaveTramRunsToDBTask;
55
+ };
56
+ exports.SaveTramRunsToDBTask = SaveTramRunsToDBTask = __decorate([
57
+ (0, tsyringe_1.injectable)(),
58
+ __metadata("design:paramtypes", [])
59
+ ], SaveTramRunsToDBTask);
47
60
  //# sourceMappingURL=SaveTramRunsToDBTask.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SaveTramRunsToDBTask.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/runs/tasks/SaveTramRunsToDBTask.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,wCAA2D;AAC3D,oEAA8E;AAC9E,2EAA6E;AAC7E,6EAAwE;AAExE,8EAA2E;AAC3E,8EAA2E;AAG3E,iEAAwE;AACxE,0GAAuG;AAEvG,MAAa,oBAAqB,SAAQ,sBAA8B;IAUpE,YAAY,WAAmB;QAC3B,KAAK,CAAC,WAAW,CAAC,CAAC;QAVP,cAAS,GAAG,kBAAkB,CAAC;QAC/B,aAAQ,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,YAAY;QACtC,WAAM,GAAG,6CAA0B,CAAC;QAShD,IAAI,CAAC,sBAAsB,GAAG,IAAI,mEAAgC,EAAE,CAAC;QACrE,IAAI,CAAC,cAAc,GAAG,IAAI,2CAAoB,EAAE,CAAC;QACjD,IAAI,CAAC,gBAAgB,GAAG,IAAI,+CAAsB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACxE,IAAI,CAAC,aAAa,GAAG,gBAAW,CAAC,OAAO,CAAuB,mCAAgB,CAAC,iBAAiB,CAAC,CAAC;IACvG,CAAC;IAEe,OAAO,CAAC,IAAsB,EAAE,aAAiC;;YAC7E,MAAM,SAAS,GAAG,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,SAAS,CAAC;YAC3C,IAAI,CAAC,SAAS,EAAE;gBACZ,MAAM,IAAI,6BAAY,CAAC,uCAAuC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;aAChH;YAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,IAAI,CAAC,CAAC;YAClG,MAAM,gBAAgB,GAAG,IAAI,CAAC,aAAa,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC;YAE5E,KAAK,MAAM,UAAU,IAAI,gBAAgB,EAAE;gBACvC,MAAM,IAAI,CAAC,gBAAgB,CAAC,qBAAqB,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;aAC5E;QACL,CAAC;KAAA;CACJ;AA/BD,oDA+BC"}
1
+ {"version":3,"file":"SaveTramRunsToDBTask.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/runs/tasks/SaveTramRunsToDBTask.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,wCAA2D;AAC3D,oEAA8E;AAC9E,2EAA6E;AAC7E,6EAAwE;AAExE,8EAA2E;AAC3E,8EAA2E;AAG3E,iEAAwE;AAExE,iEAAgE;AAChE,4CAA2C;AAIpC,IAAM,oBAAoB,kCAA1B,MAAM,oBAAqB,SAAQ,sBAA8B;IAUpE;QACI,KAAK,CAAC,uBAAW,CAAC,CAAC;QAVP,cAAS,GAAG,kBAAkB,CAAC;QAC/B,aAAQ,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,YAAY;QACtC,WAAM,GAAG,6CAA0B,CAAC;QAShD,IAAI,CAAC,sBAAsB,GAAG,gBAAW,CAAC,OAAO,CAC7C,mCAAgB,CAAC,gCAAgC,CACpD,CAAC;QACF,IAAI,CAAC,cAAc,GAAG,IAAI,2CAAoB,EAAE,CAAC;QACjD,IAAI,CAAC,gBAAgB,GAAG,IAAI,+CAAsB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACxE,IAAI,CAAC,aAAa,GAAG,gBAAW,CAAC,OAAO,CAAoB,mCAAgB,CAAC,iBAAiB,CAAC,CAAC;IACpG,CAAC;IAEe,OAAO,CAAC,IAAsB,EAAE,aAAiC;;YAC7E,MAAM,SAAS,GAAG,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,SAAS,CAAC;YAC3C,IAAI,CAAC,SAAS,EAAE;gBACZ,MAAM,IAAI,6BAAY,CAAC,uCAAuC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;aAChH;YAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,IAAI,CAAC,CAAC;YAClG,MAAM,gBAAgB,GAAG,IAAI,CAAC,aAAa,CAAC,qBAAqB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;YACvF,KAAK,MAAM,UAAU,IAAI,gBAAgB,EAAE;gBACvC,MAAM,IAAI,CAAC,gBAAgB,CAAC,qBAAqB,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;aAC5E;QACL,CAAC;KAAA;CACJ,CAAA;+BAhCY,oBAAoB;IADhC,IAAA,qBAAU,GAAE;;GACA,oBAAoB,CAgChC"}
@@ -1,10 +1,12 @@
1
1
  import { ICommonRunWithMessageDto } from "../../../../../schema-definitions/vehicle-positions/models/interfaces/ICommonRunWithMessageDto";
2
2
  import { BaseTransformation, ITransformation } from "@golemio/core/dist/integration-engine/transformations";
3
3
  import { ICommonRunsInputData, ICommonRunsInputElement } from "../interfaces/CommonRunsMessageInterfaces";
4
+ import { TimestampValidator } from "../helpers/TimestampValidator";
4
5
  export declare class CommonRunsMessagesTransformation extends BaseTransformation implements ITransformation {
6
+ private timestampValidator;
5
7
  name: string;
6
8
  private readonly commonRunHelper;
7
- constructor();
9
+ constructor(timestampValidator: TimestampValidator);
8
10
  /**
9
11
  * Overrides BaseTransformation::transform
10
12
  */
@@ -1,4 +1,16 @@
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
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
2
14
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
15
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
16
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -15,17 +27,21 @@ Object.defineProperty(exports, "__esModule", { value: true });
15
27
  exports.CommonRunsMessagesTransformation = void 0;
16
28
  const helpers_1 = require("@golemio/core/dist/integration-engine/helpers");
17
29
  const transformations_1 = require("@golemio/core/dist/integration-engine/transformations");
18
- const moment_timezone_1 = __importDefault(require("@golemio/core/dist/shared/moment-timezone"));
19
30
  const CommonRunHelper_1 = require("../helpers/CommonRunHelper");
20
- class CommonRunsMessagesTransformation extends transformations_1.BaseTransformation {
21
- constructor() {
31
+ const moment_1 = __importDefault(require("moment"));
32
+ const TimestampValidator_1 = require("../helpers/TimestampValidator");
33
+ const VPContainerToken_1 = require("../../../ioc/VPContainerToken");
34
+ const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
35
+ let CommonRunsMessagesTransformation = exports.CommonRunsMessagesTransformation = class CommonRunsMessagesTransformation extends transformations_1.BaseTransformation {
36
+ constructor(timestampValidator) {
22
37
  super();
38
+ this.timestampValidator = timestampValidator;
23
39
  this.name = "CommonRunsMessagesTransformation";
24
40
  /**
25
41
  * Overrides BaseTransformation::transform
26
42
  */
27
43
  this.transform = ({ data, timestamp }, isTram = false) => __awaiter(this, void 0, void 0, function* () {
28
- const now = (0, moment_timezone_1.default)(timestamp).tz("Europe/Prague").format();
44
+ const now = (0, moment_1.default)(timestamp).tz("Europe/Prague").format();
29
45
  const res = [];
30
46
  if (!Array.isArray(data)) {
31
47
  data = [data];
@@ -53,7 +69,7 @@ class CommonRunsMessagesTransformation extends transformations_1.BaseTransformat
53
69
  return Promise.reject();
54
70
  }
55
71
  const scheduledStopTimestampDate = attributes.tjr ? this.commonRunHelper.parseDateFromRunInput(attributes.tjr) : null;
56
- return {
72
+ const t = {
57
73
  run: {
58
74
  id: identifiers.runId,
59
75
  route_id: identifiers.routeId,
@@ -78,9 +94,14 @@ class CommonRunsMessagesTransformation extends transformations_1.BaseTransformat
78
94
  events: attributes.events,
79
95
  },
80
96
  };
97
+ return t;
81
98
  });
82
99
  this.commonRunHelper = new CommonRunHelper_1.CommonRunHelper();
83
100
  }
84
- }
85
- exports.CommonRunsMessagesTransformation = CommonRunsMessagesTransformation;
101
+ };
102
+ exports.CommonRunsMessagesTransformation = CommonRunsMessagesTransformation = __decorate([
103
+ (0, tsyringe_1.injectable)(),
104
+ __param(0, (0, tsyringe_1.inject)(VPContainerToken_1.VPContainerToken.TimestampValidator)),
105
+ __metadata("design:paramtypes", [TimestampValidator_1.TimestampValidator])
106
+ ], CommonRunsMessagesTransformation);
86
107
  //# sourceMappingURL=CommonRunsMessagesTransformation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CommonRunsMessagesTransformation.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/runs/transformations/CommonRunsMessagesTransformation.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AACA,2EAAoE;AACpE,2FAA4G;AAC5G,gGAA+D;AAC/D,gEAA6D;AAI7D,MAAa,gCAAiC,SAAQ,oCAAkB;IAIpE;QACI,KAAK,EAAE,CAAC;QAJL,SAAI,GAAG,kCAAkC,CAAC;QAQjD;;WAEG;QACI,cAAS,GAAG,CACf,EAAE,IAAI,EAAE,SAAS,EAAwB,EACzC,SAAkB,KAAK,EACY,EAAE;YACrC,MAAM,GAAG,GAAG,IAAA,yBAAM,EAAC,SAAS,CAAC,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,MAAM,EAAE,CAAC;YAC3D,MAAM,GAAG,GAA+B,EAAE,CAAC;YAE3C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;gBACtB,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC;aACjB;YACD,KAAK,MAAM,OAAO,IAAI,IAAI,EAAE;gBACxB,IAAI;oBACA,MAAM,kBAAkB,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,EAAE,MAAM,CAAC,CAAC;oBAClG,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;iBAChC;gBAAC,OAAO,GAAG,EAAE;oBACV,aAAG,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,IAAI,6BAA6B,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;iBACtG;aACJ;YACD,OAAO,GAAG,CAAC;QACf,CAAC,CAAA,CAAC;QAEQ,qBAAgB,GAAG,CACzB,OAAgC,EAChC,SAAkB,KAAK,EACU,EAAE;YACnC,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;YAClC,IAAI,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE;gBAC5B,OAAO,OAAO,CAAC,MAAM,EAAE,CAAC;aAC3B;YAED,MAAM,WAAW,GAAG,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,UAAU,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;YAC1F,MAAM,qBAAqB,GAAG,IAAI,CAAC,eAAe,CAAC,qBAAqB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YAC1F,MAAM,oBAAoB,GAAG,IAAI,CAAC,eAAe,CAAC,qBAAqB,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;YAEvF,IAAI,CAAC,WAAW,IAAI,CAAC,qBAAqB,IAAI,CAAC,oBAAoB,EAAE;gBACjE,OAAO,OAAO,CAAC,MAAM,EAAE,CAAC;aAC3B;YAED,MAAM,0BAA0B,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,qBAAqB,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACtH,OAAO;gBACH,GAAG,EAAE;oBACD,EAAE,EAAE,WAAW,CAAC,KAAK;oBACrB,QAAQ,EAAE,WAAW,CAAC,OAAO;oBAC7B,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,SAAS,CAAC;oBAClD,eAAe,EAAE,UAAU,CAAC,IAAI;oBAChC,mBAAmB,EAAE,UAAU,CAAC,GAAG;oBACnC,mBAAmB,EAAE,OAAO,CAAC,SAAS;oBACtC,kBAAkB,EAAE,OAAO,CAAC,SAAS;oBACrC,qBAAqB,EAAE,UAAU,CAAC,EAAE,KAAK,KAAK;iBACjD;gBACD,WAAW,EAAE;oBACT,qBAAqB;oBACrB,0BAA0B;oBAC1B,GAAG,EAAE,CAAC,UAAU,CAAC,GAAG;oBACpB,GAAG,EAAE,CAAC,UAAU,CAAC,GAAG;oBACpB,kBAAkB,EAAE,UAAU,CAAC,GAAG;oBAClC,0BAA0B,EAAE,qBAAqB;oBACjD,+BAA+B,EAAE,0BAA0B;oBAC3D,gBAAgB,EAAE,UAAU,CAAC,IAAI;oBACjC,aAAa,EAAE,UAAU,CAAC,GAAG;oBAC7B,aAAa,EAAE,oBAAoB;oBACnC,MAAM,EAAE,UAAU,CAAC,MAAM;iBAC5B;aACJ,CAAC;QACN,CAAC,CAAA,CAAC;QAtEE,IAAI,CAAC,eAAe,GAAG,IAAI,iCAAe,EAAE,CAAC;IACjD,CAAC;CAsEJ;AA7ED,4EA6EC"}
1
+ {"version":3,"file":"CommonRunsMessagesTransformation.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/runs/transformations/CommonRunsMessagesTransformation.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,2EAAoE;AACpE,2FAA4G;AAC5G,gEAA6D;AAG7D,oDAA4B;AAC5B,sEAAmE;AACnE,oEAA8E;AAC9E,iEAAwE;AAEjE,IAAM,gCAAgC,8CAAtC,MAAM,gCAAiC,SAAQ,oCAAkB;IAIpE,YAAyD,kBAA8C;QACnG,KAAK,EAAE,CAAC;QADqD,uBAAkB,GAAlB,kBAAkB,CAAoB;QAHhG,SAAI,GAAG,kCAAkC,CAAC;QAQjD;;WAEG;QACI,cAAS,GAAG,CACf,EAAE,IAAI,EAAE,SAAS,EAAwB,EACzC,SAAkB,KAAK,EACY,EAAE;YACrC,MAAM,GAAG,GAAG,IAAA,gBAAM,EAAC,SAAS,CAAC,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,MAAM,EAAE,CAAC;YAC3D,MAAM,GAAG,GAA+B,EAAE,CAAC;YAE3C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;gBACtB,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC;aACjB;YACD,KAAK,MAAM,OAAO,IAAI,IAAI,EAAE;gBACxB,IAAI;oBACA,MAAM,kBAAkB,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,EAAE,MAAM,CAAC,CAAC;oBAClG,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;iBAChC;gBAAC,OAAO,GAAG,EAAE;oBACV,aAAG,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,IAAI,6BAA6B,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;iBACtG;aACJ;YACD,OAAO,GAAG,CAAC;QACf,CAAC,CAAA,CAAC;QAEQ,qBAAgB,GAAG,CACzB,OAAgC,EAChC,SAAkB,KAAK,EACU,EAAE;YACnC,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;YAClC,IAAI,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE;gBAC5B,OAAO,OAAO,CAAC,MAAM,EAAE,CAAC;aAC3B;YAED,MAAM,WAAW,GAAG,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,UAAU,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;YAC1F,MAAM,qBAAqB,GAAG,IAAI,CAAC,eAAe,CAAC,qBAAqB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YAC1F,MAAM,oBAAoB,GAAG,IAAI,CAAC,eAAe,CAAC,qBAAqB,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;YAEvF,IAAI,CAAC,WAAW,IAAI,CAAC,qBAAqB,IAAI,CAAC,oBAAoB,EAAE;gBACjE,OAAO,OAAO,CAAC,MAAM,EAAE,CAAC;aAC3B;YAED,MAAM,0BAA0B,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,qBAAqB,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACtH,MAAM,CAAC,GAAG;gBACN,GAAG,EAAE;oBACD,EAAE,EAAE,WAAW,CAAC,KAAK;oBACrB,QAAQ,EAAE,WAAW,CAAC,OAAO;oBAC7B,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,SAAS,CAAC;oBAClD,eAAe,EAAE,UAAU,CAAC,IAAI;oBAChC,mBAAmB,EAAE,UAAU,CAAC,GAAG;oBACnC,mBAAmB,EAAE,OAAO,CAAC,SAAS;oBACtC,kBAAkB,EAAE,OAAO,CAAC,SAAS;oBACrC,qBAAqB,EAAE,UAAU,CAAC,EAAE,KAAK,KAAK;iBACjD;gBACD,WAAW,EAAE;oBACT,qBAAqB;oBACrB,0BAA0B;oBAC1B,GAAG,EAAE,CAAC,UAAU,CAAC,GAAG;oBACpB,GAAG,EAAE,CAAC,UAAU,CAAC,GAAG;oBACpB,kBAAkB,EAAE,UAAU,CAAC,GAAG;oBAClC,0BAA0B,EAAE,qBAAqB;oBACjD,+BAA+B,EAAE,0BAA0B;oBAC3D,gBAAgB,EAAE,UAAU,CAAC,IAAI;oBACjC,aAAa,EAAE,UAAU,CAAC,GAAG;oBAC7B,aAAa,EAAE,oBAAoB;oBACnC,MAAM,EAAE,UAAU,CAAC,MAAM;iBAC5B;aACJ,CAAC;YAEF,OAAO,CAAC,CAAC;QACb,CAAC,CAAA,CAAC;QAxEE,IAAI,CAAC,eAAe,GAAG,IAAI,iCAAe,EAAE,CAAC;IACjD,CAAC;CAwEJ,CAAA;2CA/EY,gCAAgC;IAD5C,IAAA,qBAAU,GAAE;IAKI,WAAA,IAAA,iBAAM,EAAC,mCAAgB,CAAC,kBAAkB,CAAC,CAAA;qCAA6B,uCAAkB;GAJ9F,gCAAgC,CA+E5C"}
@@ -1,13 +1,13 @@
1
1
  import { MetroRunsMessagesModel } from "../../../../../schema-definitions/vehicle-positions/models";
2
2
  import { BaseTransformation, ITransformation } from "@golemio/core/dist/integration-engine/transformations";
3
- import { IMetroRunsInput, IMetroRunsMessageProperties, IMetroRunsTrainContent } from "../interfaces/MetroRunsMessageInterfaces";
3
+ import { IMetroRunsInputData, IMetroRunsMessageProperties, IMetroRunsTrainContent } from "../interfaces/MetroRunsMessageInterfaces";
4
4
  interface IMetroRunsElement {
5
5
  messageData: IMetroRunsMessageProperties;
6
6
  trainData: IMetroRunsTrainContent;
7
7
  }
8
8
  export declare class MetroRunsMessagesTransformation extends BaseTransformation implements ITransformation {
9
9
  name: string;
10
- transform: (data: IMetroRunsInput) => Promise<MetroRunsMessagesModel[]>;
10
+ transform: ({ data }: IMetroRunsInputData) => Promise<MetroRunsMessagesModel[]>;
11
11
  protected transformElement: ({ messageData, trainData }: IMetroRunsElement) => MetroRunsMessagesModel;
12
12
  }
13
13
  export {};
@@ -6,7 +6,7 @@ class MetroRunsMessagesTransformation extends transformations_1.BaseTransformati
6
6
  constructor() {
7
7
  super(...arguments);
8
8
  this.name = "MetroRunMessages";
9
- this.transform = (data) => {
9
+ this.transform = ({ data }) => {
10
10
  let { $: messageData, vlak: trainData } = data.m;
11
11
  if (!trainData) {
12
12
  return Promise.resolve([]);
@@ -1 +1 @@
1
- {"version":3,"file":"MetroRunsMessagesTransformation.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/runs/transformations/MetroRunsMessagesTransformation.ts"],"names":[],"mappings":";;;AACA,2FAA4G;AAQ5G,MAAa,+BAAgC,SAAQ,oCAAkB;IAAvE;;QACW,SAAI,GAAG,kBAAkB,CAAC;QAE1B,cAAS,GAAG,CAAC,IAAqB,EAAqC,EAAE;YAC5E,IAAI,EAAE,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;YACjD,IAAI,CAAC,SAAS,EAAE;gBACZ,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;aAC9B;YAED,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;gBAC3B,SAAS,GAAG,CAAC,SAAS,CAAC,CAAC;aAC3B;YAED,MAAM,GAAG,GAA6B,EAAE,CAAC;YACzC,KAAK,MAAM,aAAa,IAAI,SAAS,EAAE;gBACnC,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,EAAE,WAAW,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC,CAAC;gBACjF,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aACrB;YAED,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAChC,CAAC,CAAC;QAEQ,qBAAgB,GAAG,CAAC,EAAE,WAAW,EAAE,SAAS,EAAqB,EAA0B,EAAE;YACnG,MAAM,kBAAkB,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACtD,MAAM,gBAAgB,GAAG,IAAI,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;YAClD,MAAM,kBAAkB,GAAG,IAAI,IAAI,CAAC,gBAAgB,CAAC,CAAC;YACtD,wEAAwE;YACxE,kBAAkB,CAAC,UAAU,CAAC,kBAAkB,CAAC,UAAU,EAAE,GAAG,kBAAkB,CAAC,CAAC;YAEpF,OAAO;gBACH,UAAU,EAAE,WAAW,CAAC,KAAK;gBAC7B,iBAAiB,EAAE,gBAAgB;gBACnC,0BAA0B,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE;gBACvD,qBAAqB,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE;gBAClD,YAAY,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE;gBAC5B,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE;gBACxB,YAAY,EAAE,kBAAkB;gBAChC,mCAAmC,EAAE,kBAAkB;aAChC,CAAC;QAChC,CAAC,CAAC;IACN,CAAC;CAAA;AAxCD,0EAwCC"}
1
+ {"version":3,"file":"MetroRunsMessagesTransformation.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/runs/transformations/MetroRunsMessagesTransformation.ts"],"names":[],"mappings":";;;AACA,2FAA4G;AAW5G,MAAa,+BAAgC,SAAQ,oCAAkB;IAAvE;;QACW,SAAI,GAAG,kBAAkB,CAAC;QAE1B,cAAS,GAAG,CAAC,EAAE,IAAI,EAAuB,EAAqC,EAAE;YACpF,IAAI,EAAE,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;YACjD,IAAI,CAAC,SAAS,EAAE;gBACZ,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;aAC9B;YAED,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;gBAC3B,SAAS,GAAG,CAAC,SAAS,CAAC,CAAC;aAC3B;YAED,MAAM,GAAG,GAA6B,EAAE,CAAC;YACzC,KAAK,MAAM,aAAa,IAAI,SAAS,EAAE;gBACnC,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,EAAE,WAAW,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC,CAAC;gBACjF,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aACrB;YAED,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAChC,CAAC,CAAC;QAEQ,qBAAgB,GAAG,CAAC,EAAE,WAAW,EAAE,SAAS,EAAqB,EAA0B,EAAE;YACnG,MAAM,kBAAkB,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACtD,MAAM,gBAAgB,GAAG,IAAI,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;YAClD,MAAM,kBAAkB,GAAG,IAAI,IAAI,CAAC,gBAAgB,CAAC,CAAC;YACtD,wEAAwE;YACxE,kBAAkB,CAAC,UAAU,CAAC,kBAAkB,CAAC,UAAU,EAAE,GAAG,kBAAkB,CAAC,CAAC;YAEpF,OAAO;gBACH,UAAU,EAAE,WAAW,CAAC,KAAK;gBAC7B,iBAAiB,EAAE,gBAAgB;gBACnC,0BAA0B,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE;gBACvD,qBAAqB,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE;gBAClD,YAAY,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE;gBAC5B,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE;gBACxB,YAAY,EAAE,kBAAkB;gBAChC,mCAAmC,EAAE,kBAAkB;aAChC,CAAC;QAChC,CAAC,CAAC;IACN,CAAC;CAAA;AAxCD,0EAwCC"}
@@ -30,6 +30,7 @@ let RegionalBusRunsMessagesTransformation = exports.RegionalBusRunsMessagesTrans
30
30
  speed_kmh: Number.parseInt(messageData.rych),
31
31
  bearing: Number.parseInt(messageData.smer),
32
32
  is_terminated: messageData.conn === "0" || messageData.line === "0",
33
+ timestamp: messageData.tm,
33
34
  };
34
35
  };
35
36
  }
@@ -1 +1 @@
1
- {"version":3,"file":"RegionalBusRunsMessagesTransformation.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/runs/transformations/RegionalBusRunsMessagesTransformation.ts"],"names":[],"mappings":";;;;;;;;;AACA,6GAA0G;AAC1G,iEAAgE;AAOzD,IAAM,qCAAqC,mDAA3C,MAAM,qCAAsC,SAAQ,+CAAiD;IAArG;;QACI,SAAI,GAAG,uCAAuC,CAAC;QAE5C,sBAAiB,GAAG,CAAC,IAAiB,EAAgB,EAAE;;YAC9D,MAAM,WAAW,GAAG,IAAI,CAAC,CAAC,CAAC;YAE3B,OAAO;gBACH,gBAAgB,EAAE,WAAW,CAAC,IAAI;gBAClC,WAAW,EAAE,WAAW,CAAC,IAAI,IAAI,WAAW,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI;gBACnF,eAAe,EAAE,WAAW,CAAC,IAAI,IAAI,WAAW,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI;gBACxG,MAAM,EAAE,MAAA,WAAW,CAAC,MAAM,mCAAI,EAAE;gBAChC,WAAW,EAAE;oBACT,IAAI,EAAE,OAAO;oBACb,WAAW,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;iBACxF;gBACD,iBAAiB,EAAE,IAAI,IAAI,CAAC,WAAW,CAAC,EAAE,GAAG,GAAG,CAAC;gBACjD,mBAAmB,EAAE,WAAW,CAAC,GAAG,IAAI,WAAW,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI;gBACzG,SAAS,EAAE,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC;gBAC5C,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC;gBAC1C,aAAa,EAAE,WAAW,CAAC,IAAI,KAAK,GAAG,IAAI,WAAW,CAAC,IAAI,KAAK,GAAG;aACtE,CAAC;QACN,CAAC,CAAC;IACN,CAAC;CAAA,CAAA;gDAtBY,qCAAqC;IADjD,IAAA,qBAAU,GAAE;GACA,qCAAqC,CAsBjD"}
1
+ {"version":3,"file":"RegionalBusRunsMessagesTransformation.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/runs/transformations/RegionalBusRunsMessagesTransformation.ts"],"names":[],"mappings":";;;;;;;;;AACA,6GAA0G;AAC1G,iEAAwE;AASjE,IAAM,qCAAqC,mDAA3C,MAAM,qCAAsC,SAAQ,+CAAiD;IAArG;;QACI,SAAI,GAAG,uCAAuC,CAAC;QAE5C,sBAAiB,GAAG,CAAC,IAAiB,EAAgB,EAAE;;YAC9D,MAAM,WAAW,GAAG,IAAI,CAAC,CAAC,CAAC;YAE3B,OAAO;gBACH,gBAAgB,EAAE,WAAW,CAAC,IAAI;gBAClC,WAAW,EAAE,WAAW,CAAC,IAAI,IAAI,WAAW,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI;gBACnF,eAAe,EAAE,WAAW,CAAC,IAAI,IAAI,WAAW,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI;gBACxG,MAAM,EAAE,MAAA,WAAW,CAAC,MAAM,mCAAI,EAAE;gBAChC,WAAW,EAAE;oBACT,IAAI,EAAE,OAAO;oBACb,WAAW,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;iBACxF;gBACD,iBAAiB,EAAE,IAAI,IAAI,CAAC,WAAW,CAAC,EAAE,GAAG,GAAG,CAAC;gBACjD,mBAAmB,EAAE,WAAW,CAAC,GAAG,IAAI,WAAW,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI;gBACzG,SAAS,EAAE,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC;gBAC5C,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC;gBAC1C,aAAa,EAAE,WAAW,CAAC,IAAI,KAAK,GAAG,IAAI,WAAW,CAAC,IAAI,KAAK,GAAG;gBACnE,SAAS,EAAE,WAAW,CAAC,EAAE;aAC5B,CAAC;QACN,CAAC,CAAC;IACN,CAAC;CAAA,CAAA;gDAvBY,qCAAqC;IADjD,IAAA,qBAAU,GAAE;GACA,qCAAqC,CAuBjD"}
@@ -10,4 +10,5 @@ export interface IRegionalBusRunsMessagesModel {
10
10
  speed_kmh: number;
11
11
  bearing: number;
12
12
  is_terminated: boolean;
13
+ timestamp?: string;
13
14
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@golemio/pid",
3
- "version": "2.13.1-dev.1284390928",
3
+ "version": "2.13.1-dev.1285929601",
4
4
  "description": "Golemio PID Module",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",