@golemio/pid 2.12.10 → 2.12.11-dev.1273352315

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 (158) hide show
  1. package/db/example/12_metro_line_A_gtfs_trips.sql +1 -2
  2. package/db/example/15_vehicle_descriptors.sql +3 -3
  3. package/db/example/redis/publicDepartureBoardsMock.json +13 -0
  4. package/db/example/redis/publicVehiclePositionsMock.json +24 -0
  5. package/db/migrations/postgresql/20240418133218-detailed-stop-times.js +53 -0
  6. package/db/migrations/postgresql/20240424122841-delay-at-past-stops-release-part-1.js +53 -0
  7. package/db/migrations/postgresql/sqls/20240418133218-detailed-stop-times-down.sql +263 -0
  8. package/db/migrations/postgresql/sqls/20240418133218-detailed-stop-times-up.sql +174 -0
  9. package/db/migrations/postgresql/sqls/20240424122841-delay-at-past-stops-release-part-1-down.sql +1 -0
  10. package/db/migrations/postgresql/sqls/20240424122841-delay-at-past-stops-release-part-1-up.sql +98 -0
  11. package/dist/integration-engine/ropid-gtfs/RopidGTFSTripsModel.js +4 -0
  12. package/dist/integration-engine/ropid-gtfs/RopidGTFSTripsModel.js.map +1 -1
  13. package/dist/integration-engine/ropid-gtfs/RopidGtfsFacade.d.ts +4 -3
  14. package/dist/integration-engine/ropid-gtfs/RopidGtfsFacade.js +8 -6
  15. package/dist/integration-engine/ropid-gtfs/RopidGtfsFacade.js.map +1 -1
  16. package/dist/integration-engine/ropid-gtfs/data-access/cache/PublicGtfsDepartureRepository.d.ts +14 -0
  17. package/dist/integration-engine/ropid-gtfs/data-access/cache/PublicGtfsDepartureRepository.js +82 -0
  18. package/dist/integration-engine/ropid-gtfs/data-access/cache/PublicGtfsDepartureRepository.js.map +1 -0
  19. package/dist/integration-engine/ropid-gtfs/data-access/precomputed/DeparturesRepository.d.ts +10 -2
  20. package/dist/integration-engine/ropid-gtfs/data-access/precomputed/DeparturesRepository.js +81 -10
  21. package/dist/integration-engine/ropid-gtfs/data-access/precomputed/DeparturesRepository.js.map +1 -1
  22. package/dist/integration-engine/ropid-gtfs/interfaces/IPublicDepartureDto.d.ts +12 -0
  23. package/dist/{schema-definitions/vehicle-positions/models/views/interfaces/IStopTimeDelayPredictionDto.js → integration-engine/ropid-gtfs/interfaces/IPublicDepartureDto.js} +1 -1
  24. package/dist/integration-engine/ropid-gtfs/interfaces/IPublicDepartureDto.js.map +1 -0
  25. package/dist/integration-engine/ropid-gtfs/interfaces/TripModelInterfaces.d.ts +1 -0
  26. package/dist/integration-engine/ropid-gtfs/ioc/Di.js +10 -0
  27. package/dist/integration-engine/ropid-gtfs/ioc/Di.js.map +1 -1
  28. package/dist/integration-engine/ropid-gtfs/ioc/RopidGtfsContainerToken.d.ts +4 -0
  29. package/dist/integration-engine/ropid-gtfs/ioc/RopidGtfsContainerToken.js +4 -0
  30. package/dist/integration-engine/ropid-gtfs/ioc/RopidGtfsContainerToken.js.map +1 -1
  31. package/dist/integration-engine/ropid-gtfs/transformations/PublicDepartureCacheTransformation.d.ts +7 -0
  32. package/dist/integration-engine/ropid-gtfs/transformations/PublicDepartureCacheTransformation.js +36 -0
  33. package/dist/integration-engine/ropid-gtfs/transformations/PublicDepartureCacheTransformation.js.map +1 -0
  34. package/dist/integration-engine/ropid-gtfs/workers/timetables/TimetableWorker.d.ts +2 -1
  35. package/dist/integration-engine/ropid-gtfs/workers/timetables/TimetableWorker.js +9 -1
  36. package/dist/integration-engine/ropid-gtfs/workers/timetables/TimetableWorker.js.map +1 -1
  37. package/dist/integration-engine/ropid-gtfs/workers/timetables/constants.d.ts +1 -0
  38. package/dist/integration-engine/ropid-gtfs/workers/timetables/constants.js +5 -0
  39. package/dist/integration-engine/ropid-gtfs/workers/timetables/constants.js.map +1 -0
  40. package/dist/integration-engine/ropid-gtfs/workers/timetables/tasks/CheckSavedRowsAndReplaceTablesTask.js +4 -0
  41. package/dist/integration-engine/ropid-gtfs/workers/timetables/tasks/CheckSavedRowsAndReplaceTablesTask.js.map +1 -1
  42. package/dist/integration-engine/ropid-gtfs/workers/timetables/tasks/RefreshPublicGtfsDepartureCacheTask.d.ts +21 -0
  43. package/dist/integration-engine/ropid-gtfs/workers/timetables/tasks/RefreshPublicGtfsDepartureCacheTask.js +102 -0
  44. package/dist/integration-engine/ropid-gtfs/workers/timetables/tasks/RefreshPublicGtfsDepartureCacheTask.js.map +1 -0
  45. package/dist/integration-engine/ropid-gtfs/workers/timetables/tasks/helpers/PrecomputedTablesFacade.d.ts +3 -2
  46. package/dist/integration-engine/ropid-gtfs/workers/timetables/tasks/helpers/PrecomputedTablesFacade.js +9 -7
  47. package/dist/integration-engine/ropid-gtfs/workers/timetables/tasks/helpers/PrecomputedTablesFacade.js.map +1 -1
  48. package/dist/integration-engine/ropid-gtfs/workers/timetables/tasks/interfaces/IRefreshPublicDepartureParams.d.ts +4 -0
  49. package/dist/integration-engine/ropid-gtfs/workers/timetables/tasks/interfaces/IRefreshPublicDepartureParams.js +3 -0
  50. package/dist/integration-engine/ropid-gtfs/workers/timetables/tasks/interfaces/IRefreshPublicDepartureParams.js.map +1 -0
  51. package/dist/integration-engine/ropid-gtfs/workers/timetables/tasks/schema/RefreshPublicDepartureSchema.d.ts +5 -0
  52. package/dist/integration-engine/ropid-gtfs/workers/timetables/tasks/schema/RefreshPublicDepartureSchema.js +31 -0
  53. package/dist/integration-engine/ropid-gtfs/workers/timetables/tasks/schema/RefreshPublicDepartureSchema.js.map +1 -0
  54. package/dist/integration-engine/vehicle-positions/workers/gtfs-rt/tasks/GenerateFilesTask.d.ts +1 -0
  55. package/dist/integration-engine/vehicle-positions/workers/gtfs-rt/tasks/GenerateFilesTask.js +30 -12
  56. package/dist/integration-engine/vehicle-positions/workers/gtfs-rt/tasks/GenerateFilesTask.js.map +1 -1
  57. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/regional-bus/RegionalBusMessageFilter.d.ts +1 -4
  58. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/regional-bus/RegionalBusMessageFilter.js +5 -21
  59. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/regional-bus/RegionalBusMessageFilter.js.map +1 -1
  60. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/TripsRepository.d.ts +0 -1
  61. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/TripsRepository.js +4 -21
  62. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/TripsRepository.js.map +1 -1
  63. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/cache/PublicApiCacheRepository.js +6 -1
  64. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/cache/PublicApiCacheRepository.js.map +1 -1
  65. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/cache/PublicStopTimeCacheRepository.d.ts +4 -1
  66. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/cache/PublicStopTimeCacheRepository.js +39 -2
  67. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/cache/PublicStopTimeCacheRepository.js.map +1 -1
  68. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/RefreshPublicStopTimeCacheTask.js +3 -0
  69. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/RefreshPublicStopTimeCacheTask.js.map +1 -1
  70. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/transformations/MpvMessageTransformation.d.ts +3 -6
  71. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/transformations/MpvMessageTransformation.js +8 -19
  72. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/transformations/MpvMessageTransformation.js.map +1 -1
  73. package/dist/output-gateway/index.js.map +1 -1
  74. package/dist/output-gateway/pid/helpers/DepartureBoardMapper.js +2 -1
  75. package/dist/output-gateway/pid/helpers/DepartureBoardMapper.js.map +1 -1
  76. package/dist/output-gateway/public/controllers/v1/PublicDepartureBoardsController.d.ts +8 -0
  77. package/dist/output-gateway/public/controllers/v1/PublicDepartureBoardsController.js +65 -0
  78. package/dist/output-gateway/public/controllers/v1/PublicDepartureBoardsController.js.map +1 -0
  79. package/dist/output-gateway/public/controllers/v1/interfaces/PublicParamsInterfaces.d.ts +10 -0
  80. package/dist/output-gateway/public/data-access/redis/PublicGtfsDepartureRepository.d.ts +11 -0
  81. package/dist/output-gateway/public/data-access/redis/PublicGtfsDepartureRepository.js +72 -0
  82. package/dist/output-gateway/public/data-access/redis/PublicGtfsDepartureRepository.js.map +1 -0
  83. package/dist/output-gateway/public/data-access/redis/PublicVehiclePositionsRepository.d.ts +1 -0
  84. package/dist/output-gateway/public/data-access/redis/PublicVehiclePositionsRepository.js +22 -2
  85. package/dist/output-gateway/public/data-access/redis/PublicVehiclePositionsRepository.js.map +1 -1
  86. package/dist/output-gateway/public/domain/IPublicDepartureTransformInputDto.d.ts +9 -0
  87. package/dist/output-gateway/public/domain/IPublicDepartureTransformInputDto.js +3 -0
  88. package/dist/output-gateway/public/domain/IPublicDepartureTransformInputDto.js.map +1 -0
  89. package/dist/output-gateway/public/domain/PublicApiDepartureInterfaces.d.ts +34 -0
  90. package/dist/output-gateway/public/domain/PublicApiDepartureInterfaces.js +3 -0
  91. package/dist/output-gateway/public/domain/PublicApiDepartureInterfaces.js.map +1 -0
  92. package/dist/output-gateway/public/domain/repository/IGtfsDepartureRepository.d.ts +4 -0
  93. package/dist/output-gateway/public/domain/repository/IGtfsDepartureRepository.js +3 -0
  94. package/dist/output-gateway/public/domain/repository/IGtfsDepartureRepository.js.map +1 -0
  95. package/dist/output-gateway/public/domain/repository/IVehiclePositionsRepository.d.ts +1 -0
  96. package/dist/output-gateway/public/ioc/Di.js +8 -0
  97. package/dist/output-gateway/public/ioc/Di.js.map +1 -1
  98. package/dist/output-gateway/public/ioc/OgModuleToken.d.ts +2 -0
  99. package/dist/output-gateway/public/ioc/OgModuleToken.js +2 -0
  100. package/dist/output-gateway/public/ioc/OgModuleToken.js.map +1 -1
  101. package/dist/output-gateway/public/routers/v1/PublicDeparturesRouter.d.ts +10 -0
  102. package/dist/output-gateway/public/routers/v1/PublicDeparturesRouter.js +28 -0
  103. package/dist/output-gateway/public/routers/v1/PublicDeparturesRouter.js.map +1 -0
  104. package/dist/output-gateway/public/routers/v1/{PublicRouter.d.ts → PublicVehiclePositionsRouter.d.ts} +3 -3
  105. package/dist/output-gateway/public/routers/v1/{PublicRouter.js → PublicVehiclePositionsRouter.js} +8 -8
  106. package/dist/output-gateway/public/routers/v1/PublicVehiclePositionsRouter.js.map +1 -0
  107. package/dist/output-gateway/public/routers/v1/helpers/CustomStopIdGroupValidator.d.ts +5 -0
  108. package/dist/output-gateway/public/routers/v1/helpers/CustomStopIdGroupValidator.js +42 -0
  109. package/dist/output-gateway/public/routers/v1/helpers/CustomStopIdGroupValidator.js.map +1 -0
  110. package/dist/output-gateway/public/service/facade/DepartureBoardFacade.d.ts +17 -0
  111. package/dist/output-gateway/public/service/facade/DepartureBoardFacade.js +117 -0
  112. package/dist/output-gateway/public/service/facade/DepartureBoardFacade.js.map +1 -0
  113. package/dist/output-gateway/public/service/helpers/trip-scope/strategy/StopTimesTripScopeHandler.d.ts +1 -0
  114. package/dist/output-gateway/public/service/helpers/trip-scope/strategy/StopTimesTripScopeHandler.js +5 -1
  115. package/dist/output-gateway/public/service/helpers/trip-scope/strategy/StopTimesTripScopeHandler.js.map +1 -1
  116. package/dist/output-gateway/public/service/transformations/PublicDepartureTransformation.d.ts +34 -0
  117. package/dist/output-gateway/public/service/transformations/PublicDepartureTransformation.js +54 -0
  118. package/dist/output-gateway/public/service/transformations/PublicDepartureTransformation.js.map +1 -0
  119. package/dist/output-gateway/shared/DepartureCalculator.d.ts +10 -0
  120. package/dist/output-gateway/shared/DepartureCalculator.js +26 -0
  121. package/dist/output-gateway/shared/DepartureCalculator.js.map +1 -0
  122. package/dist/output-gateway/shared/RopidRouterUtils.d.ts +2 -1
  123. package/dist/output-gateway/shared/RopidRouterUtils.js +4 -3
  124. package/dist/output-gateway/shared/RopidRouterUtils.js.map +1 -1
  125. package/dist/schema-definitions/ropid-gtfs/redis/const.d.ts +1 -0
  126. package/dist/schema-definitions/ropid-gtfs/redis/const.js +5 -0
  127. package/dist/schema-definitions/ropid-gtfs/redis/const.js.map +1 -0
  128. package/dist/schema-definitions/ropid-gtfs/redis/interfaces/IDelayComputationDto.d.ts +1 -0
  129. package/dist/schema-definitions/ropid-gtfs/redis/interfaces/IPublicGtfsDepartureCacheDto.d.ts +12 -0
  130. package/dist/schema-definitions/ropid-gtfs/redis/interfaces/IPublicGtfsDepartureCacheDto.js +3 -0
  131. package/dist/schema-definitions/ropid-gtfs/redis/interfaces/IPublicGtfsDepartureCacheDto.js.map +1 -0
  132. package/dist/schema-definitions/ropid-gtfs/redis/schemas/DelayComputationDtoSchema.js +1 -0
  133. package/dist/schema-definitions/ropid-gtfs/redis/schemas/DelayComputationDtoSchema.js.map +1 -1
  134. package/dist/schema-definitions/ropid-gtfs/redis/schemas/PublicGtfsDepartureDtoSchema.d.ts +4 -0
  135. package/dist/schema-definitions/ropid-gtfs/redis/schemas/PublicGtfsDepartureDtoSchema.js +69 -0
  136. package/dist/schema-definitions/ropid-gtfs/redis/schemas/PublicGtfsDepartureDtoSchema.js.map +1 -0
  137. package/dist/schema-definitions/vehicle-positions/models/views/PublicStopTimeModel.d.ts +3 -0
  138. package/dist/schema-definitions/vehicle-positions/models/views/PublicStopTimeModel.js +12 -0
  139. package/dist/schema-definitions/vehicle-positions/models/views/PublicStopTimeModel.js.map +1 -1
  140. package/dist/schema-definitions/vehicle-positions/models/views/index.d.ts +0 -1
  141. package/dist/schema-definitions/vehicle-positions/models/views/index.js +0 -1
  142. package/dist/schema-definitions/vehicle-positions/models/views/index.js.map +1 -1
  143. package/dist/schema-definitions/vehicle-positions/models/views/interfaces/IPublicStopTimeDto.d.ts +3 -0
  144. package/dist/schema-definitions/vehicle-positions/redis/interfaces/IPublicStopTimeCacheDto.d.ts +3 -0
  145. package/dist/schema-definitions/vehicle-positions/redis/schemas/PublicStopTimeCacheDtoSchema.js +26 -1
  146. package/dist/schema-definitions/vehicle-positions/redis/schemas/PublicStopTimeCacheDtoSchema.js.map +1 -1
  147. package/docs/implementation_documentation.md +26 -0
  148. package/docs/openapi-output.yaml +234 -0
  149. package/package.json +1 -1
  150. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/views/StopTimeDelayPredictionRepository.d.ts +0 -7
  151. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/views/StopTimeDelayPredictionRepository.js +0 -19
  152. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/views/StopTimeDelayPredictionRepository.js.map +0 -1
  153. package/dist/output-gateway/public/routers/v1/PublicRouter.js.map +0 -1
  154. package/dist/schema-definitions/vehicle-positions/models/views/StopTimeDelayPredictionModel.d.ts +0 -13
  155. package/dist/schema-definitions/vehicle-positions/models/views/StopTimeDelayPredictionModel.js +0 -41
  156. package/dist/schema-definitions/vehicle-positions/models/views/StopTimeDelayPredictionModel.js.map +0 -1
  157. package/dist/schema-definitions/vehicle-positions/models/views/interfaces/IStopTimeDelayPredictionDto.d.ts +0 -9
  158. package/dist/schema-definitions/vehicle-positions/models/views/interfaces/IStopTimeDelayPredictionDto.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"PublicStopTimeCacheDtoSchema.js","sourceRoot":"","sources":["../../../../../src/schema-definitions/vehicle-positions/redis/schemas/PublicStopTimeCacheDtoSchema.ts"],"names":[],"mappings":";;;AAGA,MAAM,4BAA4B,GAA8C;IAC5E,OAAO,EAAE,yCAAyC;IAClD,KAAK,EAAE,mBAAmB;IAC1B,IAAI,EAAE,OAAO;IACb,KAAK,EAAE;QACH,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACR,QAAQ,EAAE;gBACN,IAAI,EAAE,QAAQ;aACjB;YACD,SAAS,EAAE;gBACP,KAAK,EAAE;oBACH;wBACI,IAAI,EAAE,QAAQ;qBACjB;oBACD;wBACI,IAAI,EAAE,MAAM;wBACZ,QAAQ,EAAE,IAAI;qBACjB;iBACJ;aACJ;YACD,SAAS,EAAE;gBACP,KAAK,EAAE;oBACH;wBACI,IAAI,EAAE,QAAQ;qBACjB;oBACD;wBACI,IAAI,EAAE,MAAM;wBACZ,QAAQ,EAAE,IAAI;qBACjB;iBACJ;aACJ;SACJ;QACD,QAAQ,EAAE,CAAC,UAAU,EAAE,WAAW,EAAE,WAAW,CAAC;KACnD;CACJ,CAAC;AACuC,oEAA4B"}
