@golemio/pid 4.0.2 → 4.0.3-dev.1988936235

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 (198) hide show
  1. package/README.md +1 -1
  2. package/db/example/redis/gtfsStopsCacheMock.json +8 -0
  3. package/db/example/redis/jisCacheMock.json +31 -0
  4. package/db/migrations/postgresql/20250716143052-add-stop-name-to-combined-stop-times.js +53 -0
  5. package/db/migrations/postgresql/sqls/20250716143052-add-stop-name-to-combined-stop-times-down.sql +47 -0
  6. package/db/migrations/postgresql/sqls/20250716143052-add-stop-name-to-combined-stop-times-up.sql +47 -0
  7. package/dist/helpers/GtfsStopParser.d.ts +2 -0
  8. package/dist/helpers/GtfsStopParser.js +11 -8
  9. package/dist/helpers/GtfsStopParser.js.map +1 -1
  10. package/dist/helpers/jis/JISInfotextSeverityLevelPriority.d.ts +6 -0
  11. package/dist/helpers/jis/JISInfotextSeverityLevelPriority.js +11 -0
  12. package/dist/helpers/jis/JISInfotextSeverityLevelPriority.js.map +1 -0
  13. package/dist/input-gateway/vehicle-positions/VehiclePositionsController.js +0 -1
  14. package/dist/input-gateway/vehicle-positions/VehiclePositionsController.js.map +1 -1
  15. package/dist/integration-engine/jis/ioc/Di.js +10 -0
  16. package/dist/integration-engine/jis/ioc/Di.js.map +1 -1
  17. package/dist/integration-engine/jis/ioc/JISContainerToken.d.ts +4 -0
  18. package/dist/integration-engine/jis/ioc/JISContainerToken.js +5 -0
  19. package/dist/integration-engine/jis/ioc/JISContainerToken.js.map +1 -1
  20. package/dist/integration-engine/jis/repositories/JISInfotextsRedisRepository.d.ts +9 -0
  21. package/dist/integration-engine/jis/repositories/JISInfotextsRedisRepository.js +86 -0
  22. package/dist/integration-engine/jis/repositories/JISInfotextsRedisRepository.js.map +1 -0
  23. package/dist/integration-engine/jis/repositories/JISInfotextsRepository.d.ts +6 -1
  24. package/dist/integration-engine/jis/repositories/JISInfotextsRepository.js +50 -2
  25. package/dist/integration-engine/jis/repositories/JISInfotextsRepository.js.map +1 -1
  26. package/dist/integration-engine/jis/repositories/JISMetadataRepository.d.ts +4 -1
  27. package/dist/integration-engine/jis/repositories/JISMetadataRepository.js +37 -12
  28. package/dist/integration-engine/jis/repositories/JISMetadataRepository.js.map +1 -1
  29. package/dist/integration-engine/jis/transformations/JISInfotextCacheTranformation.d.ts +7 -0
  30. package/dist/integration-engine/jis/transformations/JISInfotextCacheTranformation.js +37 -0
  31. package/dist/integration-engine/jis/transformations/JISInfotextCacheTranformation.js.map +1 -0
  32. package/dist/integration-engine/jis/workers/JISWorker.js +1 -0
  33. package/dist/integration-engine/jis/workers/JISWorker.js.map +1 -1
  34. package/dist/integration-engine/jis/workers/tasks/AbstractFetchJISResourceTask.d.ts +14 -0
  35. package/dist/integration-engine/jis/workers/tasks/AbstractFetchJISResourceTask.js +71 -0
  36. package/dist/integration-engine/jis/workers/tasks/AbstractFetchJISResourceTask.js.map +1 -0
  37. package/dist/integration-engine/jis/workers/tasks/FetchJISEventsTask.d.ts +10 -4
  38. package/dist/integration-engine/jis/workers/tasks/FetchJISEventsTask.js +15 -22
  39. package/dist/integration-engine/jis/workers/tasks/FetchJISEventsTask.js.map +1 -1
  40. package/dist/integration-engine/jis/workers/tasks/FetchJISInfotextsTask.d.ts +10 -5
  41. package/dist/integration-engine/jis/workers/tasks/FetchJISInfotextsTask.js +15 -23
  42. package/dist/integration-engine/jis/workers/tasks/FetchJISInfotextsTask.js.map +1 -1
  43. package/dist/integration-engine/jis/workers/tasks/RefreshJISInfotextsCacheTask.d.ts +13 -0
  44. package/dist/integration-engine/jis/workers/tasks/RefreshJISInfotextsCacheTask.js +47 -0
  45. package/dist/integration-engine/jis/workers/tasks/RefreshJISInfotextsCacheTask.js.map +1 -0
  46. package/dist/integration-engine/jis/workers/tasks/RefreshJISInfotextsTask.d.ts +1 -2
  47. package/dist/integration-engine/jis/workers/tasks/RefreshJISInfotextsTask.js +5 -4
  48. package/dist/integration-engine/jis/workers/tasks/RefreshJISInfotextsTask.js.map +1 -1
  49. package/dist/integration-engine/ropid-gtfs/RopidGTFSCisStopsModel.d.ts +18 -0
  50. package/dist/integration-engine/ropid-gtfs/RopidGTFSCisStopsModel.js +44 -0
  51. package/dist/integration-engine/ropid-gtfs/RopidGTFSCisStopsModel.js.map +1 -0
  52. package/dist/integration-engine/ropid-gtfs/RopidGTFSStopsModel.d.ts +5 -1
  53. package/dist/integration-engine/ropid-gtfs/RopidGTFSStopsModel.js +24 -0
  54. package/dist/integration-engine/ropid-gtfs/RopidGTFSStopsModel.js.map +1 -1
  55. package/dist/integration-engine/ropid-gtfs/data-access/cache/DelayComputationRedisRepository.js.map +1 -1
  56. package/dist/integration-engine/ropid-gtfs/index.d.ts +1 -0
  57. package/dist/integration-engine/ropid-gtfs/index.js +1 -0
  58. package/dist/integration-engine/ropid-gtfs/index.js.map +1 -1
  59. package/dist/integration-engine/ropid-gtfs/ioc/Di.js +8 -0
  60. package/dist/integration-engine/ropid-gtfs/ioc/Di.js.map +1 -1
  61. package/dist/integration-engine/ropid-gtfs/ioc/RopidGtfsContainerToken.d.ts +3 -0
  62. package/dist/integration-engine/ropid-gtfs/ioc/RopidGtfsContainerToken.js +3 -0
  63. package/dist/integration-engine/ropid-gtfs/ioc/RopidGtfsContainerToken.js.map +1 -1
  64. package/dist/integration-engine/ropid-gtfs/transformations/RopidDeparturesPresetsTransformation.js +1 -1
  65. package/dist/integration-engine/ropid-gtfs/transformations/RopidDeparturesPresetsTransformation.js.map +1 -1
  66. package/dist/integration-engine/ropid-gtfs/workers/timetables/TimetableWorker.js +1 -0
  67. package/dist/integration-engine/ropid-gtfs/workers/timetables/TimetableWorker.js.map +1 -1
  68. package/dist/integration-engine/ropid-gtfs/workers/timetables/tasks/CheckSavedRowsAndReplaceTablesTask.js +8 -5
  69. package/dist/integration-engine/ropid-gtfs/workers/timetables/tasks/CheckSavedRowsAndReplaceTablesTask.js.map +1 -1
  70. package/dist/integration-engine/ropid-gtfs/workers/timetables/tasks/RefreshGtfsStopsCacheTask.d.ts +12 -0
  71. package/dist/integration-engine/ropid-gtfs/workers/timetables/tasks/RefreshGtfsStopsCacheTask.js +44 -0
  72. package/dist/integration-engine/ropid-gtfs/workers/timetables/tasks/RefreshGtfsStopsCacheTask.js.map +1 -0
  73. package/dist/integration-engine/ropid-gtfs/workers/timetables/tasks/data-access/cache/GtfsStopsRedisRepository.d.ts +12 -0
  74. package/dist/integration-engine/ropid-gtfs/workers/timetables/tasks/data-access/cache/GtfsStopsRedisRepository.js +87 -0
  75. package/dist/integration-engine/ropid-gtfs/workers/timetables/tasks/data-access/cache/GtfsStopsRedisRepository.js.map +1 -0
  76. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/TripsRepository.js +1 -0
  77. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/TripsRepository.js.map +1 -1
  78. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/interfaces/TripRepositoryInterfaces.d.ts +2 -1
  79. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/PropagateTrainDelayTask.js.map +1 -1
  80. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/RefreshPublicStopTimeCacheTask.js +1 -0
  81. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/RefreshPublicStopTimeCacheTask.js.map +1 -1
  82. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/transformations/PublicApiTripTransformation.js +2 -0
  83. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/transformations/PublicApiTripTransformation.js.map +1 -1
  84. package/dist/output-gateway/index.js +1 -0
  85. package/dist/output-gateway/index.js.map +1 -1
  86. package/dist/output-gateway/jis/data-access/cache/JISInfotextsRedisRepository.d.ts +17 -0
  87. package/dist/output-gateway/jis/data-access/cache/JISInfotextsRedisRepository.js +113 -0
  88. package/dist/output-gateway/jis/data-access/cache/JISInfotextsRedisRepository.js.map +1 -0
  89. package/dist/output-gateway/jis/ioc/Di.js +2 -2
  90. package/dist/output-gateway/jis/ioc/Di.js.map +1 -1
  91. package/dist/output-gateway/jis/ioc/OgJisToken.d.ts +2 -0
  92. package/dist/output-gateway/jis/ioc/OgJisToken.js +2 -0
  93. package/dist/output-gateway/jis/ioc/OgJisToken.js.map +1 -1
  94. package/dist/output-gateway/pid/controllers/v3/V3TransferBoardsController.js.map +1 -1
  95. package/dist/output-gateway/pid/controllers/v4/V4TransferBoardsController.d.ts +17 -0
  96. package/dist/output-gateway/pid/controllers/v4/V4TransferBoardsController.js +154 -0
  97. package/dist/output-gateway/pid/controllers/v4/V4TransferBoardsController.js.map +1 -0
  98. package/dist/output-gateway/pid/controllers/v4/interfaces/ITransferBoardsParams.d.ts +14 -0
  99. package/dist/output-gateway/pid/controllers/v4/interfaces/ITransferBoardsParams.js +3 -0
  100. package/dist/output-gateway/pid/controllers/v4/interfaces/ITransferBoardsParams.js.map +1 -0
  101. package/dist/output-gateway/pid/domain/InfotextInterfaces.d.ts +5 -0
  102. package/dist/output-gateway/pid/helpers/JISInfotextStopSuppressionFilter.d.ts +4 -1
  103. package/dist/output-gateway/pid/helpers/JISInfotextStopSuppressionFilter.js +7 -1
  104. package/dist/output-gateway/pid/helpers/JISInfotextStopSuppressionFilter.js.map +1 -1
  105. package/dist/output-gateway/pid/helpers/TransferBoardFilter.d.ts +5 -0
  106. package/dist/output-gateway/pid/helpers/TransferBoardFilter.js +33 -0
  107. package/dist/output-gateway/pid/helpers/TransferBoardFilter.js.map +1 -0
  108. package/dist/output-gateway/pid/helpers/TransferBoardSorter.d.ts +6 -0
  109. package/dist/output-gateway/pid/helpers/TransferBoardSorter.js +61 -0
  110. package/dist/output-gateway/pid/helpers/TransferBoardSorter.js.map +1 -0
  111. package/dist/output-gateway/pid/index.d.ts +50 -0
  112. package/dist/output-gateway/pid/index.js.map +1 -1
  113. package/dist/output-gateway/pid/ioc/Di.js +62 -6
  114. package/dist/output-gateway/pid/ioc/Di.js.map +1 -1
  115. package/dist/output-gateway/pid/ioc/OgPidToken.d.ts +11 -0
  116. package/dist/output-gateway/pid/ioc/OgPidToken.js +11 -0
  117. package/dist/output-gateway/pid/ioc/OgPidToken.js.map +1 -1
  118. package/dist/output-gateway/pid/routers/index.d.ts +1 -0
  119. package/dist/output-gateway/pid/routers/index.js +3 -1
  120. package/dist/output-gateway/pid/routers/index.js.map +1 -1
  121. package/dist/output-gateway/pid/routers/v4/V4PIDRouter.d.ts +16 -0
  122. package/dist/output-gateway/pid/routers/v4/V4PIDRouter.js +67 -0
  123. package/dist/output-gateway/pid/routers/v4/V4PIDRouter.js.map +1 -0
  124. package/dist/output-gateway/pid/service/facade/InfotextFacade.d.ts +7 -2
  125. package/dist/output-gateway/pid/service/facade/InfotextFacade.js +29 -4
  126. package/dist/output-gateway/pid/service/facade/InfotextFacade.js.map +1 -1
  127. package/dist/output-gateway/pid/service/facade/StopFacade.d.ts +12 -3
  128. package/dist/output-gateway/pid/service/facade/StopFacade.js +43 -7
  129. package/dist/output-gateway/pid/service/facade/StopFacade.js.map +1 -1
  130. package/dist/output-gateway/pid/service/facade/TransferFacade.d.ts +11 -9
  131. package/dist/output-gateway/pid/service/facade/TransferFacade.js +117 -14
  132. package/dist/output-gateway/pid/service/facade/TransferFacade.js.map +1 -1
  133. package/dist/output-gateway/pid/service/helpers/PlatformCodeResolver.d.ts +7 -1
  134. package/dist/output-gateway/pid/service/helpers/PlatformCodeResolver.js +12 -0
  135. package/dist/output-gateway/pid/service/helpers/PlatformCodeResolver.js.map +1 -1
  136. package/dist/output-gateway/pid/service/transformations/JISInfotextCacheTransferTransformation.d.ts +13 -0
  137. package/dist/output-gateway/pid/service/transformations/JISInfotextCacheTransferTransformation.js +31 -0
  138. package/dist/output-gateway/pid/service/transformations/JISInfotextCacheTransferTransformation.js.map +1 -0
  139. package/dist/output-gateway/pid/service/transformations/TransferDepartureCacheTransformation.d.ts +27 -0
  140. package/dist/output-gateway/pid/service/transformations/TransferDepartureCacheTransformation.js +78 -0
  141. package/dist/output-gateway/pid/service/transformations/TransferDepartureCacheTransformation.js.map +1 -0
  142. package/dist/output-gateway/public/data-access/redis/PublicGtfsDepartureRepository.d.ts +1 -1
  143. package/dist/output-gateway/public/data-access/redis/PublicGtfsDepartureRepository.js +4 -4
  144. package/dist/output-gateway/public/data-access/redis/PublicGtfsDepartureRepository.js.map +1 -1
  145. package/dist/output-gateway/public/ioc/Di.js +1 -1
  146. package/dist/output-gateway/public/ioc/Di.js.map +1 -1
  147. package/dist/output-gateway/ropid-gtfs/data-access/redis/GtfsStopsRedisRepository.d.ts +13 -0
  148. package/dist/output-gateway/ropid-gtfs/data-access/redis/GtfsStopsRedisRepository.js +83 -0
  149. package/dist/output-gateway/ropid-gtfs/data-access/redis/GtfsStopsRedisRepository.js.map +1 -0
  150. package/dist/output-gateway/shared/constants/route-version.d.ts +2 -1
  151. package/dist/output-gateway/shared/constants/route-version.js +1 -0
  152. package/dist/output-gateway/shared/constants/route-version.js.map +1 -1
  153. package/dist/output-gateway/{public → shared}/service/VPSubscriber.d.ts +4 -2
  154. package/dist/output-gateway/{public → shared}/service/VPSubscriber.js +1 -1
  155. package/dist/output-gateway/shared/service/VPSubscriber.js.map +1 -0
  156. package/dist/schema-definitions/jis/redis/const.d.ts +1 -0
  157. package/dist/schema-definitions/jis/redis/const.js +2 -1
  158. package/dist/schema-definitions/jis/redis/const.js.map +1 -1
  159. package/dist/schema-definitions/jis/redis/interfaces/IJISInfotextDto.d.ts +17 -0
  160. package/dist/schema-definitions/jis/redis/interfaces/IJISInfotextDto.js +3 -0
  161. package/dist/schema-definitions/jis/redis/interfaces/IJISInfotextDto.js.map +1 -0
  162. package/dist/schema-definitions/jis/redis/interfaces/IJISMetadataDto.d.ts +1 -5
  163. package/dist/schema-definitions/jis/redis/schemas/JISInfotextDtoSchema.d.ts +3 -0
  164. package/dist/schema-definitions/jis/redis/schemas/JISInfotextDtoSchema.js +59 -0
  165. package/dist/schema-definitions/jis/redis/schemas/JISInfotextDtoSchema.js.map +1 -0
  166. package/dist/schema-definitions/jis/redis/schemas/JISMetadataDtoSchema.js +5 -11
  167. package/dist/schema-definitions/jis/redis/schemas/JISMetadataDtoSchema.js.map +1 -1
  168. package/dist/schema-definitions/ropid-departures-presets/index.d.ts +1 -0
  169. package/dist/schema-definitions/ropid-departures-presets/index.js +3 -0
  170. package/dist/schema-definitions/ropid-departures-presets/index.js.map +1 -1
  171. package/dist/schema-definitions/ropid-gtfs/interfaces/IStopCisDto.d.ts +16 -0
  172. package/dist/schema-definitions/ropid-gtfs/interfaces/IStopCisDto.js +3 -0
  173. package/dist/schema-definitions/ropid-gtfs/interfaces/IStopCisDto.js.map +1 -0
  174. package/dist/schema-definitions/ropid-gtfs/interfaces/IStopDto.d.ts +1 -0
  175. package/dist/schema-definitions/ropid-gtfs/models/StopCisDto.d.ts +58 -0
  176. package/dist/schema-definitions/ropid-gtfs/models/StopCisDto.js +69 -0
  177. package/dist/schema-definitions/ropid-gtfs/models/StopCisDto.js.map +1 -0
  178. package/dist/schema-definitions/ropid-gtfs/redis/const.d.ts +1 -0
  179. package/dist/schema-definitions/ropid-gtfs/redis/const.js +2 -1
  180. package/dist/schema-definitions/ropid-gtfs/redis/const.js.map +1 -1
  181. package/dist/schema-definitions/vehicle-positions/models/views/PublicStopTimeModel.d.ts +3 -2
  182. package/dist/schema-definitions/vehicle-positions/models/views/PublicStopTimeModel.js +4 -0
  183. package/dist/schema-definitions/vehicle-positions/models/views/PublicStopTimeModel.js.map +1 -1
  184. package/dist/schema-definitions/vehicle-positions/models/views/interfaces/IPublicStopTimeDto.d.ts +1 -0
  185. package/dist/schema-definitions/vehicle-positions/redis/interfaces/IPublicApiCacheDto.d.ts +2 -0
  186. package/dist/schema-definitions/vehicle-positions/redis/interfaces/IPublicStopTimeCacheDto.d.ts +1 -0
  187. package/dist/schema-definitions/vehicle-positions/redis/schemas/PublicApiCacheDtoSchema.js +8 -0
  188. package/dist/schema-definitions/vehicle-positions/redis/schemas/PublicApiCacheDtoSchema.js.map +1 -1
  189. package/dist/schema-definitions/vehicle-positions/redis/schemas/PublicStopTimeCacheDtoSchema.js +4 -1
  190. package/dist/schema-definitions/vehicle-positions/redis/schemas/PublicStopTimeCacheDtoSchema.js.map +1 -1
  191. package/docs/asyncapi.yaml +45 -0
  192. package/docs/cache/types/redis.md +82 -2
  193. package/docs/implementation_documentation.md +2 -0
  194. package/docs/jis/index.md +17 -5
  195. package/docs/openapi-input.yaml +13 -2
  196. package/docs/openapi-output.yaml +326 -4
  197. package/package.json +2 -2
  198. package/dist/output-gateway/public/service/VPSubscriber.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ITransferBoardsParams.js","sourceRoot":"","sources":["../../../../../../src/output-gateway/pid/controllers/v4/interfaces/ITransferBoardsParams.ts"],"names":[],"mappings":""}
