@golemio/pid 2.4.1 → 2.4.2-dev.761535455

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 (386) hide show
  1. package/db/example/13_http-propagate-delay.sql +218 -0
  2. package/db/example/99_precomputed_tables.sql +65 -44
  3. package/db/migrations/postgresql/20230104135230-add-first-last-stop-to-scheduled-trips.js +53 -0
  4. package/db/migrations/postgresql/sqls/20230104135230-add-first-last-stop-to-scheduled-trips-down.sql +3 -0
  5. package/db/migrations/postgresql/sqls/20230104135230-add-first-last-stop-to-scheduled-trips-up.sql +3 -0
  6. package/dist/integration-engine/index.d.ts +1 -1
  7. package/dist/integration-engine/index.js +14 -11
  8. package/dist/integration-engine/index.js.map +1 -1
  9. package/dist/integration-engine/queueDefinitions.js +0 -99
  10. package/dist/integration-engine/queueDefinitions.js.map +1 -1
  11. package/dist/integration-engine/ropid-gtfs/RopidGTFSScheduledTripsModel.d.ts +3 -3
  12. package/dist/integration-engine/ropid-gtfs/RopidGTFSScheduledTripsModel.js +68 -47
  13. package/dist/integration-engine/ropid-gtfs/RopidGTFSScheduledTripsModel.js.map +1 -1
  14. package/dist/integration-engine/ropid-gtfs/data-access/DelayComputationRedisRepository.d.ts +4 -0
  15. package/dist/integration-engine/ropid-gtfs/data-access/DelayComputationRedisRepository.js +18 -0
  16. package/dist/integration-engine/ropid-gtfs/data-access/DelayComputationRedisRepository.js.map +1 -0
  17. package/dist/integration-engine/ropid-gtfs/helpers/RouteTypeEnums.d.ts +29 -0
  18. package/dist/integration-engine/ropid-gtfs/helpers/RouteTypeEnums.js +35 -0
  19. package/dist/integration-engine/ropid-gtfs/helpers/RouteTypeEnums.js.map +1 -0
  20. package/dist/integration-engine/ropid-gtfs/interfaces/IGtfsRunTripCache.d.ts +28 -0
  21. package/dist/integration-engine/{vehicle-positions/VehiclePositionsInterfaces.js → ropid-gtfs/interfaces/IGtfsRunTripCache.js} +1 -1
  22. package/dist/integration-engine/ropid-gtfs/interfaces/IGtfsRunTripCache.js.map +1 -0
  23. package/dist/integration-engine/vehicle-positions/index.d.ts +3 -3
  24. package/dist/integration-engine/vehicle-positions/index.js +3 -3
  25. package/dist/integration-engine/vehicle-positions/index.js.map +1 -1
  26. package/dist/integration-engine/vehicle-positions/workers/gtfs-rt/GtfsRealTimeWorker.d.ts +5 -0
  27. package/dist/integration-engine/vehicle-positions/workers/gtfs-rt/GtfsRealTimeWorker.js +16 -0
  28. package/dist/integration-engine/vehicle-positions/workers/gtfs-rt/GtfsRealTimeWorker.js.map +1 -0
  29. package/dist/integration-engine/vehicle-positions/workers/gtfs-rt/data-access/GtfsRtRedisRepository.d.ts +4 -0
  30. package/dist/integration-engine/vehicle-positions/workers/gtfs-rt/data-access/GtfsRtRedisRepository.js +14 -0
  31. package/dist/integration-engine/vehicle-positions/workers/gtfs-rt/data-access/GtfsRtRedisRepository.js.map +1 -0
  32. package/dist/integration-engine/vehicle-positions/workers/gtfs-rt/helpers/AlertCauseMapper.d.ts +2 -0
  33. package/dist/integration-engine/{gtfsrt-alerts/transformations/GtfsAlertCauseMapper.js → vehicle-positions/workers/gtfs-rt/helpers/AlertCauseMapper.js} +12 -12
  34. package/dist/integration-engine/vehicle-positions/workers/gtfs-rt/helpers/AlertCauseMapper.js.map +1 -0
  35. package/dist/integration-engine/{gtfsrt-alerts/transformations/GtfsEffectMapper.d.ts → vehicle-positions/workers/gtfs-rt/helpers/AlertEffectMapper.d.ts} +2 -2
  36. package/dist/integration-engine/{gtfsrt-alerts/transformations/GtfsEffectMapper.js → vehicle-positions/workers/gtfs-rt/helpers/AlertEffectMapper.js} +9 -9
  37. package/dist/integration-engine/vehicle-positions/workers/gtfs-rt/helpers/AlertEffectMapper.js.map +1 -0
  38. package/dist/integration-engine/vehicle-positions/workers/gtfs-rt/helpers/AlertsGenerator.d.ts +9 -0
  39. package/dist/integration-engine/{gtfsrt-alerts/GtfsRtAlertsController.js → vehicle-positions/workers/gtfs-rt/helpers/AlertsGenerator.js} +19 -15
  40. package/dist/integration-engine/vehicle-positions/workers/gtfs-rt/helpers/AlertsGenerator.js.map +1 -0
  41. package/dist/integration-engine/vehicle-positions/workers/gtfs-rt/helpers/enums/AlertCauseEnum.d.ts +14 -0
  42. package/dist/integration-engine/vehicle-positions/workers/gtfs-rt/helpers/enums/AlertCauseEnum.js +19 -0
  43. package/dist/integration-engine/vehicle-positions/workers/gtfs-rt/helpers/enums/AlertCauseEnum.js.map +1 -0
  44. package/dist/integration-engine/vehicle-positions/workers/gtfs-rt/helpers/enums/AlertEffectEnum.d.ts +11 -0
  45. package/dist/integration-engine/vehicle-positions/workers/gtfs-rt/helpers/enums/AlertEffectEnum.js +16 -0
  46. package/dist/integration-engine/vehicle-positions/workers/gtfs-rt/helpers/enums/AlertEffectEnum.js.map +1 -0
  47. package/dist/integration-engine/vehicle-positions/workers/gtfs-rt/interfaces/AlertsInterfaces.d.ts +31 -0
  48. package/dist/integration-engine/vehicle-positions/workers/gtfs-rt/interfaces/AlertsInterfaces.js +3 -0
  49. package/dist/integration-engine/vehicle-positions/workers/gtfs-rt/interfaces/AlertsInterfaces.js.map +1 -0
  50. package/dist/integration-engine/vehicle-positions/workers/gtfs-rt/interfaces/IGtfsRtFeedEntity.d.ts +26 -0
  51. package/dist/integration-engine/vehicle-positions/workers/gtfs-rt/interfaces/IGtfsRtFeedEntity.js +3 -0
  52. package/dist/integration-engine/vehicle-positions/workers/gtfs-rt/interfaces/IGtfsRtFeedEntity.js.map +1 -0
  53. package/dist/integration-engine/vehicle-positions/workers/gtfs-rt/tasks/GenerateFilesTask.d.ts +10 -0
  54. package/dist/integration-engine/vehicle-positions/workers/gtfs-rt/tasks/GenerateFilesTask.js +130 -0
  55. package/dist/integration-engine/vehicle-positions/workers/gtfs-rt/tasks/GenerateFilesTask.js.map +1 -0
  56. package/dist/integration-engine/{gtfsrt-alerts/transformations/GtfsRtAlertTransformation.d.ts → vehicle-positions/workers/gtfs-rt/transformations/AlertsTransformation.d.ts} +6 -6
  57. package/dist/integration-engine/{gtfsrt-alerts/transformations/GtfsRtAlertTransformation.js → vehicle-positions/workers/gtfs-rt/transformations/AlertsTransformation.js} +9 -9
  58. package/dist/integration-engine/vehicle-positions/workers/gtfs-rt/transformations/AlertsTransformation.js.map +1 -0
  59. package/dist/integration-engine/vehicle-positions/workers/runs/RunsWorker.js +7 -3
  60. package/dist/integration-engine/vehicle-positions/workers/runs/RunsWorker.js.map +1 -1
  61. package/dist/integration-engine/vehicle-positions/{models/VehiclePositionsRunsMessagesModel.d.ts → workers/runs/data-access/CommonRunsMessagesRepository.d.ts} +3 -3
  62. package/dist/integration-engine/vehicle-positions/{models/VehiclePositionsRunsMessagesModel.js → workers/runs/data-access/CommonRunsMessagesRepository.js} +12 -11
  63. package/dist/integration-engine/vehicle-positions/workers/runs/data-access/CommonRunsMessagesRepository.js.map +1 -0
  64. package/dist/integration-engine/vehicle-positions/workers/runs/data-access/CommonRunsRepository.d.ts +32 -0
  65. package/dist/integration-engine/vehicle-positions/{models/VehiclePositionsRunsModel.js → workers/runs/data-access/CommonRunsRepository.js} +24 -20
  66. package/dist/integration-engine/vehicle-positions/workers/runs/data-access/CommonRunsRepository.js.map +1 -0
  67. package/dist/integration-engine/vehicle-positions/workers/runs/{tasks/data-access → data-access}/MetroRunsMessagesRepository.d.ts +1 -1
  68. package/dist/integration-engine/vehicle-positions/workers/runs/{tasks/data-access → data-access}/MetroRunsMessagesRepository.js +10 -10
  69. package/dist/integration-engine/vehicle-positions/workers/runs/data-access/MetroRunsMessagesRepository.js.map +1 -0
  70. package/dist/integration-engine/vehicle-positions/workers/runs/{tasks/data-access → data-access}/RunTripsRedisRepository.d.ts +0 -0
  71. package/dist/integration-engine/vehicle-positions/workers/runs/{tasks/data-access → data-access}/RunTripsRedisRepository.js +1 -1
  72. package/dist/integration-engine/vehicle-positions/workers/runs/data-access/RunTripsRedisRepository.js.map +1 -0
  73. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/CommonMessageProcessor.d.ts +10 -0
  74. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/CommonMessageProcessor.js +42 -0
  75. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/CommonMessageProcessor.js.map +1 -0
  76. package/dist/integration-engine/vehicle-positions/workers/runs/{tasks/helpers → helpers}/MetroMessageFilter.d.ts +1 -1
  77. package/dist/integration-engine/vehicle-positions/workers/runs/{tasks/helpers → helpers}/MetroMessageFilter.js +0 -0
  78. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/MetroMessageFilter.js.map +1 -0
  79. package/dist/integration-engine/vehicle-positions/workers/runs/{tasks/helpers → helpers}/MetroRouteHelper.d.ts +0 -0
  80. package/dist/integration-engine/vehicle-positions/workers/runs/{tasks/helpers → helpers}/MetroRouteHelper.js +0 -0
  81. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/MetroRouteHelper.js.map +1 -0
  82. package/dist/integration-engine/vehicle-positions/workers/runs/interfaces/CommonRunsMessageInterfaces.d.ts +33 -0
  83. package/dist/integration-engine/vehicle-positions/workers/runs/interfaces/CommonRunsMessageInterfaces.js +3 -0
  84. package/dist/integration-engine/vehicle-positions/workers/runs/interfaces/CommonRunsMessageInterfaces.js.map +1 -0
  85. package/dist/integration-engine/vehicle-positions/workers/runs/interfaces/ICommonRunWithMessage.d.ts +6 -0
  86. package/dist/integration-engine/vehicle-positions/workers/runs/interfaces/ICommonRunWithMessage.js +3 -0
  87. package/dist/integration-engine/vehicle-positions/workers/runs/interfaces/ICommonRunWithMessage.js.map +1 -0
  88. package/dist/integration-engine/vehicle-positions/workers/runs/{tasks/interfaces → interfaces}/IDataDeletionParams.d.ts +0 -0
  89. package/dist/integration-engine/vehicle-positions/workers/runs/{tasks/interfaces → interfaces}/IDataDeletionParams.js +0 -0
  90. package/dist/integration-engine/vehicle-positions/workers/runs/interfaces/IDataDeletionParams.js.map +1 -0
  91. package/dist/integration-engine/vehicle-positions/workers/runs/{tasks/interfaces → interfaces}/IMetroRunInputForProcessing.d.ts +1 -1
  92. package/dist/integration-engine/vehicle-positions/workers/runs/{tasks/interfaces → interfaces}/IMetroRunInputForProcessing.js +0 -0
  93. package/dist/integration-engine/vehicle-positions/workers/runs/interfaces/IMetroRunInputForProcessing.js.map +1 -0
  94. package/dist/integration-engine/vehicle-positions/workers/runs/interfaces/IProcessMetroRunsMessagesInput.d.ts +5 -0
  95. package/dist/integration-engine/vehicle-positions/workers/runs/{tasks/interfaces → interfaces}/IProcessMetroRunsMessagesInput.js +0 -0
  96. package/dist/integration-engine/vehicle-positions/workers/runs/interfaces/IProcessMetroRunsMessagesInput.js.map +1 -0
  97. package/dist/integration-engine/vehicle-positions/workers/runs/{tasks/interfaces → interfaces}/MetroRunsMessageInterfaces.d.ts +0 -0
  98. package/dist/integration-engine/vehicle-positions/workers/runs/{tasks/interfaces → interfaces}/MetroRunsMessageInterfaces.js +0 -0
  99. package/dist/integration-engine/vehicle-positions/workers/runs/interfaces/MetroRunsMessageInterfaces.js.map +1 -0
  100. package/dist/integration-engine/vehicle-positions/workers/runs/schema/CommonRunsSchema.d.ts +4 -0
  101. package/dist/integration-engine/vehicle-positions/workers/runs/schema/CommonRunsSchema.js +99 -0
  102. package/dist/integration-engine/vehicle-positions/workers/runs/schema/CommonRunsSchema.js.map +1 -0
  103. package/dist/integration-engine/vehicle-positions/workers/runs/{tasks/schema → schema}/DataDeletionSchema.d.ts +0 -0
  104. package/dist/integration-engine/vehicle-positions/workers/runs/{tasks/schema → schema}/DataDeletionSchema.js +0 -0
  105. package/dist/integration-engine/vehicle-positions/workers/runs/schema/DataDeletionSchema.js.map +1 -0
  106. package/dist/integration-engine/vehicle-positions/workers/runs/{tasks/schema → schema}/MetroRunsSchema.d.ts +0 -0
  107. package/dist/integration-engine/vehicle-positions/workers/runs/{tasks/schema → schema}/MetroRunsSchema.js +1 -1
  108. package/dist/integration-engine/vehicle-positions/workers/runs/schema/MetroRunsSchema.js.map +1 -0
  109. package/dist/integration-engine/vehicle-positions/workers/runs/{tasks/schema → schema}/MetroTransformedRunsSchema.d.ts +1 -1
  110. package/dist/integration-engine/vehicle-positions/workers/runs/{tasks/schema → schema}/MetroTransformedRunsSchema.js +1 -1
  111. package/dist/integration-engine/vehicle-positions/workers/runs/schema/MetroTransformedRunsSchema.js.map +1 -0
  112. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/DeleteDataTask.d.ts +4 -3
  113. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/DeleteDataTask.js +7 -4
  114. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/DeleteDataTask.js.map +1 -1
  115. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/ProcessMetroRunsMessagesTask.d.ts +2 -2
  116. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/ProcessMetroRunsMessagesTask.js +13 -12
  117. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/ProcessMetroRunsMessagesTask.js.map +1 -1
  118. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/SaveBusRunsToDBTask.d.ts +14 -0
  119. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/SaveBusRunsToDBTask.js +48 -0
  120. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/SaveBusRunsToDBTask.js.map +1 -0
  121. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/SaveMetroRunsToDBTask.d.ts +2 -2
  122. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/SaveMetroRunsToDBTask.js +4 -4
  123. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/SaveMetroRunsToDBTask.js.map +1 -1
  124. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/SaveTramRunsToDBTask.d.ts +14 -0
  125. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/SaveTramRunsToDBTask.js +43 -0
  126. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/SaveTramRunsToDBTask.js.map +1 -0
  127. package/dist/integration-engine/vehicle-positions/workers/runs/transformations/CommonRunsMessagesTransformation.d.ts +11 -0
  128. package/dist/integration-engine/vehicle-positions/{transformations/VehiclePositionsRunsTransformation.js → workers/runs/transformations/CommonRunsMessagesTransformation.js} +7 -8
  129. package/dist/integration-engine/vehicle-positions/workers/runs/transformations/CommonRunsMessagesTransformation.js.map +1 -0
  130. package/dist/integration-engine/vehicle-positions/workers/runs/{tasks/transformations → transformations}/MetroRunsMessageProcessingTransformation.d.ts +3 -3
  131. package/dist/integration-engine/vehicle-positions/workers/runs/{tasks/transformations → transformations}/MetroRunsMessageProcessingTransformation.js +1 -1
  132. package/dist/integration-engine/vehicle-positions/workers/runs/transformations/MetroRunsMessageProcessingTransformation.js.map +1 -0
  133. package/dist/integration-engine/vehicle-positions/workers/runs/{tasks/transformations → transformations}/MetroRunsMessagesTransformation.d.ts +1 -1
  134. package/dist/integration-engine/vehicle-positions/workers/runs/{tasks/transformations → transformations}/MetroRunsMessagesTransformation.js +0 -0
  135. package/dist/integration-engine/vehicle-positions/workers/runs/transformations/MetroRunsMessagesTransformation.js.map +1 -0
  136. package/dist/integration-engine/vehicle-positions/workers/{VPWorker.d.ts → vehicle-positions/VPWorker.d.ts} +0 -0
  137. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/VPWorker.js +28 -0
  138. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/VPWorker.js.map +1 -0
  139. package/dist/integration-engine/vehicle-positions/{models/VehiclePositionsTripsHistoryModel.d.ts → workers/vehicle-positions/data-access/PositionsHistoryRepository.d.ts} +1 -1
  140. package/dist/integration-engine/vehicle-positions/{models/VehiclePositionsPositionsHistoryModel.js → workers/vehicle-positions/data-access/PositionsHistoryRepository.js} +6 -6
  141. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/PositionsHistoryRepository.js.map +1 -0
  142. package/dist/integration-engine/vehicle-positions/{models/VehiclePositionsPositionsModel.d.ts → workers/vehicle-positions/data-access/PositionsRepository.d.ts} +8 -8
  143. package/dist/integration-engine/vehicle-positions/{models/VehiclePositionsPositionsModel.js → workers/vehicle-positions/data-access/PositionsRepository.js} +11 -11
  144. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/PositionsRepository.js.map +1 -0
  145. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/TripStopsRedisRepository.d.ts +4 -0
  146. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/TripStopsRedisRepository.js +18 -0
  147. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/TripStopsRedisRepository.js.map +1 -0
  148. package/dist/integration-engine/vehicle-positions/{models/VehiclePositionsPositionsHistoryModel.d.ts → workers/vehicle-positions/data-access/TripsHistoryRepository.d.ts} +1 -1
  149. package/dist/integration-engine/vehicle-positions/{models/VehiclePositionsTripsHistoryModel.js → workers/vehicle-positions/data-access/TripsHistoryRepository.js} +6 -6
  150. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/TripsHistoryRepository.js.map +1 -0
  151. package/dist/integration-engine/vehicle-positions/{models/VehiclePositionsTripsModel.d.ts → workers/vehicle-positions/data-access/TripsRepository.d.ts} +38 -67
  152. package/dist/integration-engine/vehicle-positions/{models/VehiclePositionsTripsModel.js → workers/vehicle-positions/data-access/TripsRepository.js} +82 -57
  153. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/TripsRepository.js.map +1 -0
  154. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/helpers/PositionsMapper.d.ts +9 -0
  155. package/dist/integration-engine/vehicle-positions/{models/helpers/VPPositionsMapper.js → workers/vehicle-positions/data-access/helpers/PositionsMapper.js} +8 -8
  156. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/helpers/PositionsMapper.js.map +1 -0
  157. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/helpers/TripsIdGenerator.d.ts +13 -0
  158. package/dist/integration-engine/vehicle-positions/{models/helpers/VPTripsIdGenerator.js → workers/vehicle-positions/data-access/helpers/TripsIdGenerator.js} +3 -3
  159. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/helpers/TripsIdGenerator.js.map +1 -0
  160. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/helpers/TripsMapper.d.ts +10 -0
  161. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/helpers/TripsMapper.js +85 -0
  162. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/helpers/TripsMapper.js.map +1 -0
  163. package/dist/integration-engine/vehicle-positions/{helpers → workers/vehicle-positions/helpers}/DPPUtils.d.ts +2 -2
  164. package/dist/integration-engine/vehicle-positions/{helpers → workers/vehicle-positions/helpers}/DPPUtils.js +1 -1
  165. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/DPPUtils.js.map +1 -0
  166. package/dist/integration-engine/vehicle-positions/{helpers → workers/vehicle-positions/helpers}/DateTimeUtils.d.ts +0 -0
  167. package/dist/integration-engine/vehicle-positions/{helpers → workers/vehicle-positions/helpers}/DateTimeUtils.js +0 -0
  168. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/DateTimeUtils.js.map +1 -0
  169. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/DelayComputationManager.d.ts +32 -0
  170. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/DelayComputationManager.js +271 -0
  171. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/DelayComputationManager.js.map +1 -0
  172. package/dist/integration-engine/vehicle-positions/{helpers → workers/vehicle-positions/helpers}/PositionCalculator.d.ts +1 -1
  173. package/dist/integration-engine/vehicle-positions/{helpers → workers/vehicle-positions/helpers}/PositionCalculator.js +0 -0
  174. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/PositionCalculator.js.map +1 -0
  175. package/dist/integration-engine/vehicle-positions/{helpers → workers/vehicle-positions/helpers}/PositionHandlerEnum.d.ts +0 -0
  176. package/dist/integration-engine/vehicle-positions/{helpers → workers/vehicle-positions/helpers}/PositionHandlerEnum.js +0 -0
  177. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/PositionHandlerEnum.js.map +1 -0
  178. package/dist/integration-engine/vehicle-positions/{helpers → workers/vehicle-positions/helpers}/PositionsManager.d.ts +4 -3
  179. package/dist/integration-engine/vehicle-positions/{helpers → workers/vehicle-positions/helpers}/PositionsManager.js +8 -4
  180. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/PositionsManager.js.map +1 -0
  181. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/TripStopsManager.d.ts +15 -0
  182. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/TripStopsManager.js +47 -0
  183. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/TripStopsManager.js.map +1 -0
  184. package/dist/integration-engine/vehicle-positions/{VehiclePositionsUtils.d.ts → workers/vehicle-positions/helpers/VPUtils.d.ts} +5 -15
  185. package/dist/integration-engine/vehicle-positions/{VehiclePositionsUtils.js → workers/vehicle-positions/helpers/VPUtils.js} +12 -32
  186. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/VPUtils.js.map +1 -0
  187. package/dist/integration-engine/vehicle-positions/{helpers → workers/vehicle-positions/helpers}/ValidToCalculator.d.ts +3 -3
  188. package/dist/integration-engine/vehicle-positions/{helpers → workers/vehicle-positions/helpers}/ValidToCalculator.js +3 -3
  189. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/ValidToCalculator.js.map +1 -0
  190. package/dist/integration-engine/vehicle-positions/{helpers → workers/vehicle-positions/helpers}/compute-positions/ComputeDelayHelper.d.ts +4 -4
  191. package/dist/integration-engine/vehicle-positions/{helpers → workers/vehicle-positions/helpers}/compute-positions/ComputeDelayHelper.js +0 -0
  192. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/compute-positions/ComputeDelayHelper.js.map +1 -0
  193. package/dist/integration-engine/vehicle-positions/{helpers → workers/vehicle-positions/helpers}/compute-positions/strategy/AbstractDelayAtStop.d.ts +3 -3
  194. package/dist/integration-engine/vehicle-positions/{helpers → workers/vehicle-positions/helpers}/compute-positions/strategy/AbstractDelayAtStop.js +1 -1
  195. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/compute-positions/strategy/AbstractDelayAtStop.js.map +1 -0
  196. package/dist/integration-engine/vehicle-positions/{helpers → workers/vehicle-positions/helpers}/compute-positions/strategy/BusDelayAtStop.d.ts +3 -3
  197. package/dist/integration-engine/vehicle-positions/{helpers → workers/vehicle-positions/helpers}/compute-positions/strategy/BusDelayAtStop.js +1 -1
  198. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/compute-positions/strategy/BusDelayAtStop.js.map +1 -0
  199. package/dist/integration-engine/vehicle-positions/{helpers → workers/vehicle-positions/helpers}/compute-positions/strategy/FactoryDelayAtStop.d.ts +1 -1
  200. package/dist/integration-engine/vehicle-positions/{helpers → workers/vehicle-positions/helpers}/compute-positions/strategy/FactoryDelayAtStop.js +2 -2
  201. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/compute-positions/strategy/FactoryDelayAtStop.js.map +1 -0
  202. package/dist/integration-engine/vehicle-positions/{helpers → workers/vehicle-positions/helpers}/compute-positions/strategy/TramDelayAtStop.d.ts +3 -3
  203. package/dist/integration-engine/vehicle-positions/{helpers → workers/vehicle-positions/helpers}/compute-positions/strategy/TramDelayAtStop.js +1 -1
  204. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/compute-positions/strategy/TramDelayAtStop.js.map +1 -0
  205. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/gtfs-trip-run/AbstractGTFSTripRunManager.d.ts +29 -0
  206. package/dist/integration-engine/vehicle-positions/{helpers → workers/vehicle-positions/helpers}/gtfs-trip-run/AbstractGTFSTripRunManager.js +14 -4
  207. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/gtfs-trip-run/AbstractGTFSTripRunManager.js.map +1 -0
  208. package/dist/integration-engine/vehicle-positions/{helpers → workers/vehicle-positions/helpers}/gtfs-trip-run/GTFSTripCommonRunManager.d.ts +4 -4
  209. package/dist/integration-engine/vehicle-positions/{helpers → workers/vehicle-positions/helpers}/gtfs-trip-run/GTFSTripCommonRunManager.js +5 -5
  210. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/gtfs-trip-run/GTFSTripCommonRunManager.js.map +1 -0
  211. package/dist/integration-engine/vehicle-positions/{helpers → workers/vehicle-positions/helpers}/gtfs-trip-run/GTFSTripMetroRunManager.d.ts +3 -3
  212. package/dist/integration-engine/vehicle-positions/{helpers → workers/vehicle-positions/helpers}/gtfs-trip-run/GTFSTripMetroRunManager.js +1 -1
  213. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/gtfs-trip-run/GTFSTripMetroRunManager.js.map +1 -0
  214. package/dist/integration-engine/vehicle-positions/{helpers → workers/vehicle-positions/helpers}/gtfs-trip-run/GTFSTripRunManagerFactory.d.ts +0 -0
  215. package/dist/integration-engine/vehicle-positions/{helpers → workers/vehicle-positions/helpers}/gtfs-trip-run/GTFSTripRunManagerFactory.js +0 -0
  216. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/gtfs-trip-run/GTFSTripRunManagerFactory.js.map +1 -0
  217. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/gtfs-trip-run/interfaces/IDelayMessage.d.ts +7 -0
  218. package/dist/integration-engine/vehicle-positions/{helpers → workers/vehicle-positions/helpers}/gtfs-trip-run/interfaces/IDelayMessage.js +0 -0
  219. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/gtfs-trip-run/interfaces/IDelayMessage.js.map +1 -0
  220. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/interfaces/IDataDeletionParams.d.ts +3 -0
  221. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/interfaces/IDataDeletionParams.js +3 -0
  222. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/interfaces/IDataDeletionParams.js.map +1 -0
  223. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/interfaces/IPropagateDelayInput.d.ts +6 -0
  224. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/interfaces/IPropagateDelayInput.js +3 -0
  225. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/interfaces/IPropagateDelayInput.js.map +1 -0
  226. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/interfaces/IUpdateDelayInput.d.ts +8 -0
  227. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/interfaces/IUpdateDelayInput.js +3 -0
  228. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/interfaces/IUpdateDelayInput.js.map +1 -0
  229. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/interfaces/IUpdateGtfsTripIdInput.d.ts +6 -0
  230. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/interfaces/IUpdateGtfsTripIdInput.js +3 -0
  231. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/interfaces/IUpdateGtfsTripIdInput.js.map +1 -0
  232. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/interfaces/MpvMessageInterfaces.d.ts +49 -0
  233. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/interfaces/MpvMessageInterfaces.js +3 -0
  234. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/interfaces/MpvMessageInterfaces.js.map +1 -0
  235. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/interfaces/TransformationInterfaces.d.ts +53 -0
  236. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/interfaces/TransformationInterfaces.js +3 -0
  237. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/interfaces/TransformationInterfaces.js.map +1 -0
  238. package/dist/integration-engine/vehicle-positions/{VehiclePositionsInterfaces.d.ts → workers/vehicle-positions/interfaces/VPInterfaces.d.ts} +10 -7
  239. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/interfaces/VPInterfaces.js +3 -0
  240. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/interfaces/VPInterfaces.js.map +1 -0
  241. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/schema/DataDeletionSchema.d.ts +4 -0
  242. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/schema/DataDeletionSchema.js +22 -0
  243. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/schema/DataDeletionSchema.js.map +1 -0
  244. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/schema/PropagateDelaySchema.d.ts +7 -0
  245. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/schema/PropagateDelaySchema.js +27 -0
  246. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/schema/PropagateDelaySchema.js.map +1 -0
  247. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/schema/SaveDataToDBSchema.d.ts +4 -0
  248. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/schema/SaveDataToDBSchema.js +218 -0
  249. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/schema/SaveDataToDBSchema.js.map +1 -0
  250. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/schema/UpdateDelaySchema.d.ts +9 -0
  251. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/schema/UpdateDelaySchema.js +33 -0
  252. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/schema/UpdateDelaySchema.js.map +1 -0
  253. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/schema/UpdateGtfsTripIdSchema.d.ts +7 -0
  254. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/schema/UpdateGtfsTripIdSchema.js +27 -0
  255. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/schema/UpdateGtfsTripIdSchema.js.map +1 -0
  256. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/schema/UpdateRunsGtfsTripIdSchema.d.ts +7 -0
  257. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/schema/UpdateRunsGtfsTripIdSchema.js +25 -0
  258. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/schema/UpdateRunsGtfsTripIdSchema.js.map +1 -0
  259. package/dist/integration-engine/vehicle-positions/workers/{tasks → vehicle-positions/tasks}/DataRetentionTask.d.ts +0 -0
  260. package/dist/integration-engine/vehicle-positions/workers/{tasks → vehicle-positions/tasks}/DataRetentionTask.js +2 -2
  261. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/DataRetentionTask.js.map +1 -0
  262. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/DeleteDataTask.d.ts +14 -0
  263. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/DeleteDataTask.js +39 -0
  264. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/DeleteDataTask.js.map +1 -0
  265. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/PropagateDelayTask.d.ts +19 -0
  266. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/PropagateDelayTask.js +125 -0
  267. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/PropagateDelayTask.js.map +1 -0
  268. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/SaveDataToDBTask.d.ts +12 -0
  269. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/SaveDataToDBTask.js +77 -0
  270. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/SaveDataToDBTask.js.map +1 -0
  271. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/UpdateDelayTask.d.ts +22 -0
  272. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/UpdateDelayTask.js +176 -0
  273. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/UpdateDelayTask.js.map +1 -0
  274. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/UpdateGtfsTripIdTask.d.ts +18 -0
  275. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/UpdateGtfsTripIdTask.js +143 -0
  276. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/UpdateGtfsTripIdTask.js.map +1 -0
  277. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/UpdateRunsGtfsTripIdTask.d.ts +22 -0
  278. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/UpdateRunsGtfsTripIdTask.js +73 -0
  279. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/UpdateRunsGtfsTripIdTask.js.map +1 -0
  280. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/transformations/PositionsTransformation.d.ts +58 -0
  281. package/dist/integration-engine/vehicle-positions/{transformations/VehiclePositionsTransformation.js → workers/vehicle-positions/transformations/PositionsTransformation.js} +23 -24
  282. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/transformations/PositionsTransformation.js.map +1 -0
  283. package/dist/output-gateway/shared/data-access/FeatureFlagDictionary.d.ts +3 -0
  284. package/dist/output-gateway/shared/data-access/FeatureFlagDictionary.js +7 -0
  285. package/dist/output-gateway/shared/data-access/FeatureFlagDictionary.js.map +1 -0
  286. package/dist/output-gateway/shared/data-access/index.d.ts +1 -0
  287. package/dist/{integration-engine/vehicle-positions/transformations → output-gateway/shared/data-access}/index.js +1 -2
  288. package/dist/output-gateway/shared/data-access/index.js.map +1 -0
  289. package/dist/output-gateway/vehicle-positions/models/VehiclePositionsTripsModel.d.ts +1 -0
  290. package/dist/output-gateway/vehicle-positions/models/VehiclePositionsTripsModel.js +7 -0
  291. package/dist/output-gateway/vehicle-positions/models/VehiclePositionsTripsModel.js.map +1 -1
  292. package/dist/schema-definitions/ropid-gtfs/RopidGTFSPrecomputed.d.ts +6 -0
  293. package/dist/schema-definitions/ropid-gtfs/RopidGTFSPrecomputed.js +8 -0
  294. package/dist/schema-definitions/ropid-gtfs/RopidGTFSPrecomputed.js.map +1 -1
  295. package/dist/schema-definitions/vehicle-positions/index.d.ts +0 -16
  296. package/dist/schema-definitions/vehicle-positions/index.js +0 -130
  297. package/dist/schema-definitions/vehicle-positions/index.js.map +1 -1
  298. package/dist/schema-definitions/vehicle-positions/models/CommonRunsMessagesModel.d.ts +20 -0
  299. package/dist/schema-definitions/vehicle-positions/models/CommonRunsMessagesModel.js +73 -0
  300. package/dist/schema-definitions/vehicle-positions/models/CommonRunsMessagesModel.js.map +1 -0
  301. package/dist/schema-definitions/vehicle-positions/models/CommonRunsModel.d.ts +16 -0
  302. package/dist/schema-definitions/vehicle-positions/models/CommonRunsModel.js +61 -0
  303. package/dist/schema-definitions/vehicle-positions/models/CommonRunsModel.js.map +1 -0
  304. package/dist/schema-definitions/vehicle-positions/models/index.d.ts +2 -0
  305. package/dist/schema-definitions/vehicle-positions/models/index.js +2 -0
  306. package/dist/schema-definitions/vehicle-positions/models/index.js.map +1 -1
  307. package/dist/schema-definitions/vehicle-positions/models/interfaces/ICommonRunsMessagesModel.d.ts +14 -0
  308. package/dist/schema-definitions/vehicle-positions/models/interfaces/ICommonRunsMessagesModel.js +3 -0
  309. package/dist/schema-definitions/vehicle-positions/models/interfaces/ICommonRunsMessagesModel.js.map +1 -0
  310. package/dist/schema-definitions/vehicle-positions/models/interfaces/ICommonRunsModel.d.ts +10 -0
  311. package/dist/schema-definitions/vehicle-positions/models/interfaces/ICommonRunsModel.js +3 -0
  312. package/dist/schema-definitions/vehicle-positions/models/interfaces/ICommonRunsModel.js.map +1 -0
  313. package/docs/implementation_documentation.md +125 -119
  314. package/package.json +6 -6
  315. package/dist/integration-engine/gtfsrt-alerts/GtfsRtAlertsController.d.ts +0 -10
  316. package/dist/integration-engine/gtfsrt-alerts/GtfsRtAlertsController.js.map +0 -1
  317. package/dist/integration-engine/gtfsrt-alerts/transformations/GtfsAlertCauseMapper.d.ts +0 -2
  318. package/dist/integration-engine/gtfsrt-alerts/transformations/GtfsAlertCauseMapper.js.map +0 -1
  319. package/dist/integration-engine/gtfsrt-alerts/transformations/GtfsEffectMapper.js.map +0 -1
  320. package/dist/integration-engine/gtfsrt-alerts/transformations/GtfsRtAlertTransformation.js.map +0 -1
  321. package/dist/integration-engine/vehicle-positions/VehiclePositionsInterfaces.js.map +0 -1
  322. package/dist/integration-engine/vehicle-positions/VehiclePositionsUtils.js.map +0 -1
  323. package/dist/integration-engine/vehicle-positions/VehiclePositionsWorker.d.ts +0 -105
  324. package/dist/integration-engine/vehicle-positions/VehiclePositionsWorker.js +0 -887
  325. package/dist/integration-engine/vehicle-positions/VehiclePositionsWorker.js.map +0 -1
  326. package/dist/integration-engine/vehicle-positions/helpers/DPPUtils.js.map +0 -1
  327. package/dist/integration-engine/vehicle-positions/helpers/DateTimeUtils.js.map +0 -1
  328. package/dist/integration-engine/vehicle-positions/helpers/PositionCalculator.js.map +0 -1
  329. package/dist/integration-engine/vehicle-positions/helpers/PositionHandlerEnum.js.map +0 -1
  330. package/dist/integration-engine/vehicle-positions/helpers/PositionsManager.js.map +0 -1
  331. package/dist/integration-engine/vehicle-positions/helpers/ValidToCalculator.js.map +0 -1
  332. package/dist/integration-engine/vehicle-positions/helpers/compute-positions/ComputeDelayHelper.js.map +0 -1
  333. package/dist/integration-engine/vehicle-positions/helpers/compute-positions/strategy/AbstractDelayAtStop.js.map +0 -1
  334. package/dist/integration-engine/vehicle-positions/helpers/compute-positions/strategy/BusDelayAtStop.js.map +0 -1
  335. package/dist/integration-engine/vehicle-positions/helpers/compute-positions/strategy/FactoryDelayAtStop.js.map +0 -1
  336. package/dist/integration-engine/vehicle-positions/helpers/compute-positions/strategy/TramDelayAtStop.js.map +0 -1
  337. package/dist/integration-engine/vehicle-positions/helpers/gtfs-trip-run/AbstractGTFSTripRunManager.d.ts +0 -24
  338. package/dist/integration-engine/vehicle-positions/helpers/gtfs-trip-run/AbstractGTFSTripRunManager.js.map +0 -1
  339. package/dist/integration-engine/vehicle-positions/helpers/gtfs-trip-run/GTFSTripCommonRunManager.js.map +0 -1
  340. package/dist/integration-engine/vehicle-positions/helpers/gtfs-trip-run/GTFSTripMetroRunManager.js.map +0 -1
  341. package/dist/integration-engine/vehicle-positions/helpers/gtfs-trip-run/GTFSTripRunManagerFactory.js.map +0 -1
  342. package/dist/integration-engine/vehicle-positions/helpers/gtfs-trip-run/interfaces/IDelayMessage.d.ts +0 -6
  343. package/dist/integration-engine/vehicle-positions/helpers/gtfs-trip-run/interfaces/IDelayMessage.js.map +0 -1
  344. package/dist/integration-engine/vehicle-positions/models/VehiclePositionsPositionsHistoryModel.js.map +0 -1
  345. package/dist/integration-engine/vehicle-positions/models/VehiclePositionsPositionsModel.js.map +0 -1
  346. package/dist/integration-engine/vehicle-positions/models/VehiclePositionsRunsMessagesModel.js.map +0 -1
  347. package/dist/integration-engine/vehicle-positions/models/VehiclePositionsRunsModel.d.ts +0 -55
  348. package/dist/integration-engine/vehicle-positions/models/VehiclePositionsRunsModel.js.map +0 -1
  349. package/dist/integration-engine/vehicle-positions/models/VehiclePositionsTripsHistoryModel.js.map +0 -1
  350. package/dist/integration-engine/vehicle-positions/models/VehiclePositionsTripsModel.js.map +0 -1
  351. package/dist/integration-engine/vehicle-positions/models/helpers/VPPositionsMapper.d.ts +0 -8
  352. package/dist/integration-engine/vehicle-positions/models/helpers/VPPositionsMapper.js.map +0 -1
  353. package/dist/integration-engine/vehicle-positions/models/helpers/VPTripsIdGenerator.d.ts +0 -13
  354. package/dist/integration-engine/vehicle-positions/models/helpers/VPTripsIdGenerator.js.map +0 -1
  355. package/dist/integration-engine/vehicle-positions/models/helpers/VPTripsMapper.d.ts +0 -10
  356. package/dist/integration-engine/vehicle-positions/models/helpers/VPTripsMapper.js +0 -85
  357. package/dist/integration-engine/vehicle-positions/models/helpers/VPTripsMapper.js.map +0 -1
  358. package/dist/integration-engine/vehicle-positions/models/index.d.ts +0 -4
  359. package/dist/integration-engine/vehicle-positions/models/index.js +0 -21
  360. package/dist/integration-engine/vehicle-positions/models/index.js.map +0 -1
  361. package/dist/integration-engine/vehicle-positions/transformations/VehiclePositionsRunsTransformation.d.ts +0 -69
  362. package/dist/integration-engine/vehicle-positions/transformations/VehiclePositionsRunsTransformation.js.map +0 -1
  363. package/dist/integration-engine/vehicle-positions/transformations/VehiclePositionsTransformation.d.ts +0 -108
  364. package/dist/integration-engine/vehicle-positions/transformations/VehiclePositionsTransformation.js.map +0 -1
  365. package/dist/integration-engine/vehicle-positions/transformations/index.d.ts +0 -2
  366. package/dist/integration-engine/vehicle-positions/transformations/index.js.map +0 -1
  367. package/dist/integration-engine/vehicle-positions/workers/VPWorker.js +0 -16
  368. package/dist/integration-engine/vehicle-positions/workers/VPWorker.js.map +0 -1
  369. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/data-access/MetroRunsMessagesRepository.js.map +0 -1
  370. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/data-access/RunTripsRedisRepository.js.map +0 -1
  371. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/helpers/MetroMessageFilter.js.map +0 -1
  372. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/helpers/MetroRouteHelper.js.map +0 -1
  373. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/interfaces/IDataDeletionParams.js.map +0 -1
  374. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/interfaces/IMetroRunInputForProcessing.js.map +0 -1
  375. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/interfaces/IProcessMetroRunsMessagesInput.d.ts +0 -5
  376. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/interfaces/IProcessMetroRunsMessagesInput.js.map +0 -1
  377. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/interfaces/MetroRunsMessageInterfaces.js.map +0 -1
  378. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/schema/DataDeletionSchema.js.map +0 -1
  379. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/schema/MetroRunsSchema.js.map +0 -1
  380. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/schema/MetroTransformedRunsSchema.js.map +0 -1
  381. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/transformations/MetroRunsMessageProcessingTransformation.js.map +0 -1
  382. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/transformations/MetroRunsMessagesTransformation.js.map +0 -1
  383. package/dist/integration-engine/vehicle-positions/workers/tasks/DataRetentionTask.js.map +0 -1
  384. package/dist/schema-definitions/gtfsrt-alerts/GtfsRtAlert.d.ts +0 -56
  385. package/dist/schema-definitions/gtfsrt-alerts/GtfsRtAlert.js +0 -29
  386. package/dist/schema-definitions/gtfsrt-alerts/GtfsRtAlert.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DataRetentionTask.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/DataRetentionTask.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import { AbstractTask } from "@golemio/core/dist/integration-engine/workers";