1
+ {"version":3,"file":"PublicStopTimeCacheDtoSchema.js","sourceRoot":"","sources":["../../../../../src/schema-definitions/vehicle-positions/redis/schemas/PublicStopTimeCacheDtoSchema.ts"],"names":[],"mappings":";;;AAGA,MAAM,4BAA4B,GAA8C;IAC5E,OAAO,EAAE,yCAAyC;IAClD,KAAK,EAAE,mBAAmB;IAC1B,IAAI,EAAE,OAAO;IACb,KAAK,EAAE;QACH,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACR,QAAQ,EAAE;gBACN,IAAI,EAAE,QAAQ;aACjB;YACD,SAAS,EAAE;gBACP,KAAK,EAAE;oBACH;wBACI,IAAI,EAAE,QAAQ;qBACjB;oBACD;wBACI,IAAI,EAAE,MAAM;wBACZ,QAAQ,EAAE,IAAI;qBACjB;iBACJ;aACJ;YACD,SAAS,EAAE;gBACP,KAAK,EAAE;oBACH;wBACI,IAAI,EAAE,QAAQ;qBACjB;oBACD;wBACI,IAAI,EAAE,MAAM;wBACZ,QAAQ,EAAE,IAAI;qBACjB;iBACJ;aACJ;YACD,sBAAsB,EAAE;gBACpB,KAAK,EAAE;oBACH;wBACI,IAAI,EAAE,QAAQ;qBACjB;oBACD;wBACI,IAAI,EAAE,MAAM;wBACZ,QAAQ,EAAE,IAAI;qBACjB;iBACJ;aACJ;YACD,aAAa,EAAE;gBACX,KAAK,EAAE;oBACH;wBACI,IAAI,EAAE,QAAQ;qBACjB;oBACD;wBACI,IAAI,EAAE,MAAM;wBACZ,QAAQ,EAAE,IAAI;qBACjB;iBACJ;aACJ;YACD,OAAO,EAAE;gBACL,IAAI,EAAE,QAAQ;aACjB;SACJ;QACD,QAAQ,EAAE,CAAC,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,wBAAwB,EAAE,eAAe,EAAE,SAAS,CAAC;KACzG;CACJ,CAAC;AACuC,oEAA4B"}
@@ -504,6 +504,7 @@ Worker má na starost aktualizaci presets číselníků
504
504
  - závislé fronty (do kterých jsou odesílány zprávy z metody workeru)