@@ -1,3 +1,4 @@
1
+ import { IJISTranslationText } from "../../../schema-definitions/jis/datasources/interfaces";
1
2
  import { JISInfotextsModel } from "../../../schema-definitions/jis/models/JISInfotextsModel";
2
3
  import { InfotextDisplayType } from "./InfotextDisplayTypeEnum";
3
4
  import { InfotextPriority } from "./InfotextPriorityEnum";
@@ -23,6 +24,10 @@ export interface IInfotextTransferOutputDto {
23
24
  text: string;
24
25
  text_en: string | null;
25
26
  }
27
+ export interface IV4InfotextTransferOutputDto {
28
+ display_type: InfotextDisplayType;
29
+ text: IJISTranslationText;
30
+ }
26
31
  export interface IInfotextOverviewOutputDto {
27
32
  id: string;
28
33
  priority: InfotextPriority;
@@ -1,6 +1,9 @@
1
1
  import { JISInfotextsModel } from "../../../schema-definitions/jis/models/JISInfotextsModel";
2
+ import { IJISInfotextDto } from "../../../schema-definitions/jis/redis/interfaces/IJISInfotextDto";
3
+ type InfotextUnion = JISInfotextsModel | IJISInfotextDto;
2
4
  export declare class JISInfotextStopSuppressionFilter {
3
- filterBySeverityLevel(list: JISInfotextsModel[]): JISInfotextsModel[];
5
+ filterBySeverityLevel<T extends InfotextUnion>(list: T[]): T[];
4
6
  private isStopPresentInHigherSeverityLevels;
5
7
  private mapSeverityLevelToNumber;
6
8
  }
9
+ export {};
@@ -24,7 +24,13 @@ let JISInfotextStopSuppressionFilter = exports.JISInfotextStopSuppressionFilter
24
24
  const severity = this.mapSeverityLevelToNumber(infotext.severity_level);
25
25
  for (let i = infotext.stops.length - 1; i >= 0; i--) {
26
26
  const stop = infotext.stops[i];
27
- const stopId = stop.getDataValue("stop_id");
27
+ let stopId;
28
+ if ("getDataValue" in stop && typeof stop.getDataValue === "function") {
29
+ stopId = stop.getDataValue("stop_id");
30
+ }
31
+ else {
32
+ stopId = stop.stop_id;
33
+ }
28
34
  if (severity === MAX_SEVERITY_LEVEL) {
29
35
  stopsBySeverity.get(severity).add(stopId);
30
36
  continue;
@@ -1 +1 @@
1
- {"version":3,"file":"JISInfotextStopSuppressionFilter.js","sourceRoot":"","sources":["../../../../src/output-gateway/pid/helpers/JISInfotextStopSuppressionFilter.ts"],"names":[],"mappings":";;;;;;;;;AACA,uCAAsC;AAEtC,MAAM,kBAAkB,GAAG,CAAC,CAAC;AAGtB,IAAM,gCAAgC,8CAAtC,MAAM,gCAAgC;IAClC,qBAAqB,CAAC,IAAyB;QAClD,MAAM,eAAe,GAAG,IAAI,GAAG,CAAsB;YACjD,CAAC,kBAAkB,EAAE,IAAI,GAAG,EAAU,CAAC;YACvC,CAAC,CAAC,EAAE,IAAI,GAAG,EAAU,CAAC;YACtB,CAAC,CAAC,EAAE,IAAI,GAAG,EAAU,CAAC,EAAE,OAAO;SAClC,CAAC,CAAC;QAEH,IAAI,YAAY,GAAwB,EAAE,CAAC;QAE3C,KAAK,MAAM,QAAQ,IAAI,IAAI,EAAE;YACzB,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE;gBACjB,SAAS;aACZ;YAED,MAAM,QAAQ,GAAG,IAAI,CAAC,wBAAwB,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;YAExE,KAAK,IAAI,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;gBACjD,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBAC/B,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;gBAE5C,IAAI,QAAQ,KAAK,kBAAkB,EAAE;oBACjC,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;oBAC3C,SAAS;iBACZ;gBAED,IAAI,aAAa,GAAG,IAAI,CAAC,mCAAmC,CAAC,QAAQ,EAAE,MAAM,EAAE,eAAe,CAAC,CAAC;gBAEhG,IAAI,aAAa,EAAE;oBACf,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;iBAC/B;qBAAM;oBACH,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;iBAC9C;aACJ;YAED,IAAI,QAAQ,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC3B,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aAC/B;SACJ;QAED,OAAO,YAAY,CAAC;IACxB,CAAC;IAEO,mCAAmC,CACvC,eAAuB,EACvB,MAAc,EACd,eAAyC;QAEzC,KAAK,IAAI,CAAC,GAAG,eAAe,GAAG,CAAC,EAAE,CAAC,IAAI,kBAAkB,EAAE,CAAC,EAAE,EAAE;YAC5D,IAAI,eAAe,CAAC,GAAG,CAAC,CAAC,CAAE,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;gBACrC,OAAO,IAAI,CAAC;aACf;SACJ;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;IAEO,wBAAwB,CAAC,aAAqB;QAClD,QAAQ,aAAa,EAAE;YACnB,KAAK,QAAQ;gBACT,OAAO,kBAAkB,CAAC;YAC9B,KAAK,SAAS;gBACV,OAAO,CAAC,CAAC;YACb,KAAK,MAAM,CAAC;YACZ;gBACI,OAAO,CAAC,CAAC;SAChB;IACL,CAAC;CACJ,CAAA;2CApEY,gCAAgC;IAD5C,IAAA,qBAAU,GAAE;GACA,gCAAgC,CAoE5C"}
1
+ {"version":3,"file":"JISInfotextStopSuppressionFilter.js","sourceRoot":"","sources":["../../../../src/output-gateway/pid/helpers/JISInfotextStopSuppressionFilter.ts"],"names":[],"mappings":";;;;;;;;;AAEA,uCAAsC;AAEtC,MAAM,kBAAkB,GAAG,CAAC,CAAC;AAKtB,IAAM,gCAAgC,8CAAtC,MAAM,gCAAgC;IAClC,qBAAqB,CAA0B,IAAS;QAC3D,MAAM,eAAe,GAAG,IAAI,GAAG,CAAsB;YACjD,CAAC,kBAAkB,EAAE,IAAI,GAAG,EAAU,CAAC;YACvC,CAAC,CAAC,EAAE,IAAI,GAAG,EAAU,CAAC;YACtB,CAAC,CAAC,EAAE,IAAI,GAAG,EAAU,CAAC,EAAE,OAAO;SAClC,CAAC,CAAC;QAEH,IAAI,YAAY,GAAQ,EAAE,CAAC;QAE3B,KAAK,MAAM,QAAQ,IAAI,IAAI,EAAE;YACzB,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE;gBACjB,SAAS;aACZ;YAED,MAAM,QAAQ,GAAG,IAAI,CAAC,wBAAwB,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;YAExE,KAAK,IAAI,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;gBACjD,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBAE/B,IAAI,MAAc,CAAC;gBACnB,IAAI,cAAc,IAAI,IAAI,IAAI,OAAO,IAAI,CAAC,YAAY,KAAK,UAAU,EAAE;oBACnE,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;iBACzC;qBAAM;oBACH,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;iBACzB;gBACD,IAAI,QAAQ,KAAK,kBAAkB,EAAE;oBACjC,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;oBAC3C,SAAS;iBACZ;gBAED,IAAI,aAAa,GAAG,IAAI,CAAC,mCAAmC,CAAC,QAAQ,EAAE,MAAM,EAAE,eAAe,CAAC,CAAC;gBAEhG,IAAI,aAAa,EAAE;oBACf,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;iBAC/B;qBAAM;oBACH,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;iBAC9C;aACJ;YAED,IAAI,QAAQ,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC3B,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aAC/B;SACJ;QAED,OAAO,YAAY,CAAC;IACxB,CAAC;IAEO,mCAAmC,CACvC,eAAuB,EACvB,MAAc,EACd,eAAyC;QAEzC,KAAK,IAAI,CAAC,GAAG,eAAe,GAAG,CAAC,EAAE,CAAC,IAAI,kBAAkB,EAAE,CAAC,EAAE,EAAE;YAC5D,IAAI,eAAe,CAAC,GAAG,CAAC,CAAC,CAAE,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;gBACrC,OAAO,IAAI,CAAC;aACf;SACJ;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;IAEO,wBAAwB,CAAC,aAAqB;QAClD,QAAQ,aAAa,EAAE;YACnB,KAAK,QAAQ;gBACT,OAAO,kBAAkB,CAAC;YAC9B,KAAK,SAAS;gBACV,OAAO,CAAC,CAAC;YACb,KAAK,MAAM,CAAC;YACZ;gBACI,OAAO,CAAC,CAAC;SAChB;IACL,CAAC;CACJ,CAAA;2CAzEY,gCAAgC;IAD5C,IAAA,qBAAU,GAAE;GACA,gCAAgC,CAyE5C"}
@@ -0,0 +1,5 @@
1
+ import { IV4TransferDepartureOutputDto } from "../index";
2
+ export declare class TransferBoardFilter {
3
+ static filterDepartures(transfers: IV4TransferDepartureOutputDto[], limit: number, timeFrom: number): IV4TransferDepartureOutputDto[];
4
+ private static isInRange;
5
+ }
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TransferBoardFilter = void 0;
4
+ class TransferBoardFilter {
5
+ static filterDepartures(transfers, limit, timeFrom) {
6
+ const filteredDepartures = [];
7
+ for (const transfer of transfers) {
8
+ if (filteredDepartures.length === limit) {
9
+ break;
10
+ }
11
+ if (!this.isInRange(transfer, timeFrom)) {
12
+ continue;
13
+ }
14
+ filteredDepartures.push(transfer);
15
+ }
16
+ // Departures are already sorted so that metro ones are first
17
+ return filteredDepartures;
18
+ }
19
+ static isInRange(departure, timeFrom) {
20
+ const timeRangeStart = timeFrom;
21
+ // add one hour
22
+ const timeRangeEnd = timeFrom + 60 * 60 * 1000;
23
+ const departureMinutes = departure.departure_timestamp.minutes[0] === "<1" ? 1 : Number(departure.departure_timestamp.minutes[0]);
24
+ if (isNaN(departureMinutes))
25
+ return false;
26
+ // Calculate the departure time
27
+ const departureTime = timeRangeStart + departureMinutes * 60 * 1000;
28
+ // Check if departureTime is within the range
29
+ return departureTime >= timeRangeStart && departureTime <= timeRangeEnd;
30
+ }
31
+ }
32
+ exports.TransferBoardFilter = TransferBoardFilter;
33
+ //# sourceMappingURL=TransferBoardFilter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TransferBoardFilter.js","sourceRoot":"","sources":["../../../../src/output-gateway/pid/helpers/TransferBoardFilter.ts"],"names":[],"mappings":";;;AAEA,MAAa,mBAAmB;IACrB,MAAM,CAAC,gBAAgB,CAC1B,SAA0C,EAC1C,KAAa,EACb,QAAgB;QAEhB,MAAM,kBAAkB,GAAoC,EAAE,CAAC;QAE/D,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE;YAC9B,IAAI,kBAAkB,CAAC,MAAM,KAAK,KAAK,EAAE;gBACrC,MAAM;aACT;YACD,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE;gBACrC,SAAS;aACZ;YACD,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SACrC;QAED,6DAA6D;QAC7D,OAAO,kBAAkB,CAAC;IAC9B,CAAC;IACO,MAAM,CAAC,SAAS,CAAC,SAAwC,EAAE,QAAgB;QAC/E,MAAM,cAAc,GAAG,QAAQ,CAAC;QAChC,eAAe;QACf,MAAM,YAAY,GAAG,QAAQ,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;QAE/C,MAAM,gBAAgB,GAClB,SAAS,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7G,IAAI,KAAK,CAAC,gBAAgB,CAAC;YAAE,OAAO,KAAK,CAAC;QAE1C,+BAA+B;QAC/B,MAAM,aAAa,GAAG,cAAc,GAAG,gBAAgB,GAAG,EAAE,GAAG,IAAI,CAAC;QAEpE,6CAA6C;QAC7C,OAAO,aAAa,IAAI,cAAc,IAAI,aAAa,IAAI,YAAY,CAAC;IAC5E,CAAC;CACJ;AApCD,kDAoCC"}
@@ -0,0 +1,6 @@
1
+ import { IDepartureWithPosition } from "../index";
2
+ export declare class TransferBoardSorter {
3
+ static sortDepartures(departures: IDepartureWithPosition[]): void;
4
+ private static readonly compareFns;
5
+ private static readonly compareFnPipeline;
6
+ }
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+ var _a;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.TransferBoardSorter = void 0;
5
+ const RouteTypeEnums_1 = require("../../../helpers/RouteTypeEnums");
6
+ class TransferBoardSorter {
7
+ static sortDepartures(departures) {
8
+ departures.sort((a, b) => {
9
+ for (const compareFn of this.compareFnPipeline) {
10
+ const res = compareFn(a, b);
11
+ if (res !== 0)
12
+ return res;
13
+ }
14
+ return 0;
15
+ });
16
+ }
17
+ }
18
+ exports.TransferBoardSorter = TransferBoardSorter;
19
+ _a = TransferBoardSorter;
20
+ TransferBoardSorter.compareFns = {
21
+ metroFirst: (a, b) => {
22
+ const aIsMetro = a.departure.route_type === RouteTypeEnums_1.GTFSRouteTypeEnum.METRO;
23
+ const bIsMetro = b.departure.route_type === RouteTypeEnums_1.GTFSRouteTypeEnum.METRO;
24
+ if (aIsMetro !== bIsMetro)
25
+ return aIsMetro ? -1 : 1;
26
+ return 0;
27
+ },
28
+ metroNameAsc: (a, b) => {
29
+ const aIsMetro = a.departure.route_type === RouteTypeEnums_1.GTFSRouteTypeEnum.METRO;
30
+ const bIsMetro = b.departure.route_type === RouteTypeEnums_1.GTFSRouteTypeEnum.METRO;
31
+ if (aIsMetro && bIsMetro && a.departure.route_short_name !== null && b.departure.route_short_name !== null)
32
+ return a.departure.route_short_name.localeCompare(b.departure.route_short_name);
33
+ return 0;
34
+ },
35
+ departureTimeAsc: (a, b) => {
36
+ const aTimestamp = a.departure.predictedDepartureTimestamp;
37
+ const bTimestamp = b.departure.predictedDepartureTimestamp;
38
+ if (aTimestamp && bTimestamp) {
39
+ return aTimestamp - bTimestamp;
40
+ }
41
+ if (!aTimestamp && !bTimestamp)
42
+ return 0;
43
+ if (!bTimestamp)
44
+ return -1;
45
+ return 1;
46
+ },
47
+ directionIdAsc: (a, b) => {
48
+ const aDirectionId = a.position?.detailed_info.direction_id;
49
+ const bDirectionId = b.position?.detailed_info.direction_id;
50
+ if (aDirectionId !== bDirectionId)
51
+ return aDirectionId ? -1 : 1;
52
+ return 0;
53
+ },
54
+ };
55
+ TransferBoardSorter.compareFnPipeline = [
56
+ _a.compareFns.metroFirst,
57
+ _a.compareFns.metroNameAsc,
58
+ _a.compareFns.departureTimeAsc,
59
+ _a.compareFns.directionIdAsc,
60
+ ];
61
+ //# sourceMappingURL=TransferBoardSorter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TransferBoardSorter.js","sourceRoot":"","sources":["../../../../src/output-gateway/pid/helpers/TransferBoardSorter.ts"],"names":[],"mappings":";;;;AAAA,oEAA4D;AAG5D,MAAa,mBAAmB;IACrB,MAAM,CAAC,cAAc,CAAC,UAAoC;QAC7D,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACrB,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,iBAAiB,EAAE;gBAC5C,MAAM,GAAG,GAAG,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC5B,IAAI,GAAG,KAAK,CAAC;oBAAE,OAAO,GAAG,CAAC;aAC7B;YACD,OAAO,CAAC,CAAC;QACb,CAAC,CAAC,CAAC;IACP,CAAC;;AATL,kDAiDC;;AAtC2B,8BAAU,GAAqF;IACnH,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACjB,MAAM,QAAQ,GAAG,CAAC,CAAC,SAAS,CAAC,UAAU,KAAK,kCAAiB,CAAC,KAAK,CAAC;QACpE,MAAM,QAAQ,GAAG,CAAC,CAAC,SAAS,CAAC,UAAU,KAAK,kCAAiB,CAAC,KAAK,CAAC;QACpE,IAAI,QAAQ,KAAK,QAAQ;YAAE,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACpD,OAAO,CAAC,CAAC;IACb,CAAC;IACD,YAAY,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACnB,MAAM,QAAQ,GAAG,CAAC,CAAC,SAAS,CAAC,UAAU,KAAK,kCAAiB,CAAC,KAAK,CAAC;QACpE,MAAM,QAAQ,GAAG,CAAC,CAAC,SAAS,CAAC,UAAU,KAAK,kCAAiB,CAAC,KAAK,CAAC;QACpE,IAAI,QAAQ,IAAI,QAAQ,IAAI,CAAC,CAAC,SAAS,CAAC,gBAAgB,KAAK,IAAI,IAAI,CAAC,CAAC,SAAS,CAAC,gBAAgB,KAAK,IAAI;YACtG,OAAO,CAAC,CAAC,SAAS,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;QACpF,OAAO,CAAC,CAAC;IACb,CAAC;IACD,gBAAgB,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACvB,MAAM,UAAU,GAAG,CAAC,CAAC,SAAS,CAAC,2BAA2B,CAAC;QAC3D,MAAM,UAAU,GAAG,CAAC,CAAC,SAAS,CAAC,2BAA2B,CAAC;QAC3D,IAAI,UAAU,IAAI,UAAU,EAAE;YAC1B,OAAO,UAAU,GAAG,UAAU,CAAC;SAClC;QACD,IAAI,CAAC,UAAU,IAAI,CAAC,UAAU;YAAE,OAAO,CAAC,CAAC;QACzC,IAAI,CAAC,UAAU;YAAE,OAAO,CAAC,CAAC,CAAC;QAC3B,OAAO,CAAC,CAAC;IACb,CAAC;IACD,cAAc,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACrB,MAAM,YAAY,GAAG,CAAC,CAAC,QAAQ,EAAE,aAAa,CAAC,YAAY,CAAC;QAC5D,MAAM,YAAY,GAAG,CAAC,CAAC,QAAQ,EAAE,aAAa,CAAC,YAAY,CAAC;QAC5D,IAAI,YAAY,KAAK,YAAY;YAAE,OAAO,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAChE,OAAO,CAAC,CAAC;IACb,CAAC;CACJ,AA9BiC,CA8BhC;AAEsB,qCAAiB,GAAG;IACxC,EAAI,CAAC,UAAU,CAAC,UAAU;IAC1B,EAAI,CAAC,UAAU,CAAC,YAAY;IAC5B,EAAI,CAAC,UAAU,CAAC,gBAAgB;IAChC,EAAI,CAAC,UAAU,CAAC,cAAc;CACjC,AALwC,CAKvC"}
@@ -1,6 +1,10 @@
1
1
  import { GtfsStopWheelchairBoardingEnum, GtfsTripWheelchairAccessEnum } from "../../helpers/AccessibilityEnums";
2
2
  import { GTFSRouteTypeEnum } from "../../helpers/RouteTypeEnums";
3
3
  import { DeparturesDirectionsEnum } from "../../schema-definitions/ropid-departures-directions";
4
+ import { IPublicGtfsDepartureCacheDto } from "../../schema-definitions/ropid-gtfs/redis/interfaces/IPublicGtfsDepartureCacheDto";
5
+ import { IPublicApiCacheDto } from "../../schema-definitions/vehicle-positions/redis/interfaces/IPublicApiCacheDto";
6
+ import { IPublicStopTimeCacheDto } from "../../schema-definitions/vehicle-positions/redis/interfaces/IPublicStopTimeCacheDto";
7
+ import { IV4InfotextTransferOutputDto } from "./domain/InfotextInterfaces";
4
8
  export * from "./routers";
5
9
  export * from "./models";
6
10
  export type DepartureUnion = IPIDDeparture | ITransferDeparture;
@@ -107,6 +111,52 @@ export interface ITransferOutputDto {
107
111
  id: string;
108
112
  };
109
113
  }
114
+ export interface IV4TransferDto {
115
+ transfers: IDepartureWithPosition[];
116
+ currentTrip: ICurrentTrip;
117
+ }
118
+ export interface IDepartureWithPosition {
119
+ departure: IPublicGtfsDepartureCacheDto & {
120
+ predictedDepartureDate?: Date;
121
+ predictedDepartureTimestamp?: number;
122
+ };
123
+ position: IPublicApiCacheDto | null;
124
+ stopTime: IPublicStopTimeCacheDto | null;
125
+ }
126
+ export interface ICurrentTrip {
127
+ departure: IPublicGtfsDepartureCacheDto | null;
128
+ position: IPublicApiCacheDto | null;
129
+ stopTime: IPublicStopTimeCacheDto | null;
130
+ }
131
+ export interface IV4TransferDepartureOutputDto {
132
+ departure_timestamp: {
133
+ minutes: string[];
134
+ };
135
+ route: {
136
+ short_name: string | null;
137
+ type: number | null;
138
+ };
139
+ stop: {
140
+ platform_code: string | null;
141
+ };
142
+ trip: {
143
+ headsign: string;
144
+ id: string;
145
+ is_wheelchair_accessible: boolean | null;
146
+ };
147
+ icons: string[];
148
+ substitution_text: {
149
+ cs: string;
150
+ en: string | null;
151
+ } | null;
152
+ }
153
+ export interface IV4TransferOutputDto {
154
+ platform_code?: string | null;
155
+ stop_name?: string | null;
156
+ icons: string[];
157
+ departures: IV4TransferDepartureOutputDto[];
158
+ infotexts: IV4InfotextTransferOutputDto[];
159
+ }
110
160
  export interface IStop {
111
161
  stop_id: string;
112
162
  stop_name: string;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/output-gateway/pid/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAIA,4CAA0B;AAC1B,2CAAyB;AAiHzB,IAAY,aAIX;AAJD,WAAY,aAAa;IACrB,0CAAyB,CAAA;IACzB,sCAAqB,CAAA;IACrB,gCAAe,CAAA;AACnB,CAAC,EAJW,aAAa,6BAAb,aAAa,QAIxB;AAED,IAAY,cAGX;AAHD,WAAY,cAAc;IACtB,+BAAa,CAAA;IACb,yCAAuB,CAAA;AAC3B,CAAC,EAHW,cAAc,8BAAd,cAAc,QAGzB;AAED,IAAY,eAQX;AARD,WAAY,eAAe;IACvB,gCAAa,CAAA;IACb,2CAAwB,CAAA;IACxB,0DAAuC,CAAA;IACvC,oDAAiC,CAAA;IACjC,mEAAgD,CAAA;IAChD,qEAAkD,CAAA;IAClD,8EAA2D,CAAA;AAC/D,CAAC,EARW,eAAe,+BAAf,eAAe,QAQ1B;AAED,IAAY,aAMX;AAND,WAAY,aAAa;IACrB,wCAAuB,CAAA;IACvB,oCAAmB,CAAA;IACnB,sCAAqB,CAAA;IACrB,mCAAkB,CAAA;IAClB,8BAA8B;AAClC,CAAC,EANW,aAAa,6BAAb,aAAa,QAMxB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/output-gateway/pid/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAQA,4CAA0B;AAC1B,2CAAyB;AAgKzB,IAAY,aAIX;AAJD,WAAY,aAAa;IACrB,0CAAyB,CAAA;IACzB,sCAAqB,CAAA;IACrB,gCAAe,CAAA;AACnB,CAAC,EAJW,aAAa,6BAAb,aAAa,QAIxB;AAED,IAAY,cAGX;AAHD,WAAY,cAAc;IACtB,+BAAa,CAAA;IACb,yCAAuB,CAAA;AAC3B,CAAC,EAHW,cAAc,8BAAd,cAAc,QAGzB;AAED,IAAY,eAQX;AARD,WAAY,eAAe;IACvB,gCAAa,CAAA;IACb,2CAAwB,CAAA;IACxB,0DAAuC,CAAA;IACvC,oDAAiC,CAAA;IACjC,mEAAgD,CAAA;IAChD,qEAAkD,CAAA;IAClD,8EAA2D,CAAA;AAC/D,CAAC,EARW,eAAe,+BAAf,eAAe,QAQ1B;AAED,IAAY,aAMX;AAND,WAAY,aAAa;IACrB,wCAAuB,CAAA;IACvB,oCAAmB,CAAA;IACnB,sCAAqB,CAAA;IACrB,mCAAkB,CAAA;IAClB,8BAA8B;AAClC,CAAC,EANW,aAAa,6BAAb,aAAa,QAMxB"}
@@ -1,30 +1,44 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.OgPidContainer = void 0;
4
+ const GtfsStopParser_1 = require("../../../helpers/GtfsStopParser");
5
+ const JISInfotextsRedisRepository_1 = require("../../jis/data-access/cache/JISInfotextsRedisRepository");
4
6
  const PublicVehiclePositionsRepository_1 = require("../../public/data-access/redis/PublicVehiclePositionsRepository");
5
7
  const CisStopGroupRepository_1 = require("../../ropid-gtfs/data-access/CisStopGroupRepository");
6
8
  const RunTripsRedisRepository_1 = require("../../ropid-gtfs/data-access/redis/RunTripsRedisRepository");
7
9
  const ioc_1 = require("@golemio/core/dist/output-gateway/ioc");
10
+ const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
11
+ const V3DeparturesPresetController_1 = require("../controllers/v3/V3DeparturesPresetController");
8
12
  const V3InfotextsController_1 = require("../controllers/v3/V3InfotextsController");
9
13
  const V3TransferBoardsController_1 = require("../controllers/v3/V3TransferBoardsController");
14
+ const V4TransferBoardsController_1 = require("../controllers/v4/V4TransferBoardsController");
10
15
  const data_access_1 = require("../data-access");
11
16
  const JISInfotextRepository_1 = require("../data-access/JISInfotextRepository");
12
17
  const JISInfotextRopidGTFSStopsRepository_1 = require("../data-access/JISInfotextRopidGTFSStopsRepository");
18
+ const RopidDeparturesPresetRepository_1 = require("../data-access/RopidDeparturesPresetRepository");
19
+ const RopidDeparturesPresetsRopidGTFSStopsRepository_1 = require("../data-access/RopidDeparturesPresetsRopidGTFSStopsRepository");
13
20
  const JISInfotextStopSuppressionFilter_1 = require("../helpers/JISInfotextStopSuppressionFilter");
14
21
  const InfotextFacade_1 = require("../service/facade/InfotextFacade");
22
+ const RopidDeparturesPresetFacade_1 = require("../service/facade/RopidDeparturesPresetFacade");
15
23
  const StopFacade_1 = require("../service/facade/StopFacade");
16
24
  const TransferFacade_1 = require("../service/facade/TransferFacade");
17
25
  const JISInfotextDepartureTransformation_1 = require("../service/transformations/JISInfotextDepartureTransformation");
18
26
  const JISInfotextOverviewTransformation_1 = require("../service/transformations/JISInfotextOverviewTransformation");
19
27
  const JISInfotextTransferTransformation_1 = require("../service/transformations/JISInfotextTransferTransformation");
28
+ const RopidDeparturesPresetTransformation_1 = require("../service/transformations/RopidDeparturesPresetTransformation");
20
29
  const TransferDepartureTransformation_1 = require("../service/transformations/TransferDepartureTransformation");
21
30
  const OgPidToken_1 = require("./OgPidToken");
22
- const RopidDeparturesPresetFacade_1 = require("../service/facade/RopidDeparturesPresetFacade");
23
- const V3DeparturesPresetController_1 = require("../controllers/v3/V3DeparturesPresetController");
24
- const RopidDeparturesPresetRepository_1 = require("../data-access/RopidDeparturesPresetRepository");
25
- const RopidDeparturesPresetsRopidGTFSStopsRepository_1 = require("../data-access/RopidDeparturesPresetsRopidGTFSStopsRepository");
26
- const RopidDeparturesPresetTransformation_1 = require("../service/transformations/RopidDeparturesPresetTransformation");
27
- const GtfsStopParser_1 = require("../../../helpers/GtfsStopParser");
31
+ const GtfsStopsRedisRepository_1 = require("../../ropid-gtfs/data-access/redis/GtfsStopsRedisRepository");
32
+ const VPSubscriber_1 = require("../../shared/service/VPSubscriber");
33
+ const CoreToken_1 = require("@golemio/core/dist/helpers/ioc/CoreToken");
34
+ const const_1 = require("../../../schema-definitions/ropid-gtfs/redis/const");
35
+ const const_2 = require("../../../schema-definitions/jis/redis/const");
36
+ const PublicGtfsDepartureRepository_1 = require("../../public/data-access/redis/PublicGtfsDepartureRepository");
37
+ const VehicleDescriptorCachedRepository_1 = require("../../public/data-access/VehicleDescriptorCachedRepository");
38
+ const PublicStopTimeRepository_1 = require("../../public/data-access/redis/PublicStopTimeRepository");
39
+ const const_3 = require("../../../schema-definitions/vehicle-positions/redis/const");
40
+ const JISInfotextCacheTransferTransformation_1 = require("../service/transformations/JISInfotextCacheTransferTransformation");
41
+ const TransferDepartureCacheTransformation_1 = require("../service/transformations/TransferDepartureCacheTransformation");
28
42
  const ogPidContainer = ioc_1.OutputGatewayContainer.createChildContainer();
29
43
  exports.OgPidContainer = ogPidContainer;
30
44
  //#region Repositories
@@ -36,6 +50,11 @@ ogPidContainer.registerSingleton(OgPidToken_1.OgPidToken.RunTripsRedisRepository
36
50
  ogPidContainer.registerSingleton(OgPidToken_1.OgPidToken.PublicVehiclePositionsRepository, PublicVehiclePositionsRepository_1.PublicVehiclePositionsRepository);
37
51
  ogPidContainer.registerSingleton(OgPidToken_1.OgPidToken.RopidDeparturesPresetRepository, RopidDeparturesPresetRepository_1.RopidDeparturesPresetRepository);
38
52
  ogPidContainer.registerSingleton(OgPidToken_1.OgPidToken.RopidDeparturesPresetsRopidGTFSStopsRepository, RopidDeparturesPresetsRopidGTFSStopsRepository_1.RopidDeparturesPresetsRopidGTFSStopsRepository);
53
+ ogPidContainer.registerSingleton(OgPidToken_1.OgPidToken.GtfsStopsRedisRepository, GtfsStopsRedisRepository_1.GtfsStopsRedisRepository);
54
+ ogPidContainer.registerSingleton(OgPidToken_1.OgPidToken.JISInfotextsRedisRepository, JISInfotextsRedisRepository_1.JISInfotextsRedisRepository);
55
+ ogPidContainer.registerSingleton(OgPidToken_1.OgPidToken.PublicGtfsDepartureRepository, PublicGtfsDepartureRepository_1.PublicGtfsDepartureRepository);
56
+ ogPidContainer.registerSingleton(OgPidToken_1.OgPidToken.VehicleDescriptorCachedRepository, VehicleDescriptorCachedRepository_1.VehicleDescriptorCachedRepository);
57
+ ogPidContainer.registerSingleton(OgPidToken_1.OgPidToken.PublicStopTimeRepository, PublicStopTimeRepository_1.PublicStopTimeRepository);
39
58
  //#endregion
40
59
  //#region Transformations
41
60
  ogPidContainer.registerSingleton(OgPidToken_1.OgPidToken.JISInfotextDepartureTransformation, JISInfotextDepartureTransformation_1.JISInfotextDepartureTransformation);
@@ -43,6 +62,8 @@ ogPidContainer.registerSingleton(OgPidToken_1.OgPidToken.JISInfotextTransferTran
43
62
  ogPidContainer.registerSingleton(OgPidToken_1.OgPidToken.JISInfotextOverviewTransformation, JISInfotextOverviewTransformation_1.JISInfotextOverviewTransformation);
44
63
  ogPidContainer.registerSingleton(OgPidToken_1.OgPidToken.TransferDepartureTransformation, TransferDepartureTransformation_1.TransferDepartureTransformation);
45
64
  ogPidContainer.registerSingleton(OgPidToken_1.OgPidToken.RopidDeparturesPresetTransformation, RopidDeparturesPresetTransformation_1.RopidDeparturesPresetTransformation);
65
+ ogPidContainer.registerSingleton(OgPidToken_1.OgPidToken.JISInfotextCacheTransferTransformation, JISInfotextCacheTransferTransformation_1.JISInfotextCacheTransferTransformation);
66
+ ogPidContainer.registerSingleton(OgPidToken_1.OgPidToken.TransferDepartureCacheTransformation, TransferDepartureCacheTransformation_1.TransferDepartureCacheTransformation);
46
67
  //#endregion
47
68
  //#region Facade
48
69
  ogPidContainer.registerSingleton(OgPidToken_1.OgPidToken.StopFacade, StopFacade_1.StopFacade);
@@ -54,8 +75,43 @@ ogPidContainer.registerSingleton(OgPidToken_1.OgPidToken.RopidDeparturesPresetFa
54
75
  ogPidContainer.registerSingleton(OgPidToken_1.OgPidToken.V3TransferBoardsController, V3TransferBoardsController_1.V3TransferBoardsController);
55
76
  ogPidContainer.registerSingleton(OgPidToken_1.OgPidToken.V3InfotextsController, V3InfotextsController_1.V3InfotextsController);
56
77
  ogPidContainer.registerSingleton(OgPidToken_1.OgPidToken.V3RopidDeparturesPresetController, V3DeparturesPresetController_1.V3RopidDeparturesPresetController);
78
+ ogPidContainer.registerSingleton(OgPidToken_1.OgPidToken.V4TransferBoardsController, V4TransferBoardsController_1.V4TransferBoardsController);
57
79
  //#endregion
58
80
  //#region Helpers
59
81
  ogPidContainer.registerSingleton(OgPidToken_1.OgPidToken.JISInfotextStopSuppressionFilter, JISInfotextStopSuppressionFilter_1.JISInfotextStopSuppressionFilter);
60
82
  ogPidContainer.registerSingleton(OgPidToken_1.OgPidToken.GtfsStopParser, GtfsStopParser_1.GtfsStopParser);
83
+ //#endregion
84
+ ogPidContainer.register(OgPidToken_1.OgPidToken.GtfsStopsSubscriber, {
85
+ useFactory: (0, tsyringe_1.instanceCachingFactory)((c) => {
86
+ const config = c.resolve(CoreToken_1.CoreToken.SimpleConfig);
87
+ const logger = c.resolve(CoreToken_1.CoreToken.Logger);
88
+ return new VPSubscriber_1.VPSubscriber({
89
+ channelName: const_1.GTFS_STOPS_NAMESPACE_PREFIX,
90
+ redisConnectionString: config.getValue("env.REDIS_CONN"),
91
+ logger: logger,
92
+ }, c.resolve(OgPidToken_1.OgPidToken.GtfsStopsRedisRepository));
93
+ }),
94
+ });
95
+ ogPidContainer.register(OgPidToken_1.OgPidToken.JisInotextsSubscriber, {
96
+ useFactory: (0, tsyringe_1.instanceCachingFactory)((c) => {
97
+ const config = c.resolve(CoreToken_1.CoreToken.SimpleConfig);
98
+ const logger = c.resolve(CoreToken_1.CoreToken.Logger);
99
+ return new VPSubscriber_1.VPSubscriber({
100
+ channelName: const_2.JIS_NAMESPACE_PREFIX,
101
+ redisConnectionString: config.getValue("env.REDIS_CONN"),
102
+ logger: logger,
103
+ }, c.resolve(OgPidToken_1.OgPidToken.JISInfotextsRedisRepository));
104
+ }),
105
+ });
106
+ ogPidContainer.register(OgPidToken_1.OgPidToken.VPSubscriber, {
107
+ useFactory: (0, tsyringe_1.instanceCachingFactory)((c) => {
108
+ const config = c.resolve(CoreToken_1.CoreToken.SimpleConfig);
109
+ const logger = c.resolve(CoreToken_1.CoreToken.Logger);
110
+ return new VPSubscriber_1.VPSubscriber({
111
+ channelName: const_3.PUBLIC_CACHE_NAMESPACE_PREFIX,
112
+ redisConnectionString: config.getValue("env.REDIS_CONN"),
113
+ logger: logger,
114
+ }, c.resolve(OgPidToken_1.OgPidToken.PublicVehiclePositionsRepository));
115
+ }),
116
+ });
61
117
  //# sourceMappingURL=Di.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Di.js","sourceRoot":"","sources":["../../../../src/output-gateway/pid/ioc/Di.ts"],"names":[],"mappings":";;;AAAA,sHAAiH;AACjH,gGAA2F;AAC3F,wGAAmG;AACnG,+DAA+E;AAE/E,mFAAgF;AAChF,6FAA0F;AAC1F,gDAAsD;AACtD,gFAA6E;AAC7E,4GAAyG;AACzG,kGAA+F;AAC/F,qEAAkE;AAClE,6DAA0D;AAC1D,qEAAkE;AAClE,sHAAmH;AACnH,oHAAiH;AACjH,oHAAiH;AACjH,gHAA6G;AAC7G,6CAA0C;AAC1C,+FAA4F;AAC5F,iGAAmG;AACnG,oGAAiG;AACjG,kIAA+H;AAC/H,wHAAqH;AACrH,oEAAyD;AAEzD,MAAM,cAAc,GAAwB,4BAAsB,CAAC,oBAAoB,EAAE,CAAC;AA0C/D,wCAAc;AAxCzC,sBAAsB;AACtB,cAAc,CAAC,iBAAiB,CAAC,uBAAU,CAAC,sBAAsB,EAAE,+CAAsB,CAAC,CAAC;AAC5F,cAAc,CAAC,iBAAiB,CAAC,uBAAU,CAAC,mCAAmC,EAAE,yEAAmC,CAAC,CAAC;AACtH,cAAc,CAAC,iBAAiB,CAAC,uBAAU,CAAC,qBAAqB,EAAE,6CAAqB,CAAC,CAAC;AAC1F,cAAc,CAAC,iBAAiB,CAAC,uBAAU,CAAC,oBAAoB,EAAE,kCAAoB,CAAC,CAAC;AACxF,cAAc,CAAC,iBAAiB,CAAC,uBAAU,CAAC,uBAAuB,EAAE,iDAAuB,CAAC,CAAC;AAC9F,cAAc,CAAC,iBAAiB,CAAC,uBAAU,CAAC,gCAAgC,EAAE,mEAAgC,CAAC,CAAC;AAChH,cAAc,CAAC,iBAAiB,CAAC,uBAAU,CAAC,+BAA+B,EAAE,iEAA+B,CAAC,CAAC;AAC9G,cAAc,CAAC,iBAAiB,CAC5B,uBAAU,CAAC,8CAA8C,EACzD,+FAA8C,CACjD,CAAC;AACF,YAAY;AAEZ,yBAAyB;AACzB,cAAc,CAAC,iBAAiB,CAAC,uBAAU,CAAC,kCAAkC,EAAE,uEAAkC,CAAC,CAAC;AACpH,cAAc,CAAC,iBAAiB,CAAC,uBAAU,CAAC,iCAAiC,EAAE,qEAAiC,CAAC,CAAC;AAClH,cAAc,CAAC,iBAAiB,CAAC,uBAAU,CAAC,iCAAiC,EAAE,qEAAiC,CAAC,CAAC;AAClH,cAAc,CAAC,iBAAiB,CAAC,uBAAU,CAAC,+BAA+B,EAAE,iEAA+B,CAAC,CAAC;AAC9G,cAAc,CAAC,iBAAiB,CAAC,uBAAU,CAAC,mCAAmC,EAAE,yEAAmC,CAAC,CAAC;AACtH,YAAY;AAEZ,gBAAgB;AAChB,cAAc,CAAC,iBAAiB,CAAC,uBAAU,CAAC,UAAU,EAAE,uBAAU,CAAC,CAAC;AACpE,cAAc,CAAC,iBAAiB,CAAC,uBAAU,CAAC,cAAc,EAAE,+BAAc,CAAC,CAAC;AAC5E,cAAc,CAAC,iBAAiB,CAAC,uBAAU,CAAC,cAAc,EAAE,+BAAc,CAAC,CAAC;AAC5E,cAAc,CAAC,iBAAiB,CAAC,uBAAU,CAAC,2BAA2B,EAAE,yDAA2B,CAAC,CAAC;AACtG,YAAY;AAEZ,qBAAqB;AACrB,cAAc,CAAC,iBAAiB,CAAC,uBAAU,CAAC,0BAA0B,EAAE,uDAA0B,CAAC,CAAC;AACpG,cAAc,CAAC,iBAAiB,CAAC,uBAAU,CAAC,qBAAqB,EAAE,6CAAqB,CAAC,CAAC;AAC1F,cAAc,CAAC,iBAAiB,CAAC,uBAAU,CAAC,iCAAiC,EAAE,gEAAiC,CAAC,CAAC;AAClH,YAAY;AAEZ,iBAAiB;AACjB,cAAc,CAAC,iBAAiB,CAAC,uBAAU,CAAC,gCAAgC,EAAE,mEAAgC,CAAC,CAAC;AAChH,cAAc,CAAC,iBAAiB,CAAC,uBAAU,CAAC,cAAc,EAAE,+BAAc,CAAC,CAAC"}
1
+ {"version":3,"file":"Di.js","sourceRoot":"","sources":["../../../../src/output-gateway/pid/ioc/Di.ts"],"names":[],"mappings":"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"}
@@ -2,16 +2,23 @@ export declare const OgPidToken: {
2
2
  CisStopGroupRepository: symbol;
3
3
  JISInfotextRopidGTFSStopsRepository: symbol;
4
4
  JISInfotextRepository: symbol;
5
+ JISInfotextsRedisRepository: symbol;
5
6
  DeparturesRepository: symbol;
6
7
  RunTripsRedisRepository: symbol;
7
8
  PublicVehiclePositionsRepository: symbol;
8
9
  RopidDeparturesPresetRepository: symbol;
9
10
  RopidDeparturesPresetsRopidGTFSStopsRepository: symbol;
11
+ GtfsStopsRedisRepository: symbol;
12
+ PublicGtfsDepartureRepository: symbol;
13
+ VehicleDescriptorCachedRepository: symbol;
14
+ PublicStopTimeRepository: symbol;
10
15
  JISInfotextDepartureTransformation: symbol;
11
16
  JISInfotextTransferTransformation: symbol;
12
17
  JISInfotextOverviewTransformation: symbol;
13
18
  TransferDepartureTransformation: symbol;
14
19
  RopidDeparturesPresetTransformation: symbol;
20
+ JISInfotextCacheTransferTransformation: symbol;
21
+ TransferDepartureCacheTransformation: symbol;
15
22
  StopFacade: symbol;
16
23
  InfotextFacade: symbol;
17
24
  TransferFacade: symbol;
@@ -19,6 +26,10 @@ export declare const OgPidToken: {
19
26
  V3TransferBoardsController: symbol;
20
27
  V3InfotextsController: symbol;
21
28
  V3RopidDeparturesPresetController: symbol;
29
+ V4TransferBoardsController: symbol;
22
30
  JISInfotextStopSuppressionFilter: symbol;
23
31
  GtfsStopParser: symbol;
32
+ GtfsStopsSubscriber: symbol;
33
+ JisInotextsSubscriber: symbol;
34
+ VPSubscriber: symbol;
24
35
  };
@@ -6,11 +6,16 @@ exports.OgPidToken = {
6
6
  CisStopGroupRepository: Symbol("CisStopGroupRepository"),
7
7
  JISInfotextRopidGTFSStopsRepository: Symbol("JISInfotextRopidGTFSStopsRepository"),
8
8
  JISInfotextRepository: Symbol("JISInfotextRepository"),
9
+ JISInfotextsRedisRepository: Symbol("JISInfotextsRedisRepository"),
9
10
  DeparturesRepository: Symbol("DeparturesRepository"),
10
11
  RunTripsRedisRepository: Symbol("RunTripsRedisRepository"),
11
12
  PublicVehiclePositionsRepository: Symbol("PublicVehiclePositionsRepository"),
12
13
  RopidDeparturesPresetRepository: Symbol("RopidDeparturesPresetRepository"),
13
14
  RopidDeparturesPresetsRopidGTFSStopsRepository: Symbol("RopidDeparturesPresetsRopidGTFSStopsRepository"),
15
+ GtfsStopsRedisRepository: Symbol("GtfsStopsRedisRepository"),
16
+ PublicGtfsDepartureRepository: Symbol("PublicGtfsDepartureRepository"),
17
+ VehicleDescriptorCachedRepository: Symbol("VehicleDescriptorCachedRepository"),
18
+ PublicStopTimeRepository: Symbol("PublicStopTimeRepository"),
14
19
  //#endregion
15
20
  //#region Transformations
16
21
  JISInfotextDepartureTransformation: Symbol("JISInfotextDepartureTransformation"),
@@ -18,6 +23,8 @@ exports.OgPidToken = {
18
23
  JISInfotextOverviewTransformation: Symbol("JISInfotextOverviewTransformation"),
19
24
  TransferDepartureTransformation: Symbol("TransferDepartureTransformation"),
20
25
  RopidDeparturesPresetTransformation: Symbol("RopidDeparturesPresetTransformation"),
26
+ JISInfotextCacheTransferTransformation: Symbol("JISInfotextCacheTransferTransformation"),
27
+ TransferDepartureCacheTransformation: Symbol("TransferDepartureCacheTransformation"),
21
28
  //#endregion
22
29
  //#region Facade
23
30
  StopFacade: Symbol("StopFacade"),
@@ -29,10 +36,14 @@ exports.OgPidToken = {
29
36
  V3TransferBoardsController: Symbol("V3TransferBoardsController"),
30
37
  V3InfotextsController: Symbol("V3InfotextsController"),
31
38
  V3RopidDeparturesPresetController: Symbol("V3RopidDeparturesPresetController"),
39
+ V4TransferBoardsController: Symbol("V4TransferBoardsController"),
32
40
  //#endregion
33
41
  //#region Helpers
34
42
  JISInfotextStopSuppressionFilter: Symbol("JISInfotextStopSuppressionFilter"),
35
43
  GtfsStopParser: Symbol("GtfsStopParser"),
44
+ GtfsStopsSubscriber: Symbol("GtfsStopsSubscriber"),
45
+ JisInotextsSubscriber: Symbol("JisInotextsSubscriber"),
46
+ VPSubscriber: Symbol("VPSubscriber"),
36
47
  //#endregion
37
48
  };
38
49
  //# sourceMappingURL=OgPidToken.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"OgPidToken.js","sourceRoot":"","sources":["../../../../src/output-gateway/pid/ioc/OgPidToken.ts"],"names":[],"mappings":";;;AAAa,QAAA,UAAU,GAAG;IACtB,sBAAsB;IACtB,sBAAsB,EAAE,MAAM,CAAC,wBAAwB,CAAC;IACxD,mCAAmC,EAAE,MAAM,CAAC,qCAAqC,CAAC;IAClF,qBAAqB,EAAE,MAAM,CAAC,uBAAuB,CAAC;IACtD,oBAAoB,EAAE,MAAM,CAAC,sBAAsB,CAAC;IACpD,uBAAuB,EAAE,MAAM,CAAC,yBAAyB,CAAC;IAC1D,gCAAgC,EAAE,MAAM,CAAC,kCAAkC,CAAC;IAC5E,+BAA+B,EAAE,MAAM,CAAC,iCAAiC,CAAC;IAC1E,8CAA8C,EAAE,MAAM,CAAC,gDAAgD,CAAC;IACxG,YAAY;IAEZ,yBAAyB;IACzB,kCAAkC,EAAE,MAAM,CAAC,oCAAoC,CAAC;IAChF,iCAAiC,EAAE,MAAM,CAAC,mCAAmC,CAAC;IAC9E,iCAAiC,EAAE,MAAM,CAAC,mCAAmC,CAAC;IAC9E,+BAA+B,EAAE,MAAM,CAAC,iCAAiC,CAAC;IAC1E,mCAAmC,EAAE,MAAM,CAAC,qCAAqC,CAAC;IAClF,YAAY;IAEZ,gBAAgB;IAChB,UAAU,EAAE,MAAM,CAAC,YAAY,CAAC;IAChC,cAAc,EAAE,MAAM,CAAC,gBAAgB,CAAC;IACxC,cAAc,EAAE,MAAM,CAAC,gBAAgB,CAAC;IACxC,2BAA2B,EAAE,MAAM,CAAC,6BAA6B,CAAC;IAClE,YAAY;IAEZ,qBAAqB;IACrB,0BAA0B,EAAE,MAAM,CAAC,4BAA4B,CAAC;IAChE,qBAAqB,EAAE,MAAM,CAAC,uBAAuB,CAAC;IACtD,iCAAiC,EAAE,MAAM,CAAC,mCAAmC,CAAC;IAC9E,YAAY;IAEZ,iBAAiB;IACjB,gCAAgC,EAAE,MAAM,CAAC,kCAAkC,CAAC;IAC5E,cAAc,EAAE,MAAM,CAAC,gBAAgB,CAAC;IACxC,YAAY;CACf,CAAC"}
1
+ {"version":3,"file":"OgPidToken.js","sourceRoot":"","sources":["../../../../src/output-gateway/pid/ioc/OgPidToken.ts"],"names":[],"mappings":";;;AAAa,QAAA,UAAU,GAAG;IACtB,sBAAsB;IACtB,sBAAsB,EAAE,MAAM,CAAC,wBAAwB,CAAC;IACxD,mCAAmC,EAAE,MAAM,CAAC,qCAAqC,CAAC;IAClF,qBAAqB,EAAE,MAAM,CAAC,uBAAuB,CAAC;IACtD,2BAA2B,EAAE,MAAM,CAAC,6BAA6B,CAAC;IAClE,oBAAoB,EAAE,MAAM,CAAC,sBAAsB,CAAC;IACpD,uBAAuB,EAAE,MAAM,CAAC,yBAAyB,CAAC;IAC1D,gCAAgC,EAAE,MAAM,CAAC,kCAAkC,CAAC;IAC5E,+BAA+B,EAAE,MAAM,CAAC,iCAAiC,CAAC;IAC1E,8CAA8C,EAAE,MAAM,CAAC,gDAAgD,CAAC;IACxG,wBAAwB,EAAE,MAAM,CAAC,0BAA0B,CAAC;IAC5D,6BAA6B,EAAE,MAAM,CAAC,+BAA+B,CAAC;IACtE,iCAAiC,EAAE,MAAM,CAAC,mCAAmC,CAAC;IAC9E,wBAAwB,EAAE,MAAM,CAAC,0BAA0B,CAAC;IAC5D,YAAY;IAEZ,yBAAyB;IACzB,kCAAkC,EAAE,MAAM,CAAC,oCAAoC,CAAC;IAChF,iCAAiC,EAAE,MAAM,CAAC,mCAAmC,CAAC;IAC9E,iCAAiC,EAAE,MAAM,CAAC,mCAAmC,CAAC;IAC9E,+BAA+B,EAAE,MAAM,CAAC,iCAAiC,CAAC;IAC1E,mCAAmC,EAAE,MAAM,CAAC,qCAAqC,CAAC;IAClF,sCAAsC,EAAE,MAAM,CAAC,wCAAwC,CAAC;IACxF,oCAAoC,EAAE,MAAM,CAAC,sCAAsC,CAAC;IACpF,YAAY;IAEZ,gBAAgB;IAChB,UAAU,EAAE,MAAM,CAAC,YAAY,CAAC;IAChC,cAAc,EAAE,MAAM,CAAC,gBAAgB,CAAC;IACxC,cAAc,EAAE,MAAM,CAAC,gBAAgB,CAAC;IACxC,2BAA2B,EAAE,MAAM,CAAC,6BAA6B,CAAC;IAClE,YAAY;IAEZ,qBAAqB;IACrB,0BAA0B,EAAE,MAAM,CAAC,4BAA4B,CAAC;IAChE,qBAAqB,EAAE,MAAM,CAAC,uBAAuB,CAAC;IACtD,iCAAiC,EAAE,MAAM,CAAC,mCAAmC,CAAC;IAC9E,0BAA0B,EAAE,MAAM,CAAC,4BAA4B,CAAC;IAChE,YAAY;IAEZ,iBAAiB;IACjB,gCAAgC,EAAE,MAAM,CAAC,kCAAkC,CAAC;IAC5E,cAAc,EAAE,MAAM,CAAC,gBAAgB,CAAC;IACxC,mBAAmB,EAAE,MAAM,CAAC,qBAAqB,CAAC;IAClD,qBAAqB,EAAE,MAAM,CAAC,uBAAuB,CAAC;IACtD,YAAY,EAAE,MAAM,CAAC,cAAc,CAAC;IACpC,YAAY;CACf,CAAC"}
@@ -1,2 +1,3 @@
1
1
  export { v2PidRouter } from "./v2/V2PIDRouter";
2
2
  export { v3PidRouter } from "./v3/V3PIDRouter";
3
+ export { v4PidRouter } from "./v4/V4PIDRouter";
@@ -1,8 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.v3PidRouter = exports.v2PidRouter = void 0;
3
+ exports.v4PidRouter = exports.v3PidRouter = exports.v2PidRouter = void 0;
4
4
  var V2PIDRouter_1 = require("./v2/V2PIDRouter");
5
5
  Object.defineProperty(exports, "v2PidRouter", { enumerable: true, get: function () { return V2PIDRouter_1.v2PidRouter; } });
6
6
  var V3PIDRouter_1 = require("./v3/V3PIDRouter");
7
7
  Object.defineProperty(exports, "v3PidRouter", { enumerable: true, get: function () { return V3PIDRouter_1.v3PidRouter; } });
8
+ var V4PIDRouter_1 = require("./v4/V4PIDRouter");
9
+ Object.defineProperty(exports, "v4PidRouter", { enumerable: true, get: function () { return V4PIDRouter_1.v4PidRouter; } });
8
10
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/output-gateway/pid/routers/index.ts"],"names":[],"mappings":";;;AAAA,gDAA+C;AAAtC,0GAAA,WAAW,OAAA;AACpB,gDAA+C;AAAtC,0GAAA,WAAW,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/output-gateway/pid/routers/index.ts"],"names":[],"mappings":";;;AAAA,gDAA+C;AAAtC,0GAAA,WAAW,OAAA;AACpB,gDAA+C;AAAtC,0GAAA,WAAW,OAAA;AACpB,gDAA+C;AAAtC,0GAAA,WAAW,OAAA"}
@@ -0,0 +1,16 @@
1
+ /// <reference types="express" />
2
+ import { AbstractRouter } from "@golemio/core/dist/helpers/routing/AbstractRouter";
3
+ import { Router } from "@golemio/core/dist/shared/express";
4
+ export declare class V4PIDRouter extends AbstractRouter {
5
+ readonly router: Router;
6
+ private readonly cacheHeaderMiddleware;
7
+ private readonly transferBoardsController;
8
+ private readonly GtfsStopsSubscriber;
9
+ private readonly VPSubscriber;
10
+ private readonly JisInotextsSubscriber;
11
+ constructor();
12
+ protected initRoutes: () => void;
13
+ private registerTransferBoardsRoutes;
14
+ }
15
+ declare const v4PidRouter: AbstractRouter;
16
+ export { v4PidRouter };
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.v4PidRouter = exports.V4PIDRouter = void 0;
4
+ const RouteTypeEnums_1 = require("../../../../helpers/RouteTypeEnums");
5
+ const ParamValidatorManager_1 = require("../../helpers/ParamValidatorManager");
6
+ const Di_1 = require("../../ioc/Di");
7
+ const OgPidToken_1 = require("../../ioc/OgPidToken");
8
+ const constants_1 = require("../../../shared/constants");
9
+ const AbstractRouter_1 = require("@golemio/core/dist/helpers/routing/AbstractRouter");
10
+ const Validation_1 = require("@golemio/core/dist/output-gateway/Validation");
11
+ const ioc_1 = require("@golemio/core/dist/output-gateway/ioc");
12
+ const express_1 = require("@golemio/core/dist/shared/express");
13
+ const express_validator_1 = require("@golemio/core/dist/shared/express-validator");
14
+ const const_1 = require("../../../../const");
15
+ class V4PIDRouter extends AbstractRouter_1.AbstractRouter {
16
+ constructor() {
17
+ super(constants_1.RouteVersion.v4, "pid");
18
+ this.router = (0, express_1.Router)();
19
+ this.initRoutes = () => {
20
+ this.registerTransferBoardsRoutes();
21
+ };
22
+ this.registerTransferBoardsRoutes = () => {
23
+ const transferBoardsValidation = [
24
+ (0, express_validator_1.query)("aswId").optional().custom(ParamValidatorManager_1.ParamValidatorManager.getAswIdsValidator()).not().isArray(),
25
+ (0, express_validator_1.query)("cisId").optional().isInt({ min: const_1.PG_INT_MIN, max: const_1.PG_INT_MAX }).toInt(10).not().isArray(),
26
+ (0, express_validator_1.oneOf)([
27
+ [
28
+ (0, express_validator_1.query)("aswId").exists(),
29
+ (0, express_validator_1.query)("vehicleRegistrationNumber").exists(),
30
+ (0, express_validator_1.query)("tripNumber").not().exists(),
31
+ (0, express_validator_1.query)("cisId").not().exists(),
32
+ ],
33
+ [
34
+ (0, express_validator_1.query)("cisId").exists(),
35
+ (0, express_validator_1.query)("tripNumber").exists(),
36
+ (0, express_validator_1.query)("aswId").not().exists(),
37
+ (0, express_validator_1.query)("vehicleRegistrationNumber").not().exists(),
38
+ ],
39
+ ], {
40
+ message: "Either an aswId+vehicleRegistrationNumber (and no cisId+tripNumber), " +
41
+ "or a cisId+tripNumber (and aswId+vehicleRegistrationNumber) must be provided",
42
+ }),
43
+ (0, express_validator_1.query)("tripNumber").optional().isInt({ min: 0 }).toInt(10).not().isArray(),
44
+ (0, express_validator_1.query)("vehicleRegistrationNumber").optional().not().isEmpty({ ignore_whitespace: true }).not().isArray(),
45
+ (0, express_validator_1.query)("routeType").exists().isInt().isIn(Object.values(RouteTypeEnums_1.GTFSRouteTypeEnum)).toInt(10).not().isArray(),
46
+ (0, express_validator_1.query)("timeFrom").optional().isISO8601().custom(ParamValidatorManager_1.ParamValidatorManager.getTimeFromValidator()).not().isArray(),
47
+ (0, express_validator_1.query)("limit").optional().isInt({ min: 0 }).toInt(10).not().isArray(),
48
+ ];
49
+ this.router.get("/transferboards", transferBoardsValidation, Validation_1.checkErrors,
50
+ // max-age 5 seconds, stale-while-revalidate 5 seconds
51
+ this.cacheHeaderMiddleware.getMiddleware(5, 5), this.transferBoardsController.getTransferBoardData);
52
+ };
53
+ this.cacheHeaderMiddleware = ioc_1.OutputGatewayContainer.resolve(ioc_1.ContainerToken.CacheHeaderMiddleware);
54
+ this.transferBoardsController = Di_1.OgPidContainer.resolve(OgPidToken_1.OgPidToken.V4TransferBoardsController);
55
+ this.GtfsStopsSubscriber = Di_1.OgPidContainer.resolve(OgPidToken_1.OgPidToken.GtfsStopsSubscriber);
56
+ this.GtfsStopsSubscriber.initialize();
57
+ this.JisInotextsSubscriber = Di_1.OgPidContainer.resolve(OgPidToken_1.OgPidToken.JisInotextsSubscriber);
58
+ this.JisInotextsSubscriber.initialize();
59
+ this.VPSubscriber = Di_1.OgPidContainer.resolve(OgPidToken_1.OgPidToken.VPSubscriber);
60
+ this.VPSubscriber.initialize();
61
+ this.initRoutes();
62
+ }
63
+ }
64
+ exports.V4PIDRouter = V4PIDRouter;
65
+ const v4PidRouter = new V4PIDRouter();
66
+ exports.v4PidRouter = v4PidRouter;
67
+ //# sourceMappingURL=V4PIDRouter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"V4PIDRouter.js","sourceRoot":"","sources":["../../../../../src/output-gateway/pid/routers/v4/V4PIDRouter.ts"],"names":[],"mappings":"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"}