@golemio/pid 2.11.6-dev.1155946299 → 2.11.6-dev.1157466489

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 (193) hide show
  1. package/db/example/17_blocked_trains.sql +5 -8
  2. package/db/example/redis/publicVehiclePositionsMock.json +26 -8
  3. package/db/migrations/postgresql/20240122141600-public-api-detailed-endpoint.js +53 -0
  4. package/db/migrations/postgresql/sqls/20240122141600-public-api-detailed-endpoint-down.sql +16 -0
  5. package/db/migrations/postgresql/sqls/20240122141600-public-api-detailed-endpoint-up.sql +137 -0
  6. package/dist/integration-engine/ioc/Di.d.ts +2 -1
  7. package/dist/integration-engine/ioc/Di.js.map +1 -1
  8. package/dist/integration-engine/ropid-gtfs/RopidGTFSTripsModel.js +1 -1
  9. package/dist/integration-engine/ropid-gtfs/RopidGTFSTripsModel.js.map +1 -1
  10. package/dist/integration-engine/ropid-gtfs/data-access/cache/DelayComputationRedisRepository.d.ts +1 -0
  11. package/dist/integration-engine/ropid-gtfs/data-access/cache/DelayComputationRedisRepository.js +27 -1
  12. package/dist/integration-engine/ropid-gtfs/data-access/cache/DelayComputationRedisRepository.js.map +1 -1
  13. package/dist/integration-engine/ropid-gtfs/data-access/precomputed/TripScheduleRepository.js +4 -2
  14. package/dist/integration-engine/ropid-gtfs/data-access/precomputed/TripScheduleRepository.js.map +1 -1
  15. package/dist/integration-engine/ropid-gtfs/interfaces/TripModelInterfaces.d.ts +1 -0
  16. package/dist/integration-engine/vehicle-positions/ioc/Di.js +8 -2
  17. package/dist/integration-engine/vehicle-positions/ioc/Di.js.map +1 -1
  18. package/dist/integration-engine/vehicle-positions/ioc/VPContainerToken.d.ts +4 -1
  19. package/dist/integration-engine/vehicle-positions/ioc/VPContainerToken.js +4 -1
  20. package/dist/integration-engine/vehicle-positions/ioc/VPContainerToken.js.map +1 -1
  21. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/VPWorker.js +2 -1
  22. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/VPWorker.js.map +1 -1
  23. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/TripsRepository.js +16 -10
  24. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/TripsRepository.js.map +1 -1
  25. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/cache/PublicApiCacheRepository.js +2 -1
  26. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/cache/PublicApiCacheRepository.js.map +1 -1
  27. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/cache/PublicStopTimeCacheRepository.d.ts +7 -0
  28. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/cache/PublicStopTimeCacheRepository.js +70 -0
  29. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/cache/PublicStopTimeCacheRepository.js.map +1 -0
  30. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/helpers/RawQueryProvider.js +7 -3
  31. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/helpers/RawQueryProvider.js.map +1 -1
  32. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/helpers/TripsMapper.js +1 -0
  33. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/helpers/TripsMapper.js.map +1 -1
  34. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/interfaces/TripRepositoryInterfaces.d.ts +14 -2
  35. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/views/PublicStopTimeRepository.d.ts +9 -0
  36. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/views/PublicStopTimeRepository.js +54 -0
  37. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/views/PublicStopTimeRepository.js.map +1 -0
  38. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/DelayComputationManager.d.ts +2 -1
  39. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/DelayComputationManager.js +9 -0
  40. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/DelayComputationManager.js.map +1 -1
  41. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/VPUtils.js +1 -1
  42. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/VPUtils.js.map +1 -1
  43. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/anchor-points/AnchorPointSegmenter.js +0 -1
  44. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/anchor-points/AnchorPointSegmenter.js.map +1 -1
  45. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/public-api/PublicCacheTripsFilter.d.ts +4 -0
  46. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/public-api/PublicCacheTripsFilter.js +29 -0
  47. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/public-api/PublicCacheTripsFilter.js.map +1 -0
  48. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/interfaces/VPInterfaces.d.ts +2 -0
  49. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/ProcessRegionalBusPositionsTask.d.ts +4 -0
  50. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/ProcessRegionalBusPositionsTask.js +14 -0
  51. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/ProcessRegionalBusPositionsTask.js.map +1 -1
  52. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/RefreshPublicStopTimeCacheTask.d.ts +19 -0
  53. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/RefreshPublicStopTimeCacheTask.js +117 -0
  54. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/RefreshPublicStopTimeCacheTask.js.map +1 -0
  55. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/{RefreshPublicCacheTask.d.ts → RefreshPublicTripCacheTask.d.ts} +2 -2
  56. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/{RefreshPublicCacheTask.js → RefreshPublicTripCacheTask.js} +17 -15
  57. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/RefreshPublicTripCacheTask.js.map +1 -0
  58. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/UpdateDelayTask.d.ts +4 -0
  59. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/UpdateDelayTask.js +14 -0
  60. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/UpdateDelayTask.js.map +1 -1
  61. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/transformations/PublicApiTripTransformation.d.ts +2 -0
  62. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/transformations/PublicApiTripTransformation.js +21 -3
  63. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/transformations/PublicApiTripTransformation.js.map +1 -1
  64. package/dist/output-gateway/pid/PIDRouter.d.ts +1 -1
  65. package/dist/output-gateway/pid/PIDRouter.js +1 -1
  66. package/dist/output-gateway/pid/PIDRouter.js.map +1 -1
  67. package/dist/output-gateway/public/controllers/v1/PublicVehiclePositionsController.d.ts +6 -5
  68. package/dist/output-gateway/public/controllers/v1/PublicVehiclePositionsController.js +22 -3
  69. package/dist/output-gateway/public/controllers/v1/PublicVehiclePositionsController.js.map +1 -1
  70. package/dist/output-gateway/public/controllers/v1/interfaces/PublicParamsInterfaces.d.ts +12 -0
  71. package/dist/output-gateway/public/controllers/v1/interfaces/PublicParamsInterfaces.js +3 -0
  72. package/dist/output-gateway/public/controllers/v1/interfaces/PublicParamsInterfaces.js.map +1 -0
  73. package/dist/output-gateway/public/data-access/VehicleDescriptorCachedRepository.d.ts +13 -0
  74. package/dist/output-gateway/public/data-access/VehicleDescriptorCachedRepository.js +71 -0
  75. package/dist/output-gateway/public/data-access/VehicleDescriptorCachedRepository.js.map +1 -0
  76. package/dist/output-gateway/public/data-access/redis/DelayComputationRepository.d.ts +10 -0
  77. package/dist/output-gateway/public/data-access/redis/DelayComputationRepository.js +68 -0
  78. package/dist/output-gateway/public/data-access/redis/DelayComputationRepository.js.map +1 -0
  79. package/dist/output-gateway/public/data-access/redis/PublicStopTimeRepository.d.ts +10 -0
  80. package/dist/output-gateway/public/data-access/redis/PublicStopTimeRepository.js +68 -0
  81. package/dist/output-gateway/public/data-access/redis/PublicStopTimeRepository.js.map +1 -0
  82. package/dist/output-gateway/public/data-access/redis/PublicVehiclePositionsRepository.d.ts +3 -1
  83. package/dist/output-gateway/public/data-access/redis/PublicVehiclePositionsRepository.js +64 -7
  84. package/dist/output-gateway/public/data-access/redis/PublicVehiclePositionsRepository.js.map +1 -1
  85. package/dist/output-gateway/public/domain/PublicApiDetailedTripInterfaces.d.ts +48 -0
  86. package/dist/output-gateway/public/domain/PublicApiDetailedTripInterfaces.js +3 -0
  87. package/dist/output-gateway/public/domain/PublicApiDetailedTripInterfaces.js.map +1 -0
  88. package/dist/output-gateway/public/domain/repository/IDelayComputationRepository.d.ts +4 -0
  89. package/dist/output-gateway/public/domain/repository/IDelayComputationRepository.js +3 -0
  90. package/dist/output-gateway/public/domain/repository/IDelayComputationRepository.js.map +1 -0
  91. package/dist/output-gateway/public/domain/repository/IStopTimeRepository.d.ts +4 -0
  92. package/dist/output-gateway/public/domain/repository/IStopTimeRepository.js +3 -0
  93. package/dist/output-gateway/public/domain/repository/IStopTimeRepository.js.map +1 -0
  94. package/dist/output-gateway/public/domain/repository/IVehiclePositionsRepository.d.ts +3 -1
  95. package/dist/output-gateway/public/ioc/Di.js +20 -0
  96. package/dist/output-gateway/public/ioc/Di.js.map +1 -1
  97. package/dist/output-gateway/public/ioc/OgModuleToken.d.ts +8 -0
  98. package/dist/output-gateway/public/ioc/OgModuleToken.js +8 -0
  99. package/dist/output-gateway/public/ioc/OgModuleToken.js.map +1 -1
  100. package/dist/output-gateway/public/routers/v1/PublicRouter.d.ts +1 -1
  101. package/dist/output-gateway/public/routers/v1/PublicRouter.js +4 -2
  102. package/dist/output-gateway/public/routers/v1/PublicRouter.js.map +1 -1
  103. package/dist/output-gateway/public/routers/v1/helpers/CustomScopeValidator.d.ts +6 -0
  104. package/dist/output-gateway/public/routers/v1/helpers/CustomScopeValidator.js +26 -0
  105. package/dist/output-gateway/public/routers/v1/helpers/CustomScopeValidator.js.map +1 -0
  106. package/dist/output-gateway/public/routers/v1/helpers/DetailedTripScopeEnum.d.ts +6 -0
  107. package/dist/output-gateway/public/routers/v1/helpers/DetailedTripScopeEnum.js +11 -0
  108. package/dist/output-gateway/public/routers/v1/helpers/DetailedTripScopeEnum.js.map +1 -0
  109. package/dist/output-gateway/public/service/facade/DetailedTripFacade.d.ts +8 -0
  110. package/dist/output-gateway/public/service/facade/DetailedTripFacade.js +42 -0
  111. package/dist/output-gateway/public/service/facade/DetailedTripFacade.js.map +1 -0
  112. package/dist/output-gateway/public/service/facade/VehiclePositionsFacade.js +10 -1
  113. package/dist/output-gateway/public/service/facade/VehiclePositionsFacade.js.map +1 -1
  114. package/dist/output-gateway/public/service/helpers/trip-scope/TripScopeHelper.d.ts +6 -0
  115. package/dist/output-gateway/public/service/helpers/trip-scope/TripScopeHelper.js +11 -0
  116. package/dist/output-gateway/public/service/helpers/trip-scope/TripScopeHelper.js.map +1 -0
  117. package/dist/output-gateway/public/service/helpers/trip-scope/strategy/AbstractTripScopeHandler.d.ts +5 -0
  118. package/dist/output-gateway/public/service/helpers/trip-scope/strategy/AbstractTripScopeHandler.js +7 -0
  119. package/dist/output-gateway/public/service/helpers/trip-scope/strategy/AbstractTripScopeHandler.js.map +1 -0
  120. package/dist/output-gateway/public/service/helpers/trip-scope/strategy/InfoTripScopeHelper.d.ts +8 -0
  121. package/dist/output-gateway/public/service/helpers/trip-scope/strategy/InfoTripScopeHelper.js +41 -0
  122. package/dist/output-gateway/public/service/helpers/trip-scope/strategy/InfoTripScopeHelper.js.map +1 -0
  123. package/dist/output-gateway/public/service/helpers/trip-scope/strategy/ShapesTripScopeHelper.d.ts +10 -0
  124. package/dist/output-gateway/public/service/helpers/trip-scope/strategy/ShapesTripScopeHelper.js +53 -0
  125. package/dist/output-gateway/public/service/helpers/trip-scope/strategy/ShapesTripScopeHelper.js.map +1 -0
  126. package/dist/output-gateway/public/service/helpers/trip-scope/strategy/StopTimesTripScopeHelper.d.ts +12 -0
  127. package/dist/output-gateway/public/service/helpers/trip-scope/strategy/StopTimesTripScopeHelper.js +77 -0
  128. package/dist/output-gateway/public/service/helpers/trip-scope/strategy/StopTimesTripScopeHelper.js.map +1 -0
  129. package/dist/output-gateway/public/service/helpers/trip-scope/strategy/TripScopeHandlerFactory.d.ts +9 -0
  130. package/dist/output-gateway/public/service/helpers/trip-scope/strategy/TripScopeHandlerFactory.js +30 -0
  131. package/dist/output-gateway/public/service/helpers/trip-scope/strategy/TripScopeHandlerFactory.js.map +1 -0
  132. package/dist/output-gateway/public/service/helpers/trip-scope/strategy/VehicleDescriptorTripScopeHelper.d.ts +10 -0
  133. package/dist/output-gateway/public/service/helpers/trip-scope/strategy/VehicleDescriptorTripScopeHelper.js +54 -0
  134. package/dist/output-gateway/public/service/helpers/trip-scope/strategy/VehicleDescriptorTripScopeHelper.js.map +1 -0
  135. package/dist/output-gateway/public/service/transformations/PublicVehiclePositionsTransformation.d.ts +1 -1
  136. package/dist/output-gateway/public/service/transformations/PublicVehiclePositionsTransformation.js +15 -3
  137. package/dist/output-gateway/public/service/transformations/PublicVehiclePositionsTransformation.js.map +1 -1
  138. package/dist/output-gateway/public/service/transformations/scopes/PublicVPTripInfoTransformation.d.ts +26 -0
  139. package/dist/output-gateway/public/service/transformations/scopes/PublicVPTripInfoTransformation.js +47 -0
  140. package/dist/output-gateway/public/service/transformations/scopes/PublicVPTripInfoTransformation.js.map +1 -0
  141. package/dist/output-gateway/public/service/transformations/scopes/PublicVPTripShapesTransformation.d.ts +7 -0
  142. package/dist/output-gateway/public/service/transformations/scopes/PublicVPTripShapesTransformation.js +21 -0
  143. package/dist/output-gateway/public/service/transformations/scopes/PublicVPTripShapesTransformation.js.map +1 -0
  144. package/dist/output-gateway/public/service/transformations/scopes/PublicVPTripStopTimesTransformation.d.ts +7 -0
  145. package/dist/output-gateway/public/service/transformations/scopes/PublicVPTripStopTimesTransformation.js +41 -0
  146. package/dist/output-gateway/public/service/transformations/scopes/PublicVPTripStopTimesTransformation.js.map +1 -0
  147. package/dist/output-gateway/public/service/transformations/scopes/PublicVPVehicleDescriptorTransformation.d.ts +14 -0
  148. package/dist/output-gateway/public/service/transformations/scopes/PublicVPVehicleDescriptorTransformation.js +22 -0
  149. package/dist/output-gateway/public/service/transformations/scopes/PublicVPVehicleDescriptorTransformation.js.map +1 -0
  150. package/dist/output-gateway/vehicle-positions/VehiclePositionsRouter.js.map +1 -1
  151. package/dist/output-gateway/vehicle-positions/data-access/TripRepository.js +1 -0
  152. package/dist/output-gateway/vehicle-positions/data-access/TripRepository.js.map +1 -1
  153. package/dist/schema-definitions/ropid-gtfs/RopidGTFSPrecomputed.d.ts +3 -0
  154. package/dist/schema-definitions/ropid-gtfs/RopidGTFSPrecomputed.js +4 -0
  155. package/dist/schema-definitions/ropid-gtfs/RopidGTFSPrecomputed.js.map +1 -1
  156. package/dist/schema-definitions/ropid-gtfs/redis/interfaces/IDelayComputationDto.d.ts +6 -0
  157. package/dist/schema-definitions/ropid-gtfs/redis/schemas/DelayComputationDtoSchema.js +19 -2
  158. package/dist/schema-definitions/ropid-gtfs/redis/schemas/DelayComputationDtoSchema.js.map +1 -1
  159. package/dist/schema-definitions/vehicle-positions/models/VPTripsModel.d.ts +1 -0
  160. package/dist/schema-definitions/vehicle-positions/models/VPTripsModel.js +4 -0
  161. package/dist/schema-definitions/vehicle-positions/models/VPTripsModel.js.map +1 -1
  162. package/dist/schema-definitions/vehicle-positions/models/interfaces/IVPTripsModel.d.ts +1 -0
  163. package/dist/schema-definitions/vehicle-positions/models/views/PublicStopTimeModel.d.ts +10 -0
  164. package/dist/schema-definitions/vehicle-positions/models/views/PublicStopTimeModel.js +33 -0
  165. package/dist/schema-definitions/vehicle-positions/models/views/PublicStopTimeModel.js.map +1 -0
  166. package/dist/schema-definitions/vehicle-positions/models/views/index.d.ts +1 -0
  167. package/dist/schema-definitions/vehicle-positions/models/views/index.js +1 -0
  168. package/dist/schema-definitions/vehicle-positions/models/views/index.js.map +1 -1
  169. package/dist/schema-definitions/vehicle-positions/models/views/interfaces/IPublicStopTimeDto.d.ts +6 -0
  170. package/dist/{output-gateway/public/controllers/v1/IParams.js → schema-definitions/vehicle-positions/models/views/interfaces/IPublicStopTimeDto.js} +1 -1
  171. package/dist/schema-definitions/vehicle-positions/models/views/interfaces/IPublicStopTimeDto.js.map +1 -0
  172. package/dist/schema-definitions/vehicle-positions/redis/const.d.ts +2 -0
  173. package/dist/schema-definitions/vehicle-positions/redis/const.js +3 -1
  174. package/dist/schema-definitions/vehicle-positions/redis/const.js.map +1 -1
  175. package/dist/schema-definitions/vehicle-positions/redis/interfaces/IGtfsRunTripCacheDto.d.ts +1 -0
  176. package/dist/schema-definitions/vehicle-positions/redis/interfaces/IPublicApiCacheDto.d.ts +13 -0
  177. package/dist/schema-definitions/vehicle-positions/redis/interfaces/IPublicStopTimeCacheDto.d.ts +5 -0
  178. package/dist/schema-definitions/vehicle-positions/redis/interfaces/IPublicStopTimeCacheDto.js +3 -0
  179. package/dist/schema-definitions/vehicle-positions/redis/interfaces/IPublicStopTimeCacheDto.js.map +1 -0
  180. package/dist/schema-definitions/vehicle-positions/redis/schemas/GtfsRunTripCacheDtoSchema.js +1 -0
  181. package/dist/schema-definitions/vehicle-positions/redis/schemas/GtfsRunTripCacheDtoSchema.js.map +1 -1
  182. package/dist/schema-definitions/vehicle-positions/redis/schemas/PublicApiCacheDtoSchema.js +49 -0
  183. package/dist/schema-definitions/vehicle-positions/redis/schemas/PublicApiCacheDtoSchema.js.map +1 -1
  184. package/dist/schema-definitions/vehicle-positions/redis/schemas/PublicStopTimeCacheDtoSchema.d.ts +4 -0
  185. package/dist/schema-definitions/vehicle-positions/redis/schemas/PublicStopTimeCacheDtoSchema.js +41 -0
  186. package/dist/schema-definitions/vehicle-positions/redis/schemas/PublicStopTimeCacheDtoSchema.js.map +1 -0
  187. package/docs/implementation_documentation.md +30 -3
  188. package/docs/openapi-input.yaml +4 -5
  189. package/docs/openapi-output.yaml +262 -3
  190. package/package.json +1 -1
  191. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/RefreshPublicCacheTask.js.map +0 -1
  192. package/dist/output-gateway/public/controllers/v1/IParams.d.ts +0 -7
  193. package/dist/output-gateway/public/controllers/v1/IParams.js.map +0 -1