505
505
  - název: vehicle-positions.ropidgtfs.downloadDatasets
506
506
  - název: vehicle-positions.ropidgtfs.refreshPrecomputedTables
507
+ - název: vehicle-positions.ropidgtfs.refreshPublicGtfsDepartureCache
507
508
  - název: vehicle-positions.vehiclepositions.refreshGTFSTripData
508
509
  - datové zdroje
509
510
  - ROPID FTP
@@ -548,6 +549,23 @@ Worker má na starost aktualizaci presets číselníků
548
549
  - RopidGTFSPrecomputedDeparturesModel `ropidgtfs_precomputed_departures`
549
550
  - RopidGTFSPrecomputedTripScheduleModel `ropidgtfs_precomputed_trip_schedule`
550
551
 
552
+ #### task _RefreshPublicGtfsDepartureCacheTask_
553
+
554
+ Task se stará o aktualizaci cache pro public odjezdy. Pouští se pravidelně cronem a po dokončení načtení nových JŘ.
555
+
556
+ - vstupní rabbitmq fronta
557
+ - název: vehicle-positions.ropidgtfs.refreshPublicGtfsDepartureCache
558
+ - TTL: 59 minut
559
+ - parametry: `{intervalFromHours, intervalToHours}`
560
+ - závislé fronty (do kterých jsou odesílány zprávy z metody workeru)
561
+ - žádné
562
+ - datové zdroje
563
+ - ROPID FTP
564
+ - transformace
565
+ - [PublicDepartureCacheTransformation](../src/integration-engine/ropid-gtfs/transformations/PublicDepartureCacheTransformation.ts)
566
+ - data modely
567
+ - RopidGTFSPrecomputedDeparturesModel `ropidgtfs_precomputed_departures`
568
+
551
569
  ### PresetWorker
