@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
@@ -0,0 +1,98 @@
1
+ create view v_vehiclepositions_stop_time_delay_prediction as with recursive stop_times as (
2
+ select
3
+ vt.id,
4
+ rst.trip_id,
5
+ vt.provider_source_type,
6
+ vp.delay,
7
+ coalesce(vp.last_stop_sequence, 1) as initial_stop_sequence,
8
+ vp.state_position,
9
+ rst.stop_sequence,
10
+ rst.stop_id,
11
+ rs.platform_code,
12
+ vcs.cis_stop_platform_code,
13
+ rst.computed_dwell_time_seconds,
14
+ case
15
+ when vp.last_stop_sequence is null then vp.delay
16
+ else vp.delay_stop_arrival
17
+ end as arrival_delay_seconds,
18
+ case
19
+ when vp.last_stop_sequence is null then predict_delay_seconds(
20
+ vp.delay,
21
+ rst.computed_dwell_time_seconds,
22
+ vt.provider_source_type
23
+ )
24
+ when vp.state_position = 'at_stop' then case
25
+ when vt.provider_source_type = '1' then greatest(0, vp.delay)
26
+ else vp.delay
27
+ end
28
+ else vp.delay_stop_departure
29
+ end as departure_delay_seconds
30
+ from
31
+ ropidgtfs_stop_times rst
32
+ inner join vehiclepositions_trips vt on vt.gtfs_trip_id = rst.trip_id
33
+ inner join vehiclepositions_positions vp on vp.id = vt.last_position_id
34
+ and (
35
+ vp.valid_to is null
36
+ or vp.valid_to >= now()
37
+ )
38
+ left join ropidgtfs_stops rs on rs.stop_id = rst.stop_id
39
+ left join ropidgtfs_cis_stops rcs on rcs.id = rs.computed_cis_stop_id
40
+ left join vehiclepositions_cis_stops vcs on vcs.rt_trip_id = vt.id
41
+ and vcs.cis_stop_group_id = rcs.cis
42
+ where
43
+ vt.gtfs_trip_id is not null
44
+ and rst.stop_sequence = coalesce(vp.last_stop_sequence, 1)
45
+ union
46
+ all
47
+ select
48
+ previous_row.id,
49
+ rst.trip_id,
50
+ previous_row.provider_source_type,
51
+ previous_row.delay,
52
+ previous_row.initial_stop_sequence,
53
+ previous_row.state_position,
54
+ rst.stop_sequence,
55
+ rst.stop_id,
56
+ rs.platform_code,
57
+ vcs.cis_stop_platform_code,
58
+ rst.computed_dwell_time_seconds,
59
+ case
60
+ when rst.stop_sequence - previous_row.initial_stop_sequence = 1
61
+ and previous_row.state_position != 'at_stop' then previous_row.delay
62
+ else previous_row.departure_delay_seconds
63
+ end as arrival_delay_seconds,
64
+ predict_delay_seconds(
65
+ case
66
+ when rst.stop_sequence - previous_row.initial_stop_sequence = 1
67
+ and previous_row.state_position != 'at_stop' then previous_row.delay
68
+ else previous_row.departure_delay_seconds
69
+ end,
70
+ rst.computed_dwell_time_seconds,
71
+ previous_row.provider_source_type
72
+ ) as departure_delay_seconds
73
+ from
74
+ stop_times previous_row
75
+ inner join ropidgtfs_stop_times rst on rst.trip_id = previous_row.trip_id
76
+ and rst.stop_sequence = previous_row.stop_sequence + 1
77
+ left join ropidgtfs_stops rs on rs.stop_id = rst.stop_id
78
+ left join ropidgtfs_cis_stops rcs on rcs.id = rs.computed_cis_stop_id
79
+ left join vehiclepositions_cis_stops vcs on vcs.rt_trip_id = previous_row.id
80
+ and vcs.cis_stop_group_id = rcs.cis
81
+ )
82
+ select
83
+ trip_id,
84
+ stop_sequence,
85
+ stop_id,
86
+ platform_code,
87
+ cis_stop_platform_code,
88
+ arrival_delay_seconds,
89
+ departure_delay_seconds
90
+ from
91
+ stop_times
92
+ order by
93
+ trip_id,
94
+ stop_sequence;
95
+
96
+ comment on view v_vehiclepositions_stop_time_delay_prediction is '
97
+ This view contains the predicted delay of a vehicle at each stop.
98
+ ';
@@ -42,6 +42,10 @@ class RopidGTFSTripsModel extends models_1.PostgresModel {
42
42
  "stop_sequence",
43
43
  [sequelize_1.default.literal(`EXTRACT(EPOCH FROM "arrival_time"::INTERVAL)::int`), "arrival_time_seconds"],
44
44
  [sequelize_1.default.literal(`EXTRACT(EPOCH FROM "departure_time"::INTERVAL)::int`), "departure_time_seconds"],
45
+ [
46
+ sequelize_1.default.literal(`CASE when drop_off_type = '1' and pickup_type = '1' then true else false END`),
47
+ "is_no_stop_waypoint",
48
+ ],
45
49
  ],
46
50
  as: "stop_times",
47
51
  model: this.modelGTFSStopTimes.sequelizeModel,
@@ -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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"}
@@ -1,7 +1,8 @@
1
+ import { DeparturesRepository } from "./data-access/precomputed";
1
2
  import { IDatabaseConnector } from "@golemio/core/dist/helpers/data-access/postgres/IDatabaseConnector";
2
3
  import { Transaction } from "@golemio/core/dist/shared/sequelize";
3
- import { RopidGtfsRepository } from "./data-access/RopidGtfsRepository";
4
4
  import { RopidGtfsMetadataRepository } from "./RopidGtfsMetadataRepository";
