@golemio/pid 5.1.1 → 5.2.0-dev.2211770284

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 (64) hide show
  1. package/dist/helpers/jis/JISEventTranslationHelper.d.ts +1 -0
  2. package/dist/helpers/jis/JISEventTranslationHelper.js +23 -9
  3. package/dist/helpers/jis/JISEventTranslationHelper.js.map +1 -1
  4. package/dist/integration-engine/jis/repositories/JISEventsRepository.js +0 -4
  5. package/dist/integration-engine/jis/repositories/JISEventsRepository.js.map +1 -1
  6. package/dist/integration-engine/jis/transformations/JISEventsGtfsRtTransformation.js +6 -0
  7. package/dist/integration-engine/jis/transformations/JISEventsGtfsRtTransformation.js.map +1 -1
  8. package/dist/integration-engine/jis/transformations/JISEventsTransformation.js +1 -1
  9. package/dist/integration-engine/jis/transformations/JISEventsTransformation.js.map +1 -1
  10. package/dist/integration-engine/jis/transformations/UpdateEventWebhookTransformation.js +1 -1
  11. package/dist/integration-engine/jis/transformations/UpdateEventWebhookTransformation.js.map +1 -1
  12. package/dist/integration-engine/vehicle-positions/workers/gtfs-rt/interfaces/AlertsInterfaces.d.ts +3 -0
  13. package/dist/integration-engine/vehicle-positions/workers/gtfs-rt/transformations/AlertsTransformation.js +3 -0
  14. package/dist/integration-engine/vehicle-positions/workers/gtfs-rt/transformations/AlertsTransformation.js.map +1 -1
  15. package/dist/output-gateway/jis/controllers/v1/V1EventsController.d.ts +1 -1
  16. package/dist/output-gateway/jis/controllers/v1/V1EventsController.js +2 -2
  17. package/dist/output-gateway/jis/controllers/v1/V1EventsController.js.map +1 -1
  18. package/dist/output-gateway/jis/data-access/JISEventsRepository.d.ts +1 -1
  19. package/dist/output-gateway/jis/data-access/JISEventsRepository.js +6 -3
  20. package/dist/output-gateway/jis/data-access/JISEventsRepository.js.map +1 -1
  21. package/dist/output-gateway/jis/dto/EventsDto.d.ts +1 -0
  22. package/dist/output-gateway/jis/dto/EventsDto.js.map +1 -1
  23. package/dist/output-gateway/jis/routers/v1/V1JISRouter.js +2 -0
  24. package/dist/output-gateway/jis/routers/v1/V1JISRouter.js.map +1 -1
  25. package/dist/output-gateway/jis/transformations/JISEventsCustomFormatTransformation.js +1 -1
  26. package/dist/output-gateway/jis/transformations/JISEventsCustomFormatTransformation.js.map +1 -1
  27. package/dist/output-gateway/pid/controllers/v4/V4TransferBoardsController.js +13 -3
  28. package/dist/output-gateway/pid/controllers/v4/V4TransferBoardsController.js.map +1 -1
  29. package/dist/output-gateway/pid/helpers/TransferBoardIconsResolver.d.ts +10 -0
  30. package/dist/output-gateway/pid/helpers/TransferBoardIconsResolver.js +90 -0
  31. package/dist/output-gateway/pid/helpers/TransferBoardIconsResolver.js.map +1 -0
  32. package/dist/output-gateway/pid/ioc/Di.js +1 -1
  33. package/dist/output-gateway/pid/ioc/Di.js.map +1 -1
  34. package/dist/output-gateway/pid/ioc/OgPidToken.d.ts +1 -1
  35. package/dist/output-gateway/pid/ioc/OgPidToken.js +1 -1
  36. package/dist/output-gateway/pid/ioc/OgPidToken.js.map +1 -1
  37. package/dist/output-gateway/pid/models/helpers/FilterHelper.d.ts +14 -5
  38. package/dist/output-gateway/pid/models/helpers/FilterHelper.js +44 -34
  39. package/dist/output-gateway/pid/models/helpers/FilterHelper.js.map +1 -1
  40. package/dist/output-gateway/pid/routers/v4/V4PIDRouter.d.ts +1 -1
  41. package/dist/output-gateway/pid/routers/v4/V4PIDRouter.js +2 -2
  42. package/dist/output-gateway/pid/routers/v4/V4PIDRouter.js.map +1 -1
  43. package/dist/output-gateway/pid/service/transformations/TransferDepartureCacheTransformation.d.ts +1 -0
  44. package/dist/output-gateway/pid/service/transformations/TransferDepartureCacheTransformation.js +19 -0
  45. package/dist/output-gateway/pid/service/transformations/TransferDepartureCacheTransformation.js.map +1 -1
  46. package/dist/output-gateway/public/controllers/v2/V2PublicDepartureBoardsController.js +1 -1
  47. package/dist/output-gateway/public/data-access/redis/PublicGtfsDepartureRepository.js +22 -22
  48. package/dist/output-gateway/public/data-access/redis/PublicGtfsDepartureRepository.js.map +1 -1
  49. package/dist/output-gateway/public/ioc/Di.js +15 -1
  50. package/dist/output-gateway/public/ioc/Di.js.map +1 -1
  51. package/dist/output-gateway/public/ioc/OgModuleToken.d.ts +2 -0
  52. package/dist/output-gateway/public/ioc/OgModuleToken.js +2 -0
  53. package/dist/output-gateway/public/ioc/OgModuleToken.js.map +1 -1
  54. package/dist/output-gateway/public/routers/v2/V2PublicDeparturesRouter.d.ts +1 -0
  55. package/dist/output-gateway/public/routers/v2/V2PublicDeparturesRouter.js +3 -0
  56. package/dist/output-gateway/public/routers/v2/V2PublicDeparturesRouter.js.map +1 -1
  57. package/dist/output-gateway/public/service/facade/DepartureBoardFacade.d.ts +4 -1
  58. package/dist/output-gateway/public/service/facade/DepartureBoardFacade.js +36 -5
  59. package/dist/output-gateway/public/service/facade/DepartureBoardFacade.js.map +1 -1
  60. package/dist/output-gateway/ropid-gtfs/data-access/redis/GtfsStopsRedisRepository.d.ts +1 -0
  61. package/dist/output-gateway/ropid-gtfs/data-access/redis/GtfsStopsRedisRepository.js +21 -0
  62. package/dist/output-gateway/ropid-gtfs/data-access/redis/GtfsStopsRedisRepository.js.map +1 -1
  63. package/docs/openapi-output.yaml +11 -0
  64. package/package.json +4 -4
@@ -30,6 +30,6 @@ export declare const OgPidToken: {
30
30
  V4TransferBoardsController: symbol;
31
31
  JISInfotextStopSuppressionFilter: symbol;
32
32
  GtfsStopsSubscriber: symbol;
33
- JisInotextsSubscriber: symbol;
33
+ JisInfotextsSubscriber: symbol;
34
34
  VPSubscriber: symbol;
35
35
  };
@@ -42,7 +42,7 @@ exports.OgPidToken = {
42
42
  //#region Helpers
43
43
  JISInfotextStopSuppressionFilter: Symbol("JISInfotextStopSuppressionFilter"),
44
44
  GtfsStopsSubscriber: Symbol("GtfsStopsSubscriber"),
45
- JisInotextsSubscriber: Symbol("JisInotextsSubscriber"),
45
+ JisInfotextsSubscriber: Symbol("JisInfotextsSubscriber"),
46
46
  VPSubscriber: Symbol("VPSubscriber"),
47
47
  //#endregion
48
48
  };
@@ -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,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,0BAA0B,EAAE,MAAM,CAAC,4BAA4B,CAAC;IAChE,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,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
+ {"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,0BAA0B,EAAE,MAAM,CAAC,4BAA4B,CAAC;IAChE,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,mBAAmB,EAAE,MAAM,CAAC,qBAAqB,CAAC;IAClD,sBAAsB,EAAE,MAAM,CAAC,wBAAwB,CAAC;IACxD,YAAY,EAAE,MAAM,CAAC,cAAc,CAAC;IACpC,YAAY;CACf,CAAC"}
@@ -11,12 +11,21 @@ export type SplitDepartures = {
11
11
  };
