@golemio/pid 5.7.3 → 5.7.4-dev.2387470014

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 (108) hide show
  1. package/dist/const.d.ts +0 -1
  2. package/dist/const.js +1 -2
  3. package/dist/const.js.map +1 -1
  4. package/dist/integration-engine/ropid-gtfs/data-access/cache/NotPublicVehiclesRedisRepository.d.ts +14 -0
  5. package/dist/integration-engine/ropid-gtfs/data-access/cache/NotPublicVehiclesRedisRepository.js +47 -0
  6. package/dist/integration-engine/ropid-gtfs/data-access/cache/NotPublicVehiclesRedisRepository.js.map +1 -0
  7. package/dist/integration-engine/ropid-gtfs/datasources/StaticDataSourceFactory.d.ts +3 -2
  8. package/dist/integration-engine/ropid-gtfs/datasources/StaticDataSourceFactory.js +4 -2
  9. package/dist/integration-engine/ropid-gtfs/datasources/StaticDataSourceFactory.js.map +1 -1
  10. package/dist/integration-engine/ropid-gtfs/datasources/static-data/NotPublicVehiclesDataSourceProvider.d.ts +9 -0
  11. package/dist/integration-engine/ropid-gtfs/datasources/static-data/NotPublicVehiclesDataSourceProvider.js +47 -0
  12. package/dist/integration-engine/ropid-gtfs/datasources/static-data/NotPublicVehiclesDataSourceProvider.js.map +1 -0
  13. package/dist/integration-engine/ropid-gtfs/ioc/Di.js +4 -0
  14. package/dist/integration-engine/ropid-gtfs/ioc/Di.js.map +1 -1
  15. package/dist/integration-engine/ropid-gtfs/ioc/RopidGtfsContainerToken.d.ts +2 -0
  16. package/dist/integration-engine/ropid-gtfs/ioc/RopidGtfsContainerToken.js +2 -0
  17. package/dist/integration-engine/ropid-gtfs/ioc/RopidGtfsContainerToken.js.map +1 -1
  18. package/dist/integration-engine/ropid-gtfs/workers/timetables/tasks/SaveStaticDataTask.d.ts +6 -1
  19. package/dist/integration-engine/ropid-gtfs/workers/timetables/tasks/SaveStaticDataTask.js +39 -10
  20. package/dist/integration-engine/ropid-gtfs/workers/timetables/tasks/SaveStaticDataTask.js.map +1 -1
  21. package/dist/integration-engine/vehicle-positions/ioc/Di.js +2 -0
  22. package/dist/integration-engine/vehicle-positions/ioc/Di.js.map +1 -1
  23. package/dist/integration-engine/vehicle-positions/ioc/VPContainerToken.d.ts +1 -0
  24. package/dist/integration-engine/vehicle-positions/ioc/VPContainerToken.js +1 -0
  25. package/dist/integration-engine/vehicle-positions/ioc/VPContainerToken.js.map +1 -1
  26. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/BusMessageFilter.d.ts +11 -5
  27. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/BusMessageFilter.js +36 -9
  28. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/BusMessageFilter.js.map +1 -1
  29. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/CommonMessageProcessor.d.ts +4 -1
  30. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/CommonMessageProcessor.js +26 -9
  31. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/CommonMessageProcessor.js.map +1 -1
  32. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/TramMessageFilter.d.ts +7 -3
  33. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/TramMessageFilter.js +26 -8
  34. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/TramMessageFilter.js.map +1 -1
  35. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/interfaces/ICommonMessageFilter.d.ts +1 -1
  36. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/SaveBusRunsToDBTask.js +3 -2
  37. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/SaveBusRunsToDBTask.js.map +1 -1
  38. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/SaveTramRunsToDBTask.js +4 -3
  39. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/SaveTramRunsToDBTask.js.map +1 -1
  40. package/dist/integration-engine/vehicle-positions/workers/runs/transformations/CommonRunsMessagesTransformation.d.ts +1 -2
  41. package/dist/integration-engine/vehicle-positions/workers/runs/transformations/CommonRunsMessagesTransformation.js +3 -10
  42. package/dist/integration-engine/vehicle-positions/workers/runs/transformations/CommonRunsMessagesTransformation.js.map +1 -1
  43. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/helpers/TripsMapper.d.ts +2 -1
  44. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/helpers/TripsMapper.js +5 -3
  45. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/helpers/TripsMapper.js.map +1 -1
  46. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/interfaces/IUpdateRunsGtfsTripInput.d.ts +11 -0
  47. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/schema/UpdateRunsGtfsTripIdSchema.d.ts +3 -0
  48. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/schema/UpdateRunsGtfsTripIdSchema.js +11 -0
  49. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/schema/UpdateRunsGtfsTripIdSchema.js.map +1 -1
  50. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/UpdateRunsGtfsTripIdTask.js +4 -3
  51. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/UpdateRunsGtfsTripIdTask.js.map +1 -1
  52. package/dist/output-gateway/vehicle-positions/data-access/PositionRepository.d.ts +10 -3
  53. package/dist/output-gateway/vehicle-positions/data-access/PositionRepository.js +30 -7
  54. package/dist/output-gateway/vehicle-positions/data-access/PositionRepository.js.map +1 -1
  55. package/dist/output-gateway/vehicle-positions/data-access/TripRepository.d.ts +7 -3
  56. package/dist/output-gateway/vehicle-positions/data-access/TripRepository.js +30 -7
  57. package/dist/output-gateway/vehicle-positions/data-access/TripRepository.js.map +1 -1
  58. package/dist/output-gateway/vehicle-positions/data-access/VehicleDescriptorRepository.d.ts +10 -3
  59. package/dist/output-gateway/vehicle-positions/data-access/VehicleDescriptorRepository.js +30 -7
  60. package/dist/output-gateway/vehicle-positions/data-access/VehicleDescriptorRepository.js.map +1 -1
  61. package/dist/output-gateway/vehicle-positions/data-access/VehicleTypeRepository.d.ts +10 -3
  62. package/dist/output-gateway/vehicle-positions/data-access/VehicleTypeRepository.js +30 -7
  63. package/dist/output-gateway/vehicle-positions/data-access/VehicleTypeRepository.js.map +1 -1
  64. package/dist/output-gateway/vehicle-positions/data-access/cache/NotPublicVehiclesRedisRepository.d.ts +10 -0
  65. package/dist/output-gateway/vehicle-positions/data-access/cache/NotPublicVehiclesRedisRepository.js +45 -0
  66. package/dist/output-gateway/vehicle-positions/data-access/cache/NotPublicVehiclesRedisRepository.js.map +1 -0
  67. package/dist/output-gateway/vehicle-positions/data-access/index.js +9 -18
  68. package/dist/output-gateway/vehicle-positions/data-access/index.js.map +1 -1
  69. package/dist/output-gateway/vehicle-positions/data-access/interfaces/ITripWithPositionRepository.d.ts +3 -2
  70. package/dist/output-gateway/vehicle-positions/data-access/interfaces/IVPRepositoryInstances.d.ts +6 -6
  71. package/dist/output-gateway/vehicle-positions/data-access/views/ProcessedPositionRepository.d.ts +7 -3
  72. package/dist/output-gateway/vehicle-positions/data-access/views/ProcessedPositionRepository.js +30 -7
  73. package/dist/output-gateway/vehicle-positions/data-access/views/ProcessedPositionRepository.js.map +1 -1
  74. package/dist/output-gateway/vehicle-positions/data-access/views/TripWithLastPositionRepository.d.ts +17 -7
  75. package/dist/output-gateway/vehicle-positions/data-access/views/TripWithLastPositionRepository.js +112 -42
  76. package/dist/output-gateway/vehicle-positions/data-access/views/TripWithLastPositionRepository.js.map +1 -1
  77. package/dist/output-gateway/vehicle-positions/ioc/Di.d.ts +3 -0
  78. package/dist/output-gateway/vehicle-positions/ioc/Di.js +23 -0
  79. package/dist/output-gateway/vehicle-positions/ioc/Di.js.map +1 -0
  80. package/dist/output-gateway/vehicle-positions/ioc/OgVehiclePositionsToken.d.ts +9 -0
  81. package/dist/output-gateway/vehicle-positions/ioc/OgVehiclePositionsToken.js +15 -0
  82. package/dist/output-gateway/vehicle-positions/ioc/OgVehiclePositionsToken.js.map +1 -0
  83. package/dist/schema-definitions/datasources/static-data/NotPublicVehiclesJsonSchema.d.ts +3 -0
  84. package/dist/schema-definitions/datasources/static-data/NotPublicVehiclesJsonSchema.js +40 -0
  85. package/dist/schema-definitions/datasources/static-data/NotPublicVehiclesJsonSchema.js.map +1 -0
  86. package/dist/schema-definitions/datasources/static-data/index.d.ts +1 -0
  87. package/dist/schema-definitions/datasources/static-data/index.js +1 -0
  88. package/dist/schema-definitions/datasources/static-data/index.js.map +1 -1
  89. package/dist/schema-definitions/datasources/static-data/interfaces/NotPublicVehiclesDataInterface.d.ts +35 -0
  90. package/dist/schema-definitions/datasources/static-data/interfaces/NotPublicVehiclesDataInterface.js +18 -0
  91. package/dist/schema-definitions/datasources/static-data/interfaces/NotPublicVehiclesDataInterface.js.map +1 -0
  92. package/dist/schema-definitions/datasources/static-data/interfaces/index.d.ts +1 -0
  93. package/dist/schema-definitions/datasources/static-data/interfaces/index.js +1 -0
  94. package/dist/schema-definitions/datasources/static-data/interfaces/index.js.map +1 -1
  95. package/dist/schema-definitions/ropid-gtfs/redis/const.d.ts +2 -0
  96. package/dist/schema-definitions/ropid-gtfs/redis/const.js +3 -1
  97. package/dist/schema-definitions/ropid-gtfs/redis/const.js.map +1 -1
  98. package/dist/schema-definitions/vehicle-positions/models/interfaces/ICommonRunWithMessageDto.d.ts +8 -0
  99. package/docs/asyncapi.yaml +13 -2
  100. package/docs/cache/types/redis.md +30 -2
  101. package/docs/examples/not_public_vehicles.json +9 -0
  102. package/docs/implementation_documentation.md +101 -4
  103. package/docs/jis/index.md +17 -0
  104. package/docs/processing/input_realtime_data/http_mpvnet.md +21 -0
  105. package/docs/processing/state_position_tracking/http_mpvnet.md +1 -0
  106. package/docs/processing/state_position_tracking/tcp_dpp_common.md +2 -1
  107. package/docs/processing/transferboards_filtering.md +312 -0
  108. package/package.json +1 -1