@@ -1,14 +1,11 @@
1
1
  INSERT INTO vehiclepositions_trips (cis_line_id,cis_trip_number,run_number,cis_line_short_name,created_at,gtfs_route_id,gtfs_route_short_name,gtfs_trip_id,id,updated_at,start_cis_stop_id,start_cis_stop_platform_code,start_time,start_timestamp,vehicle_type_id,wheelchair_accessible,create_batch_id,created_by,update_batch_id,updated_by,agency_name_scheduled,origin_route_name,agency_name_real,vehicle_registration_number,gtfs_trip_headsign,start_asw_stop_id,gtfs_route_type,gtfs_block_id,last_position_id,is_canceled,end_timestamp,gtfs_trip_short_name,last_position_context,internal_run_number,internal_route_name,gtfs_date,provider_source_type,gtfs_direction_id) VALUES
2
- ('none',2525,NULL,'none','2024-01-08 07:49:43.246','L1302','S2','1302_2525_231211','2024-01-08T06:46:00Z_2525','2024-01-08 10:37:23.534',5454014,NULL,'07:46:00','2024-01-08 07:58:00.000',0,true,NULL,NULL,NULL,NULL,'ČESKÉ DRÁHY',NULL,NULL,NULL,'Benešov u Prahy',NULL,2,'1320_2525_231211',498803385,false,'2024-01-08 08:38:00.000','Os 2525','{"atStopStreak":{"stop_sequence":null,"firstPositionTimestamp":1704699500000,"firstPositionDelay":200},"lastPositionLastStop":{"id":null,"sequence":null,"arrival_time":null,"arrival_delay":null,"departure_time":null,"departure_delay":null},"lastPositionDelay":null,"lastPositionId":"498803385","lastPositionOriginTimestamp":1704706558000,"lastPositionTracking":{"type":"Feature","properties":{"bearing":279,"delay":169,"id":"498012125","lat":50.1953964,"lng":14.843792,"origin_time":"08:40:42","origin_timestamp":"2024-01-08T07:40:42.000Z","scheduled_timestamp":null,"shape_dist_traveled":39.085,"is_tracked":true,"is_canceled":false,"state_position":"on_track","state_process":"processed","tcp_event":null,"last_stop_sequence":18,"last_stop_id":"U2801Z301","last_stop_arrival_time":"2024-01-08T07:35:00.000Z","last_stop_departure_time":"2024-01-08T07:35:00.000Z","next_stop_arrival_time":"2024-01-08T07:38:00.000Z","next_stop_departure_time":"2024-01-08T07:38:00.000Z","next_stop_id":"U2432Z301","next_stop_sequence":19,"next_stop_name":"Lysá nad Labem","last_stop_name":"Ostrá","valid_to":"2024-01-08T07:45:42.000Z"},"geometry":{"type":"Point","coordinates":[14.843792,50.1953964]}},"lastPositionCanceled":false,"lastPositionBeforeTrackDelayed":null,"lastPositionState":"duplicate","tripId":"2024-01-08T06:46:00Z_2525"}',NULL,NULL,NULL,'1',0),
3
- ('none',2525,NULL,'S20','2024-01-08 07:49:44.974','L1309','S9','1309_2525_231211','2024-01-08T06:46:00Z_2525_gtfs_trip_id_1309_2525_231211','2024-01-08 10:37:23.534',5454014,NULL,'07:46:00','2024-01-08 08:40:00.000',0,true,NULL,NULL,NULL,NULL,'ČESKÉ DRÁHY',NULL,NULL,NULL,'Benešov u Prahy',NULL,2,'1320_2525_231211',2002,false,'2024-01-08 10:23:00.000','Os 2525','{"atStopStreak":{"stop_sequence":null,"firstPositionTimestamp":1704706243000,"firstPositionDelay":883},"lastPositionLastStop":{"id":null,"sequence":null,"arrival_time":null,"arrival_delay":null,"departure_time":null,"departure_delay":null},"lastPositionDelay":null,"lastPositionId":"2002","lastPositionOriginTimestamp":1704706558000,"lastPositionTracking":{"type":"Feature","properties":{"bearing":160,"delay":774,"id":"498802588","lat":49.7809639,"lng":14.68199,"origin_time":"10:35:46","origin_timestamp":"2024-01-08T09:35:46.000Z","scheduled_timestamp":null,"shape_dist_traveled":86.352,"is_tracked":true,"is_canceled":false,"state_position":"on_track","state_process":"processed","tcp_event":null,"last_stop_sequence":36,"last_stop_id":"U1592Z301","last_stop_arrival_time":"2024-01-08T09:16:00.000Z","last_stop_departure_time":"2024-01-08T09:16:00.000Z","next_stop_arrival_time":"2024-01-08T09:23:00.000Z","next_stop_departure_time":"2024-01-08T09:23:00.000Z","next_stop_id":"U1384Z301","next_stop_sequence":37,"next_stop_name":"Benešov u Prahy","last_stop_name":"Mrač","valid_to":"2024-01-08T09:40:46.000Z"},"geometry":{"type":"Point","coordinates":[14.68199,49.7809639]}},"lastPositionCanceled":false,"lastPositionBeforeTrackDelayed":null,"lastPositionState":"duplicate","tripId":"2024-01-08T06:46:00Z_2525_gtfs_trip_id_1309_2525_231211"}',NULL,NULL,NULL,'0',1),
4
- ('none',2525,NULL,'S20','2024-01-08 07:49:44.980','L1320','S20','1320_2525_231211','2024-01-08T06:46:00Z_2525_gtfs_trip_id_1320_2525_231211','2024-01-08 10:37:23.534',5454014,NULL,'07:46:00','2024-01-08 07:46:00.000',0,true,NULL,NULL,NULL,NULL,'ČESKÉ DRÁHY',NULL,NULL,NULL,'Benešov u Prahy',NULL,2,'1320_2525_231211',498803569,false,'2024-01-08 07:56:00.000','Os 2525','{"atStopStreak":{"stop_sequence":null,"firstPositionTimestamp":1704696660000,"firstPositionDelay":120},"lastPositionLastStop":{"id":null,"sequence":null,"arrival_time":null,"arrival_delay":null,"departure_time":null,"departure_delay":null},"lastPositionDelay":null,"lastPositionId":"498803569","lastPositionOriginTimestamp":1704706558000,"lastPositionTracking":{"type":"Feature","properties":{"bearing":308,"delay":137,"id":"497615354","lat":50.0242424,"lng":15.2179174,"origin_time":"07:58:05","origin_timestamp":"2024-01-08T06:58:05.000Z","scheduled_timestamp":null,"shape_dist_traveled":10.375,"is_tracked":true,"is_canceled":false,"state_position":"on_track","state_process":"processed","tcp_event":null,"last_stop_sequence":3,"last_stop_id":"T58007","last_stop_arrival_time":"2024-01-08T06:55:00.000Z","last_stop_departure_time":"2024-01-08T06:55:00.000Z","next_stop_arrival_time":"2024-01-08T06:56:00.000Z","next_stop_departure_time":"2024-01-08T06:56:00.000Z","next_stop_id":"U2816Z301","next_stop_sequence":4,"next_stop_name":"Kolín","last_stop_name":"Kolín seř.n.","valid_to":"2024-01-08T07:03:05.000Z"},"geometry":{"type":"Point","coordinates":[15.2179174,50.0242424]}},"lastPositionCanceled":false,"lastPositionBeforeTrackDelayed":null,"lastPositionState":"duplicate","tripId":"2024-01-08T06:46:00Z_2525_gtfs_trip_id_1320_2525_231211"}',NULL,NULL,NULL,'0',0);
2
+ ('none',2525,NULL,'none','2024-01-08T07:49:43.246Z','L1302','S2','1302_2525_231211','2024-01-08T06:46:00Z_2525','2024-01-08T10:37:23.534Z',5454014,NULL,'07:46:00','2024-01-08T07:58:00.000Z',0,true,NULL,NULL,NULL,NULL,'ČESKÉ DRÁHY',NULL,NULL,NULL,'Benešov u Prahy',NULL,2,'1320_2525_231211',498803385,false,'2024-01-08T08:38:00.000Z','Os 2525','{"atStopStreak":{"stop_sequence":null,"firstPositionTimestamp":1704699500000,"firstPositionDelay":200},"lastPositionLastStop":{"id":null,"sequence":null,"arrival_time":null,"arrival_delay":null,"departure_time":null,"departure_delay":null},"lastPositionDelay":null,"lastPositionId":"498803385","lastPositionOriginTimestamp":1704706558000,"lastPositionTracking":{"type":"Feature","properties":{"bearing":279,"delay":169,"id":"498012125","lat":50.1953964,"lng":14.843792,"origin_time":"08:40:42","origin_timestamp":"2024-01-08T07:40:42.000Z","scheduled_timestamp":null,"shape_dist_traveled":39.085,"is_tracked":true,"is_canceled":false,"state_position":"on_track","state_process":"processed","tcp_event":null,"last_stop_sequence":18,"last_stop_id":"U2801Z301","last_stop_arrival_time":"2024-01-08T07:35:00.000Z","last_stop_departure_time":"2024-01-08T07:35:00.000Z","next_stop_arrival_time":"2024-01-08T07:38:00.000Z","next_stop_departure_time":"2024-01-08T07:38:00.000Z","next_stop_id":"U2432Z301","next_stop_sequence":19,"next_stop_name":"Lysá nad Labem","last_stop_name":"Ostrá","valid_to":"2024-01-08T07:45:42.000Z"},"geometry":{"type":"Point","coordinates":[14.843792,50.1953964]}},"lastPositionCanceled":false,"lastPositionBeforeTrackDelayed":null,"lastPositionState":"duplicate","tripId":"2024-01-08T06:46:00Z_2525"}',NULL,NULL,NULL,'1',0),
3
+ ('none',2525,NULL,'S20','2024-01-08T07:49:44.974Z','L1309','S9','1309_2525_231211','2024-01-08T06:46:00Z_2525_gtfs_trip_id_1309_2525_231211','2024-01-08T10:37:23.534Z',5454014,NULL,'07:46:00','2024-01-08T08:40:00.000Z',0,true,NULL,NULL,NULL,NULL,'ČESKÉ DRÁHY',NULL,NULL,NULL,'Benešov u Prahy',NULL,2,'1320_2525_231211',2002,false,'2024-01-08T10:23:00.000Z','Os 2525','{"atStopStreak":{"stop_sequence":null,"firstPositionTimestamp":1704706243000,"firstPositionDelay":883},"lastPositionLastStop":{"id":null,"sequence":null,"arrival_time":null,"arrival_delay":null,"departure_time":null,"departure_delay":null},"lastPositionDelay":null,"lastPositionId":"2002","lastPositionOriginTimestamp":1704706558000,"lastPositionTracking":{"type":"Feature","properties":{"bearing":160,"delay":774,"id":"498802588","lat":49.7809639,"lng":14.68199,"origin_time":"10:35:46","origin_timestamp":"2024-01-08T09:35:46.000Z","scheduled_timestamp":null,"shape_dist_traveled":86.352,"is_tracked":true,"is_canceled":false,"state_position":"on_track","state_process":"processed","tcp_event":null,"last_stop_sequence":36,"last_stop_id":"U1592Z301","last_stop_arrival_time":"2024-01-08T09:16:00.000Z","last_stop_departure_time":"2024-01-08T09:16:00.000Z","next_stop_arrival_time":"2024-01-08T09:23:00.000Z","next_stop_departure_time":"2024-01-08T09:23:00.000Z","next_stop_id":"U1384Z301","next_stop_sequence":37,"next_stop_name":"Benešov u Prahy","last_stop_name":"Mrač","valid_to":"2024-01-08T09:40:46.000Z"},"geometry":{"type":"Point","coordinates":[14.68199,49.7809639]}},"lastPositionCanceled":false,"lastPositionBeforeTrackDelayed":null,"lastPositionState":"duplicate","tripId":"2024-01-08T06:46:00Z_2525_gtfs_trip_id_1309_2525_231211"}',NULL,NULL,NULL,'0',1),
4
+ ('none',2525,NULL,'S20','2024-01-08T07:49:44.980Z','L1320','S20','1320_2525_231211','2024-01-08T06:46:00Z_2525_gtfs_trip_id_1320_2525_231211','2024-01-08T10:37:23.534Z',5454014,NULL,'07:46:00','2024-01-08T07:46:00.000Z',0,true,NULL,NULL,NULL,NULL,'ČESKÉ DRÁHY',NULL,NULL,NULL,'Benešov u Prahy',NULL,2,'1320_2525_231211',498803569,false,'2024-01-08T07:56:00.000Z','Os 2525','{"atStopStreak":{"stop_sequence":null,"firstPositionTimestamp":1704696660000,"firstPositionDelay":120},"lastPositionLastStop":{"id":null,"sequence":null,"arrival_time":null,"arrival_delay":null,"departure_time":null,"departure_delay":null},"lastPositionDelay":null,"lastPositionId":"498803569","lastPositionOriginTimestamp":1704706558000,"lastPositionTracking":{"type":"Feature","properties":{"bearing":308,"delay":137,"id":"497615354","lat":50.0242424,"lng":15.2179174,"origin_time":"07:58:05","origin_timestamp":"2024-01-08T06:58:05.000Z","scheduled_timestamp":null,"shape_dist_traveled":10.375,"is_tracked":true,"is_canceled":false,"state_position":"on_track","state_process":"processed","tcp_event":null,"last_stop_sequence":3,"last_stop_id":"T58007","last_stop_arrival_time":"2024-01-08T06:55:00.000Z","last_stop_departure_time":"2024-01-08T06:55:00.000Z","next_stop_arrival_time":"2024-01-08T06:56:00.000Z","next_stop_departure_time":"2024-01-08T06:56:00.000Z","next_stop_id":"U2816Z301","next_stop_sequence":4,"next_stop_name":"Kolín","last_stop_name":"Kolín seř.n.","valid_to":"2024-01-08T07:03:05.000Z"},"geometry":{"type":"Point","coordinates":[15.2179174,50.0242424]}},"lastPositionCanceled":false,"lastPositionBeforeTrackDelayed":null,"lastPositionState":"duplicate","tripId":"2024-01-08T06:46:00Z_2525_gtfs_trip_id_1320_2525_231211"}',NULL,NULL,NULL,'0',0);
5
5
 