12
12
  export type AccumulatorCondition = (accumulator: SplitDepartures, currentDeparture: DepartureUnion) => boolean;
13
13
  export declare class FilterHelper {
14
- static routeOnceHeadingCondition: AccumulatorCondition;
15
- static routeOnceHeadingNoGapCondition: AccumulatorCondition;
16
- static routeOnceCondition: AccumulatorCondition;
17
- static isFillFilterType(filter: DepartureFilter): filter is DepartureFilter.ROUTE_ONCE_FILL | DepartureFilter.ROUTE_HEADING_ONCE_FILL | DepartureFilter.ROUTE_HEADING_ONCE_NOGAP_FILL;
14
+ private static readonly routeId;
15
+ private static readonly platformCode;
16
+ private static readonly tripCisStopPlatformCode;
17
+ private static readonly stopHeadsign;
18
+ private static readonly tripHeadsign;
19
+ static routeOnceHeadingCondition(accumulator: SplitDepartures, currentDeparture: DepartureUnion): boolean;
20
+ static routeOnceHeadingNoGapCondition(accumulator: SplitDepartures, currentDeparture: DepartureUnion): boolean;
21
+ static routeOnceCondition(accumulator: SplitDepartures, currentDeparture: DepartureUnion): boolean;
22
+ static isFillFilterType(filter: DepartureFilter): boolean;
18
23
  private static isInFillBucket;
19
24
  private static isInOnceBucketWithHeading;
20
- private static isInOnceBucketWithHeadingWithStop;
25
+ private static isInOnceBucketWithHeadingWithPlatform;
26
+ private static sameProperty;
27
+ private static sameRouteId;
28
+ private static sameHeadsign;
29
+ private static samePlatformCode;
21
30
  private static isInOnceBucket;
22
31
  }
@@ -1,47 +1,57 @@
1
1
  "use strict";
2
- var _a;
3
2
  Object.defineProperty(exports, "__esModule", { value: true });
4
3
  exports.FilterHelper = void 0;
5
4
  const pid_1 = require("../..");
6
5
  class FilterHelper {
6
+ static routeOnceHeadingCondition(accumulator, currentDeparture) {
7
+ // only the first departure to respone for trips with same route_id and heading
8
+ return !FilterHelper.isInOnceBucketWithHeading(accumulator, currentDeparture);
9
+ }
10
+ static routeOnceHeadingNoGapCondition(accumulator, currentDeparture) {
11
+ // extension of routeOnceHeading filter, when we skip some route_id afterwards it doesnt show up even different headings
12
+ return (!FilterHelper.isInOnceBucketWithHeadingWithPlatform(accumulator, currentDeparture) &&
13
+ !FilterHelper.isInFillBucket(accumulator, currentDeparture));
14
+ }
15
+ static routeOnceCondition(accumulator, currentDeparture) {
16
+ // only the first departure to respone for trips with same route_id
17
+ return !FilterHelper.isInOnceBucket(accumulator, currentDeparture);
18
+ }
7
19
  static isFillFilterType(filter) {
8
20
  return (filter === pid_1.DepartureFilter.ROUTE_ONCE_FILL ||
9
21
  filter === pid_1.DepartureFilter.ROUTE_HEADING_ONCE_FILL ||
10
22
  filter === pid_1.DepartureFilter.ROUTE_HEADING_ONCE_NOGAP_FILL);
11
23
  }
24
+ static isInFillBucket(accumulator, currentDeparture) {
25
+ return accumulator.fill.some((e) => FilterHelper.sameRouteId(e, currentDeparture) && FilterHelper.samePlatformCode(e, currentDeparture));
26
+ }
27
+ static isInOnceBucketWithHeading(accumulator, currentDeparture) {
28
+ return accumulator.once.some((e) => FilterHelper.sameRouteId(e, currentDeparture) && FilterHelper.sameHeadsign(e, currentDeparture));
29
+ }
30
+ static isInOnceBucketWithHeadingWithPlatform(accumulator, currentDeparture) {
31
+ return accumulator.once.some((e) => FilterHelper.sameRouteId(e, currentDeparture) &&
32
+ FilterHelper.sameHeadsign(e, currentDeparture) &&
33
+ FilterHelper.samePlatformCode(e, currentDeparture));
34
+ }
35
+ static sameProperty(a, b, property) {
36
+ return a[property] === b[property];
37
+ }
38
+ static sameRouteId(a, b) {
39
+ return FilterHelper.sameProperty(a, b, FilterHelper.routeId);
40
+ }
41
+ static sameHeadsign(a, b) {
42
+ return FilterHelper.sameProperty(a, b, b.stop_headsign ? FilterHelper.stopHeadsign : FilterHelper.tripHeadsign);
43
+ }
44
+ static samePlatformCode(a, b) {
45
+ return FilterHelper.sameProperty(a, b, b[FilterHelper.tripCisStopPlatformCode] ? FilterHelper.tripCisStopPlatformCode : FilterHelper.platformCode);
46
+ }
47
+ static isInOnceBucket(accumulator, currentDeparture) {
48
+ return accumulator.once.findIndex((e) => e.route_id === currentDeparture.route_id) >= 0;
49
+ }
12
50
  }
13
51
  exports.FilterHelper = FilterHelper;
