@golemio/pid 2.13.3 → 2.13.4-dev.1297347910

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 (91) hide show
  1. package/dist/integration-engine/index.d.ts +0 -1
  2. package/dist/integration-engine/index.js +0 -4
  3. package/dist/integration-engine/index.js.map +1 -1
  4. package/dist/integration-engine/ropid-gtfs/index.d.ts +0 -1
  5. package/dist/integration-engine/ropid-gtfs/index.js +0 -1
  6. package/dist/integration-engine/ropid-gtfs/index.js.map +1 -1
  7. package/dist/integration-engine/ropid-gtfs/ioc/Di.js +6 -0
  8. package/dist/integration-engine/ropid-gtfs/ioc/Di.js.map +1 -1
  9. package/dist/integration-engine/ropid-gtfs/ioc/RopidGtfsContainerToken.d.ts +3 -0
  10. package/dist/integration-engine/ropid-gtfs/ioc/RopidGtfsContainerToken.js +3 -0
  11. package/dist/integration-engine/ropid-gtfs/ioc/RopidGtfsContainerToken.js.map +1 -1
  12. package/dist/integration-engine/ropid-gtfs/workers/presets/PresetWorker.d.ts +3 -1
  13. package/dist/integration-engine/ropid-gtfs/workers/presets/PresetWorker.js +8 -0
  14. package/dist/integration-engine/ropid-gtfs/workers/presets/PresetWorker.js.map +1 -1
  15. package/dist/integration-engine/ropid-gtfs/workers/presets/data-access/DeparturesPresetsDatasource.d.ts +12 -0
  16. package/dist/integration-engine/ropid-gtfs/workers/presets/data-access/DeparturesPresetsDatasource.js +44 -0
  17. package/dist/integration-engine/ropid-gtfs/workers/presets/data-access/DeparturesPresetsDatasource.js.map +1 -0
  18. package/dist/integration-engine/ropid-gtfs/workers/presets/tasks/CheckForNewDeparturesPresetsTask.d.ts +11 -0
  19. package/dist/integration-engine/ropid-gtfs/workers/presets/tasks/CheckForNewDeparturesPresetsTask.js +69 -0
  20. package/dist/integration-engine/ropid-gtfs/workers/presets/tasks/CheckForNewDeparturesPresetsTask.js.map +1 -0
  21. package/dist/integration-engine/ropid-gtfs/workers/presets/tasks/DownloadDeparturesPresetsTask.d.ts +11 -0
  22. package/dist/integration-engine/ropid-gtfs/workers/presets/tasks/DownloadDeparturesPresetsTask.js +66 -0
  23. package/dist/integration-engine/ropid-gtfs/workers/presets/tasks/DownloadDeparturesPresetsTask.js.map +1 -0
  24. package/dist/integration-engine/vehicle-positions/ioc/Di.js +14 -0
  25. package/dist/integration-engine/vehicle-positions/ioc/Di.js.map +1 -1
  26. package/dist/integration-engine/vehicle-positions/ioc/VPContainerToken.d.ts +7 -0
  27. package/dist/integration-engine/vehicle-positions/ioc/VPContainerToken.js +7 -0
  28. package/dist/integration-engine/vehicle-positions/ioc/VPContainerToken.js.map +1 -1
  29. package/dist/integration-engine/vehicle-positions/workers/runs/RunsWorker.js +4 -8
  30. package/dist/integration-engine/vehicle-positions/workers/runs/RunsWorker.js.map +1 -1
  31. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/BusMessageFilter.d.ts +4 -2
  32. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/BusMessageFilter.js +14 -3
  33. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/BusMessageFilter.js.map +1 -1
  34. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/CommonMessageProcessor.js +2 -2
  35. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/CommonMessageProcessor.js.map +1 -1
  36. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/TimestampValidator.d.ts +6 -0
  37. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/TimestampValidator.js +38 -0
  38. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/TimestampValidator.js.map +1 -0
  39. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/TramMessageFilter.d.ts +5 -2
  40. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/TramMessageFilter.js +15 -3
  41. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/TramMessageFilter.js.map +1 -1
  42. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/interfaces/ICommonMessageFilter.d.ts +1 -1
  43. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/regional-bus/RegionalBusMessageFilter.d.ts +4 -5
  44. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/regional-bus/RegionalBusMessageFilter.js +16 -22
  45. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/regional-bus/RegionalBusMessageFilter.js.map +1 -1
  46. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/regional-bus/RegionalBusRunsFacade.d.ts +4 -4
  47. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/regional-bus/RegionalBusRunsFacade.js +4 -3
  48. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/regional-bus/RegionalBusRunsFacade.js.map +1 -1
  49. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/regional-bus/interfaces/IRegionalBusMessageFilter.d.ts +1 -1
  50. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/regional-bus/interfaces/IRegionalBusRunsFacade.d.ts +2 -2
  51. package/dist/integration-engine/vehicle-positions/workers/runs/interfaces/MetroRunsMessageInterfaces.d.ts +3 -0
  52. package/dist/integration-engine/vehicle-positions/workers/runs/interfaces/RegionalBusRunsMessageInterfaces.d.ts +4 -0
  53. package/dist/integration-engine/vehicle-positions/workers/runs/schema/RegionalBusTransformedRunsSchema.js +4 -0
  54. package/dist/integration-engine/vehicle-positions/workers/runs/schema/RegionalBusTransformedRunsSchema.js.map +1 -1
  55. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/ProcessMetroRunMessagesTask.d.ts +1 -1
  56. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/ProcessMetroRunMessagesTask.js +19 -5
  57. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/ProcessMetroRunMessagesTask.js.map +1 -1
  58. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/SaveArrivaCityRunsToDBTask.d.ts +2 -2
  59. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/SaveArrivaCityRunsToDBTask.js +11 -2
  60. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/SaveArrivaCityRunsToDBTask.js.map +1 -1
  61. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/SaveBusRunsToDBTask.d.ts +1 -1
  62. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/SaveBusRunsToDBTask.js +21 -8
  63. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/SaveBusRunsToDBTask.js.map +1 -1
  64. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/SaveMetroRunsToDBTask.d.ts +5 -1
  65. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/SaveMetroRunsToDBTask.js +42 -8
  66. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/SaveMetroRunsToDBTask.js.map +1 -1
  67. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/SaveTramRunsToDBTask.d.ts +1 -1
  68. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/SaveTramRunsToDBTask.js +21 -8
  69. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/SaveTramRunsToDBTask.js.map +1 -1
  70. package/dist/integration-engine/vehicle-positions/workers/runs/transformations/CommonRunsMessagesTransformation.js +20 -6
  71. package/dist/integration-engine/vehicle-positions/workers/runs/transformations/CommonRunsMessagesTransformation.js.map +1 -1
  72. package/dist/integration-engine/vehicle-positions/workers/runs/transformations/MetroRunsMessagesTransformation.d.ts +2 -2
  73. package/dist/integration-engine/vehicle-positions/workers/runs/transformations/MetroRunsMessagesTransformation.js +1 -1
  74. package/dist/integration-engine/vehicle-positions/workers/runs/transformations/MetroRunsMessagesTransformation.js.map +1 -1
  75. package/dist/integration-engine/vehicle-positions/workers/runs/transformations/RegionalBusRunsMessagesTransformation.js +1 -0
  76. package/dist/integration-engine/vehicle-positions/workers/runs/transformations/RegionalBusRunsMessagesTransformation.js.map +1 -1
  77. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/RefreshPublicStopTimeCacheTask.d.ts +0 -1
  78. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/RefreshPublicStopTimeCacheTask.js +0 -1
  79. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/RefreshPublicStopTimeCacheTask.js.map +1 -1
  80. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/transformations/MpvMessageTransformation.d.ts +3 -6
  81. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/transformations/MpvMessageTransformation.js +8 -19
  82. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/transformations/MpvMessageTransformation.js.map +1 -1
  83. package/dist/schema-definitions/vehicle-positions/models/interfaces/IRegionalBusRunsMessagesModel.d.ts +1 -0
  84. package/docs/implementation_documentation.md +32 -1
  85. package/package.json +2 -2
  86. package/dist/integration-engine/queueDefinitions.d.ts +0 -6
  87. package/dist/integration-engine/queueDefinitions.js +0 -40
  88. package/dist/integration-engine/queueDefinitions.js.map +0 -1
  89. package/dist/integration-engine/ropid-gtfs/LegacyRopidGTFSWorker.d.ts +0 -19
  90. package/dist/integration-engine/ropid-gtfs/LegacyRopidGTFSWorker.js +0 -79
  91. package/dist/integration-engine/ropid-gtfs/LegacyRopidGTFSWorker.js.map +0 -1