6
6
  -- 1302_2525_231211
7
7
  INSERT INTO vehiclepositions_positions (id,created_at,delay,delay_stop_arrival,delay_stop_departure,next_stop_id,shape_dist_traveled,is_canceled,lat,lng,origin_time,origin_timestamp,is_tracked,trips_id,create_batch_id,created_by,update_batch_id,updated_at,updated_by,bearing,cis_last_stop_id,cis_last_stop_sequence,last_stop_id,last_stop_sequence,next_stop_sequence,speed,last_stop_arrival_time,last_stop_departure_time,next_stop_arrival_time,next_stop_departure_time,asw_last_stop_id,state_process,state_position,this_stop_id,this_stop_sequence,tcp_event,last_stop_headsign,last_stop_name,next_stop_name,this_stop_name,valid_to,scheduled_timestamp) VALUES
8
- (2001,'2024-01-08 08:40:58.686',169,180,240,'U2432Z301',39.085,false,50.1953964,14.843792,'08:40:42','2024-01-08 08:40:42.000',true,'2024-01-08T06:46:00Z_2525',NULL,NULL,NULL,'2024-01-08 08:40:59.136',NULL,279,5453134,11,'U2801Z301',18,19,NULL,'2024-01-08 08:35:00.000','2024-01-08 08:35:00.000','2024-01-08 08:38:00.000','2024-01-08 08:38:00.000',NULL,'processed','on_track',NULL,NULL,NULL,NULL,'Ostrá',NULL,NULL,'2024-01-08 08:45:42.000',NULL);
8
+ (2001,'2024-01-08T08:40:58.686Z',169,180,240,'U2432Z301',39.085,false,50.1953964,14.843792,'08:40:42','2024-01-08T08:40:42.000Z',true,'2024-01-08T06:46:00Z_2525',NULL,NULL,NULL,'2024-01-08T08:40:59.136Z',NULL,279,5453134,11,'U2801Z301',18,19,NULL,'2024-01-08T08:35:00.000Z','2024-01-08T08:35:00.000Z','2024-01-08T08:38:00.000Z','2024-01-08T08:38:00.000Z',NULL,'processed','on_track',NULL,NULL,NULL,NULL,'Ostrá',NULL,NULL,'2024-01-08T08:45:42.000Z',NULL);
9
9
  -- 1309_2525_231211