14
- _a = FilterHelper;
15
- FilterHelper.routeOnceHeadingCondition = (accumulator, currentDeparture) => {
16
- // only the first departure to respone for trips with same route_id and heading
17
- return !_a.isInOnceBucketWithHeading(accumulator, currentDeparture);
18
- };
19
- FilterHelper.routeOnceHeadingNoGapCondition = (accumulator, currentDeparture) => {
20
- // extension of routeOnceHeading filter, when we skip some route_id afterwards it doesnt show up even different headings
21
- return (!_a.isInOnceBucketWithHeadingWithStop(accumulator, currentDeparture) &&
22
- !_a.isInFillBucket(accumulator, currentDeparture));
23
- };
24
- FilterHelper.routeOnceCondition = (accumulator, currentDeparture) => {
25
- // only the first departure to respone for trips with same route_id
26
- return !_a.isInOnceBucket(accumulator, currentDeparture);
27
- };
28
- FilterHelper.isInFillBucket = (accumulator, currentDeparture) => {
29
- return (accumulator.fill.findIndex((e) => e.route_id === currentDeparture.route_id && e.stop_id === currentDeparture.stop_id) >= 0);
30
- };
31
- FilterHelper.isInOnceBucketWithHeading = (accumulator, currentDeparture) => {
32
- return (accumulator.once.findIndex((e) => e.route_id === currentDeparture.route_id &&
33
- (currentDeparture.stop_headsign
34
- ? e.stop_headsign === currentDeparture.stop_headsign
35
- : e.trip_headsign === currentDeparture.trip_headsign)) >= 0);
36
- };
37
- FilterHelper.isInOnceBucketWithHeadingWithStop = (accumulator, currentDeparture) => {
38
- return (accumulator.once.findIndex((e) => e.route_id === currentDeparture.route_id &&
39
- (currentDeparture.stop_headsign
40
- ? e.stop_headsign === currentDeparture.stop_headsign
41
- : e.trip_headsign === currentDeparture.trip_headsign) &&
42
- e.stop_id === currentDeparture.stop_id) >= 0);
43
- };
44
- FilterHelper.isInOnceBucket = (accumulator, currentDeparture) => {
45
- return accumulator.once.findIndex((e) => e.route_id === currentDeparture.route_id) >= 0;
46
- };
52
+ FilterHelper.routeId = "route_id";
53
+ FilterHelper.platformCode = "platform_code";
54
+ FilterHelper.tripCisStopPlatformCode = "trip.cis_stop_platform_code";
55
+ FilterHelper.stopHeadsign = "stop_headsign";
56
+ FilterHelper.tripHeadsign = "trip_headsign";
47
57
  //# sourceMappingURL=FilterHelper.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FilterHelper.js","sourceRoot":"","sources":["../../../../../src/output-gateway/pid/models/helpers/FilterHelper.ts"],"names":[],"mappings":";;;;AAAA,+BAA0D;AAW1D,MAAa,YAAY;IAyBd,MAAM,CAAC,gBAAgB,CAAC,MAAuB;QAClD,OAAO,CACH,MAAM,KAAK,qBAAe,CAAC,eAAe;YAC1C,MAAM,KAAK,qBAAe,CAAC,uBAAuB;YAClD,MAAM,KAAK,qBAAe,CAAC,6BAA6B,CAC3D,CAAC;IACN,CAAC;;AA/BL,oCA2EC;;AA1EiB,sCAAyB,GAAyB,CAC5D,WAA4B,EAC5B,gBAAgC,EAClC,EAAE;IACA,+EAA+E;IAC/E,OAAO,CAAC,EAAI,CAAC,yBAAyB,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC;AAC1E,CAAC,AANsC,CAMrC;AAEY,2CAA8B,GAAyB,CACjE,WAA4B,EAC5B,gBAAgC,EAClC,EAAE;IACA,wHAAwH;IACxH,OAAO,CACH,CAAC,EAAI,CAAC,iCAAiC,CAAC,WAAW,EAAE,gBAAgB,CAAC;QACtE,CAAC,EAAI,CAAC,cAAc,CAAC,WAAW,EAAE,gBAAgB,CAAC,CACtD,CAAC;AACN,CAAC,AAT2C,CAS1C;AAEY,+BAAkB,GAAyB,CAAC,WAA4B,EAAE,gBAAgC,EAAE,EAAE;IACxH,mEAAmE;IACnE,OAAO,CAAC,EAAI,CAAC,cAAc,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC;AAC/D,CAAC,AAH+B,CAG9B;AAUa,2BAAc,GAAyB,CAAC,WAA4B,EAAE,gBAAgC,EAAE,EAAE;IACrH,OAAO,CACH,WAAW,CAAC,IAAI,CAAC,SAAS,CACtB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,gBAAgB,CAAC,QAAQ,IAAI,CAAC,CAAC,OAAO,KAAK,gBAAgB,CAAC,OAAO,CAC5F,IAAI,CAAC,CACT,CAAC;AACN,CAAC,AAN4B,CAM3B;AAEa,sCAAyB,GAAyB,CAC7D,WAA4B,EAC5B,gBAAgC,EAClC,EAAE;IACA,OAAO,CACH,WAAW,CAAC,IAAI,CAAC,SAAS,CACtB,CAAC,CAAC,EAAE,EAAE,CACF,CAAC,CAAC,QAAQ,KAAK,gBAAgB,CAAC,QAAQ;QACxC,CAAC,gBAAgB,CAAC,aAAa;YAC3B,CAAC,CAAC,CAAC,CAAC,aAAa,KAAK,gBAAgB,CAAC,aAAa;YACpD,CAAC,CAAC,CAAC,CAAC,aAAa,KAAK,gBAAgB,CAAC,aAAa,CAAC,CAChE,IAAI,CAAC,CACT,CAAC;AACN,CAAC,AAbuC,CAatC;AAEa,8CAAiC,GAAyB,CACrE,WAA4B,EAC5B,gBAAgC,EAClC,EAAE;IACA,OAAO,CACH,WAAW,CAAC,IAAI,CAAC,SAAS,CACtB,CAAC,CAAC,EAAE,EAAE,CACF,CAAC,CAAC,QAAQ,KAAK,gBAAgB,CAAC,QAAQ;QACxC,CAAC,gBAAgB,CAAC,aAAa;YAC3B,CAAC,CAAC,CAAC,CAAC,aAAa,KAAK,gBAAgB,CAAC,aAAa;YACpD,CAAC,CAAC,CAAC,CAAC,aAAa,KAAK,gBAAgB,CAAC,aAAa,CAAC;QACzD,CAAC,CAAC,OAAO,KAAK,gBAAgB,CAAC,OAAO,CAC7C,IAAI,CAAC,CACT,CAAC;AACN,CAAC,AAd+C,CAc9C;AAEa,2BAAc,GAAyB,CAAC,WAA4B,EAAE,gBAAgC,EAAE,EAAE;IACrH,OAAO,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AAC5F,CAAC,AAF4B,CAE3B"}
1
+ {"version":3,"file":"FilterHelper.js","sourceRoot":"","sources":["../../../../../src/output-gateway/pid/models/helpers/FilterHelper.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,7 @@ export declare class V4PIDRouter extends AbstractRouter {
6
6
  private readonly transferBoardsController;
7
7
  private readonly GtfsStopsSubscriber;
8
8
  private readonly VPSubscriber;
9
- private readonly JisInotextsSubscriber;
9
+ private readonly JisInfotextsSubscriber;
10
10
  constructor();
11
11
  protected initRoutes: () => void;
12
12
  private registerTransferBoardsRoutes;
@@ -54,8 +54,8 @@ class V4PIDRouter extends AbstractRouter_1.AbstractRouter {
54
54
  this.transferBoardsController = Di_1.OgPidContainer.resolve(OgPidToken_1.OgPidToken.V4TransferBoardsController);
55
55
  this.GtfsStopsSubscriber = Di_1.OgPidContainer.resolve(OgPidToken_1.OgPidToken.GtfsStopsSubscriber);
56
56
  this.GtfsStopsSubscriber.initialize();
57
- this.JisInotextsSubscriber = Di_1.OgPidContainer.resolve(OgPidToken_1.OgPidToken.JisInotextsSubscriber);
58
- this.JisInotextsSubscriber.initialize();
57
+ this.JisInfotextsSubscriber = Di_1.OgPidContainer.resolve(OgPidToken_1.OgPidToken.JisInfotextsSubscriber);
58
+ this.JisInfotextsSubscriber.initialize();
59
59
  this.VPSubscriber = Di_1.OgPidContainer.resolve(OgPidToken_1.OgPidToken.VPSubscriber);
60
60
  this.VPSubscriber.initialize();
61
61
  this.initRoutes();
@@ -1 +1 @@
1
- {"version":3,"file":"V4PIDRouter.js","sourceRoot":"","sources":["../../../../../src/output-gateway/pid/routers/v4/V4PIDRouter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"V4PIDRouter.js","sourceRoot":"","sources":["../../../../../src/output-gateway/pid/routers/v4/V4PIDRouter.ts"],"names":[],"mappings":"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"}
@@ -24,4 +24,5 @@ export declare class TransferDepartureCacheTransformation extends AbstractTransf
24
24
  substitution_text: null;
25
25
  };
26
26
  private calculateDepartureMinutes;
27
+ private getRouteDirectionKey;
27
28
  }
@@ -18,6 +18,8 @@ let TransferDepartureCacheTransformation = class TransferDepartureCacheTransform
18
18
  this.name = "TransferDepartureCacheTransformation";
19
19
  this.transformArray = (data) => {
20
20
  const departures = new Map();
21
+ const routeDirectionCount = new Map();
22
+ const directionIdCache = new Map();
21
23
  const res = [];
22
24
  for (const { departure, position, stopTime } of data) {
23
25
  if (departure.route_type === RouteTypeEnums_1.GTFSRouteTypeEnum.METRO) {
@@ -35,7 +37,13 @@ let TransferDepartureCacheTransformation = class TransferDepartureCacheTransform
35
37
  }
36
38
  }
37
39
  else {
40
+ const routeDirectionKey = this.getRouteDirectionKey(departure, position, directionIdCache);
41
+ const currentCount = routeDirectionCount.get(routeDirectionKey) ?? 0;
42
+ if (currentCount >= 2) {
43
+ continue;
44
+ }
38
45
  res.push(this.transformInternal({ departure, position, stopTime }));
46
+ routeDirectionCount.set(routeDirectionKey, currentCount + 1);
39
47
  }
40
48
  }
41
49
  return [...Array.from(departures.values()), ...res];
@@ -70,6 +78,17 @@ let TransferDepartureCacheTransformation = class TransferDepartureCacheTransform
70
78
  }
71
79
  return departure_minutes.toString();
72
80
  }
81
+ getRouteDirectionKey(departure, position, directionIdCache) {
82
+ const cacheKey = `${departure.route_short_name}_${departure.trip_headsign}`;
83
+ let directionId = position?.detailed_info?.direction_id;
84
+ if (directionId !== undefined && directionId !== null) {
85
+ directionIdCache.set(cacheKey, directionId);
86
+ }
87
+ else {
88
+ directionId = directionIdCache.get(cacheKey) ?? 0;
89
+ }
90
+ return `${departure.route_short_name}-${directionId}`;
91
+ }
73
92
  };