552
570
 
553
571
  #### _Task ~ SavePresetsDataTask_
@@ -1256,3 +1274,11 @@ Worker má na starost retenci dat tabulek Azure Table Storage
1256
1274
  - `stop_times`: seznam zastávek, které vozidlo projelo a projede, vč. informací o zpoždění (historických/predikovaných), ve formátu geojson
1257
1275
  - `shapes`: seznam tvarů trasy (podle GTFS; nejedná se o naše předpočítané anchor pointy, které se mimo zastávky oproti GTFS shapes mohou lišit), ve formátu geojson
1258
1276
  - `vehicle_descriptor`: informace o vozidle (dopravce, dostupnost klimatizace, USB, ...)
1277
+
1278
+ #### _/public/departureboards_
1279
+
1280
+ - načte nacacheované odjezdy z redisu
1281
+ - možno filtrovat podle skupin zastávek `stopIds` (podle GTFS číselníku) s možností nastavení pořadí navrácených skupin s odjezdy - příklad `?stopIds[]={"0": ["U717Z5P"]}&stopIds[]={"1": ["U718Z5P", "U719Z5P"]}`
1282
+ - podle názvů linek a jak daleko do budoucnosti se mají odjezdy navracet
1283
+ - limitování počtu odjezdů v každé skupině
1284
+ - EP je optimalizován pro vyšší zátěž z mobilní aplikace PID lítačka - požadavek do databáze z OG pouze v případě nutnosti obnovit cache s vehicle descriptory (klimatizace, usb nabíječky), jinak je vše z Redisu
@@ -34,6 +34,9 @@ tags:
34
34
  - name: 🕐 Public Vehicle Positions (experimental)