10
10
  INSERT INTO vehiclepositions_positions (id,created_at,delay,delay_stop_arrival,delay_stop_departure,next_stop_id,shape_dist_traveled,is_canceled,lat,lng,origin_time,origin_timestamp,is_tracked,trips_id,create_batch_id,created_by,update_batch_id,updated_at,updated_by,bearing,cis_last_stop_id,cis_last_stop_sequence,last_stop_id,last_stop_sequence,next_stop_sequence,speed,last_stop_arrival_time,last_stop_departure_time,next_stop_arrival_time,next_stop_departure_time,asw_last_stop_id,state_process,state_position,this_stop_id,this_stop_sequence,tcp_event,last_stop_headsign,last_stop_name,next_stop_name,this_stop_name,valid_to,scheduled_timestamp) VALUES
11
- (2002,'2024-01-08 08:40:58.686',NULL,180,240,'U2432Z301',0,false,50.1953964,14.843792,'08:40:42','2024-01-08 08:40:42.000',false,'2024-01-08T06:46:00Z_2525_gtfs_trip_id_1309_2525_231211',NULL,NULL,NULL,'2024-01-08 08:40:59.136',NULL,NULL,5453134,11,NULL,NULL,1,NULL,NULL,NULL,'2024-01-08 08:40:00.000','2024-01-08 08:40:00.000',NULL,'input','before_track',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'2024-01-08 08:45:42.000',NULL);
12
-
13
-
14
-
11
+ (2002,'2024-01-08T08:40:58.686Z',NULL,180,240,'U2432Z301',0,false,50.1953964,14.843792,'08:40:42','2024-01-08T08:40:42.000Z',false,'2024-01-08T06:46:00Z_2525_gtfs_trip_id_1309_2525_231211',NULL,NULL,NULL,'2024-01-08T08:40:59.136Z',NULL,NULL,5453134,11,NULL,NULL,1,NULL,NULL,NULL,'2024-01-08T08:40:00.000Z','2024-01-08T08:40:00.000Z',NULL,'input','before_track',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'2024-01-08T08:45:42.000Z',NULL);
@@ -1,24 +1,42 @@
1
1
  [
2
2
  {
3
3
  "gtfs_trip_id": "705_735_231002",
4
- "gtfs_route_type": 3,
4
+ "route_type": 3,
5
5
  "gtfs_route_short_name": "705",
6
- "run_number": 29,
7
- "vehicle_registration_number": 8585,
8
6
  "lat": 49.90276,
9
7
  "lng": 15.4047,
10
8
  "bearing": 221,
11
- "delay": null
9
+ "delay": null,
10
+ "vehicle_id": "service-3-8585",
11
+ "state_position": "on_track",
12
+ "detailed_info": {
13
+ "origin_route_name": "705",
14
+ "shape_id": null,
15
+ "run_number": 29,
16
+ "trip_headsign": "Nádraží 1",
17
+ "shape_dist_traveled": 7.035025,
18
+ "last_stop_sequence": 3,
19
+ "origin_timestamp": "2024-03-23T14:00:00.000Z"
20
+ }
12
21
  },
13
22
  {
14
23
  "gtfs_trip_id": "781_4_231030",
15
- "gtfs_route_type": 3,
24
+ "route_type": 3,
16
25
  "gtfs_route_short_name": "781",
17
- "run_number": 19,
18
- "vehicle_registration_number": 7630,
19
26
  "lat": 49.92452,
20
27
  "lng": 15.4669,
21
28
  "bearing": 305,
22
- "delay": 211
29
+ "delay": 211,
30
+ "vehicle_id": "service-3-7630",
31
+ "state_position": "on_track",
32
+ "detailed_info": {
33
+ "origin_route_name": "781",
34
+ "shape_id": null,
35
+ "run_number": 19,
36
+ "trip_headsign": "Nádraží 2",
37
+ "shape_dist_traveled": 8.035025,
38
+ "last_stop_sequence": 4,
39
+ "origin_timestamp": "2024-03-23T14:00:20.000Z"
40
+ }
23
41
  }
24
42
  ]
@@ -0,0 +1,53 @@
1
+ 'use strict';
2
+
3
+ var dbm;
4
+ var type;
5
+ var seed;
6
+ var fs = require('fs');
7
+ var path = require('path');
8
+ var Promise;
9
+
10
+ /**
11
+ * We receive the dbmigrate dependency from dbmigrate initially.
12
+ * This enables us to not have to rely on NODE_PATH.
13
+ */
14
+ exports.setup = function(options, seedLink) {
15
+ dbm = options.dbmigrate;
16
+ type = dbm.dataType;
17
+ seed = seedLink;
18
+ Promise = options.Promise;
19
+ };
20
+
21
+ exports.up = function(db) {
22
+ var filePath = path.join(__dirname, 'sqls', '20240122141600-public-api-detailed-endpoint-up.sql');
23
+ return new Promise( function( resolve, reject ) {
24
+ fs.readFile(filePath, {encoding: 'utf-8'}, function(err,data){
25
+ if (err) return reject(err);
26
+ console.log('received data: ' + data);
27
+
28
+ resolve(data);
29
+ });
30
+ })
31
+ .then(function(data) {
32
+ return db.runSql(data);
33
+ });
34
+ };
35
+
36
+ exports.down = function(db) {
37
+ var filePath = path.join(__dirname, 'sqls', '20240122141600-public-api-detailed-endpoint-down.sql');
38
+ return new Promise( function( resolve, reject ) {
39
+ fs.readFile(filePath, {encoding: 'utf-8'}, function(err,data){
40
+ if (err) return reject(err);
41
+ console.log('received data: ' + data);
42
+
43
+ resolve(data);
44
+ });
45
+ })
46
+ .then(function(data) {
47
+ return db.runSql(data);
48
+ });
49
+ };
50
+
51
+ exports._meta = {
52
+ "version": 1
53
+ };
@@ -0,0 +1,16 @@
1
+ -- vehicle type trolleybus
2
+ delete from vehiclepositions_vehicle_types where id = 18; -- see MPVRouteTypesEnum.TROLLEYBUS
3
+
4
+ -- shape id
5
+ alter table vehiclepositions_trips drop column gtfs_shape_id;
6
+ alter table vehiclepositions_trips_history drop column gtfs_shape_id;
7
+ alter table ropidgtfs_precomputed_trip_schedule drop column shape_id;
8
+
9
+ -- combined view
10
+ drop view v_public_vehiclepositions_combined_stop_times;
11
+
12
+ -- history view
13
+ drop view v_public_vehiclepositions_past_stop_times;
14
+
15
+ -- prediction view
16
+ drop view v_public_vehiclepositions_future_stop_times;
@@ -0,0 +1,137 @@
1
+ -- vehicle type trolleybus
2
+ insert into vehiclepositions_vehicle_types (id, abbreviation, description_cs, description_en) VALUES
3
+ (18, 'Trolejbus', 'trolejbus', 'trolleybus'); -- see MPVRouteTypesEnum.TROLLEYBUS
4
+
5
+
6
+ -- shape id
7
+ alter table ropidgtfs_precomputed_trip_schedule add column shape_id varchar(15);
8
+ alter table vehiclepositions_trips add column gtfs_shape_id varchar(15);
9
+ alter table vehiclepositions_trips_history add column gtfs_shape_id varchar(15);
10
+
11
+
12
+ -- history view
13
+ create view v_public_vehiclepositions_past_stop_times as
14
+ select
15
+ trips_id as rt_trip_id,
16
+ last_stop_sequence as stop_sequence,
17
+ min(delay_stop_arrival) as stop_arr_delay,
18
+ max(delay_stop_departure) as stop_dep_delay
19
+ from (
20
+ select
21
+ trips_id,
22
+ last_stop_sequence,
23
+ delay_stop_arrival,
24
+ delay_stop_departure,
25
+ row_number() over seq as rn
26
+ from
27
+ vehiclepositions_positions rt_position
28
+ where
29
+ (delay_stop_arrival is not null or delay_stop_departure is not null)
30
+ and state_position in ('on_track', 'at_stop', 'after_track')
31
+ window
32
+ seq as (partition by trips_id, last_stop_sequence, state_position order by id)
33
+ ) as sub
34
+ where
35
+ rn = 1
36
+ group by
37
+ trips_id,
38
+ last_stop_sequence
39
+ order by
40
+ trips_id,
41
+ last_stop_sequence;
42
+
43
+
44
+ -- prediction view
45
+ create view v_public_vehiclepositions_future_stop_times as
46
+ with recursive stop_times as (
47
+ select
48
+ rst.trip_id,
49
+ vt.id as trips_id,
50
+ vt.provider_source_type,
51
+ vp.delay,
52
+ coalesce(vp.last_stop_sequence, 1) as initial_stop_sequence,
53
+ vp.state_position,
54
+ rst.stop_sequence,
55
+ rst.computed_dwell_time_seconds,
56
+ case when vp.last_stop_sequence is null
57
+ then vp.delay
58
+ else vp.delay_stop_arrival
59
+ end as arrival_delay_seconds,
60
+ case when vp.last_stop_sequence is null
61
+ then predict_delay_seconds(vp.delay, rst.computed_dwell_time_seconds, vt.provider_source_type)
62
+ when vp.state_position = 'at_stop'
63
+ then case when vt.provider_source_type = '1' then greatest(0, vp.delay) else vp.delay end
64
+ else vp.delay_stop_departure
65
+ end as departure_delay_seconds
66
+ from
67
+ ropidgtfs_stop_times rst
68
+ join
69
+ vehiclepositions_trips vt
70
+ on vt.gtfs_trip_id = rst.trip_id
71
+ join
72
+ vehiclepositions_positions vp
73
+ on vp.id = vt.last_position_id and (vp.valid_to is null or vp.valid_to >= now()) and vp.state_position in ('on_track', 'at_stop')
74
+ where
75
+ vt.gtfs_trip_id is not null
76
+ and rst.stop_sequence = coalesce(vp.last_stop_sequence, 1)
77
+ union all
78
+ select
79
+ rst.trip_id,
80
+ previous_row.trips_id as trips_id,
81
+ previous_row.provider_source_type,
82
+ previous_row.delay,
83
+ previous_row.initial_stop_sequence,
84
+ previous_row.state_position,
85
+ rst.stop_sequence,
86
+ rst.computed_dwell_time_seconds,
87
+ case when rst.stop_sequence - previous_row.initial_stop_sequence = 1 and previous_row.state_position != 'at_stop'
88
+ then previous_row.delay
89
+ else previous_row.departure_delay_seconds
90
+ end as arrival_delay_seconds,
91
+ predict_delay_seconds(
92
+ case when rst.stop_sequence - previous_row.initial_stop_sequence = 1 and previous_row.state_position != 'at_stop' then previous_row.delay else previous_row.departure_delay_seconds end,
93
+ rst.computed_dwell_time_seconds,
94
+ previous_row.provider_source_type
95
+ ) as departure_delay_seconds
96
+ from
97
+ stop_times previous_row
98
+ join
99
+ ropidgtfs_stop_times rst
100
+ on rst.trip_id = previous_row.trip_id and rst.stop_sequence = previous_row.stop_sequence + 1
101
+ )
102
+ select
103
+ trips_id as rt_trip_id,
104
+ stop_sequence,
105
+ coalesce(arrival_delay_seconds, 0) as stop_arr_delay,
106
+ coalesce(departure_delay_seconds, 0) as stop_dep_delay
107
+ from
108
+ stop_times
109
+ order by
110
+ trip_id,
111
+ stop_sequence;
112
+
113
+
114
+ -- combined view
115
+ create view v_public_vehiclepositions_combined_stop_times as
116
+ select distinct on (rt_trip_id, stop_sequence)
117
+ stop_times.rt_trip_id,
118
+ vt.gtfs_trip_id,
119
+ stop_times.stop_sequence,
120
+ stop_times.stop_arr_delay,
121
+ stop_times.stop_dep_delay
122
+ from (
123
+ select
124
+ *
125
+ from
126
+ v_public_vehiclepositions_future_stop_times prediction
127
+ union all
128
+ select
129
+ *
130
+ from
131
+ v_public_vehiclepositions_past_stop_times history
132
+ ) as stop_times
133
+ join vehiclepositions_trips vt on vt.id = stop_times.rt_trip_id
134
+ join vehiclepositions_positions vp on vt.last_position_id = vp.id and (vp.valid_to is null or vp.valid_to >= now()) and vp.state_position != 'after_track'
135
+ order by
136
+ rt_trip_id,
137
+ stop_sequence;
@@ -1,2 +1,3 @@
1
- declare const PidContainer: import("tsyringe").DependencyContainer;
1
+ import { DependencyContainer } from "@golemio/core/dist/shared/tsyringe";
2
+ declare const PidContainer: DependencyContainer;
2
3
  export { PidContainer };