2
+ import { IDataDeletionParams } from "../interfaces/IDataDeletionParams";
3
+ import { DataDeletionValidationSchema } from "../schema/DataDeletionSchema";
4
+ export declare class DeleteDataTask extends AbstractTask<IDataDeletionParams> {
5
+ readonly queueName = "deleteData";
6
+ readonly queueTtl: number;
7
+ readonly schema: typeof DataDeletionValidationSchema;
8
+ private readonly tripsRepository;
9
+ private readonly tripsHistoryRepository;
10
+ private readonly positionsRepository;
11
+ private readonly positionsHistoryRepository;
12
+ constructor(queuePrefix: string);
13
+ protected execute(data: IDataDeletionParams): Promise<void>;
14
+ }
@@ -0,0 +1,39 @@
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.DeleteDataTask = void 0;
13
+ const workers_1 = require("@golemio/core/dist/integration-engine/workers");
14
+ const PositionsHistoryRepository_1 = require("../data-access/PositionsHistoryRepository");
15
+ const PositionsRepository_1 = require("../data-access/PositionsRepository");
16
+ const TripsRepository_1 = require("../data-access/TripsRepository");
17
+ const DataDeletionSchema_1 = require("../schema/DataDeletionSchema");
18
+ class DeleteDataTask extends workers_1.AbstractTask {
19
+ constructor(queuePrefix) {
20
+ super(queuePrefix);
21
+ this.queueName = "deleteData";
22
+ this.queueTtl = 29 * 60 * 1000; // 29 minutes
23
+ this.schema = DataDeletionSchema_1.DataDeletionValidationSchema;
24
+ this.tripsRepository = new TripsRepository_1.TripsRepository();
25
+ this.tripsHistoryRepository = new PositionsRepository_1.PositionsRepository();
26
+ this.positionsRepository = new PositionsRepository_1.PositionsRepository();
27
+ this.positionsHistoryRepository = new PositionsHistoryRepository_1.PositionsHistoryRepository();
28
+ }
29
+ execute(data) {
30
+ return __awaiter(this, void 0, void 0, function* () {
31
+ yield this.tripsRepository.deleteNHoursOldData(data.targetHours);
32
+ yield this.positionsRepository.deleteNHoursOldData(data.targetHours);
33
+ yield this.tripsHistoryRepository.deleteNHoursOldData(data.targetHours);
34
+ yield this.positionsHistoryRepository.deleteNHoursOldData(data.targetHours);
35
+ });
36
+ }
37
+ }
38
+ exports.DeleteDataTask = DeleteDataTask;
39
+ //# sourceMappingURL=DeleteDataTask.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DeleteDataTask.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/DeleteDataTask.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2EAA6E;AAC7E,0FAAuF;AACvF,4EAAyE;AAEzE,oEAAiE;AAEjE,qEAA4E;AAE5E,MAAa,cAAe,SAAQ,sBAAiC;IAUjE,YAAY,WAAmB;QAC3B,KAAK,CAAC,WAAW,CAAC,CAAC;QAVP,cAAS,GAAG,YAAY,CAAC;QACzB,aAAQ,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,aAAa;QACxC,WAAM,GAAG,iDAA4B,CAAC;QASlD,IAAI,CAAC,eAAe,GAAG,IAAI,iCAAe,EAAE,CAAC;QAC7C,IAAI,CAAC,sBAAsB,GAAG,IAAI,yCAAmB,EAAE,CAAC;QACxD,IAAI,CAAC,mBAAmB,GAAG,IAAI,yCAAmB,EAAE,CAAC;QACrD,IAAI,CAAC,0BAA0B,GAAG,IAAI,uDAA0B,EAAE,CAAC;IACvE,CAAC;IAEe,OAAO,CAAC,IAAyB;;YAC7C,MAAM,IAAI,CAAC,eAAe,CAAC,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACjE,MAAM,IAAI,CAAC,mBAAmB,CAAC,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACrE,MAAM,IAAI,CAAC,sBAAsB,CAAC,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACxE,MAAM,IAAI,CAAC,0BAA0B,CAAC,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAChF,CAAC;KAAA;CACJ;AAxBD,wCAwBC"}
@@ -0,0 +1,19 @@
1
+ import { AbstractTask } from "@golemio/core/dist/integration-engine/workers";
2
+ import { IPropagateDelayInput } from "../interfaces/IPropagateDelayInput";
3
+ import { PropagateDelayValidationSchema } from "../schema/PropagateDelaySchema";
4
+ export declare class PropagateDelayTask extends AbstractTask<IPropagateDelayInput> {
5
+ readonly queueName = "propagateDelay";
6
+ readonly queueTtl: number;
7
+ readonly schema: typeof PropagateDelayValidationSchema;
8
+ private readonly tripsRepository;
9
+ private readonly positionsRepository;
10
+ private readonly runTripsRedisRepository;
11
+ constructor(queuePrefix: string);
12
+ protected execute(data: IPropagateDelayInput): Promise<void>;
13
+ private mapDelayedPositionsToRunTrips;
14
+ private isUpdateDelayRunTripsIdsData;
15
+ /**
16
+ * Takes all newly computed positions search for next trips in near future and propagate delay for them
17
+ */
18
+ private propagateDelayForGtfsTrip;
19
+ }
@@ -0,0 +1,125 @@
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.PropagateDelayTask = void 0;
16
+ const RunTripsRedisRepository_1 = require("../../runs/data-access/RunTripsRedisRepository");
17
+ const helpers_1 = require("@golemio/core/dist/integration-engine/helpers");
18
+ const workers_1 = require("@golemio/core/dist/integration-engine/workers");
19
+ const moment_timezone_1 = __importDefault(require("@golemio/core/dist/shared/moment-timezone"));
20
+ const const_1 = require("../../../../../const");
21
+ const PositionsRepository_1 = require("../data-access/PositionsRepository");
22
+ const TripsRepository_1 = require("../data-access/TripsRepository");
23
+ const PropagateDelaySchema_1 = require("../schema/PropagateDelaySchema");
24
+ class PropagateDelayTask extends workers_1.AbstractTask {
25
+ constructor(queuePrefix) {
26
+ super(queuePrefix);
27
+ this.queueName = "propagateDelay";
28
+ this.queueTtl = 5 * 60 * 1000; // 5 minutes
29
+ this.schema = PropagateDelaySchema_1.PropagateDelayValidationSchema;
30
+ this.mapDelayedPositionsToRunTrips = (processedPositions, updatedTrips) => {
31
+ const tripPositionMap = [];
32
+ for (const batch of processedPositions) {
33
+ if (batch.context.lastPositionTracking === null) {
34
+ continue;
35
+ }
36
+ const { properties: { state_position }, } = batch.context.lastPositionTracking;
37
+ if (state_position !== const_1.StatePositionEnum.ON_TRACK && state_position !== const_1.StatePositionEnum.AT_STOP) {
38
+ continue;
39
+ }
40
+ const trip = updatedTrips.find((el) => el.id === batch.context.tripId);
41
+ if (trip && this.isUpdateDelayRunTripsIdsData(trip)) {
42
+ tripPositionMap.push({
43
+ position: batch.context.lastPositionTracking,
44
+ trip: trip,
45
+ });
46
+ }
47
+ }
48
+ return tripPositionMap;
49
+ };
50
+ this.isUpdateDelayRunTripsIdsData = (data) => {
51
+ const { origin_route_name, sequence_id, gtfs_trip_id } = data;
52
+ return !!(origin_route_name && sequence_id && gtfs_trip_id);
53
+ };
54
+ /**
55
+ * Takes all newly computed positions search for next trips in near future and propagate delay for them
56
+ */
57
+ this.propagateDelayForGtfsTrip = (data) => __awaiter(this, void 0, void 0, function* () {
58
+ const results = yield this.tripsRepository.getPropagateDelayTripsWithPositions(data);
59
+ if (!results.length)
60
+ return;
61
+ let turnTimeAcc = (+results[0].start_timestamp - moment_timezone_1.default.utc(data.currentEndTime).valueOf()) / 1000;
62
+ const rowsToUpdate = results.map((item, i) => {
63
+ var _a, _b;
64
+ const requiredTurnaroundSeconds = (_b = (_a = data.nextGtfsTrips.find((element) => element.trip_id === results[i].gtfs_trip_id)) === null || _a === void 0 ? void 0 : _a.requiredTurnaroundSeconds) !== null && _b !== void 0 ? _b : 0;
65
+ turnTimeAcc +=
66
+ i > 0
67
+ ? (+results[i].start_timestamp - +results[i - 1].end_timestamp) / 1000 - requiredTurnaroundSeconds
68
+ : -requiredTurnaroundSeconds;
69
+ return {
70
+ position: {
71
+ id: item.last_position.id,
72
+ delay: Math.max(0, data.currentDelay - turnTimeAcc),
73
+ state_position: const_1.StatePositionEnum.BEFORE_TRACK_DELAYED,
74
+ origin_timestamp: +item.last_position.origin_timestamp,
75
+ },
76
+ trip: {
77
+ id: item.id,
78
+ },
79
+ };
80
+ });
81
+ yield this.tripsRepository.bulkUpdatePropagatedDelay(rowsToUpdate);
82
+ });
83
+ this.tripsRepository = new TripsRepository_1.TripsRepository();
84
+ this.positionsRepository = new PositionsRepository_1.PositionsRepository();
85
+ this.runTripsRedisRepository = new RunTripsRedisRepository_1.RunTripsRedisRepository();
86
+ }
87
+ execute(data) {
88
+ var _a;
89
+ return __awaiter(this, void 0, void 0, function* () {
90
+ const delayedPositionsWithRunTrips = this.mapDelayedPositionsToRunTrips(data.processedPositions, data.trips);
91
+ for (const delayedPositions of delayedPositionsWithRunTrips) {
92
+ const { origin_route_name, sequence_id, gtfs_trip_id, vehicle_registration_number, start_timestamp } = delayedPositions.trip;
93
+ const scheduledTrips = yield this.runTripsRedisRepository.get(`${origin_route_name}_${sequence_id}`);
94
+ if ((_a = scheduledTrips === null || scheduledTrips === void 0 ? void 0 : scheduledTrips.schedule) === null || _a === void 0 ? void 0 : _a.length) {
95
+ const gtfsCurrentTrip = scheduledTrips.schedule.find((trip) => trip.trip_id === gtfs_trip_id && (0, moment_timezone_1.default)(trip.start_timestamp).isSame((0, moment_timezone_1.default)(+start_timestamp), "seconds"));
96
+ if (!gtfsCurrentTrip) {
97
+ helpers_1.log.warn(`${this.queueName}: could not determine GTFS trip from run trips data: ` +
98
+ JSON.stringify(delayedPositions.trip));
99
+ continue;
100
+ }
101
+ const gtfsNextTrips = scheduledTrips.schedule.filter((trip) => {
102
+ return ((0, moment_timezone_1.default)(gtfsCurrentTrip.end_timestamp).clone().add(60, "minutes") >= (0, moment_timezone_1.default)(trip.start_timestamp) &&
103
+ (0, moment_timezone_1.default)(gtfsCurrentTrip.end_timestamp) <= (0, moment_timezone_1.default)(trip.start_timestamp));
104
+ });
105
+ yield this.propagateDelayForGtfsTrip({
106
+ currentGtfsTripId: gtfs_trip_id,
107
+ currentOriginTimestamp: delayedPositions.position.properties.origin_timestamp,
108
+ currentDelay: delayedPositions.position.properties.delay,
109
+ currentRegistrationNumber: vehicle_registration_number,
110
+ currentStartTime: gtfsCurrentTrip.start_timestamp,
111
+ currentEndTime: gtfsCurrentTrip.end_timestamp,
112
+ nextGtfsTrips: gtfsNextTrips.map((trip) => {
113
+ return {
114
+ trip_id: trip.trip_id,
115
+ requiredTurnaroundSeconds: trip.requiredTurnaroundSeconds,
116
+ };
117
+ }),
118
+ });
119
+ }
120
+ }
121
+ });
122
+ }
123
+ }
124
+ exports.PropagateDelayTask = PropagateDelayTask;
125
+ //# sourceMappingURL=PropagateDelayTask.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PropagateDelayTask.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/PropagateDelayTask.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import { AbstractTask } from "@golemio/core/dist/integration-engine/workers";
2
+ import { IMpvMessageInput } from "../interfaces/MpvMessageInterfaces";
3
+ import { SaveDataToDBValidationSchema } from "../schema/SaveDataToDBSchema";
4
+ export declare class SaveDataToDBTask extends AbstractTask<IMpvMessageInput> {
5
+ readonly queueName = "saveDataToDB";
6
+ readonly queueTtl: number;
7
+ readonly schema: typeof SaveDataToDBValidationSchema;
8
+ private readonly tripsRepository;
9
+ private readonly positionsTransformation;
10
+ constructor(queuePrefix: string);
11
+ protected execute(data: IMpvMessageInput): Promise<void>;
12
+ }
@@ -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 = "updateDelay";
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 = "updateDelay";
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":";;;;;;;;;;;;;;;AAAA,wHAA6G;AAC7G,4FAAiF;AACjF,oFAAyE;AACzE,2EAA6F;AAC7F,2FAAqF;AACrF,2EAA6E;AAC7E,6EAAuE;AACvE,4EAAyF;AACzF,oEAAiE;AACjE,sFAAmF;AACnF,gFAA6E;AAC7E,mFAA2D;AAC3D,kEAA+D;AAC/D,gDAA6C;AAU7C,mEAA0E;AAE1E,MAAa,eAAgB,SAAQ,sBAA+B;IAWhE,YAAY,WAAmB;QAC3B,KAAK,CAAC,WAAW,CAAC,CAAC;QAXP,cAAS,GAAG,aAAa,CAAC;QAC1B,aAAQ,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,YAAY;QACtC,WAAM,GAAG,+CAA2B,CAAC;QAoLrD;;;;;WAKG;QACK,oCAA+B,GAAG,CAAO,cAAqC,EAAE,EAAE;YACtF,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;YAC/G,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,UAAU,CACtD,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACvB,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM;gBACpB,gBAAgB,EAAE,CAAC,CAAC,OAAO,CAAC,cAAc;gBAC1C,qBAAqB,EAAE,CAAC,CAAC,OAAO;gBAChC,WAAW,EAAE,CAAC,CAAC,OAAO,CAAC,oBAAoB;aAC9C,CAAC,CAAC,CACN,CAAC;YAEF,OAAO;gBACH,gBAAgB;gBAChB,YAAY;aACf,CAAC;QACN,CAAC,CAAA,CAAC;QA/LE,IAAI,CAAC,eAAe,GAAG,IAAI,iCAAe,EAAE,CAAC;QAC7C,IAAI,CAAC,mBAAmB,GAAG,IAAI,yCAAmB,EAAE,CAAC;QACrD,IAAI,CAAC,+BAA+B,GAAG,IAAI,iEAA+B,EAAE,CAAC;QAE7E,MAAM,uBAAuB,GAAG,IAAI,iDAAuB,EAAE,CAAC;QAC9D,MAAM,mBAAmB,GAAG,IAAI,yCAAmB,EAAE,CAAC;QACtD,MAAM,wBAAwB,GAAG,IAAI,mDAAwB,EAAE,CAAC;QAEhE,IAAI,CAAC,gBAAgB,GAAG,IAAI,mCAAgB,CAAC,uBAAuB,EAAE,wBAAwB,CAAC,CAAC;QAChG,IAAI,CAAC,uBAAuB,GAAG,IAAI,iDAAuB,CAAC,mBAAmB,CAAC,CAAC;IACpF,CAAC;IAEe,OAAO,CAAC,IAAuB;;;YAC3C,MAAM,OAAO,GAAa,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAEnE,IAAI,CAAA,MAAA,IAAI,CAAC,SAAS,0CAAE,MAAM,IAAG,CAAC,EAAE;gBAC5B,iEAAiE;gBACjE,IAAI,cAAc,GAAkD,EAAE,CAAC;gBACvE,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,SAAS,EAAE;oBACnC,cAAc,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAC;iBAChD;gBAED,wEAAwE;gBACxE,IAAI,kBAAkB,GAA2B,EAAE,CAAC;gBAEpD,sEAAsE;gBACtE,IAAI,qBAAqB,GAAgC,EAAE,CAAC;gBAE5D,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,YAAY,EAAE;oBAClC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;wBACrB,SAAS;qBACZ;oBAED,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE;wBACzC,kBAAkB,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;qBACpD;yBAAM;wBACH,0EAA0E;wBAC1E,kBAAkB,CAAC,IAAI,CAAC,aAAa,CAAC;4BAClC,kBAAkB,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;qBAC3G;oBAED,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE;wBAC5C,qBAAqB,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,IAAI,GAAG,EAAE,CAAC;qBACzD;oBAED,IAAI,IAAI,CAAC,YAAY,EAAE;wBACnB,qBAAqB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;qBACpE;iBACJ;gBAED,+CAA+C;gBAC/C,MAAM,4BAA4B,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,MAAM,CACnF,CAAO,GAAG,EAAE,CAAC,OAAO,EAAE,WAAW,CAAC,EAAE,EAAE;oBAClC,MAAM,SAAS,GAAG,MAAM,GAAG,CAAC;oBAC5B,IAAI;wBACA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,6BAA6B,CAAC,OAAO,EAAE,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC;wBACtG,SAAS,CAAC,OAAO,CAAC,GAAG,QAAQ,CAAC;qBACjC;oBAAC,OAAO,GAAG,EAAE;wBACV,iCAAuB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;qBACvC;oBAED,OAAO,GAAG,CAAC;gBACf,CAAC,CAAA,EACD,OAAO,CAAC,OAAO,CAAC,EAAuC,CAAC,CAC3D,CAAC;gBAEF,+CAA+C;gBAC/C,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,YAAY,EAAE;oBAClC,IAAI,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;wBACzB,IAAI,IAAI,CAAC,aAAa,EAAE;4BACpB,6CAA6C;4BAC7C,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,QAAQ,GAAG,iBAAO,CAAC,uBAAuB,CAC9D,IAAI,CAAC,YAAa,EAClB,4BAA4B,CAAC,IAAI,CAAC,aAAa,CAAC,EAChD,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,CAC1B,CAAC;yBACL;wBAED,SAAS;qBACZ;oBAED,MAAM,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;wBACrD,OAAO,QAAQ,CAAC,QAAQ,KAAK,kBAAkB,CAAC,IAAI,CAAC,aAAc,CAAC,CAAC;oBACzE,CAAC,CAAC,CAAC;oBAEH,IAAI,CAAC,eAAe,EAAE;wBAClB,SAAS;qBACZ;oBAED,kEAAkE;oBAClE,MAAM,yBAAyB,GAAG,iBAAO,CAAC,4BAA4B,CAClE,4BAA4B,CAAC,IAAI,CAAC,aAAc,CAAC,EACjD,IAAI,EACJ,eAAe,CAClB,CAAC;oBAEF,2DAA2D;oBAC3D,MAAM,WAAW,qBAAQ,eAAe,CAAE,CAAC;oBAC3C,WAAW,CAAC,QAAQ,GAAG,IAAI,CAAC,EAAE,CAAC;oBAC/B,WAAW,CAAC,QAAQ,GAAG,yBAAyB,CAAC;oBACjD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;iBACpC;gBAED,yBAAyB;gBACzB,MAAM,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;aACvD;YAED,IAAI,CAAA,MAAA,IAAI,CAAC,YAAY,0CAAE,MAAM,IAAG,CAAC,EAAE;gBAC/B,IAAI;oBACA,kCAAkC;oBAClC,MAAM,sBAAsB,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,0BAA0B,CAAC,OAAO,CAAC,CAAC;oBAElG,gCAAgC;oBAChC,MAAM,2CAA2C,GAAsC,MAAM,OAAO,CAAC,GAAG,CACpG,sBAAsB,CAAC,GAAG,CAAC,CAAO,IAAoB,EAAE,EAAE;wBACtD,MAAM,QAAQ,GAAG,CAAC,MAAM,IAAI,CAAC,+BAA+B,CAAC,GAAG,CAC5D,IAAI,CAAC,YAAY,CACpB,CAA4B,CAAC;wBAC9B,uCACO,IAAI,KACP,QAAQ,IACV;oBACN,CAAC,CAAA,CAAC,CACL,CAAC;oBAEF,yBAAyB;oBACzB,MAAM,kBAAkB,GAAG,MAAM,OAAO,CAAC,GAAG,CACxC,2CAA2C,CAAC,GAAG,CAAC,CAAO,IAAI,EAAE,EAAE;wBAC3D,2EAA2E;wBAC3E,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE;4BACxB,aAAG,CAAC,KAAK,CAAC,8DAA8D,GAAG,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC,CAAC;4BACpG,IAAI;gCACA,MAAM,mBAAmB,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAAC,oBAAoB,CAC/E,IAAI,CAAC,YAAY,CACpB,CAAC;gCAEF,MAAM,IAAI,CAAC,+BAA+B,CAAC,GAAG,CAC1C,SAAS,EACT,mBAAmB,EACnB,iBAAO,CAAC,2BAA2B,CACtC,CAAC;gCAEF,IAAI,CAAC,QAAQ,GAAG,mBAAmB,CAAC;6BACvC;4BAAC,OAAO,GAAG,EAAE;gCACV,OAAO;6BACV;yBACJ;wBACD,OAAO,0BAAgB,CAAC,gBAAgB,CAAC,IAA8B,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;oBAC5F,CAAC,CAAA,CAAC,CACL,CAAC;oBAEF,MAAM,uBAAuB,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,EAA4B,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBAChG,MAAM,IAAI,CAAC,+BAA+B,CAAC,uBAAuB,CAAC,CAAC;oBAEpE,MAAM,8BAAY,CAAC,qBAAqB,CAAC,IAAI,CAAC,WAAW,EAAE,gBAAgB,EAAE;wBACzE,kBAAkB,EAAE,uBAAuB;wBAC3C,KAAK,EAAE,IAAI,CAAC,YAAY;qBAC3B,CAAC,CAAC;iBACN;gBAAC,OAAO,GAAG,EAAE;oBACV,MAAM,IAAI,4BAAW,CACjB,4CAA4C,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAC5E,IAAI,EACJ,IAAI,CAAC,WAAW,CAAC,IAAI,EACrB,IAAI,EACJ,GAAG,CACN,CAAC;iBACL;aACJ;;KACJ;CAwBJ;AA7MD,0CA6MC"}
@@ -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
+ }