35
35
  description: ""
36
36
 
37
+ - name: 🕒 Public Departures (experimental)
38
+ description: ""
39
+
37
40
  paths:
38
41
  /gtfs/services:
39
42
  get:
@@ -1012,6 +1015,7 @@ paths:
1012
1015
  in: path
1013
1016
  description:
1014
1017
  Filter result by vehicle ID (same as *vehicle_id* from the `/public/vehiclepositions` EP or *id* from GTFS-RT `VehicleDescriptor`)
1018
+ No stop waypoints are not included.
1015
1019
  required: true
1016
1020
  schema:
1017
1021
  type: string
@@ -1046,16 +1050,122 @@ paths:
1046
1050
  $ref: "#/components/responses/UnauthorizedError"
1047
1051
  404:
1048
1052
  description: Not found
1053
+ /public/departureboards:
1054
+ get:
1055
+ tags:
1056
+ - 🕒 Public Departures (experimental)
1057
+ summary: Get Departure Boards
1058
+ parameters:
1059
+ - in: query
1060
+ name: stopIds
1061
+ required: true
1062
+ schema:
1063
+ type: array
1064
+ items:
1065
+ type: string
1066
+ example: ["{\"0\": [\"U717Z5P\"]}", "{\"1\": [\"U718Z5P\", \"U719Z5P\"]}"]
1067
+ description: "Groups of stop IDs formatted as JSON (index/priority -> stop IDs). For example ?stopIds[]={\"0\": [\"U717Z5P\"]}&stopIds[]={\"1\": [\"U718Z5P\", \"U719Z5P\"]}. Maximum is 10 groups with a maximum of 10 stop IDs in each group."
1068
+ - in: query
1069
+ name: limit
1070
+ required: false
1071
+ schema:
1072
+ type: integer
1073
+ description: Limit for each group of departures. Default is 5. Maximum is 20.
1074
+ example: 5
1075
+ - in: query
1076
+ name: routeShortNames
1077
+ required: false
1078
+ schema:
1079
+ type: array
1080
+ items:
1081
+ type: string
1082
+ example: ["27"]
1083
+ description: Default is null
1084
+ - in: query
1085
+ name: minutesAfter
1086
+ required: false
1087
+ schema:
1088
+ type: integer
1089
+ minimum: 0
1090
+ maximum: 360
1091
+ description: Default is 60. Maximum is 360 (6 hours)
1092
+ example: 60
1093
+ responses:
1094
+ 200:
1095
+ description: OK
1096
+ content:
1097
+ application/json:
1098
+ schema:
1099
+ type: array
1100
+ items:
1101
+ $ref: "#/components/schemas/PublicDepartureGroup"
1102
+
1103
+ 400:
1104
+ $ref: "#/components/responses/BadRequestError"
1105
+ 401:
1106
+ $ref: "#/components/responses/UnauthorizedError"
1107
+ 404:
1108
+ description: Not found - no departures found for the given query parameters
1109
+ content:
1110
+ application/json:
1111
+ schema:
1112
+ type: array
1113
+ items:
1114
+ type: array
1115
+ maxItems: 0
1116
+ items:
1117
+ type: object
1118
+
1049
1119
 