@@ -1 +1 @@
1
- {"version":3,"file":"Di.js","sourceRoot":"","sources":["../../../src/integration-engine/ioc/Di.ts"],"names":[],"mappings":";;;AAAA,iFAAyE;AACzE,qGAAmG;AACnG,6HAA2H;AAC3H,uGAAqG;AACrG,qHAAmH;AACnH,wIAAsI;AACtI,+EAA6E;AAC7E,yGAAuG;AACvG,mHAAiH;AACjH,qEAA0F;AAC1F,iEAA8D;AAE9D,wBAAwB;AACxB,MAAM,YAAY,GAAG,+BAA0B,CAAC,oBAAoB,EAAE,CAAC;AAwB9D,oCAAY;AAvBrB,YAAY;AAEZ,iBAAiB;AACjB,YAAY,CAAC,iBAAiB,CAAC,2CAAoB,CAAC,oBAAoB,EAAE,2CAAoB,CAAC,CAAC;AAChG,YAAY,CAAC,iBAAiB,CAAC,2CAAoB,CAAC,eAAe,EAAE,qBAAS,CAAC,CAAC;AAChF,YAAY,CAAC,iBAAiB,CAAC,2CAAoB,CAAC,sBAAsB,EAAE,+CAAsB,CAAC,CAAC;AACpG,YAAY;AAEZ,qBAAqB;AACrB,YAAY,CAAC,QAAQ,CAAC,2CAAoB,CAAC,6BAA6B,EAAE,6DAA6B,CAAC,CAAC;AACzG,YAAY,CAAC,iBAAiB,CAAC,2CAAoB,CAAC,0BAA0B,EAAE,uDAA0B,CAAC,CAAC;AAC5G,YAAY;AAEZ,qBAAqB;AACrB,YAAY,CAAC,QAAQ,CAAC,2CAAoB,CAAC,0BAA0B,EAAE,uDAA0B,CAAC,CAAC;AACnG,YAAY,CAAC,QAAQ,CAAC,2CAAoB,CAAC,mBAAmB,EAAE,yCAAmB,CAAC,CAAC;AACrF,YAAY;AAEZ,yBAAyB;AACzB,YAAY,CAAC,QAAQ,CAAC,2CAAoB,CAAC,oCAAoC,EAAE,2EAAoC,CAAC,CAAC;AACvH,YAAY,CAAC,QAAQ,CAAC,2CAAoB,CAAC,uBAAuB,EAAE,iDAAuB,CAAC,CAAC"}
1
+ {"version":3,"file":"Di.js","sourceRoot":"","sources":["../../../src/integration-engine/ioc/Di.ts"],"names":[],"mappings":";;;AAAA,iFAAyE;AACzE,qGAAmG;AACnG,6HAA2H;AAC3H,uGAAqG;AACrG,qHAAmH;AACnH,wIAAsI;AACtI,+EAA6E;AAC7E,yGAAuG;AACvG,mHAAiH;AACjH,qEAA0F;AAE1F,iEAA8D;AAE9D,wBAAwB;AACxB,MAAM,YAAY,GAAwB,+BAA0B,CAAC,oBAAoB,EAAE,CAAC;AAwBnF,oCAAY;AAvBrB,YAAY;AAEZ,iBAAiB;AACjB,YAAY,CAAC,iBAAiB,CAAC,2CAAoB,CAAC,oBAAoB,EAAE,2CAAoB,CAAC,CAAC;AAChG,YAAY,CAAC,iBAAiB,CAAC,2CAAoB,CAAC,eAAe,EAAE,qBAAS,CAAC,CAAC;AAChF,YAAY,CAAC,iBAAiB,CAAC,2CAAoB,CAAC,sBAAsB,EAAE,+CAAsB,CAAC,CAAC;AACpG,YAAY;AAEZ,qBAAqB;AACrB,YAAY,CAAC,QAAQ,CAAC,2CAAoB,CAAC,6BAA6B,EAAE,6DAA6B,CAAC,CAAC;AACzG,YAAY,CAAC,iBAAiB,CAAC,2CAAoB,CAAC,0BAA0B,EAAE,uDAA0B,CAAC,CAAC;AAC5G,YAAY;AAEZ,qBAAqB;AACrB,YAAY,CAAC,QAAQ,CAAC,2CAAoB,CAAC,0BAA0B,EAAE,uDAA0B,CAAC,CAAC;AACnG,YAAY,CAAC,QAAQ,CAAC,2CAAoB,CAAC,mBAAmB,EAAE,yCAAmB,CAAC,CAAC;AACrF,YAAY;AAEZ,yBAAyB;AACzB,YAAY,CAAC,QAAQ,CAAC,2CAAoB,CAAC,oCAAoC,EAAE,2EAAoC,CAAC,CAAC;AACvH,YAAY,CAAC,QAAQ,CAAC,2CAAoB,CAAC,uBAAuB,EAAE,iDAAuB,CAAC,CAAC"}
@@ -47,7 +47,7 @@ class RopidGTFSTripsModel extends models_1.PostgresModel {
47
47
  model: this.modelGTFSStopTimes.sequelizeModel,
48
48
  include: [
49
49
  {
50
- attributes: ["stop_id", "stop_lat", "stop_lon", "stop_name"],
50
+ attributes: ["stop_id", "stop_lat", "stop_lon", "stop_name", "zone_id"],
51
51
  as: "stop",
52
52
  model: this.modelGTFSStops.sequelizeModel,
53
53
  required: true,
@@ -1 +1 @@
1
- {"version":3,"file":"RopidGTFSTripsModel.js","sourceRoot":"","sources":["../../../src/integration-engine/ropid-gtfs/RopidGTFSTripsModel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RopidGTFSTripsModel.js","sourceRoot":"","sources":["../../../src/integration-engine/ropid-gtfs/RopidGTFSTripsModel.ts"],"names":[],"mappings":"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"}
@@ -2,4 +2,5 @@ import { RedisModel } from "@golemio/core/dist/integration-engine/models/RedisMo
2
2
  export declare class DelayComputationRedisRepository extends RedisModel {
3
3
  static NAMESPACE_PREFIX: string;
4
4
  constructor();
5
+ expire(keys: string[], ttlInSeconds: number, data?: any): Promise<void>;
5
6
  }
@@ -1,8 +1,19 @@
1
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
+ };
2
11
  Object.defineProperty(exports, "__esModule", { value: true });
3
12
  exports.DelayComputationRedisRepository = void 0;
4
13
  const DelayComputationDtoSchema_1 = require("../../../../schema-definitions/ropid-gtfs/redis/schemas/DelayComputationDtoSchema");
14
+ const const_1 = require("../../../../schema-definitions/vehicle-positions/redis/const");
5
15
  const RedisModel_1 = require("@golemio/core/dist/integration-engine/models/RedisModel");
16
+ const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
6
17
  const golemio_validator_1 = require("@golemio/core/dist/shared/golemio-validator");
7
18
  class DelayComputationRedisRepository extends RedisModel_1.RedisModel {
8
19
  constructor() {
@@ -13,7 +24,22 @@ class DelayComputationRedisRepository extends RedisModel_1.RedisModel {
13
24
  prefix: DelayComputationRedisRepository.NAMESPACE_PREFIX,
14
25
  }, new golemio_validator_1.JSONSchemaValidator("GTFSDelayComputationRedisRepositoryValidator", DelayComputationDtoSchema_1.DelayComputationDtoSchema));
15
26
  }
27
+ expire(keys, ttlInSeconds, data) {
28
+ return __awaiter(this, void 0, void 0, function* () {
29
+ const pipeline = this.connection.pipeline();
30
+ for (const key of keys) {
31
+ const redisKey = `${this.prefix}:${this["buildKey"](key, data)}`;
32
+ pipeline.expire(redisKey, ttlInSeconds);
33
+ }
34
+ try {
35
+ yield pipeline.exec();
36
+ }
37
+ catch (err) {
38
+ throw new golemio_errors_1.GeneralError("Error while expiring keys in Redis", this.constructor.name, err);
39
+ }
40
+ });
41
+ }
16
42
  }
17
43
  exports.DelayComputationRedisRepository = DelayComputationRedisRepository;
18
- DelayComputationRedisRepository.NAMESPACE_PREFIX = "gtfsTripDelayComputation";
44
+ DelayComputationRedisRepository.NAMESPACE_PREFIX = const_1.GTFS_DELAY_COMPUTATION_NAMESPACE_PREFIX;
19
45
  //# sourceMappingURL=DelayComputationRedisRepository.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DelayComputationRedisRepository.js","sourceRoot":"","sources":["../../../../../src/integration-engine/ropid-gtfs/data-access/cache/DelayComputationRedisRepository.ts"],"names":[],"mappings":";;;AAAA,iIAAoG;AACpG,wFAAqF;AACrF,mFAAkF;AAElF,MAAa,+BAAgC,SAAQ,uBAAU;IAG3D;QACI,KAAK,CACD,qCAAqC,EACrC;YACI,kBAAkB,EAAE,IAAI,CAAC,KAAK;YAC9B,oBAAoB,EAAE,IAAI,CAAC,SAAS;YACpC,wBAAwB,EAAE,IAAI;YAC9B,MAAM,EAAE,+BAA+B,CAAC,gBAAgB;SAC3D,EACD,IAAI,uCAAmB,CAAC,8CAA8C,EAAE,qDAAyB,CAAC,CACrG,CAAC;IACN,CAAC;;AAdL,0EAeC;AAdiB,gDAAgB,GAAG,0BAA0B,CAAC"}
1
+ {"version":3,"file":"DelayComputationRedisRepository.js","sourceRoot":"","sources":["../../../../../src/integration-engine/ropid-gtfs/data-access/cache/DelayComputationRedisRepository.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,iIAAoG;AACpG,wFAA6F;AAC7F,wFAAqF;AACrF,6EAAwE;AACxE,mFAAkF;AAElF,MAAa,+BAAgC,SAAQ,uBAAU;IAG3D;QACI,KAAK,CACD,qCAAqC,EACrC;YACI,kBAAkB,EAAE,IAAI,CAAC,KAAK;YAC9B,oBAAoB,EAAE,IAAI,CAAC,SAAS;YACpC,wBAAwB,EAAE,IAAI;YAC9B,MAAM,EAAE,+BAA+B,CAAC,gBAAgB;SAC3D,EACD,IAAI,uCAAmB,CAAC,8CAA8C,EAAE,qDAAyB,CAAC,CACrG,CAAC;IACN,CAAC;IAEY,MAAM,CAAC,IAAc,EAAE,YAAoB,EAAE,IAAU;;YAChE,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;YAC5C,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE;gBACpB,MAAM,QAAQ,GAAG,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC;gBACjE,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;aAC3C;YAED,IAAI;gBACA,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;aACzB;YAAC,OAAO,GAAG,EAAE;gBACV,MAAM,IAAI,6BAAY,CAAC,oCAAoC,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;aAC5F;QACL,CAAC;KAAA;;AA5BL,0EA6BC;AA5BiB,gDAAgB,GAAG,+CAAuC,CAAC"}
@@ -96,7 +96,8 @@ class TripScheduleRepository extends models_1.PostgresModel {
96
96
  right(t0.origin_route_id, -1) as origin_route_name,
97
97
  t0.trip_number,
98
98
  t0.route_licence_number,
99
- t0.direction_id
99
+ t0.direction_id,
100
+ t0.shape_id
100
101
  FROM (
101
102
  SELECT
102
103
  t1.route_id AS origin_route_id,
@@ -120,7 +121,8 @@ class TripScheduleRepository extends models_1.PostgresModel {
120
121
  t6.stop_id AS last_stop_id,
121
122
  t1.trip_number,
122
123
  t1.route_licence_number,
123
- t8.direction_id
124
+ t8.direction_id,
125
+ t8.shape_id
124
126
  FROM "${const_1.PG_SCHEMA}".ropidgtfs_run_numbers${sourceTableSuffix} t1
125
127
  INNER JOIN "${const_1.PG_SCHEMA}".ropidgtfs_precomputed_services_calendar_tmp t3 ON t1.service_id = t3.service_id
126
128
  INNER JOIN "${const_1.PG_SCHEMA}".ropidgtfs_precomputed_minmax_stop_sequences_tmp t4 ON t1.trip_id = t4.trip_id
@@ -1 +1 @@
1
- {"version":3,"file":"TripScheduleRepository.js","sourceRoot":"","sources":["../../../../../src/integration-engine/ropid-gtfs/data-access/precomputed/TripScheduleRepository.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,gEAAuC;AACvC,0EAA4C;AAE5C,2EAAoE;AACpE,yEAAqF;AACrF,mFAAkF;AAElF,+EAA4E;AAE5E,MAAa,sBAAuB,SAAQ,sBAAa;IACrD;QACI,KAAK,CACD,wBAAwB,EACxB;YACI,yBAAyB,EAAE,sBAAS,CAAC,YAAY,CAAC,yBAAyB;YAC3E,WAAW,EAAE,sBAAS,CAAC,YAAY,CAAC,WAAW;YAC/C,QAAQ,EAAE,iBAAS;YACnB,UAAU,EAAE,YAAY;YACxB,kBAAkB,EAAE,CAAC,IAAI,EAAE,YAAY,EAAE,YAAY,CAAC;SACzD,EACD,IAAI,uCAAmB,CAAC,iCAAiC,EAAE,sBAAS,CAAC,YAAY,CAAC,gBAAgB,CAAC,CACtG,CAAC;QAGC,YAAO,GAAG,CAAC,OAAoB,EAA2B,EAAE;YAC/D,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,iBAAG,GAAG,EAAE,IAAI,IAAK,OAAO,EAAG,CAAC;QAClE,CAAC,CAAC;QAEK,aAAQ,GAAG,CAAO,iBAAwC,EAAiB,EAAE;YAChF,4BAA4B;YAC5B,MAAM,GAAG,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wBA2FI,iBAAS,0BAA0B,iBAAiB;8BAC9C,iBAAS;8BACT,iBAAS;6BACV,iBAAS,oBAAoB,iBAAiB;6BAC9C,iBAAS,qBAAqB,iBAAiB;6BAC/C,iBAAS,yBAAyB,iBAAiB;6BACnD,iBAAS,yBAAyB,iBAAiB;;SAEvE,CAAC;YACF,2BAA2B;YAE3B,IAAI;gBACA,MAAM,QAAQ,GAAG,sBAAS,CAAC,YAAY,CAAC,WAAW,GAAG,6CAAqB,CAAC,GAAG,CAAC;gBAEhF,MAAM,IAAI,CAAC,cAAc,CAAC,SAAU,CAAC,KAAK,CAAC,gBAAgB,iBAAS,KAAK,QAAQ,IAAI,GAAG,GAAG,CAAC,CAAC;aAChG;YAAC,OAAO,GAAG,EAAE;gBACV,aAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACf,MAAM,GAAG,CAAC;aACb;QACL,CAAC,CAAA,CAAC;IAtHF,CAAC;CAuHJ;AApID,wDAoIC"}
1
+ {"version":3,"file":"TripScheduleRepository.js","sourceRoot":"","sources":["../../../../../src/integration-engine/ropid-gtfs/data-access/precomputed/TripScheduleRepository.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,gEAAuC;AACvC,0EAA4C;AAE5C,2EAAoE;AACpE,yEAAqF;AACrF,mFAAkF;AAElF,+EAA4E;AAE5E,MAAa,sBAAuB,SAAQ,sBAAa;IACrD;QACI,KAAK,CACD,wBAAwB,EACxB;YACI,yBAAyB,EAAE,sBAAS,CAAC,YAAY,CAAC,yBAAyB;YAC3E,WAAW,EAAE,sBAAS,CAAC,YAAY,CAAC,WAAW;YAC/C,QAAQ,EAAE,iBAAS;YACnB,UAAU,EAAE,YAAY;YACxB,kBAAkB,EAAE,CAAC,IAAI,EAAE,YAAY,EAAE,YAAY,CAAC;SACzD,EACD,IAAI,uCAAmB,CAAC,iCAAiC,EAAE,sBAAS,CAAC,YAAY,CAAC,gBAAgB,CAAC,CACtG,CAAC;QAGC,YAAO,GAAG,CAAC,OAAoB,EAA2B,EAAE;YAC/D,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,iBAAG,GAAG,EAAE,IAAI,IAAK,OAAO,EAAG,CAAC;QAClE,CAAC,CAAC;QAEK,aAAQ,GAAG,CAAO,iBAAwC,EAAiB,EAAE;YAChF,4BAA4B;YAC5B,MAAM,GAAG,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wBA6FI,iBAAS,0BAA0B,iBAAiB;8BAC9C,iBAAS;8BACT,iBAAS;6BACV,iBAAS,oBAAoB,iBAAiB;6BAC9C,iBAAS,qBAAqB,iBAAiB;6BAC/C,iBAAS,yBAAyB,iBAAiB;6BACnD,iBAAS,yBAAyB,iBAAiB;;SAEvE,CAAC;YACF,2BAA2B;YAE3B,IAAI;gBACA,MAAM,QAAQ,GAAG,sBAAS,CAAC,YAAY,CAAC,WAAW,GAAG,6CAAqB,CAAC,GAAG,CAAC;gBAEhF,MAAM,IAAI,CAAC,cAAc,CAAC,SAAU,CAAC,KAAK,CAAC,gBAAgB,iBAAS,KAAK,QAAQ,IAAI,GAAG,GAAG,CAAC,CAAC;aAChG;YAAC,OAAO,GAAG,EAAE;gBACV,aAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACf,MAAM,GAAG,CAAC;aACb;QACL,CAAC,CAAA,CAAC;IAxHF,CAAC;CAyHJ;AAtID,wDAsIC"}
@@ -10,6 +10,7 @@ export interface IStop {
10
10
  stop_lat: number;
11
11
  stop_lon: number;
12
12
  stop_name: string;
13
+ zone_id: string;
13
14
  }
14
15
  export interface IStopTime {
15
16
  arrival_time_seconds: number;
@@ -21,7 +21,10 @@ const DeleteDataTask_1 = require("../workers/vehicle-descriptors/tasks/DeleteDat
21
21
  const RefreshDescriptorsTask_1 = require("../workers/vehicle-descriptors/tasks/RefreshDescriptorsTask");
22
22
  const DescriptorTransformation_1 = require("../workers/vehicle-descriptors/transformations/DescriptorTransformation");
23
23
  const PublicApiCacheRepository_1 = require("../workers/vehicle-positions/data-access/cache/PublicApiCacheRepository");
24
- const RefreshPublicCacheTask_1 = require("../workers/vehicle-positions/tasks/RefreshPublicCacheTask");
24
+ const PublicStopTimeCacheRepository_1 = require("../workers/vehicle-positions/data-access/cache/PublicStopTimeCacheRepository");
25
+ const PublicStopTimeRepository_1 = require("../workers/vehicle-positions/data-access/views/PublicStopTimeRepository");
26
+ const RefreshPublicStopTimeCacheTask_1 = require("../workers/vehicle-positions/tasks/RefreshPublicStopTimeCacheTask");
27
+ const RefreshPublicTripCacheTask_1 = require("../workers/vehicle-positions/tasks/RefreshPublicTripCacheTask");
25
28
  const PublicApiTripTransformation_1 = require("../workers/vehicle-positions/transformations/PublicApiTripTransformation");
26
29
  const VPContainerToken_1 = require("./VPContainerToken");
27
30
  //#region Initialization
@@ -37,7 +40,9 @@ VPContainer.register(VPContainerToken_1.VPContainerToken.DescriptorRepository, D
37
40
  VPContainer.register(VPContainerToken_1.VPContainerToken.RegionalBusCisCacheRepository, RegionalBusCisCacheRepository_1.RegionalBusCisCacheRepository);
38
41
  VPContainer.register(VPContainerToken_1.VPContainerToken.RegionalBusGtfsCacheRepository, RegionalBusGtfsCacheRepository_1.RegionalBusGtfsCacheRepository);
39
42
  VPContainer.register(VPContainerToken_1.VPContainerToken.RegionalBusRunsMessagesRepository, RegionalBusRunsMessagesRepository_1.RegionalBusRunsMessagesRepository);
43
+ VPContainer.register(VPContainerToken_1.VPContainerToken.PublicStopTimeRepository, PublicStopTimeRepository_1.PublicStopTimeRepository);
40
44
  VPContainer.register(VPContainerToken_1.VPContainerToken.PublicApiCacheRepository, PublicApiCacheRepository_1.PublicApiCacheRepository);
45
+ VPContainer.register(VPContainerToken_1.VPContainerToken.PublicStopTimeCacheRepository, PublicStopTimeCacheRepository_1.PublicStopTimeCacheRepository);
41
46
  //#endregion
42
47
  //#region Transformations
43
48
  VPContainer.register(VPContainerToken_1.VPContainerToken.DescriptorTransformation, DescriptorTransformation_1.DescriptorTransformation);
@@ -57,5 +62,6 @@ VPContainer.registerSingleton(VPContainerToken_1.VPContainerToken.RefreshDescrip
57
62
  VPContainer.registerSingleton(VPContainerToken_1.VPContainerToken.DeleteDataTask, DeleteDataTask_1.DeleteDataTask);
58
63
  VPContainer.registerSingleton(VPContainerToken_1.VPContainerToken.SaveArrivaCityRunsToDBTask, SaveArrivaCityRunsToDBTask_1.SaveArrivaCityRunsToDBTask);
59
64
  VPContainer.registerSingleton(VPContainerToken_1.VPContainerToken.ProcessRegionalBusRunMessagesTask, ProcessRegionalBusRunMessagesTask_1.ProcessRegionalBusRunMessagesTask);
60
- VPContainer.registerSingleton(VPContainerToken_1.VPContainerToken.RefreshPublicCacheTask, RefreshPublicCacheTask_1.RefreshPublicCacheTask);
65
+ VPContainer.registerSingleton(VPContainerToken_1.VPContainerToken.RefreshPublicTripCacheTask, RefreshPublicTripCacheTask_1.RefreshPublicTripCacheTask);
66
+ VPContainer.registerSingleton(VPContainerToken_1.VPContainerToken.RefreshPublicStopTimeCacheTask, RefreshPublicStopTimeCacheTask_1.RefreshPublicStopTimeCacheTask);
61
67
  //# sourceMappingURL=Di.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Di.js","sourceRoot":"","sources":["../../../../src/integration-engine/vehicle-positions/ioc/Di.ts"],"names":[],"mappings":";;;AAAA,qCAA0C;AAE1C,qHAAkH;AAClH,mHAAgH;AAChH,qHAAkH;AAClH,4FAAyF;AACzF,8FAA2F;AAC3F,4GAAyG;AACzG,sGAAmG;AACnG,kGAA+F;AAC/F,+GAA4G;AAC5G,iGAA8F;AAC9F,iIAA8H;AAC9H,0GAAuG;AACvG,wHAAqH;AACrH,kJAA+I;AAC/I,8FAA2F;AAC3F,wFAAqF;AACrF,wGAAqG;AACrG,sHAAmH;AACnH,sHAAmH;AACnH,sGAAmG;AACnG,0HAAuH;AACvH,yDAAsD;AAEtD,wBAAwB;AACxB,MAAM,WAAW,GAAwB,iBAAY,CAAC,oBAAoB,EAAE,CAAC;AAuCpE,kCAAW;AAtCpB,YAAY;AAEZ,qBAAqB;AACrB,WAAW,CAAC,QAAQ,CAAC,mCAAgB,CAAC,gCAAgC,EAAE,mEAAgC,CAAC,CAAC;AAC1G,WAAW,CAAC,iBAAiB,CAAC,mCAAgB,CAAC,2BAA2B,EAAE,yDAA2B,CAAC,CAAC;AACzG,YAAY;AAEZ,sBAAsB;AACtB,WAAW,CAAC,QAAQ,CAAC,mCAAgB,CAAC,oBAAoB,EAAE,2CAAoB,CAAC,CAAC;AAClF,WAAW,CAAC,QAAQ,CAAC,mCAAgB,CAAC,6BAA6B,EAAE,6DAA6B,CAAC,CAAC;AACpG,WAAW,CAAC,QAAQ,CAAC,mCAAgB,CAAC,8BAA8B,EAAE,+DAA8B,CAAC,CAAC;AACtG,WAAW,CAAC,QAAQ,CAAC,mCAAgB,CAAC,iCAAiC,EAAE,qEAAiC,CAAC,CAAC;AAC5G,WAAW,CAAC,QAAQ,CAAC,mCAAgB,CAAC,wBAAwB,EAAE,mDAAwB,CAAC,CAAC;AAC1F,YAAY;AAEZ,yBAAyB;AACzB,WAAW,CAAC,QAAQ,CAAC,mCAAgB,CAAC,wBAAwB,EAAE,mDAAwB,CAAC,CAAC;AAC1F,WAAW,CAAC,QAAQ,CAAC,mCAAgB,CAAC,qCAAqC,EAAE,6EAAqC,CAAC,CAAC;AACpH,WAAW,CAAC,QAAQ,CAAC,mCAAgB,CAAC,2BAA2B,EAAE,yDAA2B,CAAC,CAAC;AAChG,YAAY;AAEZ,iBAAiB;AACjB,WAAW,CAAC,iBAAiB,CAAC,mCAAgB,CAAC,gBAAgB,EAAE,mCAAgB,CAAC,CAAC;AACnF,WAAW,CAAC,iBAAiB,CAAC,mCAAgB,CAAC,gBAAgB,EAAE,mCAAgB,CAAC,CAAC;AACnF,WAAW,CAAC,iBAAiB,CAAC,mCAAgB,CAAC,iBAAiB,EAAE,qCAAiB,CAAC,CAAC;AACrF,WAAW,CAAC,iBAAiB,CAAC,mCAAgB,CAAC,mBAAmB,EAAE,yCAAmB,CAAC,CAAC;AACzF,WAAW,CAAC,iBAAiB,CAAC,mCAAgB,CAAC,wBAAwB,EAAE,mDAAwB,CAAC,CAAC;AACnG,WAAW,CAAC,iBAAiB,CAAC,mCAAgB,CAAC,qBAAqB,EAAE,6CAAqB,CAAC,CAAC;AAC7F,YAAY;AAEZ,eAAe;AACf,WAAW,CAAC,iBAAiB,CAAC,mCAAgB,CAAC,sBAAsB,EAAE,+CAAsB,CAAC,CAAC;AAC/F,WAAW,CAAC,iBAAiB,CAAC,mCAAgB,CAAC,cAAc,EAAE,+BAAc,CAAC,CAAC;AAC/E,WAAW,CAAC,iBAAiB,CAAC,mCAAgB,CAAC,0BAA0B,EAAE,uDAA0B,CAAC,CAAC;AACvG,WAAW,CAAC,iBAAiB,CAAC,mCAAgB,CAAC,iCAAiC,EAAE,qEAAiC,CAAC,CAAC;AACrH,WAAW,CAAC,iBAAiB,CAAC,mCAAgB,CAAC,sBAAsB,EAAE,+CAAsB,CAAC,CAAC"}
1
+ {"version":3,"file":"Di.js","sourceRoot":"","sources":["../../../../src/integration-engine/vehicle-positions/ioc/Di.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,10 @@
1
1
  declare const VPContainerToken: {
2
+ PublicStopTimeRepository: symbol;
2
3
  PublicApiCacheRepository: symbol;
4
+ PublicStopTimeCacheRepository: symbol;
3
5
  PublicApiTripTransformation: symbol;
4
- RefreshPublicCacheTask: symbol;
6
+ RefreshPublicTripCacheTask: symbol;
7
+ RefreshPublicStopTimeCacheTask: symbol;
5
8
  RegionalBusCisCacheRepository: symbol;
6
9
  RegionalBusGtfsCacheRepository: symbol;
7
10
  RegionalBusRunsMessagesRepository: symbol;
@@ -3,9 +3,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.VPContainerToken = void 0;
4
4
  const VPContainerToken = {
5
5
  //#region Vehicle Positions
6
+ PublicStopTimeRepository: Symbol(),
6
7
  PublicApiCacheRepository: Symbol(),
8
+ PublicStopTimeCacheRepository: Symbol(),
7
9
  PublicApiTripTransformation: Symbol(),
8
- RefreshPublicCacheTask: Symbol(),
10
+ RefreshPublicTripCacheTask: Symbol(),
11
+ RefreshPublicStopTimeCacheTask: Symbol(),
9
12
  //#endregion
10
13
  //#region Runs
11
14
  RegionalBusCisCacheRepository: Symbol(),
@@ -1 +1 @@
1
- {"version":3,"file":"VPContainerToken.js","sourceRoot":"","sources":["../../../../src/integration-engine/vehicle-positions/ioc/VPContainerToken.ts"],"names":[],"mappings":";;;AAAA,MAAM,gBAAgB,GAAG;IACrB,2BAA2B;IAC3B,wBAAwB,EAAE,MAAM,EAAE;IAClC,2BAA2B,EAAE,MAAM,EAAE;IACrC,sBAAsB,EAAE,MAAM,EAAE;IAChC,YAAY;IAEZ,cAAc;IACd,6BAA6B,EAAE,MAAM,EAAE;IACvC,8BAA8B,EAAE,MAAM,EAAE;IACxC,iCAAiC,EAAE,MAAM,EAAE;IAC3C,qCAAqC,EAAE,MAAM,EAAE;IAC/C,gBAAgB,EAAE,MAAM,EAAE;IAC1B,iBAAiB,EAAE,MAAM,EAAE;IAC3B,mBAAmB,EAAE,MAAM,EAAE;IAC7B,wBAAwB,EAAE,MAAM,EAAE;IAClC,qBAAqB,EAAE,MAAM,EAAE;IAC/B,0BAA0B,EAAE,MAAM,EAAE;IACpC,iCAAiC,EAAE,MAAM,EAAE;IAC3C,YAAY;IAEZ,6BAA6B;IAC7B,gCAAgC,EAAE,MAAM,EAAE;IAC1C,2BAA2B,EAAE,MAAM,EAAE;IACrC,oBAAoB,EAAE,MAAM,EAAE;IAC9B,wBAAwB,EAAE,MAAM,EAAE;IAClC,gBAAgB,EAAE,MAAM,EAAE;IAC1B,sBAAsB,EAAE,MAAM,EAAE;IAChC,cAAc,EAAE,MAAM,EAAE;IACxB,YAAY;CACf,CAAC;AAEO,4CAAgB"}
1
+ {"version":3,"file":"VPContainerToken.js","sourceRoot":"","sources":["../../../../src/integration-engine/vehicle-positions/ioc/VPContainerToken.ts"],"names":[],"mappings":";;;AAAA,MAAM,gBAAgB,GAAG;IACrB,2BAA2B;IAC3B,wBAAwB,EAAE,MAAM,EAAE;IAClC,wBAAwB,EAAE,MAAM,EAAE;IAClC,6BAA6B,EAAE,MAAM,EAAE;IACvC,2BAA2B,EAAE,MAAM,EAAE;IACrC,0BAA0B,EAAE,MAAM,EAAE;IACpC,8BAA8B,EAAE,MAAM,EAAE;IACxC,YAAY;IAEZ,cAAc;IACd,6BAA6B,EAAE,MAAM,EAAE;IACvC,8BAA8B,EAAE,MAAM,EAAE;IACxC,iCAAiC,EAAE,MAAM,EAAE;IAC3C,qCAAqC,EAAE,MAAM,EAAE;IAC/C,gBAAgB,EAAE,MAAM,EAAE;IAC1B,iBAAiB,EAAE,MAAM,EAAE;IAC3B,mBAAmB,EAAE,MAAM,EAAE;IAC7B,wBAAwB,EAAE,MAAM,EAAE;IAClC,qBAAqB,EAAE,MAAM,EAAE;IAC/B,0BAA0B,EAAE,MAAM,EAAE;IACpC,iCAAiC,EAAE,MAAM,EAAE;IAC3C,YAAY;IAEZ,6BAA6B;IAC7B,gCAAgC,EAAE,MAAM,EAAE;IAC1C,2BAA2B,EAAE,MAAM,EAAE;IACrC,oBAAoB,EAAE,MAAM,EAAE;IAC9B,wBAAwB,EAAE,MAAM,EAAE;IAClC,gBAAgB,EAAE,MAAM,EAAE;IAC1B,sBAAsB,EAAE,MAAM,EAAE;IAChC,cAAc,EAAE,MAAM,EAAE;IACxB,YAAY;CACf,CAAC;AAEO,4CAAgB"}
@@ -24,7 +24,8 @@ class VPWorker extends workers_1.AbstractWorker {
24
24
  task.queuePrefix = this.getQueuePrefix();
25
25
  };
26
26
  // Register tasks
27
- this.registerTask(Di_1.VPContainer.resolve(VPContainerToken_1.VPContainerToken.RefreshPublicCacheTask));
27
+ this.registerTask(Di_1.VPContainer.resolve(VPContainerToken_1.VPContainerToken.RefreshPublicTripCacheTask));
28
+ this.registerTask(Di_1.VPContainer.resolve(VPContainerToken_1.VPContainerToken.RefreshPublicStopTimeCacheTask));
28
29
  this.registerTask(new SaveDataToDBTask_1.SaveDataToDBTask(this.getQueuePrefix()));
29
30
  this.registerTask(new UpdateGtfsTripIdTask_1.UpdateGtfsTripIdTask(this.getQueuePrefix()));
30
31
  this.registerTask(new UpdateRunsGtfsTripIdTask_1.UpdateRunsGtfsTripIdTask(this.getQueuePrefix()));
@@ -1 +1 @@
1
- {"version":3,"file":"VPWorker.js","sourceRoot":"","sources":["../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/VPWorker.ts"],"names":[],"mappings":";;;AAAA,qCAA2D;AAC3D,iEAA8E;AAC9E,2EAA6F;AAC7F,2CAA0C;AAC1C,iEAA8D;AAC9D,2DAAwD;AACxD,6FAA0F;AAC1F,mEAAgE;AAChE,6EAA0E;AAC1E,6EAA0E;AAC1E,+DAA4D;AAC5D,6DAA0D;AAC1D,uEAAoE;AACpE,+EAA4E;AAE5E,MAAa,QAAS,SAAQ,wBAAc;IAGxC;QACI,KAAK,EAAE,CAAC;QAHF,SAAI,GAAG,uBAAW,CAAC;QAmBtB,iBAAY,GAAG,CAAC,IAAuB,EAAQ,EAAE;YACpD,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;YACzB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QAC7C,CAAC,CAAC;QAjBE,iBAAiB;QACjB,IAAI,CAAC,YAAY,CAAC,gBAAW,CAAC,OAAO,CAAC,mCAAgB,CAAC,sBAAsB,CAAC,CAAC,CAAC;QAChF,IAAI,CAAC,YAAY,CAAC,IAAI,mCAAgB,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;QAC/D,IAAI,CAAC,YAAY,CAAC,IAAI,2CAAoB,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;QACnE,IAAI,CAAC,YAAY,CAAC,IAAI,mDAAwB,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;QACvE,IAAI,CAAC,YAAY,CAAC,IAAI,iCAAe,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;QAC9D,IAAI,CAAC,YAAY,CAAC,IAAI,iEAA+B,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;QAC9E,IAAI,CAAC,YAAY,CAAC,IAAI,uCAAkB,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;QACjE,IAAI,CAAC,YAAY,CAAC,IAAI,iDAAuB,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;QACtE,IAAI,CAAC,YAAY,CAAC,IAAI,iDAAuB,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;QACtE,IAAI,CAAC,YAAY,CAAC,IAAI,qCAAiB,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;QAChE,IAAI,CAAC,YAAY,CAAC,IAAI,+BAAc,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;IACjE,CAAC;CAMJ;AAxBD,4BAwBC"}
1
+ {"version":3,"file":"VPWorker.js","sourceRoot":"","sources":["../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/VPWorker.ts"],"names":[],"mappings":";;;AAAA,qCAA2D;AAC3D,iEAA8E;AAC9E,2EAA6F;AAC7F,2CAA0C;AAC1C,iEAA8D;AAC9D,2DAAwD;AACxD,6FAA0F;AAC1F,mEAAgE;AAChE,6EAA0E;AAC1E,6EAA0E;AAC1E,+DAA4D;AAC5D,6DAA0D;AAC1D,uEAAoE;AACpE,+EAA4E;AAE5E,MAAa,QAAS,SAAQ,wBAAc;IAGxC;QACI,KAAK,EAAE,CAAC;QAHF,SAAI,GAAG,uBAAW,CAAC;QAoBtB,iBAAY,GAAG,CAAC,IAAuB,EAAQ,EAAE;YACpD,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;YACzB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QAC7C,CAAC,CAAC;QAlBE,iBAAiB;QACjB,IAAI,CAAC,YAAY,CAAC,gBAAW,CAAC,OAAO,CAAC,mCAAgB,CAAC,0BAA0B,CAAC,CAAC,CAAC;QACpF,IAAI,CAAC,YAAY,CAAC,gBAAW,CAAC,OAAO,CAAC,mCAAgB,CAAC,8BAA8B,CAAC,CAAC,CAAC;QACxF,IAAI,CAAC,YAAY,CAAC,IAAI,mCAAgB,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;QAC/D,IAAI,CAAC,YAAY,CAAC,IAAI,2CAAoB,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;QACnE,IAAI,CAAC,YAAY,CAAC,IAAI,mDAAwB,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;QACvE,IAAI,CAAC,YAAY,CAAC,IAAI,iCAAe,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;QAC9D,IAAI,CAAC,YAAY,CAAC,IAAI,iEAA+B,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;QAC9E,IAAI,CAAC,YAAY,CAAC,IAAI,uCAAkB,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;QACjE,IAAI,CAAC,YAAY,CAAC,IAAI,iDAAuB,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;QACtE,IAAI,CAAC,YAAY,CAAC,IAAI,iDAAuB,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;QACtE,IAAI,CAAC,YAAY,CAAC,IAAI,qCAAiB,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;QAChE,IAAI,CAAC,YAAY,CAAC,IAAI,+BAAc,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;IACjE,CAAC;CAMJ;AAzBD,4BAyBC"}
@@ -345,27 +345,35 @@ class TripsRepository extends models_2.PostgresModel {
345
345
  try {
346
346
  return this.sequelizeModel.findAll({
347
347
  attributes: [
348
- // Workaround for distinct selection
349
- [
350
- sequelize_1.default.literal(`DISTINCT ON(gtfs_route_type, coalesce(vehicle_registration_number::text, gtfs_trip_id)) gtfs_trip_id`),
351
- "gtfs_trip_id",
352
- ],
353
- "cis_trip_number",
348
+ "gtfs_trip_id",
354
349
  "gtfs_route_type",
355
350
  "gtfs_route_short_name",
356
- "run_number",
357
- "vehicle_registration_number",
351
+ "cis_trip_number",
358
352
  [sequelize_1.default.literal("last_position.lat"), "lat"],
359
353
  [sequelize_1.default.literal("last_position.lng"), "lng"],
360
354
  [sequelize_1.default.literal("last_position.bearing"), "bearing"],
361
355
  [sequelize_1.default.literal("last_position.delay"), "delay"],
362
356
  [sequelize_1.default.literal("last_position.state_position"), "state_position"],
357
+ "updated_at",
358
+ // Additional properties for detailed vehiclepositions in public API
359
+ "wheelchair_accessible",
360
+ "run_number",
361
+ "vehicle_registration_number",
362
+ "agency_name_real",
363
+ "vehicle_type_id",
364
+ "origin_route_name",
365
+ "gtfs_shape_id",
366
+ "gtfs_trip_headsign",
367
+ [sequelize_1.default.literal("last_position.shape_dist_traveled"), "shape_dist_traveled"],
368
+ [sequelize_1.default.literal("last_position.last_stop_sequence"), "last_stop_sequence"],
369
+ [sequelize_1.default.literal("last_position.origin_timestamp"), "origin_timestamp"],
363
370
  ],
364
371
  include: [
365
372
  {
366
373
  as: "last_position",
367
374
  model: this.positionsRepository["sequelizeModel"],
368
375
  attributes: [],
376
+ required: true,
369
377
  where: {
370
378
  state_position: {
371
379
  [sequelize_1.default.Op.in]: [
@@ -392,8 +400,6 @@ class TripsRepository extends models_2.PostgresModel {
392
400
  },
393
401
  },
394
402
  order: [
395
- ["gtfs_route_type", "ASC"],
396
- [sequelize_1.default.literal("coalesce(vehicle_registration_number::text, gtfs_trip_id)"), "ASC"],
397
403
  ["updated_at", "DESC"],
398
404
  ["id", "ASC"],
399
405
  ],