5
+ import { RopidGtfsRepository } from "./data-access/RopidGtfsRepository";
5
6
  export declare enum DatasetEnum {
6
7
  PID_GTFS = "PID_GTFS",
7
8
  CIS_STOPS = "CIS_STOPS",
@@ -12,14 +13,14 @@ export declare enum DatasetEnum {
12
13
  export declare class RopidGtfsFacade {
13
14
  private ropidGtfsRepository;
14
15
  private ropidGtfsMetadataRepository;
16
+ private departureRepository;
15
17
  private databaseConnector;
16
18
  private name;
17
19
  /** Precomputed data repositories */
18
- private departuresRepository;
19
20
  private minMaxStopSequencesRepository;
20
21
  private tripScheduleRepository;
21
22
  private servicesCalendarRepository;
22
- constructor(ropidGtfsRepository: RopidGtfsRepository, ropidGtfsMetadataRepository: RopidGtfsMetadataRepository, databaseConnector: IDatabaseConnector);
23
+ constructor(ropidGtfsRepository: RopidGtfsRepository, ropidGtfsMetadataRepository: RopidGtfsMetadataRepository, departureRepository: DeparturesRepository, databaseConnector: IDatabaseConnector);
23
24
  checkSavedTmpTables: (dataset: string, version: number) => Promise<void>;
24
25
  replaceTables: (datasetInfo: Array<{
25
26
  dataset: string;
@@ -34,11 +34,11 @@ const helpers_1 = require("@golemio/core/dist/integration-engine/helpers");
34
34
  const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
35
35
  const sequelize_1 = __importDefault(require("@golemio/core/dist/shared/sequelize"));
36
36
  const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
37
+ const RopidGtfsMetadataRepository_1 = require("./RopidGtfsMetadataRepository");
37
38
  const RopidGtfsRepository_1 = require("./data-access/RopidGtfsRepository");
38
39
  const SourceTableSuffixEnum_1 = require("./helpers/SourceTableSuffixEnum");
39
40
  const RopidGtfsContainerToken_1 = require("./ioc/RopidGtfsContainerToken");
40
41
  const HelperTypes_1 = require("./workers/timetables/tasks/helpers/HelperTypes");
41
- const RopidGtfsMetadataRepository_1 = require("./RopidGtfsMetadataRepository");
42
42
  var DatasetEnum;
43
43
  (function (DatasetEnum) {
44
44
  DatasetEnum["PID_GTFS"] = "PID_GTFS";
@@ -48,9 +48,10 @@ var DatasetEnum;
48
48
  DatasetEnum["DEPARTURES_PRESETS"] = "DEPARTURES_PRESETS";
49
49
  })(DatasetEnum || (exports.DatasetEnum = DatasetEnum = {}));
50
50
  let RopidGtfsFacade = exports.RopidGtfsFacade = class RopidGtfsFacade {
51
- constructor(ropidGtfsRepository, ropidGtfsMetadataRepository, databaseConnector) {
51
+ constructor(ropidGtfsRepository, ropidGtfsMetadataRepository, departureRepository, databaseConnector) {
52
52
  this.ropidGtfsRepository = ropidGtfsRepository;
53
53
  this.ropidGtfsMetadataRepository = ropidGtfsMetadataRepository;
54
+ this.departureRepository = departureRepository;
54
55
  this.databaseConnector = databaseConnector;
55
56
  this.name = this.constructor.name;
56
57
  this.checkSavedTmpTables = (dataset, version) => __awaiter(this, void 0, void 0, function* () {
@@ -133,9 +134,8 @@ let RopidGtfsFacade = exports.RopidGtfsFacade = class RopidGtfsFacade {
133
134
  this.minMaxStopSequencesRepository["tableName"],
134
135
  this.tripScheduleRepository["tableName"],
135
136
  ], t);
136
- yield this.departuresRepository.replaceByTmp(t);
137
+ yield this.departureRepository.replaceByTmp(t);
137
138
  });
138
- this.departuresRepository = new precomputed_1.DeparturesRepository();
139
139
  this.minMaxStopSequencesRepository = new precomputed_1.MinMaxStopSequencesRepository();
140
140
  this.tripScheduleRepository = new precomputed_1.TripScheduleRepository();
141
141
  this.servicesCalendarRepository = new precomputed_1.ServicesCalendarRepository();
@@ -145,8 +145,10 @@ exports.RopidGtfsFacade = RopidGtfsFacade = __decorate([
145
145
  (0, tsyringe_1.injectable)(),
146
146
  __param(0, (0, tsyringe_1.inject)(RopidGtfsContainerToken_1.RopidGtfsContainerToken.RopidGtfsRepository)),
147
147
  __param(1, (0, tsyringe_1.inject)(RopidGtfsContainerToken_1.RopidGtfsContainerToken.RopidGtfsMetadataRepository)),
148
- __param(2, (0, tsyringe_1.inject)(CoreToken_1.CoreToken.PostgresConnector)),
148
+ __param(2, (0, tsyringe_1.inject)(RopidGtfsContainerToken_1.RopidGtfsContainerToken.DepartureRepository)),
149
+ __param(3, (0, tsyringe_1.inject)(CoreToken_1.CoreToken.PostgresConnector)),
149
150
  __metadata("design:paramtypes", [RopidGtfsRepository_1.RopidGtfsRepository,
150
- RopidGtfsMetadataRepository_1.RopidGtfsMetadataRepository, Object])
151
+ RopidGtfsMetadataRepository_1.RopidGtfsMetadataRepository,
152
+ precomputed_1.DeparturesRepository, Object])
151
153
  ], RopidGtfsFacade);
152
154
  //# sourceMappingURL=RopidGtfsFacade.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RopidGtfsFacade.js","sourceRoot":"","sources":["../../../src/integration-engine/ropid-gtfs/RopidGtfsFacade.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RopidGtfsFacade.js","sourceRoot":"","sources":["../../../src/integration-engine/ropid-gtfs/RopidGtfsFacade.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import { IRefreshPublicDepartureParams } from "../../workers/timetables/tasks/interfaces/IRefreshPublicDepartureParams";
2
+ import { IPublicGtfsDepartureCacheDto } from "../../../../schema-definitions/ropid-gtfs/redis/interfaces/IPublicGtfsDepartureCacheDto";
3
+ import { RedisModel } from "@golemio/core/dist/integration-engine/models/RedisModel";
4
+ export declare class PublicGtfsDepartureRepository extends RedisModel {
5
+ static NAMESPACE_PREFIX: string;
6
+ constructor();
7
+ /**
8
+ * Save new departures for a stop and
9
+ * - remove all older departures
10
+ * - remove departures that are in the same time range as the new ones
11
+ * (to prevent duplicates and to keep the cache clean and up-to-date)
12
+ */
13
+ replaceDeparturesForStop(departures: IPublicGtfsDepartureCacheDto[], stopId: string, intervalParams: Required<IRefreshPublicDepartureParams>): Promise<void>;
14
+ }
@@ -0,0 +1,82 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
12
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
13
+ return new (P || (P = Promise))(function (resolve, reject) {
14
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
15
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
16
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
17
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
18
+ });
19
+ };
20
+ var PublicGtfsDepartureRepository_1;
21
+ Object.defineProperty(exports, "__esModule", { value: true });
22
+ exports.PublicGtfsDepartureRepository = void 0;
23
+ const const_1 = require("../../../../schema-definitions/ropid-gtfs/redis/const");
24
+ const PublicGtfsDepartureDtoSchema_1 = require("../../../../schema-definitions/ropid-gtfs/redis/schemas/PublicGtfsDepartureDtoSchema");
25
+ const RedisModel_1 = require("@golemio/core/dist/integration-engine/models/RedisModel");
26
+ const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
27
+ const golemio_validator_1 = require("@golemio/core/dist/shared/golemio-validator");
28
+ const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
29
+ let PublicGtfsDepartureRepository = exports.PublicGtfsDepartureRepository = PublicGtfsDepartureRepository_1 = class PublicGtfsDepartureRepository extends RedisModel_1.RedisModel {
30
+ constructor() {
31
+ super("GtfsDepartureRepository", {
32
+ decodeDataAfterGet: JSON.parse,
33
+ encodeDataBeforeSave: JSON.stringify,
34
+ isKeyConstructedFromData: false,
35
+ prefix: PublicGtfsDepartureRepository_1.NAMESPACE_PREFIX,
36
+ }, new golemio_validator_1.JSONSchemaValidator("PublicGtfsDepartureRepositoryValidator", PublicGtfsDepartureDtoSchema_1.PublicGtfsDepartureDtoSchema));
37
+ }
38
+ /**
39
+ * Save new departures for a stop and
40
+ * - remove all older departures
41
+ * - remove departures that are in the same time range as the new ones
42
+ * (to prevent duplicates and to keep the cache clean and up-to-date)
43
+ */
44
+ replaceDeparturesForStop(departures, stopId, intervalParams) {
45
+ return __awaiter(this, void 0, void 0, function* () {
46
+ try {
47
+ yield this.validator.Validate(departures);
48
+ }
49
+ catch (err) {
50
+ throw new golemio_errors_1.ValidationError("Error while validating departures", this.constructor.name, err);
51
+ }
52
+ try {
53
+ const sortedSetKey = `${this.prefix}:${stopId}`;
54
+ const pipeline = this.connection.pipeline();
55
+ // Automatically remove departures that are older than 3 hours to keep the cache clean
56
+ pipeline.zremrangebyscore(sortedSetKey, "-inf", new Date().getTime() / 1000 - 3 * 3600);
57
+ const firstDepartureScore = new Date(departures[0].departure_datetime).getTime() / 1000;
58
+ const lastDepartureScore = new Date(departures[departures.length - 1].departure_datetime).getTime() / 1000;
59
+ // Remove departures that are in the same time range
60
+ pipeline.zremrangebyscore(sortedSetKey, firstDepartureScore, lastDepartureScore);
61
+ for (const departure of departures) {
62
+ const departureScore = new Date(departure.departure_datetime).getTime() / 1000;
63
+ pipeline.zadd(sortedSetKey, departureScore, JSON.stringify(departure));
64
+ }
65
+ pipeline.expire(sortedSetKey, intervalParams.intervalToHours * 3600);
66
+ yield pipeline.exec();
67
+ }
68
+ catch (err) {
69
+ if (err instanceof golemio_errors_1.AbstractGolemioError) {
70
+ throw err;
71
+ }
72
+ throw new golemio_errors_1.GeneralError(`${this.constructor.name}: error while saving departures`, this.constructor.name, err);
73
+ }
74
+ });
75
+ }
76
+ };
77
+ PublicGtfsDepartureRepository.NAMESPACE_PREFIX = const_1.PUBLIC_DEPARTURE_NAMESPACE_PREFIX;
78
+ exports.PublicGtfsDepartureRepository = PublicGtfsDepartureRepository = PublicGtfsDepartureRepository_1 = __decorate([
79
+ (0, tsyringe_1.injectable)(),
80
+ __metadata("design:paramtypes", [])
81
+ ], PublicGtfsDepartureRepository);
82
+ //# sourceMappingURL=PublicGtfsDepartureRepository.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PublicGtfsDepartureRepository.js","sourceRoot":"","sources":["../../../../../src/integration-engine/ropid-gtfs/data-access/cache/PublicGtfsDepartureRepository.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AACA,iFAAgF;AAEhF,uIAA0G;AAC1G,wFAAqF;AACrF,6EAA+G;AAC/G,mFAAkF;AAClF,iEAAgE;AAGzD,IAAM,6BAA6B,6EAAnC,MAAM,6BAA8B,SAAQ,uBAAU;IAGzD;QACI,KAAK,CACD,yBAAyB,EACzB;YACI,kBAAkB,EAAE,IAAI,CAAC,KAAK;YAC9B,oBAAoB,EAAE,IAAI,CAAC,SAAS;YACpC,wBAAwB,EAAE,KAAK;YAC/B,MAAM,EAAE,+BAA6B,CAAC,gBAAgB;SACzD,EACD,IAAI,uCAAmB,CAAC,wCAAwC,EAAE,2DAA4B,CAAC,CAClG,CAAC;IACN,CAAC;IAED;;;;;OAKG;IACU,wBAAwB,CACjC,UAA0C,EAC1C,MAAc,EACd,cAAuD;;YAEvD,IAAI;gBACA,MAAM,IAAI,CAAC,SAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;aAC9C;YAAC,OAAO,GAAG,EAAE;gBACV,MAAM,IAAI,gCAAe,CAAC,mCAAmC,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;aAC9F;YAED,IAAI;gBACA,MAAM,YAAY,GAAG,GAAG,IAAI,CAAC,MAAM,IAAI,MAAM,EAAE,CAAC;gBAChD,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;gBAE5C,sFAAsF;gBACtF,QAAQ,CAAC,gBAAgB,CAAC,YAAY,EAAE,MAAM,EAAE,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;gBAExF,MAAM,mBAAmB,GAAG,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC;gBACxF,MAAM,kBAAkB,GAAG,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC;gBAE3G,oDAAoD;gBACpD,QAAQ,CAAC,gBAAgB,CAAC,YAAY,EAAE,mBAAmB,EAAE,kBAAkB,CAAC,CAAC;gBAEjF,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE;oBAChC,MAAM,cAAc,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC;oBAC/E,QAAQ,CAAC,IAAI,CAAC,YAAY,EAAE,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC;iBAC1E;gBAED,QAAQ,CAAC,MAAM,CAAC,YAAY,EAAE,cAAc,CAAC,eAAe,GAAG,IAAI,CAAC,CAAC;gBACrE,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;aACzB;YAAC,OAAO,GAAG,EAAE;gBACV,IAAI,GAAG,YAAY,qCAAoB,EAAE;oBACrC,MAAM,GAAG,CAAC;iBACb;gBAED,MAAM,IAAI,6BAAY,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,iCAAiC,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;aACjH;QACL,CAAC;KAAA;;AA3Da,8CAAgB,GAAG,yCAAiC,AAApC,CAAqC;wCAD1D,6BAA6B;IADzC,IAAA,qBAAU,GAAE;;GACA,6BAA6B,CA6DzC"}
@@ -1,9 +1,17 @@
1
+ import { IPublicDepartureDto } from "../../interfaces/IPublicDepartureDto";
2
+ import { IRefreshPublicDepartureParams } from "../../workers/timetables/tasks/interfaces/IRefreshPublicDepartureParams";
3
+ import { ISimpleConfig } from "@golemio/core/dist/helpers/configuration/ISimpleConfig";
4
+ import { ILogger } from "@golemio/core/dist/helpers/logger";
1
5
  import { IModel, PostgresModel } from "@golemio/core/dist/integration-engine/models";
2
- import { SourceTableSuffixEnum } from "../../helpers/SourceTableSuffixEnum";
3
6
  import { Transaction } from "@golemio/core/dist/shared/sequelize";
7
+ import { SourceTableSuffixEnum } from "../../helpers/SourceTableSuffixEnum";
4
8
  export declare class DeparturesRepository extends PostgresModel implements IModel {
5
- constructor();
9
+ private config;
10
+ private logger;
11
+ constructor(config: ISimpleConfig, logger: ILogger);
6
12
  createAndPopulate: (sourceTableSuffix: SourceTableSuffixEnum) => Promise<void>;
13
+ countDeparturesForPublicCache: (intervalParams: Required<IRefreshPublicDepartureParams>) => Promise<number>;
14
+ getDepaturesForPublicCache: (page: number, pageSize: number, intervalParams: Required<IRefreshPublicDepartureParams>) => Promise<IPublicDepartureDto[]>;
7
15
  replaceByTmp: (transaction: Transaction) => Promise<void>;
8
16
  analyze: () => Promise<void>;
9
17
  }
@@ -1,4 +1,16 @@
1
1
  "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
2
14
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
15
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
16
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -13,13 +25,15 @@ exports.DeparturesRepository = void 0;
13
25
  const RouteTypeEnums_1 = require("../../../../helpers/RouteTypeEnums");
14
26
  const const_1 = require("../../../../schema-definitions/const");
15
27
  const precomputed_1 = require("../../../../schema-definitions/ropid-gtfs/models/precomputed");
16
- const config_1 = require("@golemio/core/dist/integration-engine/config");
17
- const helpers_1 = require("@golemio/core/dist/integration-engine/helpers");
28
+ const CoreToken_1 = require("@golemio/core/dist/helpers/ioc/CoreToken");
18
29
  const models_1 = require("@golemio/core/dist/integration-engine/models");
30
+ const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
19
31
  const golemio_validator_1 = require("@golemio/core/dist/shared/golemio-validator");
32
+ const sequelize_1 = require("@golemio/core/dist/shared/sequelize");
33
+ const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
20
34
  const SourceTableSuffixEnum_1 = require("../../helpers/SourceTableSuffixEnum");
21
- class DeparturesRepository extends models_1.PostgresModel {
22
- constructor() {
35
+ let DeparturesRepository = exports.DeparturesRepository = class DeparturesRepository extends models_1.PostgresModel {
36
+ constructor(config, logger) {
23
37
  super("DeparturesRepository", {
24
38
  pgTableName: precomputed_1.DeparturesModel.TABLE_NAME,
25
39
  pgSchema: const_1.PG_SCHEMA,
@@ -27,8 +41,11 @@ class DeparturesRepository extends models_1.PostgresModel {
27
41
  attributesToRemove: ["id", "created_at", "updated_at"],
28
42
  savingType: "insertOnly",
29
43
  }, new golemio_validator_1.JSONSchemaValidator("DeparturesRepository", precomputed_1.DeparturesModel.jsonSchema));
44
+ this.config = config;
45
+ this.logger = logger;
30
46
  this.createAndPopulate = (sourceTableSuffix) => __awaiter(this, void 0, void 0, function* () {
31
- const timeConstraintLiteral = config_1.config.NODE_ENV !== "test" ? `WHERE gtfs_timestamp(t.arrival_time, t4.date) > now() - interval '6 hours'` : "";
47
+ const nodeEnv = this.config.getValue("env.NODE_ENV", "development");
48
+ const timeConstraintLiteral = nodeEnv !== "test" ? `WHERE gtfs_timestamp(t.arrival_time, t4.date) > now() - interval '6 hours'` : "";
32
49
  /* eslint-disable max-len */
33
50
  const sql = `
34
51
  SELECT
@@ -89,10 +106,59 @@ class DeparturesRepository extends models_1.PostgresModel {
89
106
  });
90
107
  }
91
108
  catch (err) {
92
- helpers_1.log.error(err);
109
+ this.logger.error(err);
93
110
  throw err;
94
111
  }
95
112
  });
113
+ this.countDeparturesForPublicCache = (intervalParams) => __awaiter(this, void 0, void 0, function* () {
114
+ try {
115
+ return yield this.sequelizeModel.count({
116
+ where: {
117
+ departure_datetime: {
118
+ [sequelize_1.Op.between]: [
119
+ sequelize_1.Sequelize.literal(`now() + interval '${intervalParams.intervalFromHours} hours'`),
120
+ sequelize_1.Sequelize.literal(`now() + interval '${intervalParams.intervalToHours} hours'`),
121
+ ],
122
+ },
123
+ },
124
+ });
125
+ }
126
+ catch (err) {
127
+ throw new golemio_errors_1.GeneralError("Error while getting number of departures", this.constructor.name, err);
128
+ }
129
+ });
130
+ this.getDepaturesForPublicCache = (page, pageSize, intervalParams) => __awaiter(this, void 0, void 0, function* () {
131
+ try {
132
+ return yield this.sequelizeModel.findAll({
133
+ attributes: [
134
+ "stop_id",
135
+ "departure_datetime",
136
+ "arrival_datetime",
137
+ "route_short_name",
138
+ "route_type",
139
+ "trip_id",
140
+ "stop_sequence",
141
+ "platform_code",
142
+ "trip_headsign",
143
+ ],
144
+ where: {
145
+ departure_datetime: {
146
+ [sequelize_1.Op.between]: [
147
+ sequelize_1.Sequelize.literal(`now() + interval '${intervalParams.intervalFromHours} hours'`),
148
+ sequelize_1.Sequelize.literal(`now() + interval '${intervalParams.intervalToHours} hours'`),
149
+ ],
150
+ },
151
+ },
152
+ order: [["departure_datetime", "ASC"]],
153
+ offset: page * pageSize,
154
+ limit: pageSize,
155
+ raw: true,
156
+ });
157
+ }
158
+ catch (err) {
159
+ throw new golemio_errors_1.GeneralError("Error while getting departures for public cache", this.constructor.name, err);
160
+ }
161
+ });
96
162
  this.replaceByTmp = (transaction) => __awaiter(this, void 0, void 0, function* () {
97
163
  try {
98
164
  const tableName = precomputed_1.DeparturesModel.TABLE_NAME;
@@ -106,7 +172,7 @@ class DeparturesRepository extends models_1.PostgresModel {
106
172
  DROP TABLE ${dropTableName} CASCADE;`, { transaction });
107
173
  }
108
174
  catch (err) {
109
- helpers_1.log.error(err);
175
+ this.logger.error(err);
110
176
  throw err;
111
177
  }
112
178
  });
@@ -115,11 +181,16 @@ class DeparturesRepository extends models_1.PostgresModel {
115
181
  yield this.sequelizeModel.sequelize.query(`analyze ${const_1.PG_SCHEMA}.${precomputed_1.DeparturesModel.TABLE_NAME}${SourceTableSuffixEnum_1.SourceTableSuffixEnum.Tmp};`);
116
182
  }
117
183
  catch (err) {
118
- helpers_1.log.error(err);
184
+ this.logger.error(err);
119
185
  throw err;
120
186
  }
121
187
  });
122
188
  }
123
- }
124
- exports.DeparturesRepository = DeparturesRepository;
189
+ };
190
+ exports.DeparturesRepository = DeparturesRepository = __decorate([
191
+ (0, tsyringe_1.injectable)(),
192
+ __param(0, (0, tsyringe_1.inject)(CoreToken_1.CoreToken.SimpleConfig)),
193
+ __param(1, (0, tsyringe_1.inject)(CoreToken_1.CoreToken.Logger)),
194
+ __metadata("design:paramtypes", [Object, Object])
195
+ ], DeparturesRepository);
125
196
  //# sourceMappingURL=DeparturesRepository.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DeparturesRepository.js","sourceRoot":"","sources":["../../../../../src/integration-engine/ropid-gtfs/data-access/precomputed/DeparturesRepository.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,uEAA4D;AAC5D,gEAAuC;AACvC,8FAAqE;AACrE,yEAAsE;AACtE,2EAAoE;AACpE,yEAAqF;AACrF,mFAAkF;AAClF,+EAA4E;AAG5E,MAAa,oBAAqB,SAAQ,sBAAa;IACnD;QACI,KAAK,CACD,sBAAsB,EACtB;YACI,WAAW,EAAE,6BAAe,CAAC,UAAU;YACvC,QAAQ,EAAE,iBAAS;YACnB,yBAAyB,EAAE,6BAAe,CAAC,cAAc;YACzD,kBAAkB,EAAE,CAAC,IAAI,EAAE,YAAY,EAAE,YAAY,CAAC;YACtD,UAAU,EAAE,YAAY;SAC3B,EACD,IAAI,uCAAmB,CAAC,sBAAsB,EAAE,6BAAe,CAAC,UAAU,CAAC,CAC9E,CAAC;QAGC,sBAAiB,GAAG,CAAO,iBAAwC,EAAiB,EAAE;YACzF,MAAM,qBAAqB,GACvB,eAAM,CAAC,QAAQ,KAAK,MAAM,CAAC,CAAC,CAAC,4EAA4E,CAAC,CAAC,CAAC,EAAE,CAAC;YAEnH,4BAA4B;YAC5B,MAAM,GAAG,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uCAiCmB,iBAAiB;2CACb,iBAAiB;2CACjB,iBAAiB;;;8CAGd,iBAAiB;4CACnB,iBAAiB;gDACb,iBAAiB;gDACjB,iBAAiB;;cAEnD,qBAAqB,EAAE,CAAC;YAC9B,2BAA2B;YAE3B,IAAI;gBACA,MAAM,SAAS,GAAG,6BAAe,CAAC,UAAU,CAAC;gBAC7C,MAAM,YAAY,GAAG,SAAS,GAAG,6CAAqB,CAAC,GAAG,CAAC;gBAE3D,MAAM,IAAI,CAAC,cAAc,CAAC,SAAU,CAAC,KAAK,CACtC;2CAC2B,iBAAS;uCACb,YAAY;+BACpB,YAAY,UAAU,SAAS;8BAChC,YAAY,IAAI,GAAG,GAAG,EACpC;oBACI,YAAY,EAAE;wBACV,gBAAgB,EAAE,kCAAiB,CAAC,iBAAiB;qBACxD;iBACJ,CACJ,CAAC;aACL;YAAC,OAAO,GAAG,EAAE;gBACV,aAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACf,MAAM,GAAG,CAAC;aACb;QACL,CAAC,CAAA,CAAC;QAEK,iBAAY,GAAG,CAAO,WAAwB,EAAiB,EAAE;YACpE,IAAI;gBACA,MAAM,SAAS,GAAG,6BAAe,CAAC,UAAU,CAAC;gBAC7C,MAAM,YAAY,GAAG,SAAS,GAAG,6CAAqB,CAAC,GAAG,CAAC;gBAC3D,MAAM,aAAa,GAAG,SAAS,GAAG,6CAAqB,CAAC,IAAI,CAAC;gBAE7D,MAAM,IAAI,CAAC,cAAc,CAAC,SAAU,CAAC,KAAK,CACtC;2CAC2B,iBAAS;uBAC7B,SAAS;8BACF,SAAS,cAAc,aAAa;8BACpC,YAAY,cAAc,SAAS;6BACpC,aAAa,WAAW,EACrC,EAAE,WAAW,EAAE,CAClB,CAAC;aACL;YAAC,OAAO,GAAG,EAAE;gBACV,aAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACf,MAAM,GAAG,CAAC;aACb;QACL,CAAC,CAAA,CAAC;QAEK,YAAO,GAAG,GAAwB,EAAE;YACvC,IAAI;gBACA,MAAM,IAAI,CAAC,cAAc,CAAC,SAAU,CAAC,KAAK,CACtC,WAAW,iBAAS,IAAI,6BAAe,CAAC,UAAU,GAAG,6CAAqB,CAAC,GAAG,GAAG,CACpF,CAAC;aACL;YAAC,OAAO,GAAG,EAAE;gBACV,aAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACf,MAAM,GAAG,CAAC;aACb;QACL,CAAC,CAAA,CAAC;IAzGF,CAAC;CA0GJ;AAvHD,oDAuHC"}
1
+ {"version":3,"file":"DeparturesRepository.js","sourceRoot":"","sources":["../../../../../src/integration-engine/ropid-gtfs/data-access/precomputed/DeparturesRepository.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import { GTFSRouteTypeEnum } from "../../../helpers/RouteTypeEnums";
2
+ export interface IPublicDepartureDto {
3
+ stop_id: string;
4
+ departure_datetime: Date;
5
+ arrival_datetime: Date | null;
6
+ route_short_name: string;
7
+ route_type: GTFSRouteTypeEnum;
8
+ trip_id: string;
9
+ stop_sequence: number;
10
+ platform_code: string | null;
11
+ trip_headsign: string;
12
+ }
@@ -1,3 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=IStopTimeDelayPredictionDto.js.map
3
+ //# sourceMappingURL=IPublicDepartureDto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IPublicDepartureDto.js","sourceRoot":"","sources":["../../../../src/integration-engine/ropid-gtfs/interfaces/IPublicDepartureDto.ts"],"names":[],"mappings":""}
@@ -21,6 +21,7 @@ export interface IStopTime {
21
21
  stop_id: string;
22
22
  stop_sequence: number;
23
23
  stop_headsign: string;
24
+ is_no_stop_waypoint: boolean;
24
25
  stop: IStop;
25
26
  }
26
27
  export interface ITripWithShapesAndStopTimes {
@@ -9,9 +9,13 @@ const RopidGtfsFacade_1 = require("../RopidGtfsFacade");
9
9
  const RopidGtfsMetadataRepository_1 = require("../RopidGtfsMetadataRepository");
10
10
  const RopidGtfsRepository_1 = require("../data-access/RopidGtfsRepository");
11
11
  const BlockStopsRedisRepository_1 = require("../data-access/cache/BlockStopsRedisRepository");
12
+ const PublicGtfsDepartureRepository_1 = require("../data-access/cache/PublicGtfsDepartureRepository");
12
13
  const StaticFileRedisRepository_1 = require("../data-access/cache/StaticFileRedisRepository");
14
+ const precomputed_1 = require("../data-access/precomputed");
13
15
  const DeparturePresetsFacade_1 = require("../facade/DeparturePresetsFacade");
16
+ const PublicDepartureCacheTransformation_1 = require("../transformations/PublicDepartureCacheTransformation");
14
17
  const RopidGTFSTransformation_1 = require("../transformations/RopidGTFSTransformation");
18
+ const RefreshPublicGtfsDepartureCacheTask_1 = require("../workers/timetables/tasks/RefreshPublicGtfsDepartureCacheTask");
15
19
  const PrecomputedTablesFacade_1 = require("../workers/timetables/tasks/helpers/PrecomputedTablesFacade");
16
20
  const RopidGtfsFactory_1 = require("../workers/timetables/tasks/helpers/RopidGtfsFactory");
17
21
  const RopidGtfsContainerToken_1 = require("./RopidGtfsContainerToken");
@@ -25,9 +29,12 @@ RopidGtfsContainer.registerSingleton(RopidGtfsContainerToken_1.RopidGtfsContaine
25
29
  //#region Repositories
26
30
  RopidGtfsContainer.registerSingleton(RopidGtfsContainerToken_1.RopidGtfsContainerToken.StaticFileRedisRepository, StaticFileRedisRepository_1.StaticFileRedisRepository).registerSingleton(RopidGtfsContainerToken_1.RopidGtfsContainerToken.RopidGtfsRepository, RopidGtfsRepository_1.RopidGtfsRepository);
27
31
  RopidGtfsContainer.register(RopidGtfsContainerToken_1.RopidGtfsContainerToken.RopidGtfsMetadataRepository, RopidGtfsMetadataRepository_1.RopidGtfsMetadataRepository);
32
+ RopidGtfsContainer.register(RopidGtfsContainerToken_1.RopidGtfsContainerToken.DepartureRepository, precomputed_1.DeparturesRepository);
33
+ RopidGtfsContainer.register(RopidGtfsContainerToken_1.RopidGtfsContainerToken.PublicGtfsDepartureRepository, PublicGtfsDepartureRepository_1.PublicGtfsDepartureRepository);
28
34
  //#endregion
29
35
  //#region Transformations
30
36
  RopidGtfsContainer.registerSingleton(RopidGtfsContainerToken_1.RopidGtfsContainerToken.RopidGTFSTransformation, RopidGTFSTransformation_1.RopidGTFSTransformation);
37
+ RopidGtfsContainer.registerSingleton(RopidGtfsContainerToken_1.RopidGtfsContainerToken.PublicDepartureCacheTransformation, PublicDepartureCacheTransformation_1.PublicDepartureCacheTransformation);
31
38
  //#endregion
32
39
  //#region Facade
33
40
  RopidGtfsContainer.registerSingleton(RopidGtfsContainerToken_1.RopidGtfsContainerToken.RopidGtfsFacade, RopidGtfsFacade_1.RopidGtfsFacade);
@@ -35,4 +42,7 @@ RopidGtfsContainer.registerSingleton(RopidGtfsContainerToken_1.RopidGtfsContaine
35
42
  .register(RopidGtfsContainerToken_1.RopidGtfsContainerToken.RopidGtfsFactory, RopidGtfsFactory_1.RopidGtfsFactory, { lifecycle: tsyringe_1.Lifecycle.Transient })
36
43
  .registerInstance(RopidGtfsContainerToken_1.RopidGtfsContainerToken.RedisPubSubChannel, new pubsub_1.RedisPubSubChannel(ropid_gtfs_1.RopidGTFS.name));
37
44
  RopidGtfsContainer.registerSingleton(RopidGtfsContainerToken_1.RopidGtfsContainerToken.DeparturePresetsFacade, DeparturePresetsFacade_1.DeparturePresetsFacade);
45
+ //#endregion
46
+ //#region Tasks
47
+ RopidGtfsContainer.registerSingleton(RopidGtfsContainerToken_1.RopidGtfsContainerToken.RefreshPublicGtfsDepartureCacheTask, RefreshPublicGtfsDepartureCacheTask_1.RefreshPublicGtfsDepartureCacheTask);
38
48
  //# sourceMappingURL=Di.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Di.js","sourceRoot":"","sources":["../../../../src/integration-engine/ropid-gtfs/ioc/Di.ts"],"names":[],"mappings":";;;AAAA,qCAA0C;AAC1C,uEAA4C;AAC5C,qFAA8F;AAC9F,iEAAoF;AACpF,wDAAqD;AACrD,gFAA6E;AAC7E,4EAAyE;AACzE,8FAA2F;AAC3F,8FAA2F;AAC3F,6EAA0E;AAC1E,wFAAqF;AACrF,yGAAsG;AACtG,2FAAwF;AACxF,uEAAoE;AAEpE,wBAAwB;AACxB,MAAM,kBAAkB,GAAwB,iBAAY,CAAC,oBAAoB,EAAE,CAAC;AA4B3E,gDAAkB;AA3B3B,YAAY;AAEZ,qBAAqB;AACrB,kBAAkB,CAAC,iBAAiB,CAAC,iDAAuB,CAAC,yBAAyB,EAAE,qDAAyB,CAAC,CAAC;AACnH,YAAY;AAEZ,sBAAsB;AACtB,kBAAkB,CAAC,iBAAiB,CAChC,iDAAuB,CAAC,yBAAyB,EACjD,qDAAyB,CAC5B,CAAC,iBAAiB,CAAC,iDAAuB,CAAC,mBAAmB,EAAE,yCAAmB,CAAC,CAAC;AACtF,kBAAkB,CAAC,QAAQ,CAAC,iDAAuB,CAAC,2BAA2B,EAAE,yDAA2B,CAAC,CAAC;AAC9G,YAAY;AAEZ,yBAAyB;AACzB,kBAAkB,CAAC,iBAAiB,CAAC,iDAAuB,CAAC,uBAAuB,EAAE,iDAAuB,CAAC,CAAC;AAC/G,YAAY;AAEZ,gBAAgB;AAChB,kBAAkB,CAAC,iBAAiB,CAAC,iDAAuB,CAAC,eAAe,EAAE,iCAAe,CAAC,CAAC;AAC/F,kBAAkB,CAAC,iBAAiB,CAAC,iDAAuB,CAAC,uBAAuB,EAAE,iDAAuB,CAAC;KACzG,QAAQ,CAAC,iDAAuB,CAAC,gBAAgB,EAAE,mCAAgB,EAAE,EAAE,SAAS,EAAE,oBAAS,CAAC,SAAS,EAAE,CAAC;KACxG,gBAAgB,CAAC,iDAAuB,CAAC,kBAAkB,EAAE,IAAI,2BAAkB,CAAC,sBAAS,CAAC,IAAI,CAAC,CAAC,CAAC;AAE1G,kBAAkB,CAAC,iBAAiB,CAAC,iDAAuB,CAAC,sBAAsB,EAAE,+CAAsB,CAAC,CAAC"}
1
+ {"version":3,"file":"Di.js","sourceRoot":"","sources":["../../../../src/integration-engine/ropid-gtfs/ioc/Di.ts"],"names":[],"mappings":";;;AAAA,qCAA0C;AAC1C,uEAA4C;AAC5C,qFAA8F;AAC9F,iEAAoF;AACpF,wDAAqD;AACrD,gFAA6E;AAC7E,4EAAyE;AACzE,8FAA2F;AAC3F,sGAAmG;AACnG,8FAA2F;AAC3F,4DAAkE;AAClE,6EAA0E;AAC1E,8GAA2G;AAC3G,wFAAqF;AACrF,yHAAsH;AACtH,yGAAsG;AACtG,2FAAwF;AACxF,uEAAoE;AAEpE,wBAAwB;AACxB,MAAM,kBAAkB,GAAwB,iBAAY,CAAC,oBAAoB,EAAE,CAAC;AAyC3E,gDAAkB;AAxC3B,YAAY;AAEZ,qBAAqB;AACrB,kBAAkB,CAAC,iBAAiB,CAAC,iDAAuB,CAAC,yBAAyB,EAAE,qDAAyB,CAAC,CAAC;AACnH,YAAY;AAEZ,sBAAsB;AACtB,kBAAkB,CAAC,iBAAiB,CAChC,iDAAuB,CAAC,yBAAyB,EACjD,qDAAyB,CAC5B,CAAC,iBAAiB,CAAC,iDAAuB,CAAC,mBAAmB,EAAE,yCAAmB,CAAC,CAAC;AACtF,kBAAkB,CAAC,QAAQ,CAAC,iDAAuB,CAAC,2BAA2B,EAAE,yDAA2B,CAAC,CAAC;AAC9G,kBAAkB,CAAC,QAAQ,CAAC,iDAAuB,CAAC,mBAAmB,EAAE,kCAAoB,CAAC,CAAC;AAC/F,kBAAkB,CAAC,QAAQ,CAAC,iDAAuB,CAAC,6BAA6B,EAAE,6DAA6B,CAAC,CAAC;AAClH,YAAY;AAEZ,yBAAyB;AACzB,kBAAkB,CAAC,iBAAiB,CAAC,iDAAuB,CAAC,uBAAuB,EAAE,iDAAuB,CAAC,CAAC;AAC/G,kBAAkB,CAAC,iBAAiB,CAChC,iDAAuB,CAAC,kCAAkC,EAC1D,uEAAkC,CACrC,CAAC;AACF,YAAY;AAEZ,gBAAgB;AAChB,kBAAkB,CAAC,iBAAiB,CAAC,iDAAuB,CAAC,eAAe,EAAE,iCAAe,CAAC,CAAC;AAC/F,kBAAkB,CAAC,iBAAiB,CAAC,iDAAuB,CAAC,uBAAuB,EAAE,iDAAuB,CAAC;KACzG,QAAQ,CAAC,iDAAuB,CAAC,gBAAgB,EAAE,mCAAgB,EAAE,EAAE,SAAS,EAAE,oBAAS,CAAC,SAAS,EAAE,CAAC;KACxG,gBAAgB,CAAC,iDAAuB,CAAC,kBAAkB,EAAE,IAAI,2BAAkB,CAAC,sBAAS,CAAC,IAAI,CAAC,CAAC,CAAC;AAE1G,kBAAkB,CAAC,iBAAiB,CAAC,iDAAuB,CAAC,sBAAsB,EAAE,+CAAsB,CAAC,CAAC;AAC7G,YAAY;AAEZ,eAAe;AACf,kBAAkB,CAAC,iBAAiB,CAChC,iDAAuB,CAAC,mCAAmC,EAC3D,yEAAmC,CACtC,CAAC"}
@@ -4,10 +4,14 @@ declare const RopidGtfsContainerToken: {
4
4
  PrecomputedTablesFacade: symbol;
5
5
  StaticFileRedisRepository: symbol;
6
6
  RopidGTFSTransformation: symbol;
7
+ PublicDepartureCacheTransformation: symbol;
7
8
  RopidGtfsFactory: symbol;
8
9
  RedisPubSubChannel: symbol;
9
10
  RopidGtfsRepository: symbol;
11
+ DepartureRepository: symbol;
12
+ PublicGtfsDepartureRepository: symbol;
10
13
  DeparturePresetsFacade: symbol;
11
14
  RopidGtfsFacade: symbol;
15
+ RefreshPublicGtfsDepartureCacheTask: symbol;
12
16
  };
13
17
  export { RopidGtfsContainerToken };
@@ -7,11 +7,15 @@ const RopidGtfsContainerToken = {
7
7
  PrecomputedTablesFacade: Symbol(),
8
8
  StaticFileRedisRepository: Symbol(),
9
9
  RopidGTFSTransformation: Symbol(),
10
+ PublicDepartureCacheTransformation: Symbol(),
10
11
  RopidGtfsFactory: Symbol(),
11
12
  RedisPubSubChannel: Symbol(),
12
13
  RopidGtfsRepository: Symbol(),
14
+ DepartureRepository: Symbol(),
15
+ PublicGtfsDepartureRepository: Symbol(),
13
16
  DeparturePresetsFacade: Symbol(),
14
17
  RopidGtfsFacade: Symbol(),
18
+ RefreshPublicGtfsDepartureCacheTask: Symbol(),
15
19
  };
16
20
  exports.RopidGtfsContainerToken = RopidGtfsContainerToken;
17
21
  //# sourceMappingURL=RopidGtfsContainerToken.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RopidGtfsContainerToken.js","sourceRoot":"","sources":["../../../../src/integration-engine/ropid-gtfs/ioc/RopidGtfsContainerToken.ts"],"names":[],"mappings":";;;AAAA,MAAM,uBAAuB,GAAG;IAC5B,yBAAyB,EAAE,MAAM,EAAE;IACnC,2BAA2B,EAAE,MAAM,EAAE;IACrC,uBAAuB,EAAE,MAAM,EAAE;IACjC,yBAAyB,EAAE,MAAM,EAAE;IACnC,uBAAuB,EAAE,MAAM,EAAE;IACjC,gBAAgB,EAAE,MAAM,EAAE;IAC1B,kBAAkB,EAAE,MAAM,EAAE;IAC5B,mBAAmB,EAAE,MAAM,EAAE;IAC7B,sBAAsB,EAAE,MAAM,EAAE;IAChC,eAAe,EAAE,MAAM,EAAE;CAC5B,CAAC;AAEO,0DAAuB"}
1
+ {"version":3,"file":"RopidGtfsContainerToken.js","sourceRoot":"","sources":["../../../../src/integration-engine/ropid-gtfs/ioc/RopidGtfsContainerToken.ts"],"names":[],"mappings":";;;AAAA,MAAM,uBAAuB,GAAG;IAC5B,yBAAyB,EAAE,MAAM,EAAE;IACnC,2BAA2B,EAAE,MAAM,EAAE;IACrC,uBAAuB,EAAE,MAAM,EAAE;IACjC,yBAAyB,EAAE,MAAM,EAAE;IACnC,uBAAuB,EAAE,MAAM,EAAE;IACjC,kCAAkC,EAAE,MAAM,EAAE;IAC5C,gBAAgB,EAAE,MAAM,EAAE;IAC1B,kBAAkB,EAAE,MAAM,EAAE;IAC5B,mBAAmB,EAAE,MAAM,EAAE;IAC7B,mBAAmB,EAAE,MAAM,EAAE;IAC7B,6BAA6B,EAAE,MAAM,EAAE;IACvC,sBAAsB,EAAE,MAAM,EAAE;IAChC,eAAe,EAAE,MAAM,EAAE;IACzB,mCAAmC,EAAE,MAAM,EAAE;CAChD,CAAC;AAEO,0DAAuB"}