1050
1120
 
1051
1121
  components:
1052
1122
  responses:
1123
+ BadRequestError:
1124
+ description: Bad request - invalid query parameters
1125
+ content:
1126
+ application/json:
1127
+ schema:
1128
+ type: object
1129
+ properties:
1130
+ error_message:
1131
+ type: string
1132
+ example: "Bad request"
1133
+ nullable: false
1134
+ error_status:
1135
+ type: integer
1136
+ example: 400
1137
+ nullable: false
1138
+ error_info:
1139
+ type: string
1140
+ example: "{...}"
1141
+ nullable: true
1142
+ required:
1143
+ - error_message
1144
+ - error_status
1145
+
1053
1146
  UnauthorizedError:
1054
1147
  description: API key is missing or invalid
1055
1148
  headers:
1056
1149
  WWW_Authenticate:
1057
1150
  schema:
1058
1151
  type: string
1152
+ content:
1153
+ application/json:
1154
+ schema:
1155
+ type: object
1156
+ properties:
1157
+ error_message:
1158
+ type: string
1159
+ example: "Unauthorized. Failed to authenticate user."
1160
+ nullable: false
1161
+ error_status:
1162
+ type: integer
1163
+ example: 401
1164
+ nullable: false
1165
+ required:
1166
+ - error_message
1167
+ - error_status
1168
+
1059
1169
 
1060
1170
  schemas:
1061
1171
  GTFSService:
@@ -2301,3 +2411,127 @@ components:
2301
2411
  type: string
2302
2412
  enum:
2303
2413
  - Point
2414
+
2415
+ PublicDepartureGroup:
2416
+ type: array
2417
+ items:
2418
+ type: object
2419
+ properties:
2420
+ departure:
2421
+ $ref: "#/components/schemas/PublicDeparture"
2422
+ stop:
2423
+ $ref: "#/components/schemas/PublicDepartureStop"
2424
+ route:
2425
+ $ref: "#/components/schemas/PublicDepartureRoute"
2426
+ trip:
2427
+ $ref: "#/components/schemas/PublicDepartureTrip"
2428
+ vehicle:
2429
+ $ref: "#/components/schemas/PublicDepartureVehicle"
2430
+ required:
2431
+ - departure
2432
+ - stop
2433
+ - route
2434
+ - trip
2435
+ - vehicle
2436
+
2437
+ PublicDeparture:
2438
+ type: object
2439
+ properties:
2440
+ timestamp_scheduled:
2441
+ type: string
2442
+ format: date-time
2443
+ example: "2024-04-05T16:09:00+02:00"
2444
+ nullable: false
2445
+ timestamp_predicted:
2446
+ type: string
2447
+ format: date-time
2448
+ example: "2024-04-05T16:09:16+02:00"
2449
+ nullable: false
2450
+ delay_seconds:
2451
+ type: number
2452
+ description: Delay in seconds
2453
+ example: 0
2454
+ nullable: true
2455
+ minutes:
2456
+ type: number
2457
+ description: Minutes until the departure
2458
+ example: 0
2459
+ nullable: false
2460
+ required:
2461
+ - timestamp_scheduled
2462
+ - timestamp_predicted
2463
+ - minutes
2464
+
2465
+ PublicDepartureStop:
2466
+ type: object
2467
+ properties:
2468
+ id:
2469
+ type: string
2470
+ example: "U717Z5P" # Strossmayerovo náměstí
2471
+ nullable: false
2472
+ sequence:
2473
+ type: number
2474
+ example: 8
2475
+ nullable: false
2476
+ platform_code:
2477
+ type: string
2478
+ example: "E"
2479
+ nullable: true
2480
+ required:
2481
+ - id
2482
+ - sequence
2483
+
2484
+ PublicDepartureRoute:
2485
+ type: object
2486
+ properties:
2487
+ type:
2488
+ type: string
2489
+ example: "tram"
2490
+ enum: ["tram", "metro", "train", "bus", "ferry", "funicular", "trolleybus", "ext_miscellaneous"]
2491
+ nullable: false
2492
+ short_name:
2493
+ type: string
2494
+ example: "27"
2495
+ nullable: false
2496
+ required:
2497
+ - type
2498
+ - short_name
2499
+
2500
+ PublicDepartureTrip:
2501
+ type: object
2502
+ properties:
2503
+ id:
2504
+ type: string
2505
+ example: "27_3206_240318"
2506
+ nullable: false
2507
+ headsign:
2508
+ type: string
2509
+ example: "Libuš"
2510
+ nullable: false
2511
+ is_canceled:
2512
+ type: boolean
2513
+ example: false
2514
+ nullable: true
2515
+ required:
2516
+ - id
2517
+ - headsign
2518
+
2519
+ PublicDepartureVehicle:
2520
+ type: object
2521
+ properties:
2522
+ id:
2523
+ type: string
2524
+ example: "service-0-9072"
2525
+ nullable: true
2526
+ is_wheelchair_accessible:
2527
+ type: boolean
2528
+ example: true
2529
+ nullable: true
2530
+ is_air_conditioned:
2531
+ type: boolean
2532
+ example: false
2533
+ nullable: true
2534
+ has_charger:
2535
+ type: boolean
2536
+ example: true
2537
+ nullable: true
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@golemio/pid",
3
- "version": "2.12.10",
3
+ "version": "2.12.11-dev.1273352315",
4
4
  "description": "Golemio PID Module",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -1,7 +0,0 @@