74
93
  exports.TransferDepartureCacheTransformation = TransferDepartureCacheTransformation;
75
94
  exports.TransferDepartureCacheTransformation = TransferDepartureCacheTransformation = __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"TransferDepartureCacheTransformation.js","sourceRoot":"","sources":["../../../../../src/output-gateway/pid/service/transformations/TransferDepartureCacheTransformation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TransferDepartureCacheTransformation.js","sourceRoot":"","sources":["../../../../../src/output-gateway/pid/service/transformations/TransferDepartureCacheTransformation.ts"],"names":[],"mappings":"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"}
@@ -15,7 +15,7 @@ class V2PublicDepartureBoardsController {
15
15
  const params = this.parseDepartureParams(queryData);
16
16
  const result = await facade.getAll(params.stopIds, params.limit, params.routeShortNames, params.minutesAfter, params.minutesBefore);
17
17
  if (result === null) {
18
- res.status(404).send([]);
18
+ res.status(404).json([]);
19
19
  return;
20
20
  }
21
21
  res.json(result);
@@ -24,28 +24,6 @@ let PublicGtfsDepartureRepository = class PublicGtfsDepartureRepository {
24
24
  constructor(redisConnector, log) {
25
25
  this.redisConnector = redisConnector;
26
26
  this.log = log;
27
- this.getAndParseDepartureCache = async (stopId, minutesAfter, timeFrom, limit) => {
28
- const connection = this.redisConnector.getConnection();
29
- let departureCache;
30
- const now = Date.now();
31
- try {
32
- departureCache = await connection.zrangebyscore(`${const_1.PUBLIC_DEPARTURE_NAMESPACE_PREFIX}:${stopId}`, Math.round((timeFrom?.getTime() ?? now) / 1000), Math.round((timeFrom?.getTime() ?? now) / 1000) + minutesAfter * 60, "LIMIT", 0, limit || 100 // max on v2 is 30, max on v4 SHOULD BE similar (usually 2x the board-rows)
33
- );
34
- }
35
- catch (err) {
36
- throw new golemio_errors_1.GeneralError(`${this.constructor.name}: Cannot get public departure cache from cache: ${err.message}`, this.constructor.name, err);
37
- }
38
- if (departureCache.length === 0) {
39
- this.log.info(`${this.constructor.name}: Cannot find public departure cache for stop ${stopId} in cache`);
40
- return [];
41
- }
42
- try {
43
- return departureCache.map((cache) => JSON.parse(cache));
44
- }
45
- catch (err) {
46
- throw new golemio_errors_1.GeneralError(`${this.constructor.name}: Cannot parse public departure cache: ${err.message}`, this.constructor.name, err);
47
- }
48
- };
49
27
  }
50
28
  async getPublicGtfsDepartureCache(stopIds, minutesAfter, timeFrom, limit) {
51
29
  if (!this.redisConnector.isConnected()) {
@@ -54,6 +32,28 @@ let PublicGtfsDepartureRepository = class PublicGtfsDepartureRepository {
54
32
  const allDepartures = await Promise.all(stopIds.map((stopId) => this.getAndParseDepartureCache(stopId, minutesAfter, timeFrom, limit)));
55
33
  return allDepartures.flat();
56
34
  }
35
+ async getAndParseDepartureCache(stopId, minutesAfter, timeFrom, limit) {
36
+ const connection = this.redisConnector.getConnection();
37
+ let departureCache;
38
+ const now = Date.now();
39
+ try {
40
+ departureCache = await connection.zrangebyscore(`${const_1.PUBLIC_DEPARTURE_NAMESPACE_PREFIX}:${stopId}`, Math.round((timeFrom?.getTime() ?? now) / 1000), Math.round((timeFrom?.getTime() ?? now) / 1000) + minutesAfter * 60, "LIMIT", 0, limit || 100 // max on v2 is 30, max on v4 SHOULD BE similar (usually 2x the board-rows)
41
+ );
42
+ }
43
+ catch (err) {
44
+ throw new golemio_errors_1.GeneralError(`${this.constructor.name}: Cannot get public departure cache from cache: ${err.message}`, this.constructor.name, err);
45
+ }
46
+ if (departureCache.length === 0) {
47
+ this.log.info(`${this.constructor.name}: Cannot find public departure cache for stop ${stopId} in cache`);
48
+ return [];
49
+ }
50
+ try {
51
+ return departureCache.map((cache) => JSON.parse(cache));
52
+ }
53
+ catch (err) {
54
+ throw new golemio_errors_1.GeneralError(`${this.constructor.name}: Cannot parse public departure cache: ${err.message}`, this.constructor.name, err);
55
+ }
56
+ }
57
57
  };
58
58
  exports.PublicGtfsDepartureRepository = PublicGtfsDepartureRepository;
59
59
  exports.PublicGtfsDepartureRepository = PublicGtfsDepartureRepository = __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"PublicGtfsDepartureRepository.js","sourceRoot":"","sources":["../../../../../src/output-gateway/public/data-access/redis/PublicGtfsDepartureRepository.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AACA,iFAAgF;AAEhF,oGAAiG;AACjG,wEAAqE;AAErE,+DAAuE;AACvE,6EAAwE;AACxE,iEAAwE;AAExE,MAAM,UAAU,GAAG,CAAC,CAAC;AAGd,IAAM,6BAA6B,GAAnC,MAAM,6BAA6B;IACtC,YAC2C,cAAwC,EACrD,GAAoB;QADC,mBAAc,GAAd,cAAc,CAAkB;QAC7C,QAAG,GAAH,GAAG,CAAS;QAoB1C,8BAAyB,GAAG,KAAK,EACrC,MAAc,EACd,YAAoB,EACpB,QAAe,EACf,KAAc,EACyB,EAAE;YACzC,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,aAAa,EAAE,CAAC;YAEvD,IAAI,cAAwB,CAAC;YAC7B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAEvB,IAAI,CAAC;gBACD,cAAc,GAAG,MAAM,UAAU,CAAC,aAAa,CAC3C,GAAG,yCAAiC,IAAI,MAAM,EAAE,EAChD,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,EAC/C,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,YAAY,GAAG,EAAE,EACnE,OAAO,EACP,CAAC,EACD,KAAK,IAAI,GAAG,CAAC,2EAA2E;iBAC3F,CAAC;YACN,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACX,MAAM,IAAI,6BAAY,CAClB,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,mDAAmD,GAAG,CAAC,OAAO,EAAE,EACxF,IAAI,CAAC,WAAW,CAAC,IAAI,EACrB,GAAG,CACN,CAAC;YACN,CAAC;YAED,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC9B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,iDAAiD,MAAM,WAAW,CAAC,CAAC;gBAC1G,OAAO,EAAE,CAAC;YACd,CAAC;YAED,IAAI,CAAC;gBACD,OAAO,cAAc,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAiC,CAAC,CAAC;YAC5F,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACX,MAAM,IAAI,6BAAY,CAClB,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,0CAA0C,GAAG,CAAC,OAAO,EAAE,EAC/E,IAAI,CAAC,WAAW,CAAC,IAAI,EACrB,GAAG,CACN,CAAC;YACN,CAAC;QACL,CAAC,CAAC;IA7DC,CAAC;IAEG,KAAK,CAAC,2BAA2B,CACpC,OAAiB,EACjB,YAAoB,EACpB,QAAe,EACf,KAAc;QAEd,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,EAAE,CAAC;YACrC,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC;QACxC,CAAC;QAED,MAAM,aAAa,GAAqC,MAAM,OAAO,CAAC,GAAG,CACrE,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,yBAAyB,CAAC,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,CACjG,CAAC;QAEF,OAAO,aAAa,CAAC,IAAI,EAAE,CAAC;IAChC,CAAC;CA6CJ,CAAA;AAlEY,sEAA6B;wCAA7B,6BAA6B;IADzC,IAAA,qBAAU,GAAE;IAGJ,WAAA,IAAA,iBAAM,EAAC,oBAAc,CAAC,cAAc,CAAC,CAAA;IACrC,WAAA,IAAA,iBAAM,EAAC,qBAAS,CAAC,MAAM,CAAC,CAAA;qCADsC,mCAAgB;GAF1E,6BAA6B,CAkEzC"}
1
+ {"version":3,"file":"PublicGtfsDepartureRepository.js","sourceRoot":"","sources":["../../../../../src/output-gateway/public/data-access/redis/PublicGtfsDepartureRepository.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.OgPublicContainer = void 0;
4
4
  const GeoMeasurementHelper_1 = require("../../../helpers/geo/GeoMeasurementHelper");
5
5
  const const_1 = require("../../../schema-definitions/vehicle-positions/redis/const");
6
+ const const_2 = require("../../../schema-definitions/ropid-gtfs/redis/const");
6
7
  const CoreToken_1 = require("@golemio/core/dist/helpers/ioc/CoreToken");
7
8
  const Di_1 = require("@golemio/core/dist/output-gateway/ioc/Di");
8
9
  const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
@@ -10,6 +11,7 @@ const VehicleDescriptorCachedRepository_1 = require("../data-access/VehicleDescr
10
11
  const DelayComputationRepository_1 = require("../data-access/redis/DelayComputationRepository");
11
12
  const PublicGtfsDepartureRepository_1 = require("../data-access/redis/PublicGtfsDepartureRepository");
12
13
  const PublicStopTimeRepository_1 = require("../data-access/redis/PublicStopTimeRepository");
14
+ const GtfsStopsRedisRepository_1 = require("../../ropid-gtfs/data-access/redis/GtfsStopsRedisRepository");
13
15
  const PublicVehiclePositionsRepository_1 = require("../data-access/redis/PublicVehiclePositionsRepository");
14
16
  const VPSubscriber_1 = require("../../shared/service/VPSubscriber");
15
17
  const DepartureBoardFacade_1 = require("../service/facade/DepartureBoardFacade");
@@ -41,6 +43,7 @@ ogPublicContainer.registerSingleton(OgModuleToken_1.OgModuleToken.PublicVehicleP
41
43
  ogPublicContainer.registerSingleton(OgModuleToken_1.OgModuleToken.DelayComputationRepository, DelayComputationRepository_1.DelayComputationRepository);
42
44
  ogPublicContainer.registerSingleton(OgModuleToken_1.OgModuleToken.PublicStopTimeRepository, PublicStopTimeRepository_1.PublicStopTimeRepository);
43
45
  ogPublicContainer.registerSingleton(OgModuleToken_1.OgModuleToken.PublicGtfsDepartureRepository, PublicGtfsDepartureRepository_1.PublicGtfsDepartureRepository);
46
+ ogPublicContainer.registerSingleton(OgModuleToken_1.OgModuleToken.GtfsStopsRedisRepository, GtfsStopsRedisRepository_1.GtfsStopsRedisRepository);
44
47
  ogPublicContainer.registerSingleton(OgModuleToken_1.OgModuleToken.InfoTripScopeHandler, InfoTripScopeHandler_2.InfoTripScopeHandler);
45
48
  ogPublicContainer.registerSingleton(OgModuleToken_1.OgModuleToken.StopTimesTripScopeHandler, StopTimesTripScopeHandler_2.StopTimesTripScopeHandler);
46
49
  ogPublicContainer.registerSingleton(OgModuleToken_1.OgModuleToken.ShapesTripScopeHandler, ShapesTripScopeHandler_2.ShapesTripScopeHandler);
@@ -74,7 +77,7 @@ ogPublicContainer.register(OgModuleToken_1.OgModuleToken.DetailedTripFacade, {
74
77
  });
75
78
  ogPublicContainer.register(OgModuleToken_1.OgModuleToken.DepartureBoardFacade, {
76
79
  useFactory: (0, tsyringe_1.instanceCachingFactory)((c) => {
77
- return new DepartureBoardFacade_1.DepartureBoardFacade(c.resolve(OgModuleToken_1.OgModuleToken.PublicGtfsDepartureRepository), c.resolve(OgModuleToken_1.OgModuleToken.PublicVehiclePositionsRepository), c.resolve(OgModuleToken_1.OgModuleToken.PublicStopTimeRepository), c.resolve(OgModuleToken_1.OgModuleToken.VehicleDescriptorCachedRepository));
80
+ return new DepartureBoardFacade_1.DepartureBoardFacade(c.resolve(OgModuleToken_1.OgModuleToken.PublicGtfsDepartureRepository), c.resolve(OgModuleToken_1.OgModuleToken.PublicVehiclePositionsRepository), c.resolve(OgModuleToken_1.OgModuleToken.PublicStopTimeRepository), c.resolve(OgModuleToken_1.OgModuleToken.VehicleDescriptorCachedRepository), c.resolve(OgModuleToken_1.OgModuleToken.GtfsStopsRedisRepository));
78
81
  }),
79
82
  });
80
83
  ogPublicContainer.register(OgModuleToken_1.OgModuleToken.VPSubscriber, {
@@ -88,4 +91,15 @@ ogPublicContainer.register(OgModuleToken_1.OgModuleToken.VPSubscriber, {
88
91
  }, c.resolve(OgModuleToken_1.OgModuleToken.PublicVehiclePositionsRepository));
89
92
  }),
90
93
  });
94
+ ogPublicContainer.register(OgModuleToken_1.OgModuleToken.GtfsStopsSubscriber, {
95
+ useFactory: (0, tsyringe_1.instanceCachingFactory)((c) => {
96
+ const config = c.resolve(CoreToken_1.CoreToken.SimpleConfig);
97
+ const logger = c.resolve(CoreToken_1.CoreToken.Logger);
98
+ return new VPSubscriber_1.VPSubscriber({
99
+ channelName: const_2.GTFS_STOPS_NAMESPACE_PREFIX,
100
+ redisConnectionString: config.getValue("env.REDIS_CONN"),
101
+ logger: logger,
102
+ }, c.resolve(OgModuleToken_1.OgModuleToken.GtfsStopsRedisRepository));
103
+ }),
104
+ });
91
105
  //# sourceMappingURL=Di.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Di.js","sourceRoot":"","sources":["../../../../src/output-gateway/public/ioc/Di.ts"],"names":[],"mappings":";;;AAAA,oFAAyE;AACzE,qFAAmF;AAEnF,wEAAqE;AAErE,iEAAkF;AAClF,iEAA4E;AAC5E,wGAAqG;AACrG,gGAA6F;AAC7F,sGAAmG;AACnG,4FAAyF;AACzF,4GAAyG;AAGzG,oEAAiE;AACjE,iFAA8E;AAC9E,6EAA0E;AAC1E,iFAA8E;AAC9E,qFAAwF;AACxF,4EAAyE;AACzE,gHAA6G;AAC7G,2GAA4G;AAC5G,+GAAgH;AAChH,qHAAsH;AACtH,qIAAsI;AAEtI,mGAAgG;AAChG,sGAAmG;AACnG,0GAAuG;AACvG,gHAA6G;AAC7G,gIAA6H;AAC7H,mIAAgI;AAChI,uIAAoI;AACpI,qJAAkJ;AAClJ,qIAAsI;AACtI,mDAAgD;AAEhD,MAAM,iBAAiB,GAAG,2BAAsB,CAAC,oBAAoB,EAAE,CAAC;AAoF1C,8CAAiB;AAlF/C,iBAAiB,CAAC,iBAAiB,CAAC,6BAAa,CAAC,oBAAoB,EAAE,2CAAoB,CAAC,CAAC;AAC9F,iBAAiB,CAAC,iBAAiB,CAAC,6BAAa,CAAC,iBAAiB,EAAE,qCAAiB,CAAC,CAAC;AAExF,iBAAiB,CAAC,iBAAiB,CAAC,6BAAa,CAAC,iCAAiC,EAAE,qEAAiC,CAAC,CAAC;AACxH,iBAAiB,CAAC,iBAAiB,CAAC,6BAAa,CAAC,gCAAgC,EAAE,mEAAgC,CAAC,CAAC;AACtH,iBAAiB,CAAC,iBAAiB,CAAC,6BAAa,CAAC,0BAA0B,EAAE,uDAA0B,CAAC,CAAC;AAC1G,iBAAiB,CAAC,iBAAiB,CAAC,6BAAa,CAAC,wBAAwB,EAAE,mDAAwB,CAAC,CAAC;AACtG,iBAAiB,CAAC,iBAAiB,CAAC,6BAAa,CAAC,6BAA6B,EAAE,6DAA6B,CAAC,CAAC;AAEhH,iBAAiB,CAAC,iBAAiB,CAAC,6BAAa,CAAC,oBAAoB,EAAE,2CAAoB,CAAC,CAAC;AAC9F,iBAAiB,CAAC,iBAAiB,CAAC,6BAAa,CAAC,yBAAyB,EAAE,qDAAyB,CAAC,CAAC;AACxG,iBAAiB,CAAC,iBAAiB,CAAC,6BAAa,CAAC,sBAAsB,EAAE,+CAAsB,CAAC,CAAC;AAClG,iBAAiB,CAAC,iBAAiB,CAAC,6BAAa,CAAC,iCAAiC,EAAE,qEAAiC,CAAC,CAAC;AACxH,iBAAiB,CAAC,iBAAiB,CAAC,6BAAa,CAAC,uBAAuB,EAAE,iDAAuB,CAAC,CAAC;AAEpG,uCAAuC;AACvC,iBAAiB,CAAC,iBAAiB,CAAC,6BAAa,CAAC,gCAAgC,EAAE,mEAAgC,CAAC,CAAC;AACtH,iBAAiB,CAAC,iBAAiB,CAAC,6BAAa,CAAC,kCAAkC,EAAE,uEAAkC,CAAC,CAAC;AAC1H,iBAAiB,CAAC,iBAAiB,CAC/B,6BAAa,CAAC,yCAAyC,EACvD,qFAAyC,CAC5C,CAAC;AACF,iBAAiB,CAAC,iBAAiB,CAAC,6BAAa,CAAC,qCAAqC,EAAE,yEAAqC,CAAC,CAAC;AAChI,iBAAiB,CAAC,iBAAiB,CAAC,6BAAa,CAAC,wBAAwB,EAAE,+CAAwB,CAAC,CAAC;AACtG,iBAAiB,CAAC,iBAAiB,CAAC,6BAAa,CAAC,6BAA6B,EAAE,yDAA6B,CAAC,CAAC;AAChH,iBAAiB,CAAC,iBAAiB,CAAC,6BAAa,CAAC,0BAA0B,EAAE,mDAA0B,CAAC,CAAC;AAC1G,iBAAiB,CAAC,iBAAiB,CAAC,6BAAa,CAAC,qCAAqC,EAAE,yEAAqC,CAAC,CAAC;AAChI,iBAAiB,CAAC,iBAAiB,CAAC,6BAAa,CAAC,2BAA2B,EAAE,yDAA2B,CAAC,CAAC;AAC5G,YAAY;AAEZ,iBAAiB,CAAC,QAAQ,CAAC,6BAAa,CAAC,oBAAoB,EAAE;IAC3D,UAAU,EAAE,IAAA,iCAAsB,EAAC,CAAC,CAAC,EAAE,EAAE;QACrC,OAAO,IAAI,2CAAoB,CAAC,CAAC,CAAC,OAAO,CAA8B,6BAAa,CAAC,2BAA2B,CAAC,CAAC,CAAC;IACvH,CAAC,CAAC;CACL,CAAC,CAAC;AAEH,iBAAiB,CAAC,QAAQ,CAAC,6BAAa,CAAC,4BAA4B,EAAE;IACnE,UAAU,EAAE,IAAA,iCAAsB,EAAC,CAAC,CAAC,EAAE,EAAE;QACrC,OAAO,IAAI,qDAA4B,CACnC,CAAC,CAAC,OAAO,CAA8B,6BAAa,CAAC,gCAAgC,CAAC,EACtF,CAAC,CAAC,OAAO,CAAqB,6BAAa,CAAC,iBAAiB,CAAC,EAC9D,CAAC,CAAC,OAAO,CAAU,qBAAS,CAAC,MAAM,CAAC,CACvC,CAAC;IACN,CAAC,CAAC;CACL,CAAC,CAAC;AAEH,iBAAiB,CAAC,QAAQ,CAAC,6BAAa,CAAC,kBAAkB,EAAE;IACzD,UAAU,EAAE,IAAA,iCAAsB,EAAC,CAAC,CAAC,EAAE,EAAE;QACrC,OAAO,IAAI,uCAAkB,CACzB,CAAC,CAAC,OAAO,CAA0B,6BAAa,CAAC,uBAAuB,CAAC,EACzE,CAAC,CAAC,OAAO,CAA8B,6BAAa,CAAC,gCAAgC,CAAC,CACzF,CAAC;IACN,CAAC,CAAC;CACL,CAAC,CAAC;AAEH,iBAAiB,CAAC,QAAQ,CAAC,6BAAa,CAAC,oBAAoB,EAAE;IAC3D,UAAU,EAAE,IAAA,iCAAsB,EAAC,CAAC,CAAC,EAAE,EAAE;QACrC,OAAO,IAAI,2CAAoB,CAC3B,CAAC,CAAC,OAAO,CAAgC,6BAAa,CAAC,6BAA6B,CAAC,EACrF,CAAC,CAAC,OAAO,CAA8B,6BAAa,CAAC,gCAAgC,CAAC,EACtF,CAAC,CAAC,OAAO,CAAsB,6BAAa,CAAC,wBAAwB,CAAC,EACtE,CAAC,CAAC,OAAO,CAAoC,6BAAa,CAAC,iCAAiC,CAAC,CAChG,CAAC;IACN,CAAC,CAAC;CACL,CAAC,CAAC;AAEH,iBAAiB,CAAC,QAAQ,CAAC,6BAAa,CAAC,YAAY,EAAE;IACnD,UAAU,EAAE,IAAA,iCAAsB,EAAC,CAAC,CAAC,EAAE,EAAE;QACrC,MAAM,MAAM,GAAG,CAAC,CAAC,OAAO,CAAgB,qBAAS,CAAC,YAAY,CAAC,CAAC;QAChE,MAAM,MAAM,GAAG,CAAC,CAAC,OAAO,CAAU,qBAAS,CAAC,MAAM,CAAC,CAAC;QAEpD,OAAO,IAAI,2BAAY,CACnB;YACI,WAAW,EAAE,qCAA6B;YAC1C,qBAAqB,EAAE,MAAM,CAAC,QAAQ,CAAS,gBAAgB,CAAC;YAChE,MAAM,EAAE,MAAM;SACjB,EACD,CAAC,CAAC,OAAO,CAA8B,6BAAa,CAAC,gCAAgC,CAAC,CACzF,CAAC;IACN,CAAC,CAAC;CACL,CAAC,CAAC"}
1
+ {"version":3,"file":"Di.js","sourceRoot":"","sources":["../../../../src/output-gateway/public/ioc/Di.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,7 @@ export declare const OgModuleToken: {
6
6
  PublicStopTimeRepository: symbol;
7
7
  DelayComputationRepository: symbol;
8
8
  PublicGtfsDepartureRepository: symbol;
9
+ GtfsStopsRedisRepository: symbol;
9
10
  InfoTripScopeHandler: symbol;
10
11
  StopTimesTripScopeHandler: symbol;
11
12
  ShapesTripScopeHandler: symbol;
@@ -25,4 +26,5 @@ export declare const OgModuleToken: {
25
26
  DetailedTripFacade: symbol;
26
27
  DepartureBoardFacade: symbol;
27
28
  VPSubscriber: symbol;
29
+ GtfsStopsSubscriber: symbol;
28
30
  };
@@ -9,6 +9,7 @@ exports.OgModuleToken = {
9
9
  PublicStopTimeRepository: Symbol("PublicStopTimeRepository"),
10
10
  DelayComputationRepository: Symbol("DelayComputationRepository"),
11
11
  PublicGtfsDepartureRepository: Symbol("PublicGtfsDepartureRepository"),
12
+ GtfsStopsRedisRepository: Symbol("GtfsStopsRedisRepository"),
12
13
  //#region DetailedTrip scope handlers
13
14
  InfoTripScopeHandler: Symbol("InfoTripScopeHandler"),
14
15
  StopTimesTripScopeHandler: Symbol("StopTimesTripScopeHandler"),
@@ -32,5 +33,6 @@ exports.OgModuleToken = {
32
33
  DetailedTripFacade: Symbol("DetailedTripFacade"),
33
34
  DepartureBoardFacade: Symbol("DepartureBoardFacade"),
34
35
  VPSubscriber: Symbol("VPSubscriber"),
36
+ GtfsStopsSubscriber: Symbol("GtfsStopsSubscriber"),
35
37
  };
36
38
  //# sourceMappingURL=OgModuleToken.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"OgModuleToken.js","sourceRoot":"","sources":["../../../../src/output-gateway/public/ioc/OgModuleToken.ts"],"names":[],"mappings":";;;AAAa,QAAA,aAAa,GAAG;IACzB,oBAAoB,EAAE,MAAM,CAAC,sBAAsB,CAAC;IACpD,iBAAiB,EAAE,MAAM,CAAC,mBAAmB,CAAC;IAC9C,iCAAiC,EAAE,MAAM,CAAC,mCAAmC,CAAC;IAC9E,gCAAgC,EAAE,MAAM,CAAC,kCAAkC,CAAC;IAC5E,wBAAwB,EAAE,MAAM,CAAC,0BAA0B,CAAC;IAC5D,0BAA0B,EAAE,MAAM,CAAC,4BAA4B,CAAC;IAChE,6BAA6B,EAAE,MAAM,CAAC,+BAA+B,CAAC;IACtE,qCAAqC;IACrC,oBAAoB,EAAE,MAAM,CAAC,sBAAsB,CAAC;IACpD,yBAAyB,EAAE,MAAM,CAAC,2BAA2B,CAAC;IAC9D,sBAAsB,EAAE,MAAM,CAAC,wBAAwB,CAAC;IACxD,iCAAiC,EAAE,MAAM,CAAC,mCAAmC,CAAC;IAC9E,uBAAuB,EAAE,MAAM,CAAC,yBAAyB,CAAC;IAC1D,YAAY;IACZ,uCAAuC;IACvC,gCAAgC,EAAE,MAAM,CAAC,kCAAkC,CAAC;IAC5E,kCAAkC,EAAE,MAAM,CAAC,oCAAoC,CAAC;IAChF,yCAAyC,EAAE,MAAM,CAAC,2CAA2C,CAAC;IAC9F,qCAAqC,EAAE,MAAM,CAAC,uCAAuC,CAAC;IACtF,wBAAwB,EAAE,MAAM,CAAC,0BAA0B,CAAC;IAC5D,6BAA6B,EAAE,MAAM,CAAC,+BAA+B,CAAC;IACtE,0BAA0B,EAAE,MAAM,CAAC,4BAA4B,CAAC;IAChE,qCAAqC,EAAE,MAAM,CAAC,uCAAuC,CAAC;IACtF,2BAA2B,EAAE,MAAM,CAAC,6BAA6B,CAAC;IAClE,YAAY;IACZ,oBAAoB,EAAE,MAAM,CAAC,sBAAsB,CAAC;IACpD,4BAA4B,EAAE,MAAM,CAAC,8BAA8B,CAAC;IACpE,kBAAkB,EAAE,MAAM,CAAC,oBAAoB,CAAC;IAChD,oBAAoB,EAAE,MAAM,CAAC,sBAAsB,CAAC;IACpD,YAAY,EAAE,MAAM,CAAC,cAAc,CAAC;CACvC,CAAC"}
1
+ {"version":3,"file":"OgModuleToken.js","sourceRoot":"","sources":["../../../../src/output-gateway/public/ioc/OgModuleToken.ts"],"names":[],"mappings":";;;AAAa,QAAA,aAAa,GAAG;IACzB,oBAAoB,EAAE,MAAM,CAAC,sBAAsB,CAAC;IACpD,iBAAiB,EAAE,MAAM,CAAC,mBAAmB,CAAC;IAC9C,iCAAiC,EAAE,MAAM,CAAC,mCAAmC,CAAC;IAC9E,gCAAgC,EAAE,MAAM,CAAC,kCAAkC,CAAC;IAC5E,wBAAwB,EAAE,MAAM,CAAC,0BAA0B,CAAC;IAC5D,0BAA0B,EAAE,MAAM,CAAC,4BAA4B,CAAC;IAChE,6BAA6B,EAAE,MAAM,CAAC,+BAA+B,CAAC;IACtE,wBAAwB,EAAE,MAAM,CAAC,0BAA0B,CAAC;IAC5D,qCAAqC;IACrC,oBAAoB,EAAE,MAAM,CAAC,sBAAsB,CAAC;IACpD,yBAAyB,EAAE,MAAM,CAAC,2BAA2B,CAAC;IAC9D,sBAAsB,EAAE,MAAM,CAAC,wBAAwB,CAAC;IACxD,iCAAiC,EAAE,MAAM,CAAC,mCAAmC,CAAC;IAC9E,uBAAuB,EAAE,MAAM,CAAC,yBAAyB,CAAC;IAC1D,YAAY;IACZ,uCAAuC;IACvC,gCAAgC,EAAE,MAAM,CAAC,kCAAkC,CAAC;IAC5E,kCAAkC,EAAE,MAAM,CAAC,oCAAoC,CAAC;IAChF,yCAAyC,EAAE,MAAM,CAAC,2CAA2C,CAAC;IAC9F,qCAAqC,EAAE,MAAM,CAAC,uCAAuC,CAAC;IACtF,wBAAwB,EAAE,MAAM,CAAC,0BAA0B,CAAC;IAC5D,6BAA6B,EAAE,MAAM,CAAC,+BAA+B,CAAC;IACtE,0BAA0B,EAAE,MAAM,CAAC,4BAA4B,CAAC;IAChE,qCAAqC,EAAE,MAAM,CAAC,uCAAuC,CAAC;IACtF,2BAA2B,EAAE,MAAM,CAAC,6BAA6B,CAAC;IAClE,YAAY;IACZ,oBAAoB,EAAE,MAAM,CAAC,sBAAsB,CAAC;IACpD,4BAA4B,EAAE,MAAM,CAAC,8BAA8B,CAAC;IACpE,kBAAkB,EAAE,MAAM,CAAC,oBAAoB,CAAC;IAChD,oBAAoB,EAAE,MAAM,CAAC,sBAAsB,CAAC;IACpD,YAAY,EAAE,MAAM,CAAC,cAAc,CAAC;IACpC,mBAAmB,EAAE,MAAM,CAAC,qBAAqB,CAAC;CACrD,CAAC"}
@@ -5,6 +5,7 @@ export declare class V2PublicDeparturesRouter extends AbstractRouter {
5
5
  private cacheHeaderMiddleware;
6
6
  private compressionByDefaultMiddleware;
7
7
  private departureController;
8
+ private gtfsStopsSubscriber;
8
9
  constructor();
9
10
  protected initRoutes(): void;
10
11
  }
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.v2PublicDeparturesRouter = exports.V2PublicDeparturesRouter = void 0;
4
4
  const V2PublicDepartureBoardsController_1 = require("../../controllers/v2/V2PublicDepartureBoardsController");
5
5
  const Di_1 = require("../../ioc/Di");
6
+ const OgModuleToken_1 = require("../../ioc/OgModuleToken");
6
7
  const constants_1 = require("../../../shared/constants");
7
8
  const AbstractRouter_1 = require("@golemio/core/dist/helpers/routing/AbstractRouter");
8
9
  const Validation_1 = require("@golemio/core/dist/output-gateway/Validation");
@@ -17,6 +18,8 @@ class V2PublicDeparturesRouter extends AbstractRouter_1.AbstractRouter {
17
18
  this.cacheHeaderMiddleware = Di_1.OgPublicContainer.resolve(ioc_1.ContainerToken.CacheHeaderMiddleware);
18
19
  this.compressionByDefaultMiddleware = Di_1.OgPublicContainer.resolve(ioc_1.ContainerToken.CompressionByDefaultMiddleware);
19
20
  this.departureController = new V2PublicDepartureBoardsController_1.V2PublicDepartureBoardsController();
21
+ this.gtfsStopsSubscriber = Di_1.OgPublicContainer.resolve(OgModuleToken_1.OgModuleToken.GtfsStopsSubscriber);
22
+ this.gtfsStopsSubscriber.initialize();
20
23
  this.initRoutes();
21
24
  }
22
25
  initRoutes() {
@@ -1 +1 @@
1
- {"version":3,"file":"V2PublicDeparturesRouter.js","sourceRoot":"","sources":["../../../../../src/output-gateway/public/routers/v2/V2PublicDeparturesRouter.ts"],"names":[],"mappings":";;;AAAA,8GAAgH;AAChH,qCAAsD;AACtD,yDAAoD;AACpD,sFAAmF;AAGnF,6EAA2E;AAC3E,+DAAuE;AACvE,+DAA2D;AAC3D,mFAAoE;AACpE,qFAAkF;AAElF,MAAa,wBAAyB,SAAQ,+BAAc;IAMxD;QACI,KAAK,CAAC,wBAAY,CAAC,EAAE,EAAE,wBAAwB,CAAC,CAAC;QACjD,IAAI,CAAC,MAAM,GAAG,IAAA,gBAAM,GAAE,CAAC;QACvB,IAAI,CAAC,qBAAqB,GAAG,sBAAiB,CAAC,OAAO,CAAwB,oBAAc,CAAC,qBAAqB,CAAC,CAAC;QACpH,IAAI,CAAC,8BAA8B,GAAG,sBAAiB,CAAC,OAAO,CAC3D,oBAAc,CAAC,8BAA8B,CAChD,CAAC;QACF,IAAI,CAAC,mBAAmB,GAAG,IAAI,qEAAiC,EAAE,CAAC;QACnE,IAAI,CAAC,UAAU,EAAE,CAAC;IACtB,CAAC;IAES,UAAU;QAChB,IAAI,CAAC,MAAM,CAAC,GAAG,CACX,GAAG,EACH;YACI,IAAA,yBAAK,EAAC,SAAS,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,uDAA0B,CAAC,QAAQ,CAAC;YACrE,IAAA,yBAAK,EAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE;YACpE,IAAA,yBAAK,EAAC,iBAAiB,CAAC,CAAC,QAAQ,EAAE,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC;YAC9E,IAAA,yBAAK,EAAC,cAAc,CAAC,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE;YAC5E,IAAA,yBAAK,EAAC,eAAe,CAAC,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE;SAClF,EACD,wBAAW;QACX,sDAAsD;QACtD,IAAI,CAAC,qBAAqB,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,EAC9C,IAAI,CAAC,8BAA8B,CAAC,aAAa,EAAE,EACnD,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAClC,CAAC;IACN,CAAC;CACJ;AAlCD,4DAkCC;AAED,MAAM,wBAAwB,GAAmB,IAAI,wBAAwB,EAAE,CAAC;AACvE,4DAAwB"}
1
+ {"version":3,"file":"V2PublicDeparturesRouter.js","sourceRoot":"","sources":["../../../../../src/output-gateway/public/routers/v2/V2PublicDeparturesRouter.ts"],"names":[],"mappings":";;;AAAA,8GAAgH;AAChH,qCAAsD;AACtD,2DAA6D;AAC7D,yDAAoD;AAEpD,sFAAmF;AAGnF,6EAA2E;AAC3E,+DAAuE;AACvE,+DAA2D;AAC3D,mFAAoE;AACpE,qFAAkF;AAElF,MAAa,wBAAyB,SAAQ,+BAAc;IAOxD;QACI,KAAK,CAAC,wBAAY,CAAC,EAAE,EAAE,wBAAwB,CAAC,CAAC;QACjD,IAAI,CAAC,MAAM,GAAG,IAAA,gBAAM,GAAE,CAAC;QACvB,IAAI,CAAC,qBAAqB,GAAG,sBAAiB,CAAC,OAAO,CAAwB,oBAAc,CAAC,qBAAqB,CAAC,CAAC;QACpH,IAAI,CAAC,8BAA8B,GAAG,sBAAiB,CAAC,OAAO,CAC3D,oBAAc,CAAC,8BAA8B,CAChD,CAAC;QACF,IAAI,CAAC,mBAAmB,GAAG,IAAI,qEAAiC,EAAE,CAAC;QACnE,IAAI,CAAC,mBAAmB,GAAG,sBAAiB,CAAC,OAAO,CAAe,6BAAa,CAAC,mBAAmB,CAAC,CAAC;QACtG,IAAI,CAAC,mBAAmB,CAAC,UAAU,EAAE,CAAC;QACtC,IAAI,CAAC,UAAU,EAAE,CAAC;IACtB,CAAC;IAES,UAAU;QAChB,IAAI,CAAC,MAAM,CAAC,GAAG,CACX,GAAG,EACH;YACI,IAAA,yBAAK,EAAC,SAAS,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,uDAA0B,CAAC,QAAQ,CAAC;YACrE,IAAA,yBAAK,EAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE;YACpE,IAAA,yBAAK,EAAC,iBAAiB,CAAC,CAAC,QAAQ,EAAE,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC;YAC9E,IAAA,yBAAK,EAAC,cAAc,CAAC,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE;YAC5E,IAAA,yBAAK,EAAC,eAAe,CAAC,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE;SAClF,EACD,wBAAW;QACX,sDAAsD;QACtD,IAAI,CAAC,qBAAqB,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,EAC9C,IAAI,CAAC,8BAA8B,CAAC,aAAa,EAAE,EACnD,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAClC,CAAC;IACN,CAAC;CACJ;AArCD,4DAqCC;AAED,MAAM,wBAAwB,GAAmB,IAAI,wBAAwB,EAAE,CAAC;AACvE,4DAAwB"}
@@ -1,5 +1,6 @@
1
1
  import { IDepartureBoardsStopIdGroups } from "../../controllers/v2/interfaces/PublicParamsInterfaces";
2
2
  import { VehicleDescriptorCachedRepository } from "../../data-access/VehicleDescriptorCachedRepository";
3
+ import { GtfsStopsRedisRepository } from "../../../ropid-gtfs/data-access/redis/GtfsStopsRedisRepository";
3
4
  import { PublicApiDepartureBoardGroup } from "../../domain/PublicApiDepartureInterfaces";
4
5
  import { IGtfsDepartureRepository } from "../../domain/repository/IGtfsDepartureRepository";
5
6
  import { IStopTimeRepository } from "../../domain/repository/IStopTimeRepository";
@@ -9,12 +10,14 @@ export declare class DepartureBoardFacade {
9
10
  private readonly tripRepository;
10
11
  private readonly stopTimeRepository;
11
12
  private readonly descriptorRepository;
13
+ private readonly gtfsStopsRepository;
12
14
  private readonly transformation;
13
15
  private static readonly OPEN_MINUTES_IN_PAST;
14
16
  private static readonly OPEN_MINUTES_IN_PAST_MS;
15
- constructor(departureRepository: IGtfsDepartureRepository, tripRepository: IVehiclePositionsRepository, stopTimeRepository: IStopTimeRepository, descriptorRepository: VehicleDescriptorCachedRepository);
17
+ constructor(departureRepository: IGtfsDepartureRepository, tripRepository: IVehiclePositionsRepository, stopTimeRepository: IStopTimeRepository, descriptorRepository: VehicleDescriptorCachedRepository, gtfsStopsRepository: GtfsStopsRedisRepository);
16
18
  getAll(stopIds: Set<IDepartureBoardsStopIdGroups>, limit: number, routeShortNames: string[] | null, minutesAfter: number, minutesBefore: number): Promise<PublicApiDepartureBoardGroup[] | null>;
17
19
  private handleStopGroupDepartures;
18
20
  private duplicateDeparturesWithDifferentVehicleIds;
21
+ private filterForExistingStopIds;
19
22
  private sortStopGroupsByPriority;
20
23
  }