@@ -13,6 +13,7 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
13
13
  };
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.BusMessageFilter = void 0;
16
+ const NotPublicVehiclesRedisRepository_1 = require("../../../../ropid-gtfs/data-access/cache/NotPublicVehiclesRedisRepository");
16
17
  const CoreToken_1 = require("@golemio/core/dist/helpers/ioc/CoreToken");
17
18
  const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
18
19
  const VPContainerToken_1 = require("../../../ioc/VPContainerToken");
@@ -21,19 +22,28 @@ const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
21
22
  const TROLLEYBUS_ROUTE_ID_MIN = 50;
22
23
  const TROLLEYBUS_ROUTE_ID_MAX = 69;
23
24
  let BusMessageFilter = class BusMessageFilter {
24
- constructor(logger, timestampValidator, config) {
25
+ constructor(logger, timestampValidator, config, notPublicVehiclesRepository) {
25
26
  this.logger = logger;
26
27
  this.timestampValidator = timestampValidator;
27
28
  this.config = config;
28
- this.dppTestingBuses = this.config.getValue("module.pid.vehicle-positions.dppTestingBuses.*", []);
29
+ this.notPublicVehiclesRepository = notPublicVehiclesRepository;
30
+ this.dppTestingBuses = new Set(this.config.getValue("module.pid.vehicle-positions.dppTestingBuses.*", []));
29
31
  }
30
32
  /**
31
33
  * Yield messages that are valid for processing (filter out internal bus lines and testing buses)
32
- * - route id is a string of length 3 or more
33
- * - route id is a number in range of bus and trolleybus lines
34
- * - route id >= 100 (bus) [50, 69] (trolleybus)
34
+ * - route id is a string of length 3 or more (bus)
35
+ * - route id is a number in range of trolleybus lines [50, 69]
36
+ * - filters out scheduled vehicles missing tjr (actual_stop_timestamp_scheduled)
37
+ * - OR registration number is in not-public vehicles whitelist (e.g., metro replacement buses)
38
+ * - filters out testing buses
39
+ *
40
+ * Sets isNotPublic flag on messages to avoid duplicate whitelist checks in processor
35
41
  */
36
- *yieldFilteredMessages(messages, timestamp) {
42
+ async *yieldFilteredMessages(messages, timestamp) {
43
+ // Load config once for the entire batch to avoid multiple Redis calls
44
+ const { road: { registrationNumbers }, routeIds, } = await this.notPublicVehiclesRepository.getConfig();
45
+ const whitelistedRegistrationNumbers = new Set(registrationNumbers);
46
+ const whitelistedRouteNames = new Set(routeIds);
37
47
  for (const message of messages) {
38
48
  const { run } = message;
39
49
  if (!this.timestampValidator.isTimestampValid(timestamp, message.run_message.actual_stop_timestamp_real.toString())) {
@@ -42,25 +52,41 @@ let BusMessageFilter = class BusMessageFilter {
42
52
  ` is not valid for line ${message.run.line_short_name}, run ${message.run.run_number}`, this.constructor.name, undefined, undefined, "pid"));
43
53
  continue;
44
54
  }
55
+ const isNotPublicByRegistration = whitelistedRegistrationNumbers.has(run.registration_number);
56
+ const isNotPublicByRouteName = whitelistedRouteNames.has(run.line_short_name);
57
+ const isNotPublicVehicle = isNotPublicByRegistration || isNotPublicByRouteName;
58
+ if (isNotPublicVehicle) {
59
+ message.isNotPublic = true;
60
+ yield message;
61
+ continue;
62
+ }
63
+ // Regular scheduled buses require tjr (scheduled timestamp)
64
+ if (!message.run_message.actual_stop_timestamp_scheduled) {
65
+ this.logger.info(`Skipping bus without scheduled timestamp (tjr) - line ${run.line_short_name}, run ${run.run_number}`);
66
+ continue;
67
+ }
45
68
  if (run.route_id.length > 2) {
46
69
  if (this.isTestingBus(message.run.registration_number)) {
47
- this.logger.info(`Testing bus ${message.run.registration_number} was filterd out`);
70
+ this.logger.info(`Testing bus ${message.run.registration_number} was filtered out`);
48
71
  continue;
49
72
  }
73
+ message.isNotPublic = false;
50
74
  yield message;
51
75
  continue;
52
76
  }
77
+ // Trolleybus (route_id in range [50-69])
53
78
  const routeId = Number.parseInt(run.route_id);
54
79
  if (Number.isNaN(routeId) || routeId < TROLLEYBUS_ROUTE_ID_MIN || routeId > TROLLEYBUS_ROUTE_ID_MAX) {
55
80
  this.logger.info(`${this.constructor.name}: route id ${routeId} is invalid or out of range`);
56
81
  this.logger.debug(message);
57
82
  continue;
58
83
  }
84
+ message.isNotPublic = false;
59
85
  yield message;
60
86
  }
61
87
  }
62
88
  isTestingBus(reqNumber) {
63
- return this.dppTestingBuses.includes(reqNumber);
89
+ return this.dppTestingBuses.has(reqNumber);
64
90
  }
65
91
  };
66
92
  exports.BusMessageFilter = BusMessageFilter;
@@ -69,6 +95,7 @@ exports.BusMessageFilter = BusMessageFilter = __decorate([
69
95
  __param(0, (0, tsyringe_1.inject)(CoreToken_1.CoreToken.Logger)),
70
96
  __param(1, (0, tsyringe_1.inject)(VPContainerToken_1.VPContainerToken.TimestampValidator)),
71
97
  __param(2, (0, tsyringe_1.inject)(CoreToken_1.CoreToken.SimpleConfig)),
72
- __metadata("design:paramtypes", [Object, TimestampValidator_1.TimestampValidator, Object])
98
+ __param(3, (0, tsyringe_1.inject)(VPContainerToken_1.VPContainerToken.NotPublicVehiclesRedisRepository)),
99
+ __metadata("design:paramtypes", [Object, TimestampValidator_1.TimestampValidator, Object, NotPublicVehiclesRedisRepository_1.NotPublicVehiclesRedisRepository])
73
100
  ], BusMessageFilter);
74
101
  //# 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;AAExE,oEAA8E;AAC9E,6DAA0D;AAC1D,6EAAwE;AAGxE,MAAM,uBAAuB,GAAG,EAAE,CAAC;AACnC,MAAM,uBAAuB,GAAG,EAAE,CAAC;AAG5B,IAAM,gBAAgB,GAAtB,MAAM,gBAAgB;IAEzB,YACsC,MAAe,EACI,kBAAsC,EACnD,MAAqB;QAF3B,WAAM,GAAN,MAAM,CAAS;QACI,uBAAkB,GAAlB,kBAAkB,CAAoB;QACnD,WAAM,GAAN,MAAM,CAAe;QAE7D,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,gDAAgD,EAAE,EAAE,CAAa,CAAC;IAClH,CAAC;IAED;;;;;OAKG;IACI,CAAC,qBAAqB,CAAC,QAAoC,EAAE,SAAiB;QACjF,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC7B,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,CAAC;gBAClH,IAAI,CAAC,MAAM,CAAC,KAAK,CACb,IAAI,6BAAY,CACZ,mCAAmC;oBAC/B,KAAK,OAAO,CAAC,WAAW,CAAC,0BAA0B,CAAC,WAAW,EAAE,GAAG;oBACpE,0BAA0B,OAAO,CAAC,GAAG,CAAC,eAAe,SAAS,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,EAC1F,IAAI,CAAC,WAAW,CAAC,IAAI,EACrB,SAAS,EACT,SAAS,EACT,KAAK,CACR,CACJ,CAAC;gBACF,SAAS;YACb,CAAC;YACD,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC1B,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,EAAE,CAAC;oBACrD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,OAAO,CAAC,GAAG,CAAC,mBAAmB,kBAAkB,CAAC,CAAC;oBACnF,SAAS;gBACb,CAAC;gBACD,MAAM,OAAO,CAAC;gBACd,SAAS;YACb,CAAC;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,CAAC;gBAClG,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;YACb,CAAC;YAED,MAAM,OAAO,CAAC;QAClB,CAAC;IACL,CAAC;IAEO,YAAY,CAAC,SAAiB;QAClC,OAAO,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IACpD,CAAC;CACJ,CAAA;AAzDY,4CAAgB;2BAAhB,gBAAgB;IAD5B,IAAA,qBAAU,GAAE;IAIJ,WAAA,IAAA,iBAAM,EAAC,qBAAS,CAAC,MAAM,CAAC,CAAA;IACxB,WAAA,IAAA,iBAAM,EAAC,mCAAgB,CAAC,kBAAkB,CAAC,CAAA;IAC3C,WAAA,IAAA,iBAAM,EAAC,qBAAS,CAAC,YAAY,CAAC,CAAA;6CAD0C,uCAAkB;GAJtF,gBAAgB,CAyD5B"}
1
+ {"version":3,"file":"BusMessageFilter.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/runs/helpers/BusMessageFilter.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,10 @@ export declare class CommonMessageProcessor {
5
5
  private logger;
6
6
  constructor(runsRepository: CommonRunsRepository);
7
7
  /**
8
- * Create/update and process transformed run
8
+ * Process a transformed run message
9
+ *
10
+ * @param element - The run with message data (already filtered, with isNotPublic flag set)
11
+ * @param firstMessageCreatedAt - Timestamp of the first message in the batch
9
12
  */
10
13
  processTransformedRun: (element: ICommonRunWithMessageDto, firstMessageCreatedAt?: number) => Promise<void>;
11
14
  private logElementIssues;
@@ -7,33 +7,50 @@ const CoreToken_1 = require("@golemio/core/dist/helpers/ioc/CoreToken");
7
7
  const config_1 = require("@golemio/core/dist/integration-engine/config");
8
8
  const queueprocessors_1 = require("@golemio/core/dist/integration-engine/queueprocessors");
9
9
  const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
10
- const const_1 = require("../../../../../const");
11
10
  const ONE_HOUR_IN_MILLIS = 60 * 60 * 1000;
12
11
  const MIN_HOURS_DIFF_TO_LOG = 22;
13
12
  class CommonMessageProcessor {
14
13
  constructor(runsRepository) {
15
14
  this.runsRepository = runsRepository;
16
15
  /**
17
- * Create/update and process transformed run
16
+ * Process a transformed run message
17
+ *
18
+ * @param element - The run with message data (already filtered, with isNotPublic flag set)
19
+ * @param firstMessageCreatedAt - Timestamp of the first message in the batch
18
20
  */
19
21
  this.processTransformedRun = async (element, firstMessageCreatedAt) => {
20
22
  this.logElementIssues(element);
21
23
  const record = await this.runsRepository.getRunRecordForUpdate(element.run);
24
+ // Read flag set by filter (avoids duplicate whitelist check)
25
+ const isNotPublic = element.isNotPublic === true ? true : undefined;
22
26
  let outputMsg;
23
27
  if (record) {
24
- if (!element.run_message.actual_stop_timestamp_scheduled &&
25
- !const_1.ArrayNotPublicRegistrationNumbers.includes(element.run.registration_number)) {
26
- const lastRecordMessage = await this.runsRepository["runsMessagesRepository"].getLastMessage(record.id);
27
- if (!lastRecordMessage || !lastRecordMessage.actual_stop_timestamp_scheduled)
28
- return;
29
- element.run_message.actual_stop_timestamp_scheduled = lastRecordMessage.actual_stop_timestamp_scheduled;
28
+ // Data quality check: Ensure scheduled vehicles have timestamps
29
+ // Not-public vehicles (replacement buses/trams) don't need scheduled timestamps
30
+ // Regular scheduled vehicles MUST have a timestamp or be able to get one from history
31
+ if (!element.run_message.actual_stop_timestamp_scheduled) {
32
+ // If NOT a not-public vehicle, try to get timestamp from last message
33
+ // If we can't get it, skip this message (data quality issue)
34
+ if (!isNotPublic) {
35
+ const lastRecordMessage = await this.runsRepository["runsMessagesRepository"].getLastMessage(record.id);
36
+ if (!lastRecordMessage || !lastRecordMessage.actual_stop_timestamp_scheduled) {
37
+ // Cannot process scheduled vehicle without timestamp
38
+ return;
39
+ }
40
+ element.run_message.actual_stop_timestamp_scheduled = lastRecordMessage.actual_stop_timestamp_scheduled;
41
+ }
42
+ // If IS a not-public vehicle, continue without timestamp (this is expected)
30
43
  }
31
44
  outputMsg = await this.runsRepository.updateAndAssociate(element, record.id);
32
45
  }
33
46
  else {
34
47
  outputMsg = await this.runsRepository.createAndAssociate(element);
35
48
  }
36
- await queueprocessors_1.QueueManager.sendMessageToExchange(`${config_1.config.RABBIT_EXCHANGE_NAME}.${vehicle_positions_1.VehiclePositions.name.toLowerCase()}`, "updateRunsGTFSTripId", outputMsg, { timestamp: firstMessageCreatedAt });
49
+ await queueprocessors_1.QueueManager.sendMessageToExchange(`${config_1.config.RABBIT_EXCHANGE_NAME}.${vehicle_positions_1.VehiclePositions.name.toLowerCase()}`, "updateRunsGTFSTripId", {
50
+ ...outputMsg,
51
+ isNotPublic,
52
+ notPublicVehicleRouteType: element.notPublicVehicleRouteType,
53
+ }, { timestamp: firstMessageCreatedAt });
37
54
  };
38
55
  this.logger = Di_1.PidContainer.resolve(CoreToken_1.CoreToken.Logger);
39
56
  }
@@ -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,KAAK,EAAE,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,CAAC;gBACT,IACI,CAAC,OAAO,CAAC,WAAW,CAAC,+BAA+B;oBACpD,CAAC,yCAAiC,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,EAC9E,CAAC;oBACC,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;gBAC5G,CAAC;gBAED,SAAS,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,kBAAkB,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;YACjF,CAAC;iBAAM,CAAC;gBACJ,SAAS,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;YACtE,CAAC;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,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,CAAC;YACC,IAAI,CAAC,MAAM,CAAC,KAAK,CACb,IAAI,6BAAY,CACZ,qCAAqC,OAAO,CAAC,WAAW,CAAC,+BAA+B,CAAC,WAAW,EAAE,GAAG;gBACrG,OAAO,qBAAqB,qBAAqB,OAAO,CAAC,GAAG,CAAC,eAAe,OAAO;gBACnF,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,GAAG,EACjC,IAAI,CAAC,WAAW,CAAC,IAAI,EACrB,SAAS,EACT,SAAS,EACT,KAAK,CACR,CACJ,CAAC;QACN,CAAC;IACL,CAAC;CACJ;AAzDD,wDAyDC"}
1
+ {"version":3,"file":"CommonMessageProcessor.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/runs/helpers/CommonMessageProcessor.ts"],"names":[],"mappings":"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"}
@@ -1,19 +1,23 @@
1
1
  import { ICommonRunWithMessageDto } from "../../../../../schema-definitions/vehicle-positions/models/interfaces/ICommonRunWithMessageDto";
2
+ import { NotPublicVehiclesRedisRepository } from "../../../../ropid-gtfs/data-access/cache/NotPublicVehiclesRedisRepository";
2
3
  import { ILogger } from "@golemio/core/dist/helpers/logger";
3
4
  import { ICommonMessageFilter } from "./interfaces/ICommonMessageFilter";
4
5
  import { TimestampValidator } from "./TimestampValidator";
5
6
  export declare class TramMessageFilter implements ICommonMessageFilter {
6
7
  private logger;
7
8
  private timestampValidator;
8
- constructor(logger: ILogger, timestampValidator: TimestampValidator);
9
+ private notPublicVehiclesRepository;
10
+ constructor(logger: ILogger, timestampValidator: TimestampValidator, notPublicVehiclesRepository: NotPublicVehiclesRedisRepository);
9
11
  /**
10
12
  * Yield tram messages that are valid for processing
11
13
  * - route id is not considered a servicing route (50-89, note: >89 is a night tram route)
12
14
  * - run number is less than 80
13
- * - mazačka trams (maintanance) are always processed, even though they are servicing routes
15
+ * - OR registration number is in not-public vehicles whitelist (e.g., mazačka maintenance trams)
14
16
  * - timestamp is in acceptable range
17
+ *
18
+ * Sets isNotPublic flag on messages to avoid duplicate whitelist checks in processor
15
19
  */
16
- yieldFilteredMessages(messages: ICommonRunWithMessageDto[], timestamp: number): Generator<ICommonRunWithMessageDto>;
20
+ yieldFilteredMessages(messages: ICommonRunWithMessageDto[], timestamp: number): AsyncGenerator<ICommonRunWithMessageDto>;
17
21
  private isRouteIdValid;
18
22
  private isRunNumberValid;
19
23
  }
@@ -13,9 +13,9 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
13
13
  };
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.TramMessageFilter = void 0;
16
+ const NotPublicVehiclesRedisRepository_1 = require("../../../../ropid-gtfs/data-access/cache/NotPublicVehiclesRedisRepository");
16
17
  const CoreToken_1 = require("@golemio/core/dist/helpers/ioc/CoreToken");
17
18
  const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
18
- const const_1 = require("../../../../../const");
19
19
  const VPContainerToken_1 = require("../../../ioc/VPContainerToken");
20
20
  const TimestampValidator_1 = require("./TimestampValidator");
21
21
  const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
@@ -23,28 +23,44 @@ const TRAM_SERVICING_ROUTE_ID_MIN = 50;
23
23
  const TRAM_SERVICING_ROUTE_ID_MAX = 89;
24
24
  const TRAM_UNUSUAL_RUN_NUMBER_MIN = 80;
25
25
  let TramMessageFilter = class TramMessageFilter {
26
- constructor(logger, timestampValidator) {
26
+ constructor(logger, timestampValidator, notPublicVehiclesRepository) {
27
27
  this.logger = logger;
28
28
  this.timestampValidator = timestampValidator;
29
+ this.notPublicVehiclesRepository = notPublicVehiclesRepository;
29
30
  }
30
31
  /**
31
32
  * Yield tram messages that are valid for processing
32
33
  * - route id is not considered a servicing route (50-89, note: >89 is a night tram route)
33
34
  * - run number is less than 80
34
- * - mazačka trams (maintanance) are always processed, even though they are servicing routes
35
+ * - OR registration number is in not-public vehicles whitelist (e.g., mazačka maintenance trams)
35
36
  * - timestamp is in acceptable range
37
+ *
38
+ * Sets isNotPublic flag on messages to avoid duplicate whitelist checks in processor
36
39
  */
37
- *yieldFilteredMessages(messages, timestamp) {
40
+ async *yieldFilteredMessages(messages, timestamp) {
41
+ // Load config once for the entire batch to avoid multiple Redis calls
42
+ const { tram: { registrationNumbers }, routeIds, } = await this.notPublicVehiclesRepository.getConfig();
43
+ const whitelistedRegistrationNumbers = new Set(registrationNumbers);
44
+ const whitelistedRouteNames = new Set(routeIds);
38
45
  for (const message of messages) {
39
- const { route_id, run_number, registration_number } = message.run;
46
+ const { route_id, run_number, registration_number, line_short_name } = message.run;
40
47
  if (!this.timestampValidator.isTimestampValid(timestamp, message.run_message.actual_stop_timestamp_real.toString())) {
41
48
  this.logger.error(new golemio_errors_1.GeneralError("Message timestamp 'takt' of value" +
42
49
  ` '${message.run_message.actual_stop_timestamp_real.toISOString()}'` +
43
50
  ` is not valid for line ${message.run.line_short_name}, run ${message.run.run_number}`, this.constructor.name, undefined, undefined, "pid"));
44
51
  continue;
45
52
  }
46
- if (const_1.ArrayNotPublicRegistrationNumbers.includes(registration_number) ||
47
- (this.isRouteIdValid(route_id) && this.isRunNumberValid(run_number))) {
53
+ // Check if this is a not-public vehicle
54
+ // - Whitelisted registration number (e.g., mazačka maintenance tram)
55
+ // - Whitelisted route name (e.g., ad-hoc routes like X1, X2, NAD)
56
+ const isNotPublicByRegistration = whitelistedRegistrationNumbers.has(registration_number);
57
+ const isNotPublicByRouteName = whitelistedRouteNames.has(line_short_name);
58
+ const isNotPublicVehicle = isNotPublicByRegistration || isNotPublicByRouteName;
59
+ // Allow if:
60
+ // - Whitelisted by registration number OR route name (not-public vehicles)
61
+ // - OR valid route_id and run_number (scheduled vehicles)
62
+ if (isNotPublicVehicle || (this.isRouteIdValid(route_id) && this.isRunNumberValid(run_number))) {
63
+ message.isNotPublic = isNotPublicVehicle; // ← Set flag
48
64
  yield message;
49
65
  }
50
66
  else {
@@ -67,6 +83,8 @@ exports.TramMessageFilter = TramMessageFilter = __decorate([
67
83
  (0, tsyringe_1.injectable)(),
68
84
  __param(0, (0, tsyringe_1.inject)(CoreToken_1.CoreToken.Logger)),
69
85
  __param(1, (0, tsyringe_1.inject)(VPContainerToken_1.VPContainerToken.TimestampValidator)),
70
- __metadata("design:paramtypes", [Object, TimestampValidator_1.TimestampValidator])
86
+ __param(2, (0, tsyringe_1.inject)(VPContainerToken_1.VPContainerToken.NotPublicVehiclesRedisRepository)),
87
+ __metadata("design:paramtypes", [Object, TimestampValidator_1.TimestampValidator,
88
+ NotPublicVehiclesRedisRepository_1.NotPublicVehiclesRedisRepository])
71
89
  ], TramMessageFilter);
72
90
  //# 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;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,GAAvB,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,CAAC;YAC7B,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,CAAC;gBAClH,IAAI,CAAC,MAAM,CAAC,KAAK,CACb,IAAI,6BAAY,CACZ,mCAAmC;oBAC/B,KAAK,OAAO,CAAC,WAAW,CAAC,0BAA0B,CAAC,WAAW,EAAE,GAAG;oBACpE,0BAA0B,OAAO,CAAC,GAAG,CAAC,eAAe,SAAS,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,EAC1F,IAAI,CAAC,WAAW,CAAC,IAAI,EACrB,SAAS,EACT,SAAS,EACT,KAAK,CACR,CACJ,CAAC;gBACF,SAAS;YACb,CAAC;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,CAAC;gBACC,MAAM,OAAO,CAAC;YAClB,CAAC;iBAAM,CAAC;gBACJ,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;YAC/B,CAAC;QACL,CAAC;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;AAvDY,8CAAiB;4BAAjB,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
+ {"version":3,"file":"TramMessageFilter.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/runs/helpers/TramMessageFilter.ts"],"names":[],"mappings":"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"}
@@ -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[], timestamp: number): Generator<ICommonRunWithMessageDto>;
3
+ yieldFilteredMessages(messages: ICommonRunWithMessageDto[], timestamp: number): AsyncGenerator<ICommonRunWithMessageDto>;
4
4
  }
@@ -19,6 +19,7 @@ const Di_1 = require("../../../ioc/Di");
19
19
  const VPContainerToken_1 = require("../../../ioc/VPContainerToken");
20
20
  const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
21
21
  const constants_1 = require("../constants");
22
+ const RouteTypeEnums_1 = require("../../../../../helpers/RouteTypeEnums");
22
23
  let SaveBusRunsToDBTask = class SaveBusRunsToDBTask extends workers_1.AbstractTask {
23
24
  constructor() {
24
25
  super(constants_1.WORKER_NAME);
@@ -37,8 +38,8 @@ let SaveBusRunsToDBTask = class SaveBusRunsToDBTask extends workers_1.AbstractTa
37
38
  }
38
39
  const messages = this.messagesTransformation.transform({ data: data.M.V, timestamp });
39
40
  const filteredMessages = this.messageFilter.yieldFilteredMessages(messages, timestamp);
40
- for (const runMessage of filteredMessages) {
41
- await this.messageProcessor.processTransformedRun(runMessage, timestamp);
41
+ for await (const runMessage of filteredMessages) {
42
+ await this.messageProcessor.processTransformedRun({ ...runMessage, notPublicVehicleRouteType: runMessage.isNotPublic ? RouteTypeEnums_1.GTFSRouteTypeEnum.BUS : undefined }, timestamp);
42
43
  }
43
44
  }
44
45
  };
@@ -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;AAExE,wCAA2D;AAC3D,oEAA8E;AAC9E,iEAAgE;AAChE,4CAA2C;AAGpC,IAAM,mBAAmB,GAAzB,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;IAES,KAAK,CAAC,OAAO,CAAC,IAAsB,EAAE,aAAiC;QAC7E,MAAM,SAAS,GAAG,aAAa,EAAE,SAAS,CAAC;QAC3C,IAAI,CAAC,SAAS,EAAE,CAAC;YACb,MAAM,IAAI,6BAAY,CAAC,sCAAsC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAChH,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,sBAAsB,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;QACtF,MAAM,gBAAgB,GAAG,IAAI,CAAC,aAAa,CAAC,qBAAqB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QAEvF,KAAK,MAAM,UAAU,IAAI,gBAAgB,EAAE,CAAC;YACxC,MAAM,IAAI,CAAC,gBAAgB,CAAC,qBAAqB,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;QAC7E,CAAC;IACL,CAAC;CACJ,CAAA;AAjCY,kDAAmB;8BAAnB,mBAAmB;IAD/B,IAAA,qBAAU,GAAE;;GACA,mBAAmB,CAiC/B"}
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;AAC3E,8EAA2E;AAG3E,iEAAwE;AAExE,wCAA2D;AAC3D,oEAA8E;AAC9E,iEAAgE;AAChE,4CAA2C;AAE3C,0EAA4D;AAErD,IAAM,mBAAmB,GAAzB,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;IAES,KAAK,CAAC,OAAO,CAAC,IAAsB,EAAE,aAAiC;QAC7E,MAAM,SAAS,GAAG,aAAa,EAAE,SAAS,CAAC;QAC3C,IAAI,CAAC,SAAS,EAAE,CAAC;YACb,MAAM,IAAI,6BAAY,CAAC,sCAAsC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAChH,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,sBAAsB,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;QACtF,MAAM,gBAAgB,GAAG,IAAI,CAAC,aAAa,CAAC,qBAAqB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QAEvF,IAAI,KAAK,EAAE,MAAM,UAAU,IAAI,gBAAgB,EAAE,CAAC;YAC9C,MAAM,IAAI,CAAC,gBAAgB,CAAC,qBAAqB,CAC7C,EAAE,GAAG,UAAU,EAAE,yBAAyB,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,kCAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE,EACxG,SAAS,CACZ,CAAC;QACN,CAAC;IACL,CAAC;CACJ,CAAA;AApCY,kDAAmB;8BAAnB,mBAAmB;IAD/B,IAAA,qBAAU,GAAE;;GACA,mBAAmB,CAoC/B"}
@@ -19,6 +19,7 @@ const CommonMessageProcessor_1 = require("../helpers/CommonMessageProcessor");
19
19
  const CommonRunsSchema_1 = require("../schema/CommonRunsSchema");
20
20
  const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
21
21
  const constants_1 = require("../constants");
22
+ const RouteTypeEnums_1 = require("../../../../../helpers/RouteTypeEnums");
22
23
  let SaveTramRunsToDBTask = class SaveTramRunsToDBTask extends workers_1.AbstractTask {
23
24
  constructor() {
24
25
  super(constants_1.WORKER_NAME);
@@ -35,10 +36,10 @@ let SaveTramRunsToDBTask = class SaveTramRunsToDBTask extends workers_1.Abstract
35
36
  if (!timestamp) {
36
37
  throw new golemio_errors_1.GeneralError(`Missing tram run message timestamp: ${JSON.stringify(data)}`, this.constructor.name);
37
38
  }
38
- const messages = this.messagesTransformation.transform({ data: data.M.V, timestamp }, true);
39
+ const messages = this.messagesTransformation.transform({ data: data.M.V, timestamp });
39
40
  const filteredMessages = this.messageFilter.yieldFilteredMessages(messages, timestamp);
40
- for (const runMessage of filteredMessages) {
41
- await this.messageProcessor.processTransformedRun(runMessage, timestamp);
41
+ for await (const runMessage of filteredMessages) {
42
+ await this.messageProcessor.processTransformedRun({ ...runMessage, notPublicVehicleRouteType: runMessage.isNotPublic ? RouteTypeEnums_1.GTFSRouteTypeEnum.TRAM : undefined }, timestamp);
42
43
  }
43
44
  }
44
45
  };
@@ -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;AAExE,iEAAgE;AAChE,4CAA2C;AAIpC,IAAM,oBAAoB,GAA1B,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;IAES,KAAK,CAAC,OAAO,CAAC,IAAsB,EAAE,aAAiC;QAC7E,MAAM,SAAS,GAAG,aAAa,EAAE,SAAS,CAAC;QAC3C,IAAI,CAAC,SAAS,EAAE,CAAC;YACb,MAAM,IAAI,6BAAY,CAAC,uCAAuC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACjH,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,sBAAsB,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,IAAI,CAAC,CAAC;QAC5F,MAAM,gBAAgB,GAAG,IAAI,CAAC,aAAa,CAAC,qBAAqB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QACvF,KAAK,MAAM,UAAU,IAAI,gBAAgB,EAAE,CAAC;YACxC,MAAM,IAAI,CAAC,gBAAgB,CAAC,qBAAqB,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;QAC7E,CAAC;IACL,CAAC;CACJ,CAAA;AAhCY,oDAAoB;+BAApB,oBAAoB;IADhC,IAAA,qBAAU,GAAE;;GACA,oBAAoB,CAgChC"}
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;AAE3C,0EAA4D;AAGrD,IAAM,oBAAoB,GAA1B,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;IAES,KAAK,CAAC,OAAO,CAAC,IAAsB,EAAE,aAAiC;QAC7E,MAAM,SAAS,GAAG,aAAa,EAAE,SAAS,CAAC;QAC3C,IAAI,CAAC,SAAS,EAAE,CAAC;YACb,MAAM,IAAI,6BAAY,CAAC,uCAAuC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACjH,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,sBAAsB,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;QACtF,MAAM,gBAAgB,GAAG,IAAI,CAAC,aAAa,CAAC,qBAAqB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QACvF,IAAI,KAAK,EAAE,MAAM,UAAU,IAAI,gBAAgB,EAAE,CAAC;YAC9C,MAAM,IAAI,CAAC,gBAAgB,CAAC,qBAAqB,CAC7C,EAAE,GAAG,UAAU,EAAE,yBAAyB,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,kCAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE,EACzG,SAAS,CACZ,CAAC;QACN,CAAC;IACL,CAAC;CACJ,CAAA;AAnCY,oDAAoB;+BAApB,oBAAoB;IADhC,IAAA,qBAAU,GAAE;;GACA,oBAAoB,CAmChC"}
@@ -5,7 +5,6 @@ export declare class CommonRunsMessagesTransformation extends AbstractTransforma
5
5
  name: string;
6
6
  private readonly commonRunHelper;
7
7
  constructor();
8
- transform: ({ data, timestamp }: ICommonRunsInputData, isTram?: boolean) => ICommonRunWithMessageDto[];
8
+ transform: ({ data, timestamp }: ICommonRunsInputData) => ICommonRunWithMessageDto[];
9
9
  protected transformInternal: (element: ICommonRunsInputElement) => ICommonRunWithMessageDto;
10
- private transformElementWithTram;
11
10
  }
@@ -23,7 +23,7 @@ let CommonRunsMessagesTransformation = class CommonRunsMessagesTransformation ex
23
23
  constructor() {
24
24
  super();
25
25
  this.name = "CommonRunsMessagesTransformation";
26
- this.transform = ({ data, timestamp }, isTram = false) => {
26
+ this.transform = ({ data, timestamp }) => {
27
27
  const now = (0, moment_timezone_1.default)(timestamp).tz("Europe/Prague").format();
28
28
  const res = [];
29
29
  if (!Array.isArray(data)) {
@@ -31,7 +31,7 @@ let CommonRunsMessagesTransformation = class CommonRunsMessagesTransformation ex
31
31
  }
32
32
  for (const element of data) {
33
33
  try {
34
- const elementTransformed = this.transformElementWithTram({ data: element, timestamp: now }, isTram);
34
+ const elementTransformed = this.transformInternal({ data: element, timestamp: now });
35
35
  res.push(elementTransformed);
36
36
  }
37
37
  catch (err) {
@@ -41,13 +41,7 @@ let CommonRunsMessagesTransformation = class CommonRunsMessagesTransformation ex
41
41
  return res;
42
42
  };
43
43
  this.transformInternal = (element) => {
44
- return this.transformElementWithTram(element, false);
45
- };
46
- this.transformElementWithTram = (element, isTram) => {
47
44
  const attributes = element.data.$;
48
- if (!isTram && !attributes.tjr) {
49
- throw new golemio_errors_1.GeneralError("Missing tjr attribute", this.constructor.name);
50
- }
51
45
  const identifiers = this.commonRunHelper.getRunIdentifiers(attributes, element.timestamp);
52
46
  const realStopTimestampDate = this.commonRunHelper.parseDateFromRunInput(attributes.takt);
53
47
  const messageTimestampDate = this.commonRunHelper.parseDateFromRunInput(attributes.tm);
@@ -55,7 +49,7 @@ let CommonRunsMessagesTransformation = class CommonRunsMessagesTransformation ex
55
49
  throw new golemio_errors_1.GeneralError("Missing identifiers or timestamps", this.constructor.name);
56
50
  }
57
51
  const scheduledStopTimestampDate = attributes.tjr ? this.commonRunHelper.parseDateFromRunInput(attributes.tjr) : null;
58
- const t = {
52
+ return {
59
53
  run: {
60
54
  id: identifiers.runId,
61
55
  route_id: identifiers.routeId,
@@ -80,7 +74,6 @@ let CommonRunsMessagesTransformation = class CommonRunsMessagesTransformation ex
80
74
  events: attributes.events,
81
75
  },
82
76
  };
83
- return t;
84
77
  };
85
78
  this.commonRunHelper = new CommonRunHelper_1.CommonRunHelper();
86
79
  }
@@ -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,6GAA0G;AAC1G,gEAA6D;AAG7D,gGAA+D;AAC/D,iEAAgE;AAChE,6EAAwE;AAGjE,IAAM,gCAAgC,GAAtC,MAAM,gCAAiC,SAAQ,+CAAyE;IAI3H;QACI,KAAK,EAAE,CAAC;QAJL,SAAI,GAAG,kCAAkC,CAAC;QAQ1C,cAAS,GAAG,CAAC,EAAE,IAAI,EAAE,SAAS,EAAwB,EAAE,SAAkB,KAAK,EAA8B,EAAE;YAClH,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,CAAC;gBACvB,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC;YAClB,CAAC;YACD,KAAK,MAAM,OAAO,IAAI,IAAI,EAAE,CAAC;gBACzB,IAAI,CAAC;oBACD,MAAM,kBAAkB,GAAG,IAAI,CAAC,wBAAwB,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,EAAE,MAAM,CAAC,CAAC;oBACpG,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;gBACjC,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACX,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;gBACvG,CAAC;YACL,CAAC;YACD,OAAO,GAAG,CAAC;QACf,CAAC,CAAC;QAEQ,sBAAiB,GAAG,CAAC,OAAgC,EAA4B,EAAE;YACzF,OAAO,IAAI,CAAC,wBAAwB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QACzD,CAAC,CAAC;QAEM,6BAAwB,GAAG,CAAC,OAAgC,EAAE,MAAe,EAA4B,EAAE;YAC/G,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;YAClC,IAAI,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC;gBAC7B,MAAM,IAAI,6BAAY,CAAC,uBAAuB,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YAC3E,CAAC;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,CAAC;gBAClE,MAAM,IAAI,6BAAY,CAAC,mCAAmC,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YACvF,CAAC;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,CAAC;QAnEE,IAAI,CAAC,eAAe,GAAG,IAAI,iCAAe,EAAE,CAAC;IACjD,CAAC;CAmEJ,CAAA;AA1EY,4EAAgC;2CAAhC,gCAAgC;IAD5C,IAAA,qBAAU,GAAE;;GACA,gCAAgC,CA0E5C"}
1
+ {"version":3,"file":"CommonRunsMessagesTransformation.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/runs/transformations/CommonRunsMessagesTransformation.ts"],"names":[],"mappings":"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"}
@@ -4,10 +4,11 @@ import { ICommonRunsModel } from "../../../../../../schema-definitions/vehicle-p
4
4
  import { IVPTripsModel } from "../../../../../../schema-definitions/vehicle-positions/models/interfaces/IVPTripsModel";
5
5
  import { IScheduleDto } from "../../../../../../schema-definitions/vehicle-positions/redis/interfaces/IGtfsRunTripCacheDto";
6
6
  import { BulkSaveResult } from "@golemio/core/dist/integration-engine";
7
+ import { GTFSRouteTypeEnum } from "../../../../../../helpers/RouteTypeEnums";
7
8
  import { IBulkUpsertOutput } from "../interfaces/TripRepositoryInterfaces";
8
9
  export default class TripsMapper {
9
10
  static mapCommonRunToDto(gtfsTrip: IScheduleDto, runInput: ICommonRunsModel): Partial<IVPTripsModel>;
10
- static mapCommonRunNotPublicToDto(runInput: ICommonRunsModel, tripId: string, lastPositionId: string): Partial<IVPTripsModel>;
11
+ static mapCommonRunNotPublicToDto(runInput: ICommonRunsModel, tripId: string, lastPositionId: string, notPublicVehicleRouteType?: GTFSRouteTypeEnum.TRAM | GTFSRouteTypeEnum.BUS): Partial<IVPTripsModel>;
11
12
  static mapMetroRunToDto(gtfsTrip: IScheduleDto, runInput: IExtendedMetroRunInputForProcessing): Partial<IVPTripsModel>;
12
13
  static mapRegionalBusRunToDto(gtfsTrip: IScheduleDto, runInput: IRegionalBusRunInputWithMetadata): Partial<IVPTripsModel>;
13
14
  static mapTripEntitiesToUpdateDto(tripEntities: BulkSaveResult<IVPTripsModel>, taskStartTimestamp: number): IBulkUpsertOutput;
@@ -23,17 +23,19 @@ class TripsMapper {
23
23
  provider_source_type: ProviderSourceTypeEnum_1.ProviderSourceTypeEnum.TcpCommon,
24
24
  };
25
25
  }
26
- static mapCommonRunNotPublicToDto(runInput, tripId, lastPositionId) {
26
+ static mapCommonRunNotPublicToDto(runInput, tripId, lastPositionId, notPublicVehicleRouteType) {
27
27
  return {
28
28
  agency_name_real: DPPUtils_1.default.DPP_AGENCY_NAME,
29
29
  agency_name_scheduled: DPPUtils_1.default.DPP_AGENCY_NAME,
30
- gtfs_route_type: RouteTypeEnums_1.GTFSRouteTypeEnum.TRAM,
30
+ gtfs_route_type: notPublicVehicleRouteType,
31
31
  origin_route_name: runInput.route_id,
32
32
  internal_route_name: runInput.route_id,
33
33
  run_number: runInput.run_number,
34
34
  internal_run_number: runInput.run_number,
35
35
  vehicle_registration_number: parseInt(runInput.registration_number),
36
- vehicle_type_id: RouteTypeEnums_1.MPVRouteTypesEnum.TRAM,
36
+ vehicle_type_id: notPublicVehicleRouteType !== undefined
37
+ ? TripsMapper.getVehicleTypeId(notPublicVehicleRouteType, false, false, false)
38
+ : RouteTypeEnums_1.MPVRouteTypesEnum.UNKNOWN,
37
39
  wheelchair_accessible: runInput.wheelchair_accessible,
38
40
  provider_source_type: ProviderSourceTypeEnum_1.ProviderSourceTypeEnum.TcpCommon,
39
41
  id: tripId,
@@ -1 +1 @@
1
- {"version":3,"file":"TripsMapper.js","sourceRoot":"","sources":["../../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/helpers/TripsMapper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TripsMapper.js","sourceRoot":"","sources":["../../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/helpers/TripsMapper.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { GTFSRouteTypeEnum } from "../../../../../helpers/RouteTypeEnums";
1
2
  import { ICommonRunsMessagesModel } from "../../../../../schema-definitions/vehicle-positions/models/interfaces/ICommonRunsMessagesModel";
2
3
  import { ICommonRunsModel } from "../../../../../schema-definitions/vehicle-positions/models/interfaces/ICommonRunsModel";
3
4
  export interface IRunMessageWithStringTimestamps extends Omit<ICommonRunsMessagesModel, "actual_stop_timestamp_real" | "actual_stop_timestamp_scheduled"> {
@@ -7,4 +8,14 @@ export interface IRunMessageWithStringTimestamps extends Omit<ICommonRunsMessage
7
8
  export interface IUpdateRunsGtfsTripInput {
8
9
  run: ICommonRunsModel;
9
10
  run_message: IRunMessageWithStringTimestamps;
11
+ /**
12
+ * Flag set by message filters to indicate this is a not-public vehicle
13
+ * (replacement bus/tram without schedule, or ad-hoc route)
14
+ * Used to avoid duplicate whitelist checks
15
+ */
16
+ isNotPublic?: boolean;
17
+ /**
18
+ * Vehicle type for not-public vehicles. Only populated when isNotPublic is true.
19
+ */
20
+ notPublicVehicleRouteType?: GTFSRouteTypeEnum.TRAM | GTFSRouteTypeEnum.BUS;
10
21
  }
@@ -1,6 +1,9 @@
1
1
  import { ICommonRunsModel } from "../../../../../schema-definitions/vehicle-positions/models/interfaces/ICommonRunsModel";
2
2
  import { IRunMessageWithStringTimestamps, IUpdateRunsGtfsTripInput } from "../interfaces/IUpdateRunsGtfsTripInput";
3
+ import { GTFSRouteTypeEnum } from "../../../../../helpers/RouteTypeEnums";
3
4
  export declare class UpdateRunsGtfsTripIdValidationSchema implements IUpdateRunsGtfsTripInput {
4
5
  run: ICommonRunsModel;
5
6
  run_message: IRunMessageWithStringTimestamps;
7
+ isNotPublic?: boolean;
8
+ notPublicVehicleRouteType?: GTFSRouteTypeEnum.TRAM | GTFSRouteTypeEnum.BUS;
6
9
  }
@@ -11,6 +11,7 @@ var __metadata = (this && this.__metadata) || function (k, v) {
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.UpdateRunsGtfsTripIdValidationSchema = void 0;
13
13
  const class_validator_1 = require("@golemio/core/dist/shared/class-validator");
14
+ const RouteTypeEnums_1 = require("../../../../../helpers/RouteTypeEnums");
14
15
  class UpdateRunsGtfsTripIdValidationSchema {
15
16
  }
16
17
  exports.UpdateRunsGtfsTripIdValidationSchema = UpdateRunsGtfsTripIdValidationSchema;
@@ -22,4 +23,14 @@ __decorate([
22
23
  (0, class_validator_1.IsObject)(),
23
24
  __metadata("design:type", Object)
24
25
  ], UpdateRunsGtfsTripIdValidationSchema.prototype, "run_message", void 0);
26
+ __decorate([
27
+ (0, class_validator_1.IsOptional)(),
28
+ (0, class_validator_1.IsBoolean)(),
29
+ __metadata("design:type", Boolean)
30
+ ], UpdateRunsGtfsTripIdValidationSchema.prototype, "isNotPublic", void 0);
31
+ __decorate([
32
+ (0, class_validator_1.IsOptional)(),
33
+ (0, class_validator_1.IsIn)([RouteTypeEnums_1.GTFSRouteTypeEnum.TRAM, RouteTypeEnums_1.GTFSRouteTypeEnum.BUS]),
34
+ __metadata("design:type", Number)
35
+ ], UpdateRunsGtfsTripIdValidationSchema.prototype, "notPublicVehicleRouteType", void 0);
25
36
  //# sourceMappingURL=UpdateRunsGtfsTripIdSchema.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"UpdateRunsGtfsTripIdSchema.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/schema/UpdateRunsGtfsTripIdSchema.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,+EAAqE;AAGrE,MAAa,oCAAoC;CAMhD;AAND,oFAMC;AAJG;IADC,IAAA,0BAAQ,GAAE;;iEACY;AAGvB;IADC,IAAA,0BAAQ,GAAE;;yEACmC"}
1
+ {"version":3,"file":"UpdateRunsGtfsTripIdSchema.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/schema/UpdateRunsGtfsTripIdSchema.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,+EAAkG;AAElG,0EAA4D;AAE5D,MAAa,oCAAoC;CAchD;AAdD,oFAcC;AAZG;IADC,IAAA,0BAAQ,GAAE;;iEACY;AAGvB;IADC,IAAA,0BAAQ,GAAE;;yEACmC;AAI9C;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,2BAAS,GAAE;;yEACU;AAItB;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,sBAAI,EAAC,CAAC,kCAAiB,CAAC,IAAI,EAAE,kCAAiB,CAAC,GAAG,CAAC,CAAC;;uFACqB"}