@@ -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,15 @@ 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" +
39
+ message.run_message.actual_stop_timestamp_real.toISOString() +
40
+ `is not valid for line ${message.run.line_short_name}, run ${message.run.run_number}`, this.constructor.name, undefined, undefined, "pid"));
41
+ continue;
42
+ }
33
43
  if (run.route_id.length > 2) {
34
44
  yield message;
35
45
  continue;
@@ -47,6 +57,7 @@ let BusMessageFilter = exports.BusMessageFilter = class BusMessageFilter {
47
57
  exports.BusMessageFilter = BusMessageFilter = __decorate([
48
58
  (0, tsyringe_1.injectable)(),
49
59
  __param(0, (0, tsyringe_1.inject)(CoreToken_1.CoreToken.Logger)),
50
- __metadata("design:paramtypes", [Object])
60
+ __param(1, (0, tsyringe_1.inject)(VPContainerToken_1.VPContainerToken.TimestampValidator)),
61
+ __metadata("design:paramtypes", [Object, TimestampValidator_1.TimestampValidator])
51
62
  ], BusMessageFilter);
52
63
  //# 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,mCAAmC;oBAC/B,OAAO,CAAC,WAAW,CAAC,0BAA0B,CAAC,WAAW,EAAE;oBAC5D,yBAAyB,OAAO,CAAC,GAAG,CAAC,eAAe,SAAS,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,EACzF,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;2BA7CY,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,CA6C5B"}
@@ -50,8 +50,8 @@ class CommonMessageProcessor {
50
50
  if (element.run_message.actual_stop_timestamp_scheduled instanceof Date &&
51
51
  element.run_message.actual_stop_timestamp_scheduled.getTime() - Date.now() >=
52
52
  MIN_HOURS_DIFF_TO_LOG * ONE_HOUR_IN_MILLIS) {
53
- this.logger.error(new golemio_errors_1.GeneralError(`Message timestamp 'tjr' of value '${element.run_message.actual_stop_timestamp_scheduled}' is 22+ hrs ` +
54
- `ahead (line ${element.run.line_short_name}, run ${element.run.run_number})`, this.constructor.name, undefined, undefined, "pid"));
53
+ this.logger.error(new golemio_errors_1.GeneralError(`Message timestamp 'tjr' of value '${element.run_message.actual_stop_timestamp_scheduled.toISOString()}` +
54
+ ` is 22+ hrs ahead (line ${element.run.line_short_name}, run ${element.run.run_number})`, this.constructor.name, undefined, undefined, "pid"));
55
55
  }
56
56
  }
57
57
  }
@@ -1 +1 @@
1
- {"version":3,"file":"CommonMessageProcessor.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/runs/helpers/CommonMessageProcessor.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA0C;AAC1C,2FAA0D;AAE1D,wEAAqE;AAErE,yEAAsE;AACtE,2FAAqF;AACrF,6EAAwE;AACxE,gDAAyE;AAGzE,MAAM,kBAAkB,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAC1C,MAAM,qBAAqB,GAAG,EAAE,CAAC;AAEjC,MAAa,sBAAsB;IAG/B,YAA6B,cAAoC;QAApC,mBAAc,GAAd,cAAc,CAAsB;QAIjE;;WAEG;QACI,0BAAqB,GAAG,CAAO,OAAiC,EAAE,qBAA8B,EAAiB,EAAE;YACtH,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;YAC/B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,qBAAqB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAE5E,IAAI,SAAmC,CAAC;YACxC,IAAI,MAAM,EAAE;gBACR,IACI,CAAC,OAAO,CAAC,WAAW,CAAC,+BAA+B;oBACpD,CAAC,yCAAiC,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,EAC9E;oBACE,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,wBAAwB,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;oBACxG,IAAI,CAAC,iBAAiB,IAAI,CAAC,iBAAiB,CAAC,+BAA+B;wBAAE,OAAO;oBACrF,OAAO,CAAC,WAAW,CAAC,+BAA+B,GAAG,iBAAiB,CAAC,+BAA+B,CAAC;iBAC3G;gBAED,SAAS,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,kBAAkB,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;aAChF;iBAAM;gBACH,SAAS,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;aACrE;YAED,MAAM,8BAAY,CAAC,qBAAqB,CACpC,GAAG,eAAM,CAAC,oBAAoB,IAAI,oCAAgB,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,EACvE,sBAAsB,EACtB,SAAS,EACT,EAAE,SAAS,EAAE,qBAAqB,EAAE,CACvC,CAAC;QACN,CAAC,CAAA,CAAC;QAhCE,IAAI,CAAC,MAAM,GAAG,iBAAY,CAAC,OAAO,CAAU,qBAAS,CAAC,MAAM,CAAC,CAAC;IAClE,CAAC;IAiCO,gBAAgB,CAAC,OAAiC;QACtD,IACI,OAAO,CAAC,WAAW,CAAC,+BAA+B,YAAY,IAAI;YACnE,OAAO,CAAC,WAAW,CAAC,+BAA+B,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE;gBACtE,qBAAqB,GAAG,kBAAkB,EAChD;YACE,IAAI,CAAC,MAAM,CAAC,KAAK,CACb,IAAI,6BAAY,CACZ,qCAAqC,OAAO,CAAC,WAAW,CAAC,+BAA+B,eAAe;gBACnG,eAAe,OAAO,CAAC,GAAG,CAAC,eAAe,SAAS,OAAO,CAAC,GAAG,CAAC,UAAU,GAAG,EAChF,IAAI,CAAC,WAAW,CAAC,IAAI,EACrB,SAAS,EACT,SAAS,EACT,KAAK,CACR,CACJ,CAAC;SACL;IACL,CAAC;CACJ;AAxDD,wDAwDC"}
1
+ {"version":3,"file":"CommonMessageProcessor.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/runs/helpers/CommonMessageProcessor.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA0C;AAC1C,2FAA0D;AAE1D,wEAAqE;AAErE,yEAAsE;AACtE,2FAAqF;AACrF,6EAAwE;AACxE,gDAAyE;AAGzE,MAAM,kBAAkB,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAC1C,MAAM,qBAAqB,GAAG,EAAE,CAAC;AAEjC,MAAa,sBAAsB;IAG/B,YAA6B,cAAoC;QAApC,mBAAc,GAAd,cAAc,CAAsB;QAIjE;;WAEG;QACI,0BAAqB,GAAG,CAAO,OAAiC,EAAE,qBAA8B,EAAiB,EAAE;YACtH,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;YAC/B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,qBAAqB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAE5E,IAAI,SAAmC,CAAC;YACxC,IAAI,MAAM,EAAE;gBACR,IACI,CAAC,OAAO,CAAC,WAAW,CAAC,+BAA+B;oBACpD,CAAC,yCAAiC,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,EAC9E;oBACE,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,wBAAwB,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;oBACxG,IAAI,CAAC,iBAAiB,IAAI,CAAC,iBAAiB,CAAC,+BAA+B;wBAAE,OAAO;oBACrF,OAAO,CAAC,WAAW,CAAC,+BAA+B,GAAG,iBAAiB,CAAC,+BAA+B,CAAC;iBAC3G;gBAED,SAAS,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,kBAAkB,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;aAChF;iBAAM;gBACH,SAAS,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;aACrE;YAED,MAAM,8BAAY,CAAC,qBAAqB,CACpC,GAAG,eAAM,CAAC,oBAAoB,IAAI,oCAAgB,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,EACvE,sBAAsB,EACtB,SAAS,EACT,EAAE,SAAS,EAAE,qBAAqB,EAAE,CACvC,CAAC;QACN,CAAC,CAAA,CAAC;QAhCE,IAAI,CAAC,MAAM,GAAG,iBAAY,CAAC,OAAO,CAAU,qBAAS,CAAC,MAAM,CAAC,CAAC;IAClE,CAAC;IAiCO,gBAAgB,CAAC,OAAiC;QACtD,IACI,OAAO,CAAC,WAAW,CAAC,+BAA+B,YAAY,IAAI;YACnE,OAAO,CAAC,WAAW,CAAC,+BAA+B,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE;gBACtE,qBAAqB,GAAG,kBAAkB,EAChD;YACE,IAAI,CAAC,MAAM,CAAC,KAAK,CACb,IAAI,6BAAY,CACZ,qCAAqC,OAAO,CAAC,WAAW,CAAC,+BAA+B,CAAC,WAAW,EAAE,EAAE;gBACpG,2BAA2B,OAAO,CAAC,GAAG,CAAC,eAAe,SAAS,OAAO,CAAC,GAAG,CAAC,UAAU,GAAG,EAC5F,IAAI,CAAC,WAAW,CAAC,IAAI,EACrB,SAAS,EACT,SAAS,EACT,KAAK,CACR,CACJ,CAAC;SACL;IACL,CAAC;CACJ;AAxDD,wDAwDC"}
@@ -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,33 @@ 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" +
42
+ message.run_message.actual_stop_timestamp_real.toISOString() +
43
+ `is not valid for line ${message.run.line_short_name}, run ${message.run.run_number}`, this.constructor.name, undefined, undefined, "pid"));
44
+ continue;
45
+ }
35
46
  if (const_1.ArrayNotPublicRegistrationNumbers.includes(registration_number) ||
36
47
  (this.isRouteIdValid(route_id) && this.isRunNumberValid(run_number))) {
37
48
  yield message;
@@ -55,6 +66,7 @@ let TramMessageFilter = exports.TramMessageFilter = class TramMessageFilter {
55
66
  exports.TramMessageFilter = TramMessageFilter = __decorate([
56
67
  (0, tsyringe_1.injectable)(),
57
68
  __param(0, (0, tsyringe_1.inject)(CoreToken_1.CoreToken.Logger)),
58
- __metadata("design:paramtypes", [Object])
69
+ __param(1, (0, tsyringe_1.inject)(VPContainerToken_1.VPContainerToken.TimestampValidator)),
70
+ __metadata("design:paramtypes", [Object, TimestampValidator_1.TimestampValidator])
59
71
  ], TramMessageFilter);
60
72
  //# 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,mCAAmC;oBAC/B,OAAO,CAAC,WAAW,CAAC,0BAA0B,CAAC,WAAW,EAAE;oBAC5D,yBAAyB,OAAO,CAAC,GAAG,CAAC,eAAe,SAAS,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,EACzF,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;4BAxDY,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,CAwD7B"}
@@ -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,14 +1,13 @@
1
1
  import { IRegionalBusRunsMessagesModel } from "../../../../../../schema-definitions/vehicle-positions/models/interfaces/IRegionalBusRunsMessagesModel";
2
- import { ISimpleConfig } from "@golemio/core/dist/helpers/configuration/ISimpleConfig";
3
2
  import { ILogger } from "@golemio/core/dist/helpers/logger";
4
3
  import { IRegionalBusMessageFilter } from "./interfaces/IRegionalBusMessageFilter";
4
+ import { TimestampValidator } from "../TimestampValidator";
5
5
  export declare class RegionalBusMessageFilter implements IRegionalBusMessageFilter {
6
- private config;
7
6
  private logger;
8
- constructor(config: ISimpleConfig, logger: ILogger);
7
+ private timestampValidator;
8
+ constructor(logger: ILogger, timestampValidator: TimestampValidator);
9
9
  /**
10
10
  * Get messages that are valid for processing
11
11
  */
12
- getFilteredMessages(messages: IRegionalBusRunsMessagesModel[]): IRegionalBusRunsMessagesModel[];
13
- private get regNumberWhitelist();
12
+ getFilteredMessages(messages: IRegionalBusRunsMessagesModel[], timestamp: number): IRegionalBusRunsMessagesModel[];
14
13
  }
@@ -15,24 +15,27 @@ 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(config, logger) {
20
- this.config = config;
22
+ constructor(logger, timestampValidator) {
21
23
  this.logger = logger;
24
+ this.timestampValidator = timestampValidator;
22
25
  }
23
26
  /**
24
27
  * Get messages that are valid for processing
25
28
  */
26
- getFilteredMessages(messages) {
29
+ getFilteredMessages(messages, timestamp) {
27
30
  let filteredMessages = [];
28
31
  for (const message of messages) {
29
- if (message.cis_line_id && message.cis_trip_number && message.registration_number && message.events !== "") {
30
- if (this.regNumberWhitelist && !this.regNumberWhitelist.includes(message.registration_number.toString())) {
31
- this.logger.verbose(
32
- // eslint-disable-next-line max-len
33
- `getFilteredMessages: message with registration_number=${message.registration_number} is not in whitelist, skipping`);
34
- continue;
35
- }
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
+ }
38
+ if (isValidMessage) {
36
39
  filteredMessages.push(message);
37
40
  }
38
41
  }
@@ -41,20 +44,11 @@ let RegionalBusMessageFilter = exports.RegionalBusMessageFilter = class Regional
41
44
  }
42
45
  return filteredMessages;
43
46
  }
44
- get regNumberWhitelist() {
45
- const valuePath = "old.datasources.pid.vehicle-positions.regNumberWhitelist.regionalBus";
46
- const whitelistDict = this.config.getValue(valuePath, {});
47
- const whitelist = Object.values(whitelistDict);
48
- if (whitelist[0] !== "*") {
49
- return whitelist;
50
- }
51
- return null;
52
- }
53
47
  };
54
48
  exports.RegionalBusMessageFilter = RegionalBusMessageFilter = __decorate([
55
49
  (0, tsyringe_1.injectable)(),
56
- __param(0, (0, tsyringe_1.inject)(CoreToken_1.CoreToken.SimpleConfig)),
57
- __param(1, (0, tsyringe_1.inject)(CoreToken_1.CoreToken.Logger)),
58
- __metadata("design:paramtypes", [Object, Object])
50
+ __param(0, (0, tsyringe_1.inject)(CoreToken_1.CoreToken.Logger)),
51
+ __param(1, (0, tsyringe_1.inject)(VPContainerToken_1.VPContainerToken.TimestampValidator)),
52
+ __metadata("design:paramtypes", [Object, TimestampValidator_1.TimestampValidator])
59
53
  ], RegionalBusMessageFilter);
60
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":";;;;;;;;;;;;;;;AAEA,wEAAqE;AAErE,iEAAwE;AAIjE,IAAM,wBAAwB,sCAA9B,MAAM,wBAAwB;IACjC,YAC4C,MAAqB,EAC3B,MAAe;QADT,WAAM,GAAN,MAAM,CAAe;QAC3B,WAAM,GAAN,MAAM,CAAS;IAClD,CAAC;IAEJ;;OAEG;IACI,mBAAmB,CAAC,QAAyC;QAChE,IAAI,gBAAgB,GAAoC,EAAE,CAAC;QAC3D,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;YAC5B,IAAI,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,eAAe,IAAI,OAAO,CAAC,mBAAmB,IAAI,OAAO,CAAC,MAAM,KAAK,EAAE,EAAE;gBACxG,IAAI,IAAI,CAAC,kBAAkB,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,OAAO,CAAC,mBAAmB,CAAC,QAAQ,EAAE,CAAC,EAAE;oBACtG,IAAI,CAAC,MAAM,CAAC,OAAO;oBACf,mCAAmC;oBACnC,yDAAyD,OAAO,CAAC,mBAAmB,gCAAgC,CACvH,CAAC;oBACF,SAAS;iBACZ;gBAED,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aAClC;SACJ;QAED,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE;YAC/B,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,uDAAuD,CAAC,CAAC;SAChF;QAED,OAAO,gBAAgB,CAAC;IAC5B,CAAC;IAED,IAAY,kBAAkB;QAC1B,MAAM,SAAS,GAAG,sEAAsE,CAAC;QACzF,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAyB,SAAS,EAAE,EAAE,CAAC,CAAC;QAClF,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QAE/C,IAAI,SAAS,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;YACtB,OAAO,SAAS,CAAC;SACpB;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ,CAAA;mCA3CY,wBAAwB;IADpC,IAAA,qBAAU,GAAE;IAGJ,WAAA,IAAA,iBAAM,EAAC,qBAAS,CAAC,YAAY,CAAC,CAAA;IAC9B,WAAA,IAAA,iBAAM,EAAC,qBAAS,CAAC,MAAM,CAAC,CAAA;;GAHpB,wBAAwB,CA2CpC"}
1
+ {"version":3,"file":"RegionalBusMessageFilter.js","sourceRoot":"","sources":["../../../../../../../src/integration-engine/vehicle-positions/workers/runs/helpers/regional-bus/RegionalBusMessageFilter.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AACA,wEAAqE;AAErE,iEAAwE;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":"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"}
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
  }