1
- import { StopTimeDelayPredictionModel } from "../../../../../../schema-definitions/vehicle-positions/models/views";
2
- import { IModel, PostgresModel } from "@golemio/core/dist/integration-engine/models";
3
- import { ModelStatic } from "@golemio/core/dist/shared/sequelize";
4
- export declare class StopTimeDelayPredictionRepository extends PostgresModel implements IModel {
5
- sequelizeModel: ModelStatic<StopTimeDelayPredictionModel>;
6
- constructor();
7
- }
@@ -1,19 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.StopTimeDelayPredictionRepository = void 0;
4
- const const_1 = require("../../../../../../schema-definitions/const");
5
- const views_1 = require("../../../../../../schema-definitions/vehicle-positions/models/views");
6
- const models_1 = require("@golemio/core/dist/integration-engine/models");
7
- const golemio_validator_1 = require("@golemio/core/dist/shared/golemio-validator");
8
- class StopTimeDelayPredictionRepository extends models_1.PostgresModel {
9
- constructor() {
10
- super("StopTimeDelayPredictionRepository", {
11
- pgTableName: views_1.StopTimeDelayPredictionModel.tableName,
12
- pgSchema: const_1.PG_SCHEMA,
13
- outputSequelizeAttributes: views_1.StopTimeDelayPredictionModel.attributeModel,
14
- savingType: "insertOnly",
15
- }, new golemio_validator_1.JSONSchemaValidator("StopTimeDelayPredictionReadOnly", {}));
16
- }
17
- }
18
- exports.StopTimeDelayPredictionRepository = StopTimeDelayPredictionRepository;
19
- //# sourceMappingURL=StopTimeDelayPredictionRepository.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"StopTimeDelayPredictionRepository.js","sourceRoot":"","sources":["../../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/views/StopTimeDelayPredictionRepository.ts"],"names":[],"mappings":";;;AAAA,sEAAuC;AACvC,+FAAmF;AACnF,yEAAqF;AACrF,mFAAkF;AAGlF,MAAa,iCAAkC,SAAQ,sBAAa;IAGhE;QACI,KAAK,CACD,mCAAmC,EACnC;YACI,WAAW,EAAE,oCAA4B,CAAC,SAAS;YACnD,QAAQ,EAAE,iBAAS;YACnB,yBAAyB,EAAE,oCAA4B,CAAC,cAAc;YACtE,UAAU,EAAE,YAAY;SAC3B,EACD,IAAI,uCAAmB,CAAC,iCAAiC,EAAE,EAAE,CAAC,CACjE,CAAC;IACN,CAAC;CACJ;AAfD,8EAeC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"PublicRouter.js","sourceRoot":"","sources":["../../../../../src/output-gateway/public/routers/v1/PublicRouter.ts"],"names":[],"mappings":";;;AAAA,4GAA8G;AAC9G,qCAAsD;AACtD,2DAA6D;AAE7D,6EAA2E;AAC3E,+DAA2D;AAC3D,mFAA2E;AAC3E,yEAAsE;AACtE,uEAAoE;AAEpE,MAAa,YAAY;IAKrB;QACI,IAAI,CAAC,MAAM,GAAG,IAAA,gBAAM,GAAE,CAAC;QACvB,IAAI,CAAC,0BAA0B,GAAG,IAAI,mEAAgC,EAAE,CAAC;QACzE,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,IAAI,CAAC,eAAe,GAAG,sBAAiB,CAAC,OAAO,CAAe,6BAAa,CAAC,YAAY,CAAC,CAAC;QAC3F,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,CAAC;IACtC,CAAC;IAES,UAAU,CAAC,MAAoC;QACrD,IAAI,CAAC,MAAM,CAAC,GAAG,CACX,mBAAmB,EACnB;YACI,IAAA,yBAAK,EAAC,aAAa,CAAC;iBACf,QAAQ,EAAE;iBACV,OAAO,CAAC,4BAA4B,CAAC,CAAC,8BAA8B;iBACpE,GAAG,EAAE;iBACL,OAAO,EAAE;YACd,IAAA,yBAAK,EAAC,gBAAgB,CAAC,CAAC,QAAQ,EAAE,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC;YAC7E,IAAA,yBAAK,EAAC,WAAW,CAAC,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,yCAAmB,CAAC,QAAQ,CAAC;SACrE,EACD,wBAAW,EACX,IAAI,CAAC,0BAA0B,CAAC,MAAM,CACzC,CAAC;QAEF,IAAI,CAAC,MAAM,CAAC,GAAG,CACX,8BAA8B,EAC9B,CAAC,IAAA,yBAAK,EAAC,WAAW,CAAC,CAAC,MAAM,EAAE,EAAE,IAAA,yBAAK,EAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,2CAAoB,CAAC,QAAQ,CAAC,CAAC,EACpF,wBAAW,EACX,IAAI,CAAC,0BAA0B,CAAC,iBAAiB,CACpD,CAAC;IACN,CAAC;CACJ;AApCD,oCAoCC;AAED,MAAM,cAAc,GAAG,IAAI,YAAY,EAAE,CAAC,MAAM,CAAC;AAExC,wCAAc"}
@@ -1,13 +0,0 @@
1
- import { Model, ModelAttributes } from "@golemio/core/dist/shared/sequelize";
2
- import { IStopTimeDelayPredictionDto } from "./interfaces/IStopTimeDelayPredictionDto";
3
- export declare class StopTimeDelayPredictionModel extends Model<StopTimeDelayPredictionModel> implements IStopTimeDelayPredictionDto {
4
- static tableName: string;
5
- trip_id: string;
6
- stop_sequence: number;
7
- stop_id: string;
8
- platform_code: string | null;
9
- cis_stop_platform_code: string | null;
10
- arrival_delay_seconds: number | null;
11
- departure_delay_seconds: number | null;
12
- static attributeModel: ModelAttributes<StopTimeDelayPredictionModel>;
13
- }
@@ -1,41 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.StopTimeDelayPredictionModel = void 0;
4
- const sequelize_1 = require("@golemio/core/dist/shared/sequelize");
5
- class StopTimeDelayPredictionModel extends sequelize_1.Model {
6
- }
7
- exports.StopTimeDelayPredictionModel = StopTimeDelayPredictionModel;
8
- StopTimeDelayPredictionModel.tableName = "v_vehiclepositions_stop_time_delay_prediction";
9
- StopTimeDelayPredictionModel.attributeModel = {
10
- trip_id: {
11
- type: sequelize_1.DataTypes.STRING,
12
- allowNull: false,
13
- primaryKey: true,
14
- },
15
- stop_sequence: {
16
- type: sequelize_1.DataTypes.INTEGER,
17
- allowNull: false,
18
- primaryKey: true,
19
- },
20
- stop_id: {
21
- type: sequelize_1.DataTypes.STRING,
22
- allowNull: false,
23
- },
24
- platform_code: {
25
- type: sequelize_1.DataTypes.STRING,
26
- allowNull: true,
27
- },
28
- cis_stop_platform_code: {
29
- type: sequelize_1.DataTypes.STRING(15),
30
- allowNull: true,
31
- },
32
- arrival_delay_seconds: {
33
- type: sequelize_1.DataTypes.INTEGER,
34
- allowNull: true,
35
- },
36
- departure_delay_seconds: {
37
- type: sequelize_1.DataTypes.INTEGER,
38
- allowNull: true,
39
- },
40
- };
41
- //# sourceMappingURL=StopTimeDelayPredictionModel.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"StopTimeDelayPredictionModel.js","sourceRoot":"","sources":["../../../../../src/schema-definitions/vehicle-positions/models/views/StopTimeDelayPredictionModel.ts"],"names":[],"mappings":";;;AAAA,mEAAwF;AAGxF,MAAa,4BAA6B,SAAQ,iBAAmC;;AAArF,oEA2CC;AA1CiB,sCAAS,GAAG,+CAA+C,CAAC;AAU5D,2CAAc,GAAkD;IAC1E,OAAO,EAAE;QACL,IAAI,EAAE,qBAAS,CAAC,MAAM;QACtB,SAAS,EAAE,KAAK;QAChB,UAAU,EAAE,IAAI;KACnB;IACD,aAAa,EAAE;QACX,IAAI,EAAE,qBAAS,CAAC,OAAO;QACvB,SAAS,EAAE,KAAK;QAChB,UAAU,EAAE,IAAI;KACnB;IACD,OAAO,EAAE;QACL,IAAI,EAAE,qBAAS,CAAC,MAAM;QACtB,SAAS,EAAE,KAAK;KACnB;IACD,aAAa,EAAE;QACX,IAAI,EAAE,qBAAS,CAAC,MAAM;QACtB,SAAS,EAAE,IAAI;KAClB;IACD,sBAAsB,EAAE;QACpB,IAAI,EAAE,qBAAS,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1B,SAAS,EAAE,IAAI;KAClB;IACD,qBAAqB,EAAE;QACnB,IAAI,EAAE,qBAAS,CAAC,OAAO;QACvB,SAAS,EAAE,IAAI;KAClB;IACD,uBAAuB,EAAE;QACrB,IAAI,EAAE,qBAAS,CAAC,OAAO;QACvB,SAAS,EAAE,IAAI;KAClB;CACJ,CAAC"}
@@ -1,9 +0,0 @@
1
- export interface IStopTimeDelayPredictionDto {
2
- trip_id: string;
3
- stop_sequence: number;
4
- stop_id: string;
5
- platform_code: string | null;
6
- cis_stop_platform_code: string | null;
7
- arrival_delay_seconds: number | null;
8
- departure_delay_seconds: number | null;
9
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"IStopTimeDelayPredictionDto.js","sourceRoot":"","sources":["../../../../../../src/schema-definitions/vehicle-positions/models/views/interfaces/IStopTimeDelayPredictionDto.ts"],"names":[],"mappings":""}