@golemio/pid 2.4.1-dev.756134724 → 2.4.1-dev.756186448

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 (370) hide show
  1. package/dist/integration-engine/index.d.ts +1 -1
  2. package/dist/integration-engine/index.js +14 -11
  3. package/dist/integration-engine/index.js.map +1 -1
  4. package/dist/integration-engine/queueDefinitions.js +0 -99
  5. package/dist/integration-engine/queueDefinitions.js.map +1 -1
  6. package/dist/integration-engine/ropid-gtfs/RopidGTFSScheduledTripsModel.d.ts +3 -3
  7. package/dist/integration-engine/ropid-gtfs/RopidGTFSScheduledTripsModel.js +3 -3
  8. package/dist/integration-engine/ropid-gtfs/RopidGTFSScheduledTripsModel.js.map +1 -1
  9. package/dist/integration-engine/ropid-gtfs/data-access/DelayComputationRedisRepository.d.ts +4 -0
  10. package/dist/integration-engine/ropid-gtfs/data-access/DelayComputationRedisRepository.js +18 -0
  11. package/dist/integration-engine/ropid-gtfs/data-access/DelayComputationRedisRepository.js.map +1 -0
  12. package/dist/integration-engine/ropid-gtfs/helpers/RouteTypeEnums.d.ts +29 -0
  13. package/dist/integration-engine/ropid-gtfs/helpers/RouteTypeEnums.js +35 -0
  14. package/dist/integration-engine/ropid-gtfs/helpers/RouteTypeEnums.js.map +1 -0
  15. package/dist/integration-engine/ropid-gtfs/interfaces/IGtfsRunTripCache.d.ts +28 -0
  16. package/dist/integration-engine/{vehicle-positions/VehiclePositionsInterfaces.js → ropid-gtfs/interfaces/IGtfsRunTripCache.js} +1 -1
  17. package/dist/integration-engine/ropid-gtfs/interfaces/IGtfsRunTripCache.js.map +1 -0
  18. package/dist/integration-engine/vehicle-positions/index.d.ts +3 -3
  19. package/dist/integration-engine/vehicle-positions/index.js +3 -3
  20. package/dist/integration-engine/vehicle-positions/index.js.map +1 -1
  21. package/dist/integration-engine/vehicle-positions/workers/gtfs-rt/GtfsRealTimeWorker.d.ts +5 -0
  22. package/dist/integration-engine/vehicle-positions/workers/gtfs-rt/GtfsRealTimeWorker.js +16 -0
  23. package/dist/integration-engine/vehicle-positions/workers/gtfs-rt/GtfsRealTimeWorker.js.map +1 -0
  24. package/dist/integration-engine/vehicle-positions/workers/gtfs-rt/data-access/GtfsRtRedisRepository.d.ts +4 -0
  25. package/dist/integration-engine/vehicle-positions/workers/gtfs-rt/data-access/GtfsRtRedisRepository.js +14 -0
  26. package/dist/integration-engine/vehicle-positions/workers/gtfs-rt/data-access/GtfsRtRedisRepository.js.map +1 -0
  27. package/dist/integration-engine/vehicle-positions/workers/gtfs-rt/helpers/AlertCauseMapper.d.ts +2 -0
  28. package/dist/integration-engine/{gtfsrt-alerts/transformations/GtfsAlertCauseMapper.js → vehicle-positions/workers/gtfs-rt/helpers/AlertCauseMapper.js} +12 -12
  29. package/dist/integration-engine/vehicle-positions/workers/gtfs-rt/helpers/AlertCauseMapper.js.map +1 -0
  30. package/dist/integration-engine/{gtfsrt-alerts/transformations/GtfsEffectMapper.d.ts → vehicle-positions/workers/gtfs-rt/helpers/AlertEffectMapper.d.ts} +2 -2
  31. package/dist/integration-engine/{gtfsrt-alerts/transformations/GtfsEffectMapper.js → vehicle-positions/workers/gtfs-rt/helpers/AlertEffectMapper.js} +9 -9
  32. package/dist/integration-engine/vehicle-positions/workers/gtfs-rt/helpers/AlertEffectMapper.js.map +1 -0
  33. package/dist/integration-engine/vehicle-positions/workers/gtfs-rt/helpers/AlertsGenerator.d.ts +9 -0
  34. package/dist/integration-engine/{gtfsrt-alerts/GtfsRtAlertsController.js → vehicle-positions/workers/gtfs-rt/helpers/AlertsGenerator.js} +19 -15
  35. package/dist/integration-engine/vehicle-positions/workers/gtfs-rt/helpers/AlertsGenerator.js.map +1 -0
  36. package/dist/integration-engine/vehicle-positions/workers/gtfs-rt/helpers/enums/AlertCauseEnum.d.ts +14 -0
  37. package/dist/integration-engine/vehicle-positions/workers/gtfs-rt/helpers/enums/AlertCauseEnum.js +19 -0
  38. package/dist/integration-engine/vehicle-positions/workers/gtfs-rt/helpers/enums/AlertCauseEnum.js.map +1 -0
  39. package/dist/integration-engine/vehicle-positions/workers/gtfs-rt/helpers/enums/AlertEffectEnum.d.ts +11 -0
  40. package/dist/integration-engine/vehicle-positions/workers/gtfs-rt/helpers/enums/AlertEffectEnum.js +16 -0
  41. package/dist/integration-engine/vehicle-positions/workers/gtfs-rt/helpers/enums/AlertEffectEnum.js.map +1 -0
  42. package/dist/integration-engine/vehicle-positions/workers/gtfs-rt/interfaces/AlertsInterfaces.d.ts +31 -0
  43. package/dist/integration-engine/vehicle-positions/workers/gtfs-rt/interfaces/AlertsInterfaces.js +3 -0
  44. package/dist/integration-engine/vehicle-positions/workers/gtfs-rt/interfaces/AlertsInterfaces.js.map +1 -0
  45. package/dist/integration-engine/vehicle-positions/workers/gtfs-rt/interfaces/IGtfsRtFeedEntity.d.ts +26 -0
  46. package/dist/integration-engine/vehicle-positions/workers/gtfs-rt/interfaces/IGtfsRtFeedEntity.js +3 -0
  47. package/dist/integration-engine/vehicle-positions/workers/gtfs-rt/interfaces/IGtfsRtFeedEntity.js.map +1 -0
  48. package/dist/integration-engine/vehicle-positions/workers/gtfs-rt/tasks/GenerateFilesTask.d.ts +10 -0
  49. package/dist/integration-engine/vehicle-positions/workers/gtfs-rt/tasks/GenerateFilesTask.js +130 -0
  50. package/dist/integration-engine/vehicle-positions/workers/gtfs-rt/tasks/GenerateFilesTask.js.map +1 -0
  51. package/dist/integration-engine/{gtfsrt-alerts/transformations/GtfsRtAlertTransformation.d.ts → vehicle-positions/workers/gtfs-rt/transformations/AlertsTransformation.d.ts} +6 -6
  52. package/dist/integration-engine/{gtfsrt-alerts/transformations/GtfsRtAlertTransformation.js → vehicle-positions/workers/gtfs-rt/transformations/AlertsTransformation.js} +9 -9
  53. package/dist/integration-engine/vehicle-positions/workers/gtfs-rt/transformations/AlertsTransformation.js.map +1 -0
  54. package/dist/integration-engine/vehicle-positions/workers/runs/RunsWorker.js +7 -3
  55. package/dist/integration-engine/vehicle-positions/workers/runs/RunsWorker.js.map +1 -1
  56. package/dist/integration-engine/vehicle-positions/{models/VehiclePositionsRunsMessagesModel.d.ts → workers/runs/data-access/CommonRunsMessagesRepository.d.ts} +3 -3
  57. package/dist/integration-engine/vehicle-positions/{models/VehiclePositionsRunsMessagesModel.js → workers/runs/data-access/CommonRunsMessagesRepository.js} +12 -11
  58. package/dist/integration-engine/vehicle-positions/workers/runs/data-access/CommonRunsMessagesRepository.js.map +1 -0
  59. package/dist/integration-engine/vehicle-positions/workers/runs/data-access/CommonRunsRepository.d.ts +32 -0
  60. package/dist/integration-engine/vehicle-positions/{models/VehiclePositionsRunsModel.js → workers/runs/data-access/CommonRunsRepository.js} +21 -17
  61. package/dist/integration-engine/vehicle-positions/workers/runs/data-access/CommonRunsRepository.js.map +1 -0
  62. package/dist/integration-engine/vehicle-positions/workers/runs/{tasks/data-access → data-access}/MetroRunsMessagesRepository.d.ts +1 -1
  63. package/dist/integration-engine/vehicle-positions/workers/runs/{tasks/data-access → data-access}/MetroRunsMessagesRepository.js +10 -10
  64. package/dist/integration-engine/vehicle-positions/workers/runs/data-access/MetroRunsMessagesRepository.js.map +1 -0
  65. package/dist/integration-engine/vehicle-positions/workers/runs/{tasks/data-access → data-access}/RunTripsRedisRepository.d.ts +0 -0
  66. package/dist/integration-engine/vehicle-positions/workers/runs/{tasks/data-access → data-access}/RunTripsRedisRepository.js +1 -1
  67. package/dist/integration-engine/vehicle-positions/workers/runs/data-access/RunTripsRedisRepository.js.map +1 -0
  68. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/CommonMessageProcessor.d.ts +10 -0
  69. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/CommonMessageProcessor.js +42 -0
  70. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/CommonMessageProcessor.js.map +1 -0
  71. package/dist/integration-engine/vehicle-positions/workers/runs/{tasks/helpers → helpers}/MetroMessageFilter.d.ts +1 -1
  72. package/dist/integration-engine/vehicle-positions/workers/runs/{tasks/helpers → helpers}/MetroMessageFilter.js +0 -0
  73. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/MetroMessageFilter.js.map +1 -0
  74. package/dist/integration-engine/vehicle-positions/workers/runs/{tasks/helpers → helpers}/MetroRouteHelper.d.ts +0 -0
  75. package/dist/integration-engine/vehicle-positions/workers/runs/{tasks/helpers → helpers}/MetroRouteHelper.js +0 -0
  76. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/MetroRouteHelper.js.map +1 -0
  77. package/dist/integration-engine/vehicle-positions/workers/runs/interfaces/CommonRunsMessageInterfaces.d.ts +33 -0
  78. package/dist/integration-engine/vehicle-positions/workers/runs/interfaces/CommonRunsMessageInterfaces.js +3 -0
  79. package/dist/integration-engine/vehicle-positions/workers/runs/interfaces/CommonRunsMessageInterfaces.js.map +1 -0
  80. package/dist/integration-engine/vehicle-positions/workers/runs/interfaces/ICommonRunWithMessage.d.ts +6 -0
  81. package/dist/integration-engine/vehicle-positions/workers/runs/interfaces/ICommonRunWithMessage.js +3 -0
  82. package/dist/integration-engine/vehicle-positions/workers/runs/interfaces/ICommonRunWithMessage.js.map +1 -0
  83. package/dist/integration-engine/vehicle-positions/workers/runs/{tasks/interfaces → interfaces}/IDataDeletionParams.d.ts +0 -0
  84. package/dist/integration-engine/vehicle-positions/workers/runs/{tasks/interfaces → interfaces}/IDataDeletionParams.js +0 -0
  85. package/dist/integration-engine/vehicle-positions/workers/runs/interfaces/IDataDeletionParams.js.map +1 -0
  86. package/dist/integration-engine/vehicle-positions/workers/runs/{tasks/interfaces → interfaces}/IMetroRunInputForProcessing.d.ts +1 -1
  87. package/dist/integration-engine/vehicle-positions/workers/runs/{tasks/interfaces → interfaces}/IMetroRunInputForProcessing.js +0 -0
  88. package/dist/integration-engine/vehicle-positions/workers/runs/interfaces/IMetroRunInputForProcessing.js.map +1 -0
  89. package/dist/integration-engine/vehicle-positions/workers/runs/interfaces/IProcessMetroRunsMessagesInput.d.ts +5 -0
  90. package/dist/integration-engine/vehicle-positions/workers/runs/{tasks/interfaces → interfaces}/IProcessMetroRunsMessagesInput.js +0 -0
  91. package/dist/integration-engine/vehicle-positions/workers/runs/interfaces/IProcessMetroRunsMessagesInput.js.map +1 -0
  92. package/dist/integration-engine/vehicle-positions/workers/runs/{tasks/interfaces → interfaces}/MetroRunsMessageInterfaces.d.ts +0 -0
  93. package/dist/integration-engine/vehicle-positions/workers/runs/{tasks/interfaces → interfaces}/MetroRunsMessageInterfaces.js +0 -0
  94. package/dist/integration-engine/vehicle-positions/workers/runs/interfaces/MetroRunsMessageInterfaces.js.map +1 -0
  95. package/dist/integration-engine/vehicle-positions/workers/runs/schema/CommonRunsSchema.d.ts +4 -0
  96. package/dist/integration-engine/vehicle-positions/workers/runs/schema/CommonRunsSchema.js +96 -0
  97. package/dist/integration-engine/vehicle-positions/workers/runs/schema/CommonRunsSchema.js.map +1 -0
  98. package/dist/integration-engine/vehicle-positions/workers/runs/{tasks/schema → schema}/DataDeletionSchema.d.ts +0 -0
  99. package/dist/integration-engine/vehicle-positions/workers/runs/{tasks/schema → schema}/DataDeletionSchema.js +0 -0
  100. package/dist/integration-engine/vehicle-positions/workers/runs/schema/DataDeletionSchema.js.map +1 -0
  101. package/dist/integration-engine/vehicle-positions/workers/runs/{tasks/schema → schema}/MetroRunsSchema.d.ts +0 -0
  102. package/dist/integration-engine/vehicle-positions/workers/runs/{tasks/schema → schema}/MetroRunsSchema.js +1 -1
  103. package/dist/integration-engine/vehicle-positions/workers/runs/schema/MetroRunsSchema.js.map +1 -0
  104. package/dist/integration-engine/vehicle-positions/workers/runs/{tasks/schema → schema}/MetroTransformedRunsSchema.d.ts +1 -1
  105. package/dist/integration-engine/vehicle-positions/workers/runs/{tasks/schema → schema}/MetroTransformedRunsSchema.js +1 -1
  106. package/dist/integration-engine/vehicle-positions/workers/runs/schema/MetroTransformedRunsSchema.js.map +1 -0
  107. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/DeleteDataTask.d.ts +4 -3
  108. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/DeleteDataTask.js +7 -4
  109. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/DeleteDataTask.js.map +1 -1
  110. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/ProcessMetroRunsMessagesTask.d.ts +2 -2
  111. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/ProcessMetroRunsMessagesTask.js +13 -12
  112. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/ProcessMetroRunsMessagesTask.js.map +1 -1
  113. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/SaveBusRunsToDBTask.d.ts +14 -0
  114. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/SaveBusRunsToDBTask.js +48 -0
  115. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/SaveBusRunsToDBTask.js.map +1 -0
  116. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/SaveMetroRunsToDBTask.d.ts +2 -2
  117. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/SaveMetroRunsToDBTask.js +4 -4
  118. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/SaveMetroRunsToDBTask.js.map +1 -1
  119. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/SaveTramRunsToDBTask.d.ts +14 -0
  120. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/SaveTramRunsToDBTask.js +43 -0
  121. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/SaveTramRunsToDBTask.js.map +1 -0
  122. package/dist/integration-engine/vehicle-positions/workers/runs/transformations/CommonRunsMessagesTransformation.d.ts +11 -0
  123. package/dist/integration-engine/vehicle-positions/{transformations/VehiclePositionsRunsTransformation.js → workers/runs/transformations/CommonRunsMessagesTransformation.js} +6 -7
  124. package/dist/integration-engine/vehicle-positions/workers/runs/transformations/CommonRunsMessagesTransformation.js.map +1 -0
  125. package/dist/integration-engine/vehicle-positions/workers/runs/{tasks/transformations → transformations}/MetroRunsMessageProcessingTransformation.d.ts +3 -3
  126. package/dist/integration-engine/vehicle-positions/workers/runs/{tasks/transformations → transformations}/MetroRunsMessageProcessingTransformation.js +1 -1
  127. package/dist/integration-engine/vehicle-positions/workers/runs/transformations/MetroRunsMessageProcessingTransformation.js.map +1 -0
  128. package/dist/integration-engine/vehicle-positions/workers/runs/{tasks/transformations → transformations}/MetroRunsMessagesTransformation.d.ts +1 -1
  129. package/dist/integration-engine/vehicle-positions/workers/runs/{tasks/transformations → transformations}/MetroRunsMessagesTransformation.js +0 -0
  130. package/dist/integration-engine/vehicle-positions/workers/runs/transformations/MetroRunsMessagesTransformation.js.map +1 -0
  131. package/dist/integration-engine/vehicle-positions/workers/{VPWorker.d.ts → vehicle-positions/VPWorker.d.ts} +0 -0
  132. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/VPWorker.js +28 -0
  133. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/VPWorker.js.map +1 -0
  134. package/dist/integration-engine/vehicle-positions/{models/VehiclePositionsTripsHistoryModel.d.ts → workers/vehicle-positions/data-access/PositionsHistoryRepository.d.ts} +1 -1
  135. package/dist/integration-engine/vehicle-positions/{models/VehiclePositionsPositionsHistoryModel.js → workers/vehicle-positions/data-access/PositionsHistoryRepository.js} +6 -6
  136. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/PositionsHistoryRepository.js.map +1 -0
  137. package/dist/integration-engine/vehicle-positions/{models/VehiclePositionsPositionsModel.d.ts → workers/vehicle-positions/data-access/PositionsRepository.d.ts} +8 -8
  138. package/dist/integration-engine/vehicle-positions/{models/VehiclePositionsPositionsModel.js → workers/vehicle-positions/data-access/PositionsRepository.js} +11 -11
  139. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/PositionsRepository.js.map +1 -0
  140. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/TripStopsRedisRepository.d.ts +4 -0
  141. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/TripStopsRedisRepository.js +18 -0
  142. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/TripStopsRedisRepository.js.map +1 -0
  143. package/dist/integration-engine/vehicle-positions/{models/VehiclePositionsPositionsHistoryModel.d.ts → workers/vehicle-positions/data-access/TripsHistoryRepository.d.ts} +1 -1
  144. package/dist/integration-engine/vehicle-positions/{models/VehiclePositionsTripsHistoryModel.js → workers/vehicle-positions/data-access/TripsHistoryRepository.js} +6 -6
  145. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/TripsHistoryRepository.js.map +1 -0
  146. package/dist/integration-engine/vehicle-positions/{models/VehiclePositionsTripsModel.d.ts → workers/vehicle-positions/data-access/TripsRepository.d.ts} +12 -66
  147. package/dist/integration-engine/vehicle-positions/{models/VehiclePositionsTripsModel.js → workers/vehicle-positions/data-access/TripsRepository.js} +22 -52
  148. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/TripsRepository.js.map +1 -0
  149. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/helpers/PositionsMapper.d.ts +9 -0
  150. package/dist/integration-engine/vehicle-positions/{models/helpers/VPPositionsMapper.js → workers/vehicle-positions/data-access/helpers/PositionsMapper.js} +7 -7
  151. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/helpers/PositionsMapper.js.map +1 -0
  152. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/helpers/TripsIdGenerator.d.ts +13 -0
  153. package/dist/integration-engine/vehicle-positions/{models/helpers/VPTripsIdGenerator.js → workers/vehicle-positions/data-access/helpers/TripsIdGenerator.js} +3 -3
  154. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/helpers/TripsIdGenerator.js.map +1 -0
  155. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/helpers/TripsMapper.d.ts +10 -0
  156. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/helpers/TripsMapper.js +85 -0
  157. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/helpers/TripsMapper.js.map +1 -0
  158. package/dist/integration-engine/vehicle-positions/{helpers → workers/vehicle-positions/helpers}/DPPUtils.d.ts +2 -2
  159. package/dist/integration-engine/vehicle-positions/{helpers → workers/vehicle-positions/helpers}/DPPUtils.js +1 -1
  160. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/DPPUtils.js.map +1 -0
  161. package/dist/integration-engine/vehicle-positions/{helpers → workers/vehicle-positions/helpers}/DateTimeUtils.d.ts +0 -0
  162. package/dist/integration-engine/vehicle-positions/{helpers → workers/vehicle-positions/helpers}/DateTimeUtils.js +0 -0
  163. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/DateTimeUtils.js.map +1 -0
  164. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/DelayComputationManager.d.ts +32 -0
  165. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/DelayComputationManager.js +271 -0
  166. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/DelayComputationManager.js.map +1 -0
  167. package/dist/integration-engine/vehicle-positions/{helpers → workers/vehicle-positions/helpers}/PositionCalculator.d.ts +1 -1
  168. package/dist/integration-engine/vehicle-positions/{helpers → workers/vehicle-positions/helpers}/PositionCalculator.js +0 -0
  169. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/PositionCalculator.js.map +1 -0
  170. package/dist/integration-engine/vehicle-positions/{helpers → workers/vehicle-positions/helpers}/PositionHandlerEnum.d.ts +0 -0
  171. package/dist/integration-engine/vehicle-positions/{helpers → workers/vehicle-positions/helpers}/PositionHandlerEnum.js +0 -0
  172. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/PositionHandlerEnum.js.map +1 -0
  173. package/dist/integration-engine/vehicle-positions/{helpers → workers/vehicle-positions/helpers}/PositionsManager.d.ts +3 -3
  174. package/dist/integration-engine/vehicle-positions/{helpers → workers/vehicle-positions/helpers}/PositionsManager.js +3 -3
  175. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/PositionsManager.js.map +1 -0
  176. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/TripStopsManager.d.ts +15 -0
  177. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/TripStopsManager.js +47 -0
  178. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/TripStopsManager.js.map +1 -0
  179. package/dist/integration-engine/vehicle-positions/{VehiclePositionsUtils.d.ts → workers/vehicle-positions/helpers/VPUtils.d.ts} +5 -15
  180. package/dist/integration-engine/vehicle-positions/{VehiclePositionsUtils.js → workers/vehicle-positions/helpers/VPUtils.js} +12 -32
  181. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/VPUtils.js.map +1 -0
  182. package/dist/integration-engine/vehicle-positions/{helpers → workers/vehicle-positions/helpers}/ValidToCalculator.d.ts +3 -3
  183. package/dist/integration-engine/vehicle-positions/{helpers → workers/vehicle-positions/helpers}/ValidToCalculator.js +3 -3
  184. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/ValidToCalculator.js.map +1 -0
  185. package/dist/integration-engine/vehicle-positions/{helpers → workers/vehicle-positions/helpers}/compute-positions/ComputeDelayHelper.d.ts +4 -4
  186. package/dist/integration-engine/vehicle-positions/{helpers → workers/vehicle-positions/helpers}/compute-positions/ComputeDelayHelper.js +0 -0
  187. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/compute-positions/ComputeDelayHelper.js.map +1 -0
  188. package/dist/integration-engine/vehicle-positions/{helpers → workers/vehicle-positions/helpers}/compute-positions/strategy/AbstractDelayAtStop.d.ts +3 -3
  189. package/dist/integration-engine/vehicle-positions/{helpers → workers/vehicle-positions/helpers}/compute-positions/strategy/AbstractDelayAtStop.js +1 -1
  190. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/compute-positions/strategy/AbstractDelayAtStop.js.map +1 -0
  191. package/dist/integration-engine/vehicle-positions/{helpers → workers/vehicle-positions/helpers}/compute-positions/strategy/BusDelayAtStop.d.ts +3 -3
  192. package/dist/integration-engine/vehicle-positions/{helpers → workers/vehicle-positions/helpers}/compute-positions/strategy/BusDelayAtStop.js +1 -1
  193. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/compute-positions/strategy/BusDelayAtStop.js.map +1 -0
  194. package/dist/integration-engine/vehicle-positions/{helpers → workers/vehicle-positions/helpers}/compute-positions/strategy/FactoryDelayAtStop.d.ts +1 -1
  195. package/dist/integration-engine/vehicle-positions/{helpers → workers/vehicle-positions/helpers}/compute-positions/strategy/FactoryDelayAtStop.js +2 -2
  196. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/compute-positions/strategy/FactoryDelayAtStop.js.map +1 -0
  197. package/dist/integration-engine/vehicle-positions/{helpers → workers/vehicle-positions/helpers}/compute-positions/strategy/TramDelayAtStop.d.ts +3 -3
  198. package/dist/integration-engine/vehicle-positions/{helpers → workers/vehicle-positions/helpers}/compute-positions/strategy/TramDelayAtStop.js +1 -1
  199. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/compute-positions/strategy/TramDelayAtStop.js.map +1 -0
  200. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/gtfs-trip-run/AbstractGTFSTripRunManager.d.ts +29 -0
  201. package/dist/integration-engine/vehicle-positions/{helpers → workers/vehicle-positions/helpers}/gtfs-trip-run/AbstractGTFSTripRunManager.js +2 -2
  202. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/gtfs-trip-run/AbstractGTFSTripRunManager.js.map +1 -0
  203. package/dist/integration-engine/vehicle-positions/{helpers → workers/vehicle-positions/helpers}/gtfs-trip-run/GTFSTripCommonRunManager.d.ts +4 -4
  204. package/dist/integration-engine/vehicle-positions/{helpers → workers/vehicle-positions/helpers}/gtfs-trip-run/GTFSTripCommonRunManager.js +5 -5
  205. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/gtfs-trip-run/GTFSTripCommonRunManager.js.map +1 -0
  206. package/dist/integration-engine/vehicle-positions/{helpers → workers/vehicle-positions/helpers}/gtfs-trip-run/GTFSTripMetroRunManager.d.ts +3 -3
  207. package/dist/integration-engine/vehicle-positions/{helpers → workers/vehicle-positions/helpers}/gtfs-trip-run/GTFSTripMetroRunManager.js +1 -1
  208. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/gtfs-trip-run/GTFSTripMetroRunManager.js.map +1 -0
  209. package/dist/integration-engine/vehicle-positions/{helpers → workers/vehicle-positions/helpers}/gtfs-trip-run/GTFSTripRunManagerFactory.d.ts +0 -0
  210. package/dist/integration-engine/vehicle-positions/{helpers → workers/vehicle-positions/helpers}/gtfs-trip-run/GTFSTripRunManagerFactory.js +0 -0
  211. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/gtfs-trip-run/GTFSTripRunManagerFactory.js.map +1 -0
  212. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/gtfs-trip-run/interfaces/IDelayMessage.d.ts +7 -0
  213. package/dist/integration-engine/vehicle-positions/{helpers → workers/vehicle-positions/helpers}/gtfs-trip-run/interfaces/IDelayMessage.js +0 -0
  214. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/gtfs-trip-run/interfaces/IDelayMessage.js.map +1 -0
  215. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/interfaces/IDataDeletionParams.d.ts +3 -0
  216. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/interfaces/IDataDeletionParams.js +3 -0
  217. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/interfaces/IDataDeletionParams.js.map +1 -0
  218. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/interfaces/IPropagateDelayInput.d.ts +6 -0
  219. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/interfaces/IPropagateDelayInput.js +3 -0
  220. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/interfaces/IPropagateDelayInput.js.map +1 -0
  221. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/interfaces/IUpdateDelayInput.d.ts +8 -0
  222. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/interfaces/IUpdateDelayInput.js +3 -0
  223. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/interfaces/IUpdateDelayInput.js.map +1 -0
  224. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/interfaces/IUpdateGtfsTripIdInput.d.ts +6 -0
  225. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/interfaces/IUpdateGtfsTripIdInput.js +3 -0
  226. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/interfaces/IUpdateGtfsTripIdInput.js.map +1 -0
  227. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/interfaces/MpvMessageInterfaces.d.ts +49 -0
  228. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/interfaces/MpvMessageInterfaces.js +3 -0
  229. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/interfaces/MpvMessageInterfaces.js.map +1 -0
  230. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/interfaces/TransformationInterfaces.d.ts +53 -0
  231. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/interfaces/TransformationInterfaces.js +3 -0
  232. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/interfaces/TransformationInterfaces.js.map +1 -0
  233. package/dist/integration-engine/vehicle-positions/{VehiclePositionsInterfaces.d.ts → workers/vehicle-positions/interfaces/VPInterfaces.d.ts} +6 -6
  234. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/interfaces/VPInterfaces.js +3 -0
  235. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/interfaces/VPInterfaces.js.map +1 -0
  236. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/schema/DataDeletionSchema.d.ts +4 -0
  237. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/schema/DataDeletionSchema.js +22 -0
  238. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/schema/DataDeletionSchema.js.map +1 -0
  239. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/schema/PropagateDelaySchema.d.ts +7 -0
  240. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/schema/PropagateDelaySchema.js +27 -0
  241. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/schema/PropagateDelaySchema.js.map +1 -0
  242. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/schema/SaveDataToDBSchema.d.ts +4 -0
  243. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/schema/SaveDataToDBSchema.js +218 -0
  244. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/schema/SaveDataToDBSchema.js.map +1 -0
  245. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/schema/UpdateDelaySchema.d.ts +9 -0
  246. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/schema/UpdateDelaySchema.js +33 -0
  247. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/schema/UpdateDelaySchema.js.map +1 -0
  248. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/schema/UpdateGtfsTripIdSchema.d.ts +7 -0
  249. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/schema/UpdateGtfsTripIdSchema.js +27 -0
  250. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/schema/UpdateGtfsTripIdSchema.js.map +1 -0
  251. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/schema/UpdateRunsGtfsTripIdSchema.d.ts +7 -0
  252. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/schema/UpdateRunsGtfsTripIdSchema.js +25 -0
  253. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/schema/UpdateRunsGtfsTripIdSchema.js.map +1 -0
  254. package/dist/integration-engine/vehicle-positions/workers/{tasks → vehicle-positions/tasks}/DataRetentionTask.d.ts +0 -0
  255. package/dist/integration-engine/vehicle-positions/workers/{tasks → vehicle-positions/tasks}/DataRetentionTask.js +2 -2
  256. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/DataRetentionTask.js.map +1 -0
  257. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/DeleteDataTask.d.ts +14 -0
  258. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/DeleteDataTask.js +39 -0
  259. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/DeleteDataTask.js.map +1 -0
  260. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/PropagateDelayTask.d.ts +16 -0
  261. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/PropagateDelayTask.js +110 -0
  262. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/PropagateDelayTask.js.map +1 -0
  263. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/SaveDataToDBTask.d.ts +12 -0
  264. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/SaveDataToDBTask.js +77 -0
  265. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/SaveDataToDBTask.js.map +1 -0
  266. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/UpdateDelayTask.d.ts +22 -0
  267. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/UpdateDelayTask.js +176 -0
  268. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/UpdateDelayTask.js.map +1 -0
  269. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/UpdateGtfsTripIdTask.d.ts +18 -0
  270. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/UpdateGtfsTripIdTask.js +143 -0
  271. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/UpdateGtfsTripIdTask.js.map +1 -0
  272. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/UpdateRunsGtfsTripIdTask.d.ts +22 -0
  273. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/UpdateRunsGtfsTripIdTask.js +73 -0
  274. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/UpdateRunsGtfsTripIdTask.js.map +1 -0
  275. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/transformations/PositionsTransformation.d.ts +58 -0
  276. package/dist/integration-engine/vehicle-positions/{transformations/VehiclePositionsTransformation.js → workers/vehicle-positions/transformations/PositionsTransformation.js} +23 -24
  277. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/transformations/PositionsTransformation.js.map +1 -0
  278. package/dist/schema-definitions/vehicle-positions/index.d.ts +0 -16
  279. package/dist/schema-definitions/vehicle-positions/index.js +0 -130
  280. package/dist/schema-definitions/vehicle-positions/index.js.map +1 -1
  281. package/dist/schema-definitions/vehicle-positions/models/CommonRunsMessagesModel.d.ts +20 -0
  282. package/dist/schema-definitions/vehicle-positions/models/CommonRunsMessagesModel.js +80 -0
  283. package/dist/schema-definitions/vehicle-positions/models/CommonRunsMessagesModel.js.map +1 -0
  284. package/dist/schema-definitions/vehicle-positions/models/CommonRunsModel.d.ts +16 -0
  285. package/dist/schema-definitions/vehicle-positions/models/CommonRunsModel.js +61 -0
  286. package/dist/schema-definitions/vehicle-positions/models/CommonRunsModel.js.map +1 -0
  287. package/dist/schema-definitions/vehicle-positions/models/index.d.ts +2 -0
  288. package/dist/schema-definitions/vehicle-positions/models/index.js +2 -0
  289. package/dist/schema-definitions/vehicle-positions/models/index.js.map +1 -1
  290. package/dist/schema-definitions/vehicle-positions/models/interfaces/ICommonRunsMessagesModel.d.ts +14 -0
  291. package/dist/schema-definitions/vehicle-positions/models/interfaces/ICommonRunsMessagesModel.js +3 -0
  292. package/dist/schema-definitions/vehicle-positions/models/interfaces/ICommonRunsMessagesModel.js.map +1 -0
  293. package/dist/schema-definitions/vehicle-positions/models/interfaces/ICommonRunsModel.d.ts +10 -0
  294. package/dist/schema-definitions/vehicle-positions/models/interfaces/ICommonRunsModel.js +3 -0
  295. package/dist/schema-definitions/vehicle-positions/models/interfaces/ICommonRunsModel.js.map +1 -0
  296. package/docs/implementation_documentation.md +123 -50
  297. package/package.json +1 -1
  298. package/dist/integration-engine/gtfsrt-alerts/GtfsRtAlertsController.d.ts +0 -10
  299. package/dist/integration-engine/gtfsrt-alerts/GtfsRtAlertsController.js.map +0 -1
  300. package/dist/integration-engine/gtfsrt-alerts/transformations/GtfsAlertCauseMapper.d.ts +0 -2
  301. package/dist/integration-engine/gtfsrt-alerts/transformations/GtfsAlertCauseMapper.js.map +0 -1
  302. package/dist/integration-engine/gtfsrt-alerts/transformations/GtfsEffectMapper.js.map +0 -1
  303. package/dist/integration-engine/gtfsrt-alerts/transformations/GtfsRtAlertTransformation.js.map +0 -1
  304. package/dist/integration-engine/vehicle-positions/VehiclePositionsInterfaces.js.map +0 -1
  305. package/dist/integration-engine/vehicle-positions/VehiclePositionsUtils.js.map +0 -1
  306. package/dist/integration-engine/vehicle-positions/VehiclePositionsWorker.d.ts +0 -105
  307. package/dist/integration-engine/vehicle-positions/VehiclePositionsWorker.js +0 -897
  308. package/dist/integration-engine/vehicle-positions/VehiclePositionsWorker.js.map +0 -1
  309. package/dist/integration-engine/vehicle-positions/helpers/DPPUtils.js.map +0 -1
  310. package/dist/integration-engine/vehicle-positions/helpers/DateTimeUtils.js.map +0 -1
  311. package/dist/integration-engine/vehicle-positions/helpers/PositionCalculator.js.map +0 -1
  312. package/dist/integration-engine/vehicle-positions/helpers/PositionHandlerEnum.js.map +0 -1
  313. package/dist/integration-engine/vehicle-positions/helpers/PositionsManager.js.map +0 -1
  314. package/dist/integration-engine/vehicle-positions/helpers/ValidToCalculator.js.map +0 -1
  315. package/dist/integration-engine/vehicle-positions/helpers/compute-positions/ComputeDelayHelper.js.map +0 -1
  316. package/dist/integration-engine/vehicle-positions/helpers/compute-positions/strategy/AbstractDelayAtStop.js.map +0 -1
  317. package/dist/integration-engine/vehicle-positions/helpers/compute-positions/strategy/BusDelayAtStop.js.map +0 -1
  318. package/dist/integration-engine/vehicle-positions/helpers/compute-positions/strategy/FactoryDelayAtStop.js.map +0 -1
  319. package/dist/integration-engine/vehicle-positions/helpers/compute-positions/strategy/TramDelayAtStop.js.map +0 -1
  320. package/dist/integration-engine/vehicle-positions/helpers/gtfs-trip-run/AbstractGTFSTripRunManager.d.ts +0 -26
  321. package/dist/integration-engine/vehicle-positions/helpers/gtfs-trip-run/AbstractGTFSTripRunManager.js.map +0 -1
  322. package/dist/integration-engine/vehicle-positions/helpers/gtfs-trip-run/GTFSTripCommonRunManager.js.map +0 -1
  323. package/dist/integration-engine/vehicle-positions/helpers/gtfs-trip-run/GTFSTripMetroRunManager.js.map +0 -1
  324. package/dist/integration-engine/vehicle-positions/helpers/gtfs-trip-run/GTFSTripRunManagerFactory.js.map +0 -1
  325. package/dist/integration-engine/vehicle-positions/helpers/gtfs-trip-run/interfaces/IDelayMessage.d.ts +0 -6
  326. package/dist/integration-engine/vehicle-positions/helpers/gtfs-trip-run/interfaces/IDelayMessage.js.map +0 -1
  327. package/dist/integration-engine/vehicle-positions/models/VehiclePositionsPositionsHistoryModel.js.map +0 -1
  328. package/dist/integration-engine/vehicle-positions/models/VehiclePositionsPositionsModel.js.map +0 -1
  329. package/dist/integration-engine/vehicle-positions/models/VehiclePositionsRunsMessagesModel.js.map +0 -1
  330. package/dist/integration-engine/vehicle-positions/models/VehiclePositionsRunsModel.d.ts +0 -58
  331. package/dist/integration-engine/vehicle-positions/models/VehiclePositionsRunsModel.js.map +0 -1
  332. package/dist/integration-engine/vehicle-positions/models/VehiclePositionsTripsHistoryModel.js.map +0 -1
  333. package/dist/integration-engine/vehicle-positions/models/VehiclePositionsTripsModel.js.map +0 -1
  334. package/dist/integration-engine/vehicle-positions/models/helpers/VPPositionsMapper.d.ts +0 -8
  335. package/dist/integration-engine/vehicle-positions/models/helpers/VPPositionsMapper.js.map +0 -1
  336. package/dist/integration-engine/vehicle-positions/models/helpers/VPTripsIdGenerator.d.ts +0 -13
  337. package/dist/integration-engine/vehicle-positions/models/helpers/VPTripsIdGenerator.js.map +0 -1
  338. package/dist/integration-engine/vehicle-positions/models/helpers/VPTripsMapper.d.ts +0 -10
  339. package/dist/integration-engine/vehicle-positions/models/helpers/VPTripsMapper.js +0 -85
  340. package/dist/integration-engine/vehicle-positions/models/helpers/VPTripsMapper.js.map +0 -1
  341. package/dist/integration-engine/vehicle-positions/models/index.d.ts +0 -4
  342. package/dist/integration-engine/vehicle-positions/models/index.js +0 -21
  343. package/dist/integration-engine/vehicle-positions/models/index.js.map +0 -1
  344. package/dist/integration-engine/vehicle-positions/transformations/VehiclePositionsRunsTransformation.d.ts +0 -69
  345. package/dist/integration-engine/vehicle-positions/transformations/VehiclePositionsRunsTransformation.js.map +0 -1
  346. package/dist/integration-engine/vehicle-positions/transformations/VehiclePositionsTransformation.d.ts +0 -108
  347. package/dist/integration-engine/vehicle-positions/transformations/VehiclePositionsTransformation.js.map +0 -1
  348. package/dist/integration-engine/vehicle-positions/transformations/index.d.ts +0 -2
  349. package/dist/integration-engine/vehicle-positions/transformations/index.js +0 -19
  350. package/dist/integration-engine/vehicle-positions/transformations/index.js.map +0 -1
  351. package/dist/integration-engine/vehicle-positions/workers/VPWorker.js +0 -16
  352. package/dist/integration-engine/vehicle-positions/workers/VPWorker.js.map +0 -1
  353. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/data-access/MetroRunsMessagesRepository.js.map +0 -1
  354. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/data-access/RunTripsRedisRepository.js.map +0 -1
  355. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/helpers/MetroMessageFilter.js.map +0 -1
  356. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/helpers/MetroRouteHelper.js.map +0 -1
  357. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/interfaces/IDataDeletionParams.js.map +0 -1
  358. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/interfaces/IMetroRunInputForProcessing.js.map +0 -1
  359. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/interfaces/IProcessMetroRunsMessagesInput.d.ts +0 -5
  360. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/interfaces/IProcessMetroRunsMessagesInput.js.map +0 -1
  361. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/interfaces/MetroRunsMessageInterfaces.js.map +0 -1
  362. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/schema/DataDeletionSchema.js.map +0 -1
  363. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/schema/MetroRunsSchema.js.map +0 -1
  364. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/schema/MetroTransformedRunsSchema.js.map +0 -1
  365. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/transformations/MetroRunsMessageProcessingTransformation.js.map +0 -1
  366. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/transformations/MetroRunsMessagesTransformation.js.map +0 -1
  367. package/dist/integration-engine/vehicle-positions/workers/tasks/DataRetentionTask.js.map +0 -1
  368. package/dist/schema-definitions/gtfsrt-alerts/GtfsRtAlert.d.ts +0 -56
  369. package/dist/schema-definitions/gtfsrt-alerts/GtfsRtAlert.js +0 -29
  370. package/dist/schema-definitions/gtfsrt-alerts/GtfsRtAlert.js.map +0 -1
@@ -0,0 +1,77 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.SaveDataToDBTask = void 0;
13
+ const queueprocessors_1 = require("@golemio/core/dist/integration-engine/queueprocessors");
14
+ const workers_1 = require("@golemio/core/dist/integration-engine/workers");
15
+ const TripsRepository_1 = require("../data-access/TripsRepository");
16
+ const SaveDataToDBSchema_1 = require("../schema/SaveDataToDBSchema");
17
+ const PositionsTransformation_1 = require("../transformations/PositionsTransformation");
18
+ class SaveDataToDBTask extends workers_1.AbstractTask {
19
+ constructor(queuePrefix) {
20
+ super(queuePrefix);
21
+ this.queueName = "saveDataToDB";
22
+ this.queueTtl = 5 * 60 * 1000; // 5 minutes
23
+ this.schema = SaveDataToDBSchema_1.SaveDataToDBValidationSchema;
24
+ this.tripsRepository = new TripsRepository_1.TripsRepository();
25
+ this.positionsTransformation = new PositionsTransformation_1.PositionsTransformation();
26
+ }
27
+ execute(data) {
28
+ return __awaiter(this, void 0, void 0, function* () {
29
+ const transformedData = yield this.positionsTransformation.transform(data.m.spoj);
30
+ const rows = yield this.tripsRepository.bulkUpsert(transformedData.trips);
31
+ // send message for update GTFSTripIds
32
+ for (let i = 0, chunkSize = 50; i < rows.inserted.length; i += chunkSize) {
33
+ const inserted = rows.inserted.slice(i, i + chunkSize);
34
+ const insertedIds = inserted.map((ins) => {
35
+ return ins.id;
36
+ });
37
+ yield queueprocessors_1.QueueManager.sendMessageToExchange(this.queuePrefix, "updateGTFSTripId", {
38
+ trips: inserted,
39
+ positions: transformedData.positions.filter((position) => insertedIds.includes(position.trips_id)),
40
+ });
41
+ }
42
+ // send message for update delay
43
+ // aggregate runs by origin_route_name & sequence_id to keep related messages in same bulk
44
+ const runTripMap = rows.updated.length ? { unknown: [] } : {};
45
+ for (const trip of rows.updated) {
46
+ if (!trip.origin_route_name || !trip.sequence_id) {
47
+ runTripMap.unknown.push(trip.id);
48
+ }
49
+ else {
50
+ const key = `${trip.origin_route_name}_${trip.sequence_id}`;
51
+ runTripMap[key] ? runTripMap[key].push(trip.id) : (runTripMap[key] = [trip.id]);
52
+ }
53
+ }
54
+ const chunks = [];
55
+ let idx = 0;
56
+ for (const key in runTripMap) {
57
+ if (!chunks[idx]) {
58
+ chunks[idx] = [];
59
+ }
60
+ chunks[idx] = chunks[idx].concat(runTripMap[key]);
61
+ if (chunks[idx].length > 200) {
62
+ idx++;
63
+ }
64
+ }
65
+ for (const key in chunks) {
66
+ const positions = transformedData.positions.filter((position) => chunks[key].includes(position.trips_id));
67
+ const updatedTrips = yield this.tripsRepository.findAllAssocTripIds(chunks[key]);
68
+ yield queueprocessors_1.QueueManager.sendMessageToExchange(this.queuePrefix, "updateDelay", {
69
+ positions,
70
+ updatedTrips,
71
+ });
72
+ }
73
+ });
74
+ }
75
+ }
76
+ exports.SaveDataToDBTask = SaveDataToDBTask;
77
+ //# sourceMappingURL=SaveDataToDBTask.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SaveDataToDBTask.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/SaveDataToDBTask.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ import { AbstractTask } from "@golemio/core/dist/integration-engine/workers";
2
+ import { IUpdateDelayInput } from "../interfaces/IUpdateDelayInput";
3
+ import { UpdateDelayValidationSchema } from "../schema/UpdateDelaySchema";
4
+ export declare class UpdateDelayTask extends AbstractTask<IUpdateDelayInput> {
5
+ readonly queueName = "propagateDelay";
6
+ readonly queueTtl: number;
7
+ readonly schema: typeof UpdateDelayValidationSchema;
8
+ private readonly tripsRepository;
9
+ private readonly positionsRepository;
10
+ private readonly delayComputationRedisRepository;
11
+ private readonly tripStopsManager;
12
+ private readonly delayComputationManager;
13
+ constructor(queuePrefix: string);
14
+ protected execute(data: IUpdateDelayInput): Promise<void>;
15
+ /**
16
+ * Take all newly computed positions and save it, then save the last ones to the trips
17
+ *
18
+ * @param {IProcessedPositions[]} computedResult - Arrays of all newly computed positions
19
+ * @returns {Object[]} - Arrays of inserted/updated positions and array of (inserted)/updated trips
20
+ */
21
+ private updateComputedPositionsAndTrips;
22
+ }
@@ -0,0 +1,176 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.UpdateDelayTask = void 0;
16
+ const DelayComputationRedisRepository_1 = require("../../../../ropid-gtfs/data-access/DelayComputationRedisRepository");
17
+ const RopidGTFSStopTimesModel_1 = require("../../../../ropid-gtfs/RopidGTFSStopTimesModel");
18
+ const RopidGTFSTripsModel_1 = require("../../../../ropid-gtfs/RopidGTFSTripsModel");
19
+ const helpers_1 = require("@golemio/core/dist/integration-engine/helpers");
20
+ const queueprocessors_1 = require("@golemio/core/dist/integration-engine/queueprocessors");
21
+ const workers_1 = require("@golemio/core/dist/integration-engine/workers");
22
+ const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
23
+ const PositionsRepository_1 = require("../data-access/PositionsRepository");
24
+ const TripsRepository_1 = require("../data-access/TripsRepository");
25
+ const TripStopsRedisRepository_1 = require("../data-access/TripStopsRedisRepository");
26
+ const DelayComputationManager_1 = require("../helpers/DelayComputationManager");
27
+ const PositionsManager_1 = __importDefault(require("../helpers/PositionsManager"));
28
+ const TripStopsManager_1 = require("../helpers/TripStopsManager");
29
+ const VPUtils_1 = require("../helpers/VPUtils");
30
+ const UpdateDelaySchema_1 = require("../schema/UpdateDelaySchema");
31
+ class UpdateDelayTask extends workers_1.AbstractTask {
32
+ constructor(queuePrefix) {
33
+ super(queuePrefix);
34
+ this.queueName = "propagateDelay";
35
+ this.queueTtl = 5 * 60 * 1000; // 5 minutes
36
+ this.schema = UpdateDelaySchema_1.UpdateDelayValidationSchema;
37
+ /**
38
+ * Take all newly computed positions and save it, then save the last ones to the trips
39
+ *
40
+ * @param {IProcessedPositions[]} computedResult - Arrays of all newly computed positions
41
+ * @returns {Object[]} - Arrays of inserted/updated positions and array of (inserted)/updated trips
42
+ */
43
+ this.updateComputedPositionsAndTrips = (computedResult) => __awaiter(this, void 0, void 0, function* () {
44
+ const positionsUpdated = yield this.positionsRepository.bulkUpdate(computedResult.flatMap((e) => e.positions));
45
+ const tripsUpdated = yield this.tripsRepository.bulkUpdate(computedResult.map((e) => ({
46
+ id: e.context.tripId,
47
+ last_position_id: e.context.lastPositionId,
48
+ last_position_context: e.context,
49
+ is_canceled: e.context.lastPositionCanceled,
50
+ })));
51
+ return {
52
+ positionsUpdated,
53
+ tripsUpdated,
54
+ };
55
+ });
56
+ this.tripsRepository = new TripsRepository_1.TripsRepository();
57
+ this.positionsRepository = new PositionsRepository_1.PositionsRepository();
58
+ this.delayComputationRedisRepository = new DelayComputationRedisRepository_1.DelayComputationRedisRepository();
59
+ const gtfsStopTimesRepository = new RopidGTFSStopTimesModel_1.RopidGTFSStopTimesModel();
60
+ const gtfsTripsRepository = new RopidGTFSTripsModel_1.RopidGTFSTripsModel();
61
+ const tripStopsRedisRepository = new TripStopsRedisRepository_1.TripStopsRedisRepository();
62
+ this.tripStopsManager = new TripStopsManager_1.TripStopsManager(gtfsStopTimesRepository, tripStopsRedisRepository);
63
+ this.delayComputationManager = new DelayComputationManager_1.DelayComputationManager(gtfsTripsRepository);
64
+ }
65
+ execute(data) {
66
+ var _a, _b;
67
+ return __awaiter(this, void 0, void 0, function* () {
68
+ const tripIds = data.updatedTrips.map((trip) => trip.id);
69
+ if (((_a = data.positions) === null || _a === void 0 ? void 0 : _a.length) > 0) {
70
+ // unique ids in input data in key-value (id-positions) structure
71
+ let positionsByIds = {};
72
+ for (const position of data.positions) {
73
+ positionsByIds[position.trips_id] = position;
74
+ }
75
+ // unique block_ids and its parent input trips_id in key-value structure
76
+ let tripsIdsByBlockIds = {};
77
+ // unique block_ids and its parent gtfs_trip_id in key-value structure
78
+ let gtfsTripIdsByBlockIds = {};
79
+ for (const trip of data.updatedTrips) {
80
+ if (!trip.gtfs_block_id) {
81
+ continue;
82
+ }
83
+ if (!tripsIdsByBlockIds[trip.gtfs_block_id]) {
84
+ tripsIdsByBlockIds[trip.gtfs_block_id] = trip.id;
85
+ }
86
+ else {
87
+ // save only the shorter trip_id (it is the raw input id with no suffixes)
88
+ tripsIdsByBlockIds[trip.gtfs_block_id] =
89
+ tripsIdsByBlockIds[trip.gtfs_block_id] > trip.id ? trip.id : tripsIdsByBlockIds[trip.gtfs_block_id];
90
+ }
91
+ if (!gtfsTripIdsByBlockIds[trip.gtfs_block_id]) {
92
+ gtfsTripIdsByBlockIds[trip.gtfs_block_id] = new Set();
93
+ }
94
+ if (trip.gtfs_trip_id) {
95
+ gtfsTripIdsByBlockIds[trip.gtfs_block_id].add(trip.gtfs_trip_id);
96
+ }
97
+ }
98
+ // Get cached schedule for each unique block_id
99
+ const tripStopsSchedulesByBlockIds = yield Object.entries(gtfsTripIdsByBlockIds).reduce((acc, [blockId, gtfsTripIds]) => __awaiter(this, void 0, void 0, function* () {
100
+ const tripStops = yield acc;
101
+ try {
102
+ const schedule = yield this.tripStopsManager.setAndReturnTripStopsSchedule(blockId, [...gtfsTripIds]);
103
+ tripStops[blockId] = schedule;
104
+ }
105
+ catch (err) {
106
+ helpers_1.IntegrationErrorHandler.handle(err);
107
+ }
108
+ return acc;
109
+ }), Promise.resolve({}));
110
+ // duplicate positions for trips with block_ids
111
+ for (const trip of data.updatedTrips) {
112
+ if (positionsByIds[trip.id]) {
113
+ if (trip.gtfs_block_id) {
114
+ // Determine current position tracking status
115
+ positionsByIds[trip.id].tracking = VPUtils_1.VPUtils.determineTrackingStatus(trip.gtfs_trip_id, tripStopsSchedulesByBlockIds[trip.gtfs_block_id], positionsByIds[trip.id]);
116
+ }
117
+ continue;
118
+ }
119
+ const currentPosition = data.positions.find((position) => {
120
+ return position.trips_id === tripsIdsByBlockIds[trip.gtfs_block_id];
121
+ });
122
+ if (!currentPosition) {
123
+ continue;
124
+ }
125
+ // Determine position duplication and new position tracking status
126
+ const newPositionTrackingStatus = VPUtils_1.VPUtils.determineNewPositionTracking(tripStopsSchedulesByBlockIds[trip.gtfs_block_id], trip, currentPosition);
127
+ // duplicate position with new created trip for second trip
128
+ const newPosition = Object.assign({}, currentPosition);
129
+ newPosition.trips_id = trip.id;
130
+ newPosition.tracking = newPositionTrackingStatus;
131
+ data.positions.push(newPosition);
132
+ }
133
+ // save all new positions
134
+ yield this.positionsRepository.save(data.positions);
135
+ }
136
+ if (((_b = data.updatedTrips) === null || _b === void 0 ? void 0 : _b.length) > 0) {
137
+ try {
138
+ // Get all positions for each trip
139
+ const tripsPositionsToUpdate = yield this.positionsRepository.getPositionsForUpdateDelay(tripIds);
140
+ // Append gtfs data to each trip
141
+ const tripsPositionsWithOrWithoutGTFSDataToUpdate = yield Promise.all(tripsPositionsToUpdate.map((trip) => __awaiter(this, void 0, void 0, function* () {
142
+ const gtfsData = (yield this.delayComputationRedisRepository.get(trip.gtfs_trip_id));
143
+ return Object.assign(Object.assign({}, trip), { gtfsData });
144
+ })));
145
+ // Process every position
146
+ const processedPositions = yield Promise.all(tripsPositionsWithOrWithoutGTFSDataToUpdate.map((trip) => __awaiter(this, void 0, void 0, function* () {
147
+ // if gtfs shape points and schedules data is not ready, calculate it first
148
+ if (trip.gtfsData === null) {
149
+ helpers_1.log.debug("Delay Computation data (Redis) was not found. (gtfsTripId = " + trip.gtfs_trip_id + ")");
150
+ try {
151
+ const gtfsComputationData = yield this.delayComputationManager.getComputationObject(trip.gtfs_trip_id);
152
+ yield this.delayComputationRedisRepository.set("trip_id", gtfsComputationData, VPUtils_1.VPUtils.DELAY_COMPUTATION_CACHE_TTL);
153
+ trip.gtfsData = gtfsComputationData;
154
+ }
155
+ catch (err) {
156
+ return;
157
+ }
158
+ }
159
+ return PositionsManager_1.default.computePositions(trip, data.schedule);
160
+ })));
161
+ const validProcessedPositions = processedPositions.filter((e) => !!e);
162
+ yield this.updateComputedPositionsAndTrips(validProcessedPositions);
163
+ yield queueprocessors_1.QueueManager.sendMessageToExchange(this.queuePrefix, "propagateDelay", {
164
+ processedPositions: validProcessedPositions,
165
+ trips: data.updatedTrips,
166
+ });
167
+ }
168
+ catch (err) {
169
+ throw new golemio_errors_1.CustomError(`Error while updating delay. For trip ids:${tripIds.slice(0, 10).join(",")}`, true, this.constructor.name, 5001, err);
170
+ }
171
+ }
172
+ });
173
+ }
174
+ }
175
+ exports.UpdateDelayTask = UpdateDelayTask;
176
+ //# sourceMappingURL=UpdateDelayTask.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UpdateDelayTask.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/UpdateDelayTask.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import { AbstractTask } from "@golemio/core/dist/integration-engine/workers";
2
+ import { IUpdateGtfsTripIdInput } from "../interfaces/IUpdateGtfsTripIdInput";
3
+ import { UpdateGtfsTripIdValidationSchema } from "../schema/UpdateGtfsTripIdSchema";
4
+ export declare class UpdateGtfsTripIdTask extends AbstractTask<IUpdateGtfsTripIdInput> {
5
+ readonly queueName = "updateGTFSTripId";
6
+ readonly queueTtl: number;
7
+ readonly schema: typeof UpdateGtfsTripIdValidationSchema;
8
+ private readonly tripsRepository;
9
+ private readonly positionsRepository;
10
+ private readonly gtfsStopTimesRepository;
11
+ private readonly gtfsTripRunManager;
12
+ private readonly tripStopsManager;
13
+ constructor(queuePrefix: string);
14
+ /**
15
+ * Take all newly computed positions and save it, then save the last ones to the trips
16
+ */
17
+ protected execute(data: IUpdateGtfsTripIdInput): Promise<void>;
18
+ }
@@ -0,0 +1,143 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.UpdateGtfsTripIdTask = void 0;
13
+ const RopidGTFSStopTimesModel_1 = require("../../../../ropid-gtfs/RopidGTFSStopTimesModel");
14
+ const CommonRunsRepository_1 = require("../../runs/data-access/CommonRunsRepository");
15
+ const RunTripsRedisRepository_1 = require("../../runs/data-access/RunTripsRedisRepository");
16
+ const helpers_1 = require("@golemio/core/dist/integration-engine/helpers");
17
+ const queueprocessors_1 = require("@golemio/core/dist/integration-engine/queueprocessors");
18
+ const workers_1 = require("@golemio/core/dist/integration-engine/workers");
19
+ const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
20
+ const PositionsRepository_1 = require("../data-access/PositionsRepository");
21
+ const TripsRepository_1 = require("../data-access/TripsRepository");
22
+ const TripStopsRedisRepository_1 = require("../data-access/TripStopsRedisRepository");
23
+ const GTFSTripRunManagerFactory_1 = require("../helpers/gtfs-trip-run/GTFSTripRunManagerFactory");
24
+ const TripStopsManager_1 = require("../helpers/TripStopsManager");
25
+ const VPUtils_1 = require("../helpers/VPUtils");
26
+ const UpdateGtfsTripIdSchema_1 = require("../schema/UpdateGtfsTripIdSchema");
27
+ class UpdateGtfsTripIdTask extends workers_1.AbstractTask {
28
+ constructor(queuePrefix) {
29
+ super(queuePrefix);
30
+ this.queueName = "updateGTFSTripId";
31
+ this.queueTtl = 5 * 60 * 1000; // 5 minutes
32
+ this.schema = UpdateGtfsTripIdSchema_1.UpdateGtfsTripIdValidationSchema;
33
+ this.tripsRepository = new TripsRepository_1.TripsRepository();
34
+ this.positionsRepository = new PositionsRepository_1.PositionsRepository();
35
+ this.gtfsStopTimesRepository = new RopidGTFSStopTimesModel_1.RopidGTFSStopTimesModel();
36
+ const commonRunsRepository = new CommonRunsRepository_1.CommonRunsRepository();
37
+ const runTripsRedisRepository = new RunTripsRedisRepository_1.RunTripsRedisRepository();
38
+ const tripStopsRedisRepository = new TripStopsRedisRepository_1.TripStopsRedisRepository();
39
+ this.gtfsTripRunManager = GTFSTripRunManagerFactory_1.GTFSTripRunManagerFactory.create(GTFSTripRunManagerFactory_1.GTFSTripRunType.Common, this.positionsRepository, this.tripsRepository, commonRunsRepository, runTripsRedisRepository);
40
+ this.tripStopsManager = new TripStopsManager_1.TripStopsManager(this.gtfsStopTimesRepository, tripStopsRedisRepository);
41
+ }
42
+ /**
43
+ * Take all newly computed positions and save it, then save the last ones to the trips
44
+ */
45
+ execute(data) {
46
+ return __awaiter(this, void 0, void 0, function* () {
47
+ // unique ids in input data in key-value (id-positions) structure
48
+ let positionsByIds = {};
49
+ for (const position of data.positions) {
50
+ positionsByIds[position.trips_id] = position;
51
+ }
52
+ // find and set schedules for trips
53
+ yield Promise.all(data.trips.map((trip) => {
54
+ if (!trip.origin_route_name || !trip.sequence_id || !positionsByIds[trip.id].origin_timestamp)
55
+ return;
56
+ const timestampLast = new Date(positionsByIds[trip.id].origin_timestamp).toISOString();
57
+ return this.gtfsTripRunManager.setAndReturnScheduledTrips({
58
+ route_id: trip.origin_route_name,
59
+ run_number: trip.sequence_id,
60
+ msg_last_timestamp: timestampLast,
61
+ });
62
+ }));
63
+ // find gtfs data for each trip
64
+ const promiseValues = yield Promise.all(data.trips.map((trip) => __awaiter(this, void 0, void 0, function* () {
65
+ try {
66
+ return yield this.tripsRepository.findGTFSTripId(trip);
67
+ }
68
+ catch (err) {
69
+ helpers_1.log.error(err);
70
+ return err;
71
+ }
72
+ })));
73
+ let existingTripsPromiseValues = [], existingTripsPromiseErrors = [];
74
+ // filter only trips with found gtfs data
75
+ for (const trip of promiseValues) {
76
+ if (trip instanceof golemio_errors_1.CustomError) {
77
+ existingTripsPromiseErrors.push(trip);
78
+ }
79
+ else if (trip instanceof Array) {
80
+ existingTripsPromiseValues.push(...trip);
81
+ }
82
+ else if ((trip === null || trip === void 0 ? void 0 : trip.constructor) === Object) {
83
+ existingTripsPromiseValues.push(trip);
84
+ }
85
+ }
86
+ let tripsByBlockId = {};
87
+ for (const trip of existingTripsPromiseValues) {
88
+ if (!trip.gtfs_block_id || !trip.gtfs_trip_id)
89
+ continue;
90
+ if (!tripsByBlockId[trip.gtfs_block_id]) {
91
+ tripsByBlockId[trip.gtfs_block_id] = new Set();
92
+ }
93
+ tripsByBlockId[trip.gtfs_block_id].add(trip.gtfs_trip_id);
94
+ }
95
+ // create cache for trip stops (grouped by block id)
96
+ const tripStopsSchedulesByBlockIds = yield Object.entries(tripsByBlockId).reduce((acc, [blockId, gtfsTripIds]) => __awaiter(this, void 0, void 0, function* () {
97
+ const tripStops = yield acc;
98
+ try {
99
+ tripStops[blockId] = yield this.tripStopsManager.setAndReturnTripStopsSchedule(blockId, [...gtfsTripIds]);
100
+ }
101
+ catch (err) {
102
+ helpers_1.IntegrationErrorHandler.handle(err);
103
+ }
104
+ return acc;
105
+ }), Promise.resolve({}));
106
+ let currentPosition;
107
+ for (const trip of existingTripsPromiseValues) {
108
+ if (positionsByIds[trip.id]) {
109
+ currentPosition = positionsByIds[trip.id];
110
+ if (trip.gtfs_block_id) {
111
+ // Determine current position tracking status
112
+ currentPosition.tracking = VPUtils_1.VPUtils.determineTrackingStatus(trip.gtfs_trip_id, tripStopsSchedulesByBlockIds[trip.gtfs_block_id], currentPosition);
113
+ }
114
+ continue;
115
+ }
116
+ if (!currentPosition) {
117
+ continue;
118
+ }
119
+ // Determine new position tracking status
120
+ const newPositionTrackingStatus = VPUtils_1.VPUtils.determineNewPositionTracking(tripStopsSchedulesByBlockIds[trip.gtfs_block_id], trip, currentPosition);
121
+ // duplicate position with new created trip for second trip
122
+ const newPosition = Object.assign({}, currentPosition);
123
+ newPosition.trips_id = trip.id;
124
+ newPosition.tracking = newPositionTrackingStatus;
125
+ data.positions.push(newPosition);
126
+ }
127
+ yield this.positionsRepository.save(data.positions);
128
+ // successfully updated gtfs ids
129
+ for (let i = 0, chunkSize = 100, imax = existingTripsPromiseValues.length; i < imax; i += chunkSize) {
130
+ yield queueprocessors_1.QueueManager.sendMessageToExchange(this.queuePrefix, "updateDelay", {
131
+ positions: [],
132
+ updatedTrips: existingTripsPromiseValues.slice(i, i + chunkSize),
133
+ });
134
+ }
135
+ // gtfsId updating errors
136
+ for (let i = 0, imax = existingTripsPromiseErrors.length; i < imax; i++) {
137
+ helpers_1.IntegrationErrorHandler.handle(existingTripsPromiseErrors[i]);
138
+ }
139
+ });
140
+ }
141
+ }
142
+ exports.UpdateGtfsTripIdTask = UpdateGtfsTripIdTask;
143
+ //# sourceMappingURL=UpdateGtfsTripIdTask.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UpdateGtfsTripIdTask.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/UpdateGtfsTripIdTask.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ import { ICommonRunWithMessage } from "../../runs/interfaces/ICommonRunWithMessage";
2
+ import { AbstractTask } from "@golemio/core/dist/integration-engine/workers";
3
+ import { UpdateRunsGtfsTripIdValidationSchema } from "../schema/UpdateRunsGtfsTripIdSchema";
4
+ export declare class UpdateRunsGtfsTripIdTask extends AbstractTask<ICommonRunWithMessage> {
5
+ readonly queueName = "updateRunsGTFSTripId";
6
+ readonly queueTtl: number;
7
+ readonly schema: typeof UpdateRunsGtfsTripIdValidationSchema;
8
+ private readonly tripsRepository;
9
+ private readonly positionsRepository;
10
+ private readonly commonRunsRepository;
11
+ private readonly runTripsRedisRepository;
12
+ private readonly gtfsTripRunManager;
13
+ constructor(queuePrefix: string);
14
+ /**
15
+ * Process trips from runs data
16
+ */
17
+ protected execute(data: ICommonRunWithMessage): Promise<void>;
18
+ /**
19
+ * Process not public trips from runs data
20
+ */
21
+ private updateNotPublicRunTrip;
22
+ }
@@ -0,0 +1,73 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.UpdateRunsGtfsTripIdTask = void 0;
13
+ const CommonRunsRepository_1 = require("../../runs/data-access/CommonRunsRepository");
14
+ const RunTripsRedisRepository_1 = require("../../runs/data-access/RunTripsRedisRepository");
15
+ const helpers_1 = require("@golemio/core/dist/integration-engine/helpers");
16
+ const queueprocessors_1 = require("@golemio/core/dist/integration-engine/queueprocessors");
17
+ const workers_1 = require("@golemio/core/dist/integration-engine/workers");
18
+ const const_1 = require("../../../../../const");
19
+ const PositionsRepository_1 = require("../data-access/PositionsRepository");
20
+ const TripsRepository_1 = require("../data-access/TripsRepository");
21
+ const GTFSTripRunManagerFactory_1 = require("../helpers/gtfs-trip-run/GTFSTripRunManagerFactory");
22
+ const UpdateRunsGtfsTripIdSchema_1 = require("../schema/UpdateRunsGtfsTripIdSchema");
23
+ class UpdateRunsGtfsTripIdTask extends workers_1.AbstractTask {
24
+ constructor(queuePrefix) {
25
+ super(queuePrefix);
26
+ this.queueName = "updateRunsGTFSTripId";
27
+ this.queueTtl = 5 * 60 * 1000; // 5 minutes
28
+ this.schema = UpdateRunsGtfsTripIdSchema_1.UpdateRunsGtfsTripIdValidationSchema;
29
+ /**
30
+ * Process not public trips from runs data
31
+ */
32
+ this.updateNotPublicRunTrip = (input) => __awaiter(this, void 0, void 0, function* () {
33
+ const id = `NOT_PUBLIC_${input.run.route_id}_${input.run.run_number}_` +
34
+ `${input.run.msg_start_timestamp}_${input.run.registration_number}`;
35
+ const createdPosition = yield this.positionsRepository.createNotPublic(input, id);
36
+ yield this.tripsRepository.upsertNotPublic(input, id, createdPosition.toJSON().id);
37
+ return;
38
+ });
39
+ this.tripsRepository = new TripsRepository_1.TripsRepository();
40
+ this.positionsRepository = new PositionsRepository_1.PositionsRepository();
41
+ this.commonRunsRepository = new CommonRunsRepository_1.CommonRunsRepository();
42
+ this.runTripsRedisRepository = new RunTripsRedisRepository_1.RunTripsRedisRepository();
43
+ this.gtfsTripRunManager = GTFSTripRunManagerFactory_1.GTFSTripRunManagerFactory.create(GTFSTripRunManagerFactory_1.GTFSTripRunType.Common, this.positionsRepository, this.tripsRepository, this.commonRunsRepository, this.runTripsRedisRepository);
44
+ }
45
+ /**
46
+ * Process trips from runs data
47
+ */
48
+ execute(data) {
49
+ return __awaiter(this, void 0, void 0, function* () {
50
+ const schedule = yield this.gtfsTripRunManager.setAndReturnScheduledTrips(data.run);
51
+ if (schedule.length === 0) {
52
+ if (const_1.ArrayNotPublicRegistrationNumbers.includes(data.run.registration_number)) {
53
+ yield this.updateNotPublicRunTrip(data);
54
+ }
55
+ else {
56
+ helpers_1.log.verbose(`updateRunsGTFSTripId: no schedule for run: ${JSON.stringify(data.run)}`);
57
+ }
58
+ return;
59
+ }
60
+ if (!data.run_message.actual_stop_timestamp_scheduled) {
61
+ helpers_1.log.warn(`updateRunsGTFSTripId: actualStopTimestampScheduled is not provided for current run: ${JSON.stringify(data.run)}`);
62
+ return;
63
+ }
64
+ const delayMsg = yield this.gtfsTripRunManager.generateDelayMsg(schedule, data);
65
+ // send to updateDelay only if there are some trips updated
66
+ if (delayMsg.updatedTrips.length > 0) {
67
+ yield queueprocessors_1.QueueManager.sendMessageToExchange(this.queuePrefix, "updateDelay", delayMsg);
68
+ }
69
+ });
70
+ }
71
+ }
72
+ exports.UpdateRunsGtfsTripIdTask = UpdateRunsGtfsTripIdTask;
73
+ //# sourceMappingURL=UpdateRunsGtfsTripIdTask.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UpdateRunsGtfsTripIdTask.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/UpdateRunsGtfsTripIdTask.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,sFAA2G;AAC3G,4FAAiH;AAEjH,2EAAoE;AACpE,2FAAqF;AACrF,2EAA6E;AAC7E,gDAA8D;AAC9D,4EAAyE;AACzE,oEAAiE;AAEjE,kGAAgH;AAChH,qFAA4F;AAE5F,MAAa,wBAAyB,SAAQ,sBAAmC;IAW7E,YAAY,WAAmB;QAC3B,KAAK,CAAC,WAAW,CAAC,CAAC;QAXP,cAAS,GAAG,sBAAsB,CAAC;QACnC,aAAQ,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,YAAY;QACtC,WAAM,GAAG,iEAAoC,CAAC;QAsD9D;;WAEG;QACK,2BAAsB,GAAG,CAAO,KAA4B,EAAE,EAAE;YACpE,MAAM,EAAE,GACJ,cAAc,KAAK,CAAC,GAAG,CAAC,QAAQ,IAAI,KAAK,CAAC,GAAG,CAAC,UAAU,GAAG;gBAC3D,GAAG,KAAK,CAAC,GAAG,CAAC,mBAAmB,IAAI,KAAK,CAAC,GAAG,CAAC,mBAAmB,EAAE,CAAC;YACxE,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,eAAe,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YAClF,MAAM,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,KAAK,EAAE,EAAE,EAAE,eAAe,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;YACnF,OAAO;QACX,CAAC,CAAA,CAAC;QAtDE,IAAI,CAAC,eAAe,GAAG,IAAI,iCAAe,EAAE,CAAC;QAC7C,IAAI,CAAC,mBAAmB,GAAG,IAAI,yCAAmB,EAAE,CAAC;QACrD,IAAI,CAAC,oBAAoB,GAAG,IAAI,2CAAoB,EAAE,CAAC;QACvD,IAAI,CAAC,uBAAuB,GAAG,IAAI,iDAAuB,EAAE,CAAC;QAE7D,IAAI,CAAC,kBAAkB,GAAG,qDAAyB,CAAC,MAAM,CACtD,2CAAe,CAAC,MAAM,EACtB,IAAI,CAAC,mBAAmB,EACxB,IAAI,CAAC,eAAe,EACpB,IAAI,CAAC,oBAAoB,EACzB,IAAI,CAAC,uBAAuB,CAC/B,CAAC;IACN,CAAC;IAED;;OAEG;IACa,OAAO,CAAC,IAA2B;;YAC/C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,0BAA0B,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAEpF,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;gBACvB,IAAI,yCAAiC,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,mBAAmB,CAAC,EAAE;oBAC1E,MAAM,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;iBAC3C;qBAAM;oBACH,aAAG,CAAC,OAAO,CAAC,8CAA8C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;iBACzF;gBACD,OAAO;aACV;YAED,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,+BAA+B,EAAE;gBACnD,aAAG,CAAC,IAAI,CACJ,uFAAuF,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CACpH,CAAC;gBACF,OAAO;aACV;YAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YAEhF,2DAA2D;YAC3D,IAAI,QAAQ,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE;gBAClC,MAAM,8BAAY,CAAC,qBAAqB,CAAC,IAAI,CAAC,WAAW,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;aACvF;QACL,CAAC;KAAA;CAaJ;AApED,4DAoEC"}
@@ -0,0 +1,58 @@
1
+ import { BaseTransformation, ITransformation } from "@golemio/core/dist/integration-engine/transformations";
2
+ import { Moment } from "@golemio/core/dist/shared/moment-timezone";
3
+ import { IMpvPositionContent } from "../interfaces/MpvMessageInterfaces";
4
+ import { IPositionTransformationResult, IStopTransformationResult, ITripTransformationResult } from "../interfaces/TransformationInterfaces";
5
+ interface ITransformationResult {
6
+ positions: IPositionTransformationResult[];
7
+ stops: IStopTransformationResult[];
8
+ trips: ITripTransformationResult[];
9
+ }
10
+ interface ITransformationElement {
11
+ position: IPositionTransformationResult;
12
+ stops: IStopTransformationResult[];
13
+ trip: ITripTransformationResult;
14
+ }
15
+ export declare class PositionsTransformation extends BaseTransformation implements ITransformation {
16
+ name: string;
17
+ private static ORIGIN_TIME_FORMAT;
18
+ constructor();
19
+ /**
20
+ * Overrides BaseTransformation::transform
21
+ */
22
+ transform: (data: IMpvPositionContent | IMpvPositionContent[]) => Promise<ITransformationResult>;
23
+ protected transformElement: (element: IMpvPositionContent) => Promise<ITransformationElement | null>;
24
+ /**
25
+ * Deduce UTC timestamp of start of trip and UTC timestamp of current position
26
+ *
27
+ * @param {any} firstStopXML - parsed object of first stop
28
+ * @param {string} positionTimestampXML - XML attribute of local timestamp of position (HH:mm:ss)
29
+ * @returns {{ startTimestamp: Moment; positionTimestamp: Moment }}
30
+ */
31
+ protected deduceTimestamps: (firstStopXML: any, positionTimestampXML: string) => Promise<{
32
+ startTimestamp: Moment;
33
+ positionTimestamp: Moment;
34
+ }>;
35
+ /**
36
+ * Returns -1 if start hour is 12-23 and now is 0-12, 1 if start hour is 18-23 and now 0-6, else 0
37
+ *
38
+ * @param {Moment} now - Moment of position
39
+ * @param {Moment} start - Moment of start of trip
40
+ * @returns {number}
41
+ */
42
+ private checkMidnight;
43
+ /**
44
+ * Fix source negative bearing value due to overflow by adding 256
45
+ *
46
+ * @param {number} bearing
47
+ * @returns {number}
48
+ */
49
+ private fixSourceNegativeBearing;
50
+ /**
51
+ * Format input stop id from DPP agency (XXX000Y to XXX/Y) to ASW id
52
+ *
53
+ * @param {string} stopId
54
+ * @returns {stringList}
55
+ */
56
+ private formatASWStopId;
57
+ }
58
+ export {};