@golemio/pid 2.9.6-dev.1055849165 → 2.9.6-dev.1063418817

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 (77) hide show
  1. package/db/example/redis/publicVehiclePositionsMock.json +24 -0
  2. package/dist/helpers/RouteTypeEnums.d.ts +2 -0
  3. package/dist/helpers/RouteTypeEnums.js +31 -1
  4. package/dist/helpers/RouteTypeEnums.js.map +1 -1
  5. package/dist/integration-engine/vehicle-positions/ioc/Di.js +6 -0
  6. package/dist/integration-engine/vehicle-positions/ioc/Di.js.map +1 -1
  7. package/dist/integration-engine/vehicle-positions/ioc/VPContainerToken.d.ts +3 -0
  8. package/dist/integration-engine/vehicle-positions/ioc/VPContainerToken.js +3 -0
  9. package/dist/integration-engine/vehicle-positions/ioc/VPContainerToken.js.map +1 -1
  10. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/VPWorker.d.ts +2 -1
  11. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/VPWorker.js +7 -0
  12. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/VPWorker.js.map +1 -1
  13. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/TripsRepository.d.ts +2 -1
  14. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/TripsRepository.js +61 -0
  15. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/TripsRepository.js.map +1 -1
  16. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/cache/PublicApiCacheRepository.d.ts +7 -0
  17. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/cache/PublicApiCacheRepository.js +66 -0
  18. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/cache/PublicApiCacheRepository.js.map +1 -0
  19. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/helpers/PositionsMapper.js +3 -1
  20. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/helpers/PositionsMapper.js.map +1 -1
  21. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/interfaces/TripRepositoryInterfaces.d.ts +12 -0
  22. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/RefreshPublicCacheTask.d.ts +20 -0
  23. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/RefreshPublicCacheTask.js +111 -0
  24. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/RefreshPublicCacheTask.js.map +1 -0
  25. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/transformations/PublicApiTripTransformation.d.ts +10 -0
  26. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/transformations/PublicApiTripTransformation.js +34 -0
  27. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/transformations/PublicApiTripTransformation.js.map +1 -0
  28. package/dist/output-gateway/index.js.map +1 -1
  29. package/dist/output-gateway/public/controllers/v1/IParams.d.ts +7 -0
  30. package/dist/output-gateway/public/controllers/v1/IParams.js +3 -0
  31. package/dist/output-gateway/public/controllers/v1/IParams.js.map +1 -0
  32. package/dist/output-gateway/public/controllers/v1/PublicVehiclePositionsController.d.ts +8 -0
  33. package/dist/output-gateway/public/controllers/v1/PublicVehiclePositionsController.js +47 -0
  34. package/dist/output-gateway/public/controllers/v1/PublicVehiclePositionsController.js.map +1 -0
  35. package/dist/output-gateway/public/data-access/redis/PublicVehiclePositionsRepository.d.ts +13 -0
  36. package/dist/output-gateway/public/data-access/redis/PublicVehiclePositionsRepository.js +68 -0
  37. package/dist/output-gateway/public/data-access/redis/PublicVehiclePositionsRepository.js.map +1 -0
  38. package/dist/output-gateway/public/domain/IBoudingBox.d.ts +15 -0
  39. package/dist/output-gateway/public/domain/IBoudingBox.js +3 -0
  40. package/dist/output-gateway/public/domain/IBoudingBox.js.map +1 -0
  41. package/dist/output-gateway/public/domain/const.d.ts +3 -0
  42. package/dist/output-gateway/public/domain/const.js +12 -0
  43. package/dist/output-gateway/public/domain/const.js.map +1 -0
  44. package/dist/output-gateway/public/domain/repository/IVehiclePositionsRepository.d.ts +6 -0
  45. package/dist/output-gateway/public/domain/repository/IVehiclePositionsRepository.js +3 -0
  46. package/dist/output-gateway/public/domain/repository/IVehiclePositionsRepository.js.map +1 -0
  47. package/dist/output-gateway/public/ioc/Di.d.ts +2 -0
  48. package/dist/output-gateway/public/ioc/Di.js +38 -0
  49. package/dist/output-gateway/public/ioc/Di.js.map +1 -0
  50. package/dist/output-gateway/public/ioc/OgModuleToken.d.ts +6 -0
  51. package/dist/output-gateway/public/ioc/OgModuleToken.js +10 -0
  52. package/dist/output-gateway/public/ioc/OgModuleToken.js.map +1 -0
  53. package/dist/output-gateway/public/routers/v1/PublicRouter.d.ts +12 -0
  54. package/dist/output-gateway/public/routers/v1/PublicRouter.js +37 -0
  55. package/dist/output-gateway/public/routers/v1/PublicRouter.js.map +1 -0
  56. package/dist/output-gateway/public/service/VPSubscriber.d.ts +7 -0
  57. package/dist/output-gateway/public/service/VPSubscriber.js +33 -0
  58. package/dist/output-gateway/public/service/VPSubscriber.js.map +1 -0
  59. package/dist/output-gateway/public/service/facade/VehiclePositionsFacade.d.ts +13 -0
  60. package/dist/output-gateway/public/service/facade/VehiclePositionsFacade.js +42 -0
  61. package/dist/output-gateway/public/service/facade/VehiclePositionsFacade.js.map +1 -0
  62. package/dist/output-gateway/public/service/helpers/BoundingBoxHelper.d.ts +5 -0
  63. package/dist/output-gateway/public/service/helpers/BoundingBoxHelper.js +22 -0
  64. package/dist/output-gateway/public/service/helpers/BoundingBoxHelper.js.map +1 -0
  65. package/dist/output-gateway/public/service/transformations/PublicVehiclePositionsTransformation.d.ts +7 -0
  66. package/dist/output-gateway/public/service/transformations/PublicVehiclePositionsTransformation.js +18 -0
  67. package/dist/output-gateway/public/service/transformations/PublicVehiclePositionsTransformation.js.map +1 -0
  68. package/dist/schema-definitions/vehicle-positions/redis/const.d.ts +1 -0
  69. package/dist/schema-definitions/vehicle-positions/redis/const.js +5 -0
  70. package/dist/schema-definitions/vehicle-positions/redis/const.js.map +1 -0
  71. package/dist/schema-definitions/vehicle-positions/redis/interfaces/IPublicApiCacheDto.d.ts +12 -0
  72. package/dist/schema-definitions/vehicle-positions/redis/interfaces/IPublicApiCacheDto.js +3 -0
  73. package/dist/schema-definitions/vehicle-positions/redis/interfaces/IPublicApiCacheDto.js.map +1 -0
  74. package/dist/schema-definitions/vehicle-positions/redis/schemas/PublicApiCacheDtoSchema.d.ts +4 -0
  75. package/dist/schema-definitions/vehicle-positions/redis/schemas/PublicApiCacheDtoSchema.js +69 -0
  76. package/dist/schema-definitions/vehicle-positions/redis/schemas/PublicApiCacheDtoSchema.js.map +1 -0
  77. package/package.json +2 -2
@@ -0,0 +1,24 @@
1
+ [
2
+ {
3
+ "gtfs_trip_id": "705_735_231002",
4
+ "gtfs_route_type": 3,
5
+ "gtfs_route_short_name": "705",
6
+ "run_number": 29,
7
+ "vehicle_registration_number": 8585,
8
+ "lat": 49.90276,
9
+ "lng": 15.4047,
10
+ "bearing": 221,
11
+ "delay": null
12
+ },
13
+ {
14
+ "gtfs_trip_id": "781_4_231030",
15
+ "gtfs_route_type": 3,
16
+ "gtfs_route_short_name": "781",
17
+ "run_number": 19,
18
+ "vehicle_registration_number": 7630,
19
+ "lat": 49.92452,
20
+ "lng": 15.4669,
21
+ "bearing": 305,
22
+ "delay": 211
23
+ }
24
+ ]
@@ -28,3 +28,5 @@ export declare enum MPVRouteTypesEnum {
28
28
  OTHER = 17,
29
29
  TROLLEYBUS = 18
30
30
  }
31
+ export declare function getGtfsRouteType(value: string): GTFSRouteTypeEnum;
32
+ export declare function getGtfsRouteTypesAsStrings(): string[];
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.MPVRouteTypesEnum = exports.GTFSRouteTypeEnum = void 0;
3
+ exports.getGtfsRouteTypesAsStrings = exports.getGtfsRouteType = exports.MPVRouteTypesEnum = exports.GTFSRouteTypeEnum = void 0;
4
4
  var GTFSRouteTypeEnum;
5
5
  (function (GTFSRouteTypeEnum) {
6
6
  GTFSRouteTypeEnum[GTFSRouteTypeEnum["TRAM"] = 0] = "TRAM";
@@ -35,4 +35,34 @@ var MPVRouteTypesEnum;
35
35
  MPVRouteTypesEnum[MPVRouteTypesEnum["OTHER"] = 17] = "OTHER";
36
36
  MPVRouteTypesEnum[MPVRouteTypesEnum["TROLLEYBUS"] = 18] = "TROLLEYBUS";
37
37
  })(MPVRouteTypesEnum || (exports.MPVRouteTypesEnum = MPVRouteTypesEnum = {}));
38
+ function getGtfsRouteType(value) {
39
+ value = value.toUpperCase();
40
+ if ("TRAM" === value) {
41
+ return GTFSRouteTypeEnum.TRAM;
42
+ }
43
+ else if ("METRO" === value) {
44
+ return GTFSRouteTypeEnum.METRO;
45
+ }
46
+ else if ("TRAIN" === value) {
47
+ return GTFSRouteTypeEnum.TRAIN;
48
+ }
49
+ else if ("BUS" === value) {
50
+ return GTFSRouteTypeEnum.BUS;
51
+ }
52
+ else if ("FERRY" === value) {
53
+ return GTFSRouteTypeEnum.FERRY;
54
+ }
55
+ else if ("FUNICULAR" === value) {
56
+ return GTFSRouteTypeEnum.FUNICULAR;
57
+ }
58
+ else if ("TROLLEYBUS" === value) {
59
+ return GTFSRouteTypeEnum.TROLLEYBUS;
60
+ }
61
+ return GTFSRouteTypeEnum.EXT_MISCELLANEOUS;
62
+ }
63
+ exports.getGtfsRouteType = getGtfsRouteType;
64
+ function getGtfsRouteTypesAsStrings() {
65
+ return ["tram", "metro", "train", "bus", "ferry", "funicular", "trolleybus"];
66
+ }
67
+ exports.getGtfsRouteTypesAsStrings = getGtfsRouteTypesAsStrings;
38
68
  //# sourceMappingURL=RouteTypeEnums.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RouteTypeEnums.js","sourceRoot":"","sources":["../../src/helpers/RouteTypeEnums.ts"],"names":[],"mappings":";;;AAAA,IAAY,iBAWX;AAXD,WAAY,iBAAiB;IACzB,yDAAQ,CAAA;IACR,2DAAS,CAAA;IACT,2DAAS,CAAA;IACT,uDAAO,CAAA;IACP,2DAAS,CAAA;IACT,mEAAa,CAAA;IACb,sEAAe,CAAA;IACf,iBAAiB;IACjB,4EAA4E;IAC5E,sFAAwB,CAAA;AAC5B,CAAC,EAXW,iBAAiB,iCAAjB,iBAAiB,QAW5B;AAED,IAAY,iBAmBX;AAnBD,WAAY,iBAAiB;IACzB,2DAAS,CAAA;IACT,yDAAQ,CAAA;IACR,iEAAY,CAAA;IACZ,yEAAgB,CAAA;IAChB,mEAAa,CAAA;IACb,qEAAc,CAAA;IACd,6EAAkB,CAAA;IAClB,mEAAa,CAAA;IACb,6DAAU,CAAA;IACV,sEAAe,CAAA;IACf,wEAAgB,CAAA;IAChB,4DAAU,CAAA;IACV,4DAAU,CAAA;IACV,kFAAqB,CAAA;IACrB,gFAAoB,CAAA;IACpB,sFAAuB,CAAA;IACvB,4DAAU,CAAA;IACV,sEAAe,CAAA;AACnB,CAAC,EAnBW,iBAAiB,iCAAjB,iBAAiB,QAmB5B"}
1
+ {"version":3,"file":"RouteTypeEnums.js","sourceRoot":"","sources":["../../src/helpers/RouteTypeEnums.ts"],"names":[],"mappings":";;;AAAA,IAAY,iBAWX;AAXD,WAAY,iBAAiB;IACzB,yDAAQ,CAAA;IACR,2DAAS,CAAA;IACT,2DAAS,CAAA;IACT,uDAAO,CAAA;IACP,2DAAS,CAAA;IACT,mEAAa,CAAA;IACb,sEAAe,CAAA;IACf,iBAAiB;IACjB,4EAA4E;IAC5E,sFAAwB,CAAA;AAC5B,CAAC,EAXW,iBAAiB,iCAAjB,iBAAiB,QAW5B;AAED,IAAY,iBAmBX;AAnBD,WAAY,iBAAiB;IACzB,2DAAS,CAAA;IACT,yDAAQ,CAAA;IACR,iEAAY,CAAA;IACZ,yEAAgB,CAAA;IAChB,mEAAa,CAAA;IACb,qEAAc,CAAA;IACd,6EAAkB,CAAA;IAClB,mEAAa,CAAA;IACb,6DAAU,CAAA;IACV,sEAAe,CAAA;IACf,wEAAgB,CAAA;IAChB,4DAAU,CAAA;IACV,4DAAU,CAAA;IACV,kFAAqB,CAAA;IACrB,gFAAoB,CAAA;IACpB,sFAAuB,CAAA;IACvB,4DAAU,CAAA;IACV,sEAAe,CAAA;AACnB,CAAC,EAnBW,iBAAiB,iCAAjB,iBAAiB,QAmB5B;AAED,SAAgB,gBAAgB,CAAC,KAAa;IAC1C,KAAK,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;IAC5B,IAAI,MAAM,KAAK,KAAK,EAAE;QAClB,OAAO,iBAAiB,CAAC,IAAI,CAAC;KACjC;SAAM,IAAI,OAAO,KAAK,KAAK,EAAE;QAC1B,OAAO,iBAAiB,CAAC,KAAK,CAAC;KAClC;SAAM,IAAI,OAAO,KAAK,KAAK,EAAE;QAC1B,OAAO,iBAAiB,CAAC,KAAK,CAAC;KAClC;SAAM,IAAI,KAAK,KAAK,KAAK,EAAE;QACxB,OAAO,iBAAiB,CAAC,GAAG,CAAC;KAChC;SAAM,IAAI,OAAO,KAAK,KAAK,EAAE;QAC1B,OAAO,iBAAiB,CAAC,KAAK,CAAC;KAClC;SAAM,IAAI,WAAW,KAAK,KAAK,EAAE;QAC9B,OAAO,iBAAiB,CAAC,SAAS,CAAC;KACtC;SAAM,IAAI,YAAY,KAAK,KAAK,EAAE;QAC/B,OAAO,iBAAiB,CAAC,UAAU,CAAC;KACvC;IACD,OAAO,iBAAiB,CAAC,iBAAiB,CAAC;AAC/C,CAAC;AAlBD,4CAkBC;AAED,SAAgB,0BAA0B;IACtC,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC;AACjF,CAAC;AAFD,gEAEC"}
@@ -19,6 +19,9 @@ const SeznamAutobusuDataSourceProvider_1 = require("../workers/vehicle-descripto
19
19
  const DeleteDataTask_1 = require("../workers/vehicle-descriptors/tasks/DeleteDataTask");
20
20
  const RefreshDescriptorsTask_1 = require("../workers/vehicle-descriptors/tasks/RefreshDescriptorsTask");
21
21
  const DescriptorTransformation_1 = require("../workers/vehicle-descriptors/transformations/DescriptorTransformation");
22
+ const PublicApiCacheRepository_1 = require("../workers/vehicle-positions/data-access/cache/PublicApiCacheRepository");
23
+ const RefreshPublicCacheTask_1 = require("../workers/vehicle-positions/tasks/RefreshPublicCacheTask");
24
+ const PublicApiTripTransformation_1 = require("../workers/vehicle-positions/transformations/PublicApiTripTransformation");
22
25
  const VPContainerToken_1 = require("./VPContainerToken");
23
26
  //#region Initialization
24
27
  const VPContainer = Di_1.PidContainer.createChildContainer();
@@ -33,10 +36,12 @@ VPContainer.register(VPContainerToken_1.VPContainerToken.DescriptorRepository, D
33
36
  VPContainer.register(VPContainerToken_1.VPContainerToken.RegionalBusCisCacheRepository, RegionalBusCisCacheRepository_1.RegionalBusCisCacheRepository);
34
37
  VPContainer.register(VPContainerToken_1.VPContainerToken.RegionalBusGtfsCacheRepository, RegionalBusGtfsCacheRepository_1.RegionalBusGtfsCacheRepository);
35
38
  VPContainer.register(VPContainerToken_1.VPContainerToken.RegionalBusRunsMessagesRepository, RegionalBusRunsMessagesRepository_1.RegionalBusRunsMessagesRepository);
39
+ VPContainer.register(VPContainerToken_1.VPContainerToken.PublicApiCacheRepository, PublicApiCacheRepository_1.PublicApiCacheRepository);
36
40
  //#endregion
37
41
  //#region Transformations
38
42
  VPContainer.register(VPContainerToken_1.VPContainerToken.DescriptorTransformation, DescriptorTransformation_1.DescriptorTransformation);
39
43
  VPContainer.register(VPContainerToken_1.VPContainerToken.RegionalBusRunsMessagesTransformation, RegionalBusRunsMessagesTransformation_1.RegionalBusRunsMessagesTransformation);
44
+ VPContainer.register(VPContainerToken_1.VPContainerToken.PublicApiTripTransformation, PublicApiTripTransformation_1.PublicApiTripTransformation);
40
45
  //#endregion
41
46
  //#region Helpers
42
47
  VPContainer.registerSingleton(VPContainerToken_1.VPContainerToken.CisLookupManager, CisLookupManager_1.CisLookupManager);
@@ -50,4 +55,5 @@ VPContainer.registerSingleton(VPContainerToken_1.VPContainerToken.RefreshDescrip
50
55
  VPContainer.registerSingleton(VPContainerToken_1.VPContainerToken.DeleteDataTask, DeleteDataTask_1.DeleteDataTask);
51
56
  VPContainer.registerSingleton(VPContainerToken_1.VPContainerToken.SaveArrivaCityRunsToDBTask, SaveArrivaCityRunsToDBTask_1.SaveArrivaCityRunsToDBTask);
52
57
  VPContainer.registerSingleton(VPContainerToken_1.VPContainerToken.ProcessRegionalBusRunMessagesTask, ProcessRegionalBusRunMessagesTask_1.ProcessRegionalBusRunMessagesTask);
58
+ VPContainer.registerSingleton(VPContainerToken_1.VPContainerToken.RefreshPublicCacheTask, RefreshPublicCacheTask_1.RefreshPublicCacheTask);
53
59
  //# sourceMappingURL=Di.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Di.js","sourceRoot":"","sources":["../../../../src/integration-engine/vehicle-positions/ioc/Di.ts"],"names":[],"mappings":";;;AAAA,qCAA0C;AAE1C,qHAAkH;AAClH,mHAAgH;AAChH,qHAAkH;AAClH,4FAAyF;AACzF,8FAA2F;AAC3F,4GAAyG;AACzG,sGAAmG;AACnG,kGAA+F;AAC/F,+GAA4G;AAC5G,iGAA8F;AAC9F,iIAA8H;AAC9H,0GAAuG;AACvG,wHAAqH;AACrH,kJAA+I;AAC/I,wFAAqF;AACrF,wGAAqG;AACrG,sHAAmH;AACnH,yDAAsD;AAEtD,wBAAwB;AACxB,MAAM,WAAW,GAAwB,iBAAY,CAAC,oBAAoB,EAAE,CAAC;AAmCpE,kCAAW;AAlCpB,YAAY;AAEZ,qBAAqB;AACrB,WAAW,CAAC,QAAQ,CAAC,mCAAgB,CAAC,gCAAgC,EAAE,mEAAgC,CAAC,CAAC;AAC1G,WAAW,CAAC,iBAAiB,CAAC,mCAAgB,CAAC,2BAA2B,EAAE,yDAA2B,CAAC,CAAC;AACzG,YAAY;AAEZ,sBAAsB;AACtB,WAAW,CAAC,QAAQ,CAAC,mCAAgB,CAAC,oBAAoB,EAAE,2CAAoB,CAAC,CAAC;AAClF,WAAW,CAAC,QAAQ,CAAC,mCAAgB,CAAC,6BAA6B,EAAE,6DAA6B,CAAC,CAAC;AACpG,WAAW,CAAC,QAAQ,CAAC,mCAAgB,CAAC,8BAA8B,EAAE,+DAA8B,CAAC,CAAC;AACtG,WAAW,CAAC,QAAQ,CAAC,mCAAgB,CAAC,iCAAiC,EAAE,qEAAiC,CAAC,CAAC;AAC5G,YAAY;AAEZ,yBAAyB;AACzB,WAAW,CAAC,QAAQ,CAAC,mCAAgB,CAAC,wBAAwB,EAAE,mDAAwB,CAAC,CAAC;AAC1F,WAAW,CAAC,QAAQ,CAAC,mCAAgB,CAAC,qCAAqC,EAAE,6EAAqC,CAAC,CAAC;AACpH,YAAY;AAEZ,iBAAiB;AACjB,WAAW,CAAC,iBAAiB,CAAC,mCAAgB,CAAC,gBAAgB,EAAE,mCAAgB,CAAC,CAAC;AACnF,WAAW,CAAC,iBAAiB,CAAC,mCAAgB,CAAC,iBAAiB,EAAE,qCAAiB,CAAC,CAAC;AACrF,WAAW,CAAC,iBAAiB,CAAC,mCAAgB,CAAC,mBAAmB,EAAE,yCAAmB,CAAC,CAAC;AACzF,WAAW,CAAC,iBAAiB,CAAC,mCAAgB,CAAC,wBAAwB,EAAE,mDAAwB,CAAC,CAAC;AACnG,WAAW,CAAC,iBAAiB,CAAC,mCAAgB,CAAC,qBAAqB,EAAE,6CAAqB,CAAC,CAAC;AAC7F,YAAY;AAEZ,eAAe;AACf,WAAW,CAAC,iBAAiB,CAAC,mCAAgB,CAAC,sBAAsB,EAAE,+CAAsB,CAAC,CAAC;AAC/F,WAAW,CAAC,iBAAiB,CAAC,mCAAgB,CAAC,cAAc,EAAE,+BAAc,CAAC,CAAC;AAC/E,WAAW,CAAC,iBAAiB,CAAC,mCAAgB,CAAC,0BAA0B,EAAE,uDAA0B,CAAC,CAAC;AACvG,WAAW,CAAC,iBAAiB,CAAC,mCAAgB,CAAC,iCAAiC,EAAE,qEAAiC,CAAC,CAAC"}
1
+ {"version":3,"file":"Di.js","sourceRoot":"","sources":["../../../../src/integration-engine/vehicle-positions/ioc/Di.ts"],"names":[],"mappings":";;;AAAA,qCAA0C;AAE1C,qHAAkH;AAClH,mHAAgH;AAChH,qHAAkH;AAClH,4FAAyF;AACzF,8FAA2F;AAC3F,4GAAyG;AACzG,sGAAmG;AACnG,kGAA+F;AAC/F,+GAA4G;AAC5G,iGAA8F;AAC9F,iIAA8H;AAC9H,0GAAuG;AACvG,wHAAqH;AACrH,kJAA+I;AAC/I,wFAAqF;AACrF,wGAAqG;AACrG,sHAAmH;AACnH,sHAAmH;AACnH,sGAAmG;AACnG,0HAAuH;AACvH,yDAAsD;AAEtD,wBAAwB;AACxB,MAAM,WAAW,GAAwB,iBAAY,CAAC,oBAAoB,EAAE,CAAC;AAsCpE,kCAAW;AArCpB,YAAY;AAEZ,qBAAqB;AACrB,WAAW,CAAC,QAAQ,CAAC,mCAAgB,CAAC,gCAAgC,EAAE,mEAAgC,CAAC,CAAC;AAC1G,WAAW,CAAC,iBAAiB,CAAC,mCAAgB,CAAC,2BAA2B,EAAE,yDAA2B,CAAC,CAAC;AACzG,YAAY;AAEZ,sBAAsB;AACtB,WAAW,CAAC,QAAQ,CAAC,mCAAgB,CAAC,oBAAoB,EAAE,2CAAoB,CAAC,CAAC;AAClF,WAAW,CAAC,QAAQ,CAAC,mCAAgB,CAAC,6BAA6B,EAAE,6DAA6B,CAAC,CAAC;AACpG,WAAW,CAAC,QAAQ,CAAC,mCAAgB,CAAC,8BAA8B,EAAE,+DAA8B,CAAC,CAAC;AACtG,WAAW,CAAC,QAAQ,CAAC,mCAAgB,CAAC,iCAAiC,EAAE,qEAAiC,CAAC,CAAC;AAC5G,WAAW,CAAC,QAAQ,CAAC,mCAAgB,CAAC,wBAAwB,EAAE,mDAAwB,CAAC,CAAC;AAC1F,YAAY;AAEZ,yBAAyB;AACzB,WAAW,CAAC,QAAQ,CAAC,mCAAgB,CAAC,wBAAwB,EAAE,mDAAwB,CAAC,CAAC;AAC1F,WAAW,CAAC,QAAQ,CAAC,mCAAgB,CAAC,qCAAqC,EAAE,6EAAqC,CAAC,CAAC;AACpH,WAAW,CAAC,QAAQ,CAAC,mCAAgB,CAAC,2BAA2B,EAAE,yDAA2B,CAAC,CAAC;AAChG,YAAY;AAEZ,iBAAiB;AACjB,WAAW,CAAC,iBAAiB,CAAC,mCAAgB,CAAC,gBAAgB,EAAE,mCAAgB,CAAC,CAAC;AACnF,WAAW,CAAC,iBAAiB,CAAC,mCAAgB,CAAC,iBAAiB,EAAE,qCAAiB,CAAC,CAAC;AACrF,WAAW,CAAC,iBAAiB,CAAC,mCAAgB,CAAC,mBAAmB,EAAE,yCAAmB,CAAC,CAAC;AACzF,WAAW,CAAC,iBAAiB,CAAC,mCAAgB,CAAC,wBAAwB,EAAE,mDAAwB,CAAC,CAAC;AACnG,WAAW,CAAC,iBAAiB,CAAC,mCAAgB,CAAC,qBAAqB,EAAE,6CAAqB,CAAC,CAAC;AAC7F,YAAY;AAEZ,eAAe;AACf,WAAW,CAAC,iBAAiB,CAAC,mCAAgB,CAAC,sBAAsB,EAAE,+CAAsB,CAAC,CAAC;AAC/F,WAAW,CAAC,iBAAiB,CAAC,mCAAgB,CAAC,cAAc,EAAE,+BAAc,CAAC,CAAC;AAC/E,WAAW,CAAC,iBAAiB,CAAC,mCAAgB,CAAC,0BAA0B,EAAE,uDAA0B,CAAC,CAAC;AACvG,WAAW,CAAC,iBAAiB,CAAC,mCAAgB,CAAC,iCAAiC,EAAE,qEAAiC,CAAC,CAAC;AACrH,WAAW,CAAC,iBAAiB,CAAC,mCAAgB,CAAC,sBAAsB,EAAE,+CAAsB,CAAC,CAAC"}
@@ -1,4 +1,7 @@
1
1
  declare const VPContainerToken: {
2
+ PublicApiCacheRepository: symbol;
3
+ PublicApiTripTransformation: symbol;
4
+ RefreshPublicCacheTask: symbol;
2
5
  RegionalBusCisCacheRepository: symbol;
3
6
  RegionalBusGtfsCacheRepository: symbol;
4
7
  RegionalBusRunsMessagesRepository: symbol;
@@ -3,6 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.VPContainerToken = void 0;
4
4
  const VPContainerToken = {
5
5
  //#region Vehicle Positions
6
+ PublicApiCacheRepository: Symbol(),
7
+ PublicApiTripTransformation: Symbol(),
8
+ RefreshPublicCacheTask: Symbol(),
6
9
  //#endregion
7
10
  //#region Runs
8
11
  RegionalBusCisCacheRepository: Symbol(),
@@ -1 +1 @@
1
- {"version":3,"file":"VPContainerToken.js","sourceRoot":"","sources":["../../../../src/integration-engine/vehicle-positions/ioc/VPContainerToken.ts"],"names":[],"mappings":";;;AAAA,MAAM,gBAAgB,GAAG;IACrB,2BAA2B;IAC3B,YAAY;IAEZ,cAAc;IACd,6BAA6B,EAAE,MAAM,EAAE;IACvC,8BAA8B,EAAE,MAAM,EAAE;IACxC,iCAAiC,EAAE,MAAM,EAAE;IAC3C,qCAAqC,EAAE,MAAM,EAAE;IAC/C,gBAAgB,EAAE,MAAM,EAAE;IAC1B,iBAAiB,EAAE,MAAM,EAAE;IAC3B,mBAAmB,EAAE,MAAM,EAAE;IAC7B,wBAAwB,EAAE,MAAM,EAAE;IAClC,qBAAqB,EAAE,MAAM,EAAE;IAC/B,0BAA0B,EAAE,MAAM,EAAE;IACpC,iCAAiC,EAAE,MAAM,EAAE;IAC3C,YAAY;IAEZ,6BAA6B;IAC7B,gCAAgC,EAAE,MAAM,EAAE;IAC1C,2BAA2B,EAAE,MAAM,EAAE;IACrC,oBAAoB,EAAE,MAAM,EAAE;IAC9B,wBAAwB,EAAE,MAAM,EAAE;IAClC,sBAAsB,EAAE,MAAM,EAAE;IAChC,cAAc,EAAE,MAAM,EAAE;IACxB,YAAY;CACf,CAAC;AAEO,4CAAgB"}
1
+ {"version":3,"file":"VPContainerToken.js","sourceRoot":"","sources":["../../../../src/integration-engine/vehicle-positions/ioc/VPContainerToken.ts"],"names":[],"mappings":";;;AAAA,MAAM,gBAAgB,GAAG;IACrB,2BAA2B;IAC3B,wBAAwB,EAAE,MAAM,EAAE;IAClC,2BAA2B,EAAE,MAAM,EAAE;IACrC,sBAAsB,EAAE,MAAM,EAAE;IAChC,YAAY;IAEZ,cAAc;IACd,6BAA6B,EAAE,MAAM,EAAE;IACvC,8BAA8B,EAAE,MAAM,EAAE;IACxC,iCAAiC,EAAE,MAAM,EAAE;IAC3C,qCAAqC,EAAE,MAAM,EAAE;IAC/C,gBAAgB,EAAE,MAAM,EAAE;IAC1B,iBAAiB,EAAE,MAAM,EAAE;IAC3B,mBAAmB,EAAE,MAAM,EAAE;IAC7B,wBAAwB,EAAE,MAAM,EAAE;IAClC,qBAAqB,EAAE,MAAM,EAAE;IAC/B,0BAA0B,EAAE,MAAM,EAAE;IACpC,iCAAiC,EAAE,MAAM,EAAE;IAC3C,YAAY;IAEZ,6BAA6B;IAC7B,gCAAgC,EAAE,MAAM,EAAE;IAC1C,2BAA2B,EAAE,MAAM,EAAE;IACrC,oBAAoB,EAAE,MAAM,EAAE;IAC9B,wBAAwB,EAAE,MAAM,EAAE;IAClC,sBAAsB,EAAE,MAAM,EAAE;IAChC,cAAc,EAAE,MAAM,EAAE;IACxB,YAAY;CACf,CAAC;AAEO,4CAAgB"}
@@ -1,5 +1,6 @@
1
- import { AbstractWorker } from "@golemio/core/dist/integration-engine/workers";
1
+ import { AbstractTask, AbstractWorker } from "@golemio/core/dist/integration-engine/workers";
2
2
  export declare class VPWorker extends AbstractWorker {
3
3
  protected name: string;
4
4
  constructor();
5
+ registerTask: (task: AbstractTask<any>) => void;
5
6
  }
@@ -1,6 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.VPWorker = void 0;
4
+ const Di_1 = require("../../ioc/Di");
5
+ const VPContainerToken_1 = require("../../ioc/VPContainerToken");
4
6
  const workers_1 = require("@golemio/core/dist/integration-engine/workers");
5
7
  const constants_1 = require("./constants");
6
8
  const DataRetentionTask_1 = require("./tasks/DataRetentionTask");
@@ -16,7 +18,12 @@ class VPWorker extends workers_1.AbstractWorker {
16
18
  constructor() {
17
19
  super();
18
20
  this.name = constants_1.WORKER_NAME;
21
+ this.registerTask = (task) => {
22
+ super.registerTask(task);
23
+ task.queuePrefix = this.getQueuePrefix();
24
+ };
19
25
  // Register tasks
26
+ this.registerTask(Di_1.VPContainer.resolve(VPContainerToken_1.VPContainerToken.RefreshPublicCacheTask));
20
27
  this.registerTask(new SaveDataToDBTask_1.SaveDataToDBTask(this.getQueuePrefix()));
21
28
  this.registerTask(new UpdateGtfsTripIdTask_1.UpdateGtfsTripIdTask(this.getQueuePrefix()));
22
29
  this.registerTask(new UpdateRunsGtfsTripIdTask_1.UpdateRunsGtfsTripIdTask(this.getQueuePrefix()));
@@ -1 +1 @@
1
- {"version":3,"file":"VPWorker.js","sourceRoot":"","sources":["../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/VPWorker.ts"],"names":[],"mappings":";;;AAAA,2EAA+E;AAC/E,2CAA0C;AAC1C,iEAA8D;AAC9D,2DAAwD;AACxD,6FAA0F;AAC1F,mEAAgE;AAChE,6EAA0E;AAC1E,+DAA4D;AAC5D,6DAA0D;AAC1D,uEAAoE;AACpE,+EAA4E;AAE5E,MAAa,QAAS,SAAQ,wBAAc;IAGxC;QACI,KAAK,EAAE,CAAC;QAHF,SAAI,GAAG,uBAAW,CAAC;QAKzB,iBAAiB;QACjB,IAAI,CAAC,YAAY,CAAC,IAAI,mCAAgB,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;QAC/D,IAAI,CAAC,YAAY,CAAC,IAAI,2CAAoB,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;QACnE,IAAI,CAAC,YAAY,CAAC,IAAI,mDAAwB,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;QACvE,IAAI,CAAC,YAAY,CAAC,IAAI,iCAAe,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;QAC9D,IAAI,CAAC,YAAY,CAAC,IAAI,iEAA+B,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;QAC9E,IAAI,CAAC,YAAY,CAAC,IAAI,uCAAkB,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;QACjE,IAAI,CAAC,YAAY,CAAC,IAAI,iDAAuB,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;QACtE,IAAI,CAAC,YAAY,CAAC,IAAI,qCAAiB,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;QAChE,IAAI,CAAC,YAAY,CAAC,IAAI,+BAAc,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;IACjE,CAAC;CACJ;AAjBD,4BAiBC"}
1
+ {"version":3,"file":"VPWorker.js","sourceRoot":"","sources":["../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/VPWorker.ts"],"names":[],"mappings":";;;AAAA,qCAA2D;AAC3D,iEAA8E;AAC9E,2EAA6F;AAC7F,2CAA0C;AAC1C,iEAA8D;AAC9D,2DAAwD;AACxD,6FAA0F;AAC1F,mEAAgE;AAChE,6EAA0E;AAC1E,+DAA4D;AAC5D,6DAA0D;AAC1D,uEAAoE;AACpE,+EAA4E;AAE5E,MAAa,QAAS,SAAQ,wBAAc;IAGxC;QACI,KAAK,EAAE,CAAC;QAHF,SAAI,GAAG,uBAAW,CAAC;QAkBtB,iBAAY,GAAG,CAAC,IAAuB,EAAQ,EAAE;YACpD,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;YACzB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QAC7C,CAAC,CAAC;QAhBE,iBAAiB;QACjB,IAAI,CAAC,YAAY,CAAC,gBAAW,CAAC,OAAO,CAAC,mCAAgB,CAAC,sBAAsB,CAAC,CAAC,CAAC;QAChF,IAAI,CAAC,YAAY,CAAC,IAAI,mCAAgB,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;QAC/D,IAAI,CAAC,YAAY,CAAC,IAAI,2CAAoB,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;QACnE,IAAI,CAAC,YAAY,CAAC,IAAI,mDAAwB,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;QACvE,IAAI,CAAC,YAAY,CAAC,IAAI,iCAAe,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;QAC9D,IAAI,CAAC,YAAY,CAAC,IAAI,iEAA+B,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;QAC9E,IAAI,CAAC,YAAY,CAAC,IAAI,uCAAkB,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;QACjE,IAAI,CAAC,YAAY,CAAC,IAAI,iDAAuB,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;QACtE,IAAI,CAAC,YAAY,CAAC,IAAI,qCAAiB,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;QAChE,IAAI,CAAC,YAAY,CAAC,IAAI,+BAAc,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;IACjE,CAAC;CAMJ;AAvBD,4BAuBC"}
@@ -7,7 +7,7 @@ import { IModel, PostgresModel } from "@golemio/core/dist/integration-engine/mod
7
7
  import Sequelize from "@golemio/core/dist/shared/sequelize";
8
8
  import { IUpdateRunsGtfsTripInput } from "../interfaces/IUpdateRunsGtfsTripInput";
9
9
  import { IPropagateDelay } from "../interfaces/VPInterfaces";
10
- import { IUpdateDelayRunTripsData, IUpdateDelayTripsIdsData, IUpdateGTFSTripIdData } from "./interfaces/TripRepositoryInterfaces";
10
+ import { IEnrichedTripForPublicApi, IUpdateDelayRunTripsData, IUpdateDelayTripsIdsData, IUpdateGTFSTripIdData } from "./interfaces/TripRepositoryInterfaces";
11
11
  export declare class TripsRepository extends PostgresModel implements IModel {
12
12
  private positionsRepository;
13
13
  private stopTimeDelayPredictionRepository;
@@ -33,5 +33,6 @@ export declare class TripsRepository extends PostgresModel implements IModel {
33
33
  * @returns {Promise<any[]>}
34
34
  */
35
35
  findAllForGTFSRt: () => Promise<IGtfsRtTripDto[]>;
36
+ findAllForPublicCache: () => Promise<IEnrichedTripForPublicApi[]>;
36
37
  refreshGtfsTripData: () => Promise<void>;
37
38
  }
@@ -338,6 +338,67 @@ class TripsRepository extends models_2.PostgresModel {
338
338
  order: [["updated_at", "DESC"], ["id", "ASC"], sequelize_1.default.literal("stop_times.stop_sequence ASC")],
339
339
  });
340
340
  });
341
+ this.findAllForPublicCache = () => __awaiter(this, void 0, void 0, function* () {
342
+ try {
343
+ return this.sequelizeModel.findAll({
344
+ attributes: [
345
+ // Workaround for distinct selection
346
+ [
347
+ sequelize_1.default.literal(`DISTINCT ON (gtfs_route_type, vehicle_registration_number) gtfs_trip_id`),
348
+ "gtfs_trip_id",
349
+ ],
350
+ "gtfs_route_type",
351
+ "gtfs_route_short_name",
352
+ "run_number",
353
+ "vehicle_registration_number",
354
+ [sequelize_1.default.literal("last_position.lat"), "lat"],
355
+ [sequelize_1.default.literal("last_position.lng"), "lng"],
356
+ [sequelize_1.default.literal("last_position.bearing"), "bearing"],
357
+ [sequelize_1.default.literal("last_position.delay"), "delay"],
358
+ ],
359
+ include: [
360
+ {
361
+ as: "last_position",
362
+ model: this.positionsRepository["sequelizeModel"],
363
+ attributes: [],
364
+ where: {
365
+ state_position: {
366
+ [sequelize_1.default.Op.in]: [
367
+ const_2.StatePositionEnum.ON_TRACK,
368
+ const_2.StatePositionEnum.AT_STOP,
369
+ const_2.StatePositionEnum.CANCELED,
370
+ const_2.StatePositionEnum.OFF_TRACK,
371
+ const_2.StatePositionEnum.BEFORE_TRACK,
372
+ const_2.StatePositionEnum.BEFORE_TRACK_DELAYED,
373
+ ],
374
+ },
375
+ lat: {
376
+ [sequelize_1.default.Op.ne]: null,
377
+ },
378
+ lng: {
379
+ [sequelize_1.default.Op.ne]: null,
380
+ },
381
+ },
382
+ },
383
+ ],
384
+ where: {
385
+ vehicle_registration_number: {
386
+ [sequelize_1.default.Op.ne]: null,
387
+ },
388
+ },
389
+ order: [
390
+ ["gtfs_route_type", "ASC"],
391
+ ["vehicle_registration_number", "ASC"],
392
+ ["updated_at", "DESC"],
393
+ ["id", "ASC"],
394
+ ],
395
+ raw: true,
396
+ });
397
+ }
398
+ catch (err) {
399
+ throw new golemio_errors_1.GeneralError("findAllForPublicCache: failed to get trips", this.name, err);
400
+ }
401
+ });
341
402
  this.refreshGtfsTripData = () => __awaiter(this, void 0, void 0, function* () {
342
403
  const connection = connectors_1.PostgresConnector.getConnection();
343
404
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"TripsRepository.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/TripsRepository.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TripsRepository.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/TripsRepository.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { IPublicApiCacheDto } from "../../../../../../schema-definitions/vehicle-positions/redis/interfaces/IPublicApiCacheDto";
2
+ import { RedisModel } from "@golemio/core/dist/integration-engine/models/RedisModel";
3
+ export declare class PublicApiCacheRepository extends RedisModel {
4
+ static NAMESPACE_PREFIX: string;
5
+ constructor();
6
+ geoadd(data: IPublicApiCacheDto[]): Promise<string>;
7
+ }
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
12
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
13
+ return new (P || (P = Promise))(function (resolve, reject) {
14
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
15
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
16
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
17
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
18
+ });
19
+ };
20
+ var PublicApiCacheRepository_1;
21
+ Object.defineProperty(exports, "__esModule", { value: true });
22
+ exports.PublicApiCacheRepository = void 0;
23
+ const const_1 = require("../../../../../../schema-definitions/vehicle-positions/redis/const");
24
+ const PublicApiCacheDtoSchema_1 = require("../../../../../../schema-definitions/vehicle-positions/redis/schemas/PublicApiCacheDtoSchema");
25
+ const RedisModel_1 = require("@golemio/core/dist/integration-engine/models/RedisModel");
26
+ const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
27
+ const golemio_validator_1 = require("@golemio/core/dist/shared/golemio-validator");
28
+ const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
29
+ const node_crypto_1 = require("node:crypto");
30
+ let PublicApiCacheRepository = exports.PublicApiCacheRepository = PublicApiCacheRepository_1 = class PublicApiCacheRepository extends RedisModel_1.RedisModel {
31
+ constructor() {
32
+ super("PublicApiCacheRepository", {
33
+ isKeyConstructedFromData: false,
34
+ prefix: PublicApiCacheRepository_1.NAMESPACE_PREFIX,
35
+ }, new golemio_validator_1.JSONSchemaValidator("PublicApiCacheRepository", PublicApiCacheDtoSchema_1.PublicApiCacheDtoSchema));
36
+ }
37
+ geoadd(data) {
38
+ return __awaiter(this, void 0, void 0, function* () {
39
+ try {
40
+ yield this.validator.Validate(data);
41
+ }
42
+ catch (err) {
43
+ throw new golemio_errors_1.GeneralError("PublicApiCacheRepository: data validation failed", err);
44
+ }
45
+ try {
46
+ const newSetKey = `${PublicApiCacheRepository_1.NAMESPACE_PREFIX}:${(0, node_crypto_1.randomBytes)(4).toString("hex")}`;
47
+ const pipeline = this.connection.pipeline();
48
+ for (const item of data) {
49
+ pipeline.geoadd(newSetKey, item.lng, item.lat, JSON.stringify(item));
50
+ }
51
+ pipeline.expire(newSetKey, 1 * 60); // 1 minute
52
+ yield pipeline.exec();
53
+ return newSetKey;
54
+ }
55
+ catch (err) {
56
+ throw new golemio_errors_1.GeneralError("PublicApiCacheRepository: geoadd failed", err);
57
+ }
58
+ });
59
+ }
60
+ };
61
+ PublicApiCacheRepository.NAMESPACE_PREFIX = const_1.PUBLIC_CACHE_NAMESPACE_PREFIX;
62
+ exports.PublicApiCacheRepository = PublicApiCacheRepository = PublicApiCacheRepository_1 = __decorate([
63
+ (0, tsyringe_1.injectable)(),
64
+ __metadata("design:paramtypes", [])
65
+ ], PublicApiCacheRepository);
66
+ //# sourceMappingURL=PublicApiCacheRepository.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PublicApiCacheRepository.js","sourceRoot":"","sources":["../../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/cache/PublicApiCacheRepository.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,8FAAmF;AAEnF,0IAAuG;AACvG,wFAAqF;AACrF,6EAAwE;AACxE,mFAAkF;AAClF,iEAAgE;AAChE,6CAA0C;AAGnC,IAAM,wBAAwB,mEAA9B,MAAM,wBAAyB,SAAQ,uBAAU;IAGpD;QACI,KAAK,CACD,0BAA0B,EAC1B;YACI,wBAAwB,EAAE,KAAK;YAC/B,MAAM,EAAE,0BAAwB,CAAC,gBAAgB;SACpD,EACD,IAAI,uCAAmB,CAAC,0BAA0B,EAAE,iDAAuB,CAAC,CAC/E,CAAC;IACN,CAAC;IAEY,MAAM,CAAC,IAA0B;;YAC1C,IAAI;gBACA,MAAM,IAAI,CAAC,SAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;aACxC;YAAC,OAAO,GAAG,EAAE;gBACV,MAAM,IAAI,6BAAY,CAAC,kDAAkD,EAAE,GAAG,CAAC,CAAC;aACnF;YAED,IAAI;gBACA,MAAM,SAAS,GAAG,GAAG,0BAAwB,CAAC,gBAAgB,IAAI,IAAA,yBAAW,EAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;gBACnG,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;gBAE5C,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE;oBACrB,QAAQ,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;iBACxE;gBAED,QAAQ,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,WAAW;gBAC/C,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;gBAEtB,OAAO,SAAS,CAAC;aACpB;YAAC,OAAO,GAAG,EAAE;gBACV,MAAM,IAAI,6BAAY,CAAC,yCAAyC,EAAE,GAAG,CAAC,CAAC;aAC1E;QACL,CAAC;KAAA;;AAnCa,yCAAgB,GAAG,qCAA6B,AAAhC,CAAiC;mCADtD,wBAAwB;IADpC,IAAA,qBAAU,GAAE;;GACA,wBAAwB,CAqCpC"}
@@ -45,6 +45,8 @@ class PositionsMapper {
45
45
  static mapMetroRunToDto(isCurrent, gtfsTrip, runInput) {
46
46
  const scheduledTimestamp = new Date(runInput.timestampScheduled);
47
47
  const isTerminated = scheduledTimestamp >= new Date(gtfsTrip.end_timestamp);
48
+ const beforeTrack = scheduledTimestamp < new Date(gtfsTrip.start_timestamp);
49
+ const is_tracked = beforeTrack ? false : isCurrent && !isTerminated;
48
50
  return {
49
51
  lat: runInput.coordinates.lat,
50
52
  lng: runInput.coordinates.lon,
@@ -54,7 +56,7 @@ class PositionsMapper {
54
56
  state_position: const_1.StatePositionEnum.UNKNOWN,
55
57
  state_process: const_1.StateProcessEnum.TCP_INPUT,
56
58
  this_stop_id: runInput.coordinates.gtfs_stop_id,
57
- is_tracked: isCurrent && !isTerminated,
59
+ is_tracked,
58
60
  trips_id: TripsIdGenerator_1.default.generateFromMetroRun(gtfsTrip, runInput),
59
61
  };
60
62
  }
@@ -1 +1 @@
1
- {"version":3,"file":"PositionsMapper.js","sourceRoot":"","sources":["../../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/helpers/PositionsMapper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PositionsMapper.js","sourceRoot":"","sources":["../../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/helpers/PositionsMapper.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { GTFSRouteTypeEnum } from "../../../../../../helpers/RouteTypeEnums";
1
2
  import { IVPTripsModel } from "../../../../../../schema-definitions/vehicle-positions/models/interfaces/IVPTripsModel";
2
3
  import { StatePositionEnum } from "../../../../../../const";
3
4
  export interface IUpdateDelayTripsIdsData {
@@ -61,3 +62,14 @@ export interface IPropagatedDelayTripWithPosition {
61
62
  id: string;
62
63
  };
63
64
  }
65
+ export interface IEnrichedTripForPublicApi {
66
+ gtfs_trip_id: string;
67
+ gtfs_route_type: GTFSRouteTypeEnum;
68
+ gtfs_route_short_name: string;
69
+ run_number: number;
70
+ vehicle_registration_number: number;
71
+ lat: string;
72
+ lng: string;
73
+ bearing: number | null;
74
+ delay: number | null;
75
+ }
@@ -0,0 +1,20 @@
1
+ import { IoRedisConnector } from "@golemio/core/dist/helpers/data-access/redis/IoRedisConnector";
2
+ import { ILogger } from "@golemio/core/dist/helpers/logger";
3
+ import { AbstractEmptyTask } from "@golemio/core/dist/integration-engine/workers";
4
+ import { PublicApiCacheRepository } from "../data-access/cache/PublicApiCacheRepository";
5
+ import { PublicApiTripTransformation } from "../transformations/PublicApiTripTransformation";
6
+ export declare class RefreshPublicCacheTask extends AbstractEmptyTask {
7
+ private logger;
8
+ private redisClient;
9
+ private publicApiCacheRepository;
10
+ private publicApiTripTransformation;
11
+ readonly queueName = "refreshPublicCache";
12
+ readonly queueTtl = 1000;
13
+ private lockTimeout;
14
+ private refreshInterval;
15
+ private tripRepository;
16
+ private redisChannel;
17
+ constructor(logger: ILogger, redisClient: IoRedisConnector, publicApiCacheRepository: PublicApiCacheRepository, publicApiTripTransformation: PublicApiTripTransformation);
18
+ protected execute(): Promise<void>;
19
+ private createMutex;
20
+ }
@@ -0,0 +1,111 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
15
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
16
+ return new (P || (P = Promise))(function (resolve, reject) {
17
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
18
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
19
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
20
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
21
+ });
22
+ };
23
+ Object.defineProperty(exports, "__esModule", { value: true });
24
+ exports.RefreshPublicCacheTask = void 0;
25
+ const VPContainerToken_1 = require("../../../ioc/VPContainerToken");
26
+ const const_1 = require("../../../../../schema-definitions/vehicle-positions/redis/const");
27
+ const IoRedisConnector_1 = require("@golemio/core/dist/helpers/data-access/redis/IoRedisConnector");
28
+ const CoreToken_1 = require("@golemio/core/dist/helpers/ioc/CoreToken");
29
+ const integration_engine_1 = require("@golemio/core/dist/integration-engine");
30
+ const pubsub_1 = require("@golemio/core/dist/integration-engine/data-access/pubsub");
31
+ const ioc_1 = require("@golemio/core/dist/integration-engine/ioc");
32
+ const workers_1 = require("@golemio/core/dist/integration-engine/workers");
33
+ const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
34
+ const redis_semaphore_1 = require("@golemio/core/dist/shared/redis-semaphore");
35
+ const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
36
+ const promises_1 = require("node:timers/promises");
37
+ const constants_1 = require("../constants");
38
+ const TripsRepository_1 = require("../data-access/TripsRepository");
39
+ const PublicApiCacheRepository_1 = require("../data-access/cache/PublicApiCacheRepository");
40
+ const PublicApiTripTransformation_1 = require("../transformations/PublicApiTripTransformation");
41
+ let RefreshPublicCacheTask = exports.RefreshPublicCacheTask = class RefreshPublicCacheTask extends workers_1.AbstractEmptyTask {
42
+ constructor(logger, redisClient, publicApiCacheRepository, publicApiTripTransformation) {
43
+ super(constants_1.WORKER_NAME);
44
+ this.logger = logger;
45
+ this.redisClient = redisClient;
46
+ this.publicApiCacheRepository = publicApiCacheRepository;
47
+ this.publicApiTripTransformation = publicApiTripTransformation;
48
+ this.queueName = "refreshPublicCache";
49
+ this.queueTtl = 1000; // 1s
50
+ this.lockTimeout = 1000; // 1s
51
+ this.refreshInterval = this.lockTimeout * 0.8;
52
+ this.tripRepository = new TripsRepository_1.TripsRepository();
53
+ this.redisChannel = new pubsub_1.RedisPubSubChannel(const_1.PUBLIC_CACHE_NAMESPACE_PREFIX);
54
+ }
55
+ execute() {
56
+ return __awaiter(this, void 0, void 0, function* () {
57
+ const startDateTime = new Date();
58
+ const mutex = this.createMutex();
59
+ const lockAcquired = yield mutex.tryAcquire();
60
+ if (!lockAcquired) {
61
+ this.logger.error(`${this.constructor.name}: mutex lock was not acquired`);
62
+ return;
63
+ }
64
+ try {
65
+ const trips = yield this.tripRepository.findAllForPublicCache();
66
+ if (trips.length === 0) {
67
+ return;
68
+ }
69
+ const transformedTrips = this.publicApiTripTransformation.transformArray(trips);
70
+ const newSetKey = yield this.publicApiCacheRepository.geoadd(transformedTrips);
71
+ yield this.redisChannel.publishMessage(newSetKey);
72
+ }
73
+ catch (err) {
74
+ if (err instanceof golemio_errors_1.AbstractGolemioError) {
75
+ throw err;
76
+ }
77
+ throw new golemio_errors_1.GeneralError(`${this.constructor.name}: error while refreshing public cache`, this.constructor.name, err);
78
+ }
79
+ finally {
80
+ yield mutex.release();
81
+ const ellapsedTimeInMs = new Date().getTime() - startDateTime.getTime();
82
+ this.logger.info(`${this.constructor.name}: finished in ${ellapsedTimeInMs}ms`);
83
+ if (ellapsedTimeInMs < this.refreshInterval) {
84
+ yield (0, promises_1.setTimeout)(this.refreshInterval - ellapsedTimeInMs);
85
+ }
86
+ yield integration_engine_1.QueueManager.sendMessageToExchange(this.queuePrefix, this.queueName, {});
87
+ }
88
+ });
89
+ }
90
+ createMutex() {
91
+ return new redis_semaphore_1.Mutex(this.redisClient.getConnection(), this.queuePrefix, {
92
+ acquireAttemptsLimit: 1,
93
+ lockTimeout: this.lockTimeout,
94
+ refreshInterval: this.refreshInterval,
95
+ onLockLost: (err) => {
96
+ this.logger.error(err, `${this.constructor.name}: mutex lock was lost`);
97
+ },
98
+ });
99
+ }
100
+ };
101
+ exports.RefreshPublicCacheTask = RefreshPublicCacheTask = __decorate([
102
+ (0, tsyringe_1.injectable)(),
103
+ __param(0, (0, tsyringe_1.inject)(CoreToken_1.CoreToken.Logger)),
104
+ __param(1, (0, tsyringe_1.inject)(ioc_1.ContainerToken.RedisConnector)),
105
+ __param(2, (0, tsyringe_1.inject)(VPContainerToken_1.VPContainerToken.PublicApiCacheRepository)),
106
+ __param(3, (0, tsyringe_1.inject)(VPContainerToken_1.VPContainerToken.PublicApiTripTransformation)),
107
+ __metadata("design:paramtypes", [Object, IoRedisConnector_1.IoRedisConnector,
108
+ PublicApiCacheRepository_1.PublicApiCacheRepository,
109
+ PublicApiTripTransformation_1.PublicApiTripTransformation])
110
+ ], RefreshPublicCacheTask);
111
+ //# sourceMappingURL=RefreshPublicCacheTask.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RefreshPublicCacheTask.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/RefreshPublicCacheTask.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,oEAA8E;AAC9E,2FAAmF;AACnF,oGAAiG;AACjG,wEAAqE;AAErE,8EAAqE;AACrE,qFAA8F;AAC9F,mEAA2E;AAC3E,2EAAkF;AAClF,6EAA8F;AAC9F,+EAAkE;AAClE,iEAAwE;AACxE,mDAA2D;AAC3D,4CAA2C;AAC3C,oEAAiE;AACjE,4FAAyF;AACzF,gGAA6F;AAGtF,IAAM,sBAAsB,oCAA5B,MAAM,sBAAuB,SAAQ,2BAAiB;IAQzD,YAC8B,MAAuB,EACV,WAAqC,EAE5E,wBAA0D,EAE1D,2BAAgE;QAEhE,KAAK,CAAC,uBAAW,CAAC,CAAC;QAPe,WAAM,GAAN,MAAM,CAAS;QACF,gBAAW,GAAX,WAAW,CAAkB;QAEpE,6BAAwB,GAAxB,wBAAwB,CAA0B;QAElD,gCAA2B,GAA3B,2BAA2B,CAA6B;QAbpD,cAAS,GAAG,oBAAoB,CAAC;QACjC,aAAQ,GAAG,IAAI,CAAC,CAAC,KAAK;QAelC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC,KAAK;QAC9B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC;QAC9C,IAAI,CAAC,cAAc,GAAG,IAAI,iCAAe,EAAE,CAAC;QAC5C,IAAI,CAAC,YAAY,GAAG,IAAI,2BAAkB,CAAC,qCAA6B,CAAC,CAAC;IAC9E,CAAC;IAEe,OAAO;;YACnB,MAAM,aAAa,GAAG,IAAI,IAAI,EAAE,CAAC;YACjC,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;YACjC,MAAM,YAAY,GAAG,MAAM,KAAK,CAAC,UAAU,EAAE,CAAC;YAE9C,IAAI,CAAC,YAAY,EAAE;gBACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,+BAA+B,CAAC,CAAC;gBAC3E,OAAO;aACV;YAED,IAAI;gBACA,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,qBAAqB,EAAE,CAAC;gBAChE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;oBACpB,OAAO;iBACV;gBAED,MAAM,gBAAgB,GAAG,IAAI,CAAC,2BAA2B,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;gBAChF,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;gBAC/E,MAAM,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;aACrD;YAAC,OAAO,GAAG,EAAE;gBACV,IAAI,GAAG,YAAY,qCAAoB,EAAE;oBACrC,MAAM,GAAG,CAAC;iBACb;gBAED,MAAM,IAAI,6BAAY,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,uCAAuC,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;aACvH;oBAAS;gBACN,MAAM,KAAK,CAAC,OAAO,EAAE,CAAC;gBACtB,MAAM,gBAAgB,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,aAAa,CAAC,OAAO,EAAE,CAAC;gBACxE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,iBAAiB,gBAAgB,IAAI,CAAC,CAAC;gBAEhF,IAAI,gBAAgB,GAAG,IAAI,CAAC,eAAe,EAAE;oBACzC,MAAM,IAAA,qBAAK,EAAC,IAAI,CAAC,eAAe,GAAG,gBAAgB,CAAC,CAAC;iBACxD;gBAED,MAAM,iCAAY,CAAC,qBAAqB,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;aAClF;QACL,CAAC;KAAA;IAEO,WAAW;QACf,OAAO,IAAI,uBAAK,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,EAAE,IAAI,CAAC,WAAW,EAAE;YACjE,oBAAoB,EAAE,CAAC;YACvB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,UAAU,EAAE,CAAC,GAAG,EAAE,EAAE;gBAChB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,uBAAuB,CAAC,CAAC;YAC5E,CAAC;SACJ,CAAC,CAAC;IACP,CAAC;CACJ,CAAA;iCAvEY,sBAAsB;IADlC,IAAA,qBAAU,GAAE;IAUJ,WAAA,IAAA,iBAAM,EAAC,qBAAS,CAAC,MAAM,CAAC,CAAA;IACxB,WAAA,IAAA,iBAAM,EAAC,oBAAc,CAAC,cAAc,CAAC,CAAA;IACrC,WAAA,IAAA,iBAAM,EAAC,mCAAgB,CAAC,wBAAwB,CAAC,CAAA;IAEjD,WAAA,IAAA,iBAAM,EAAC,mCAAgB,CAAC,2BAA2B,CAAC,CAAA;6CAHO,mCAAgB;QAE1C,mDAAwB;QAErB,yDAA2B;GAd3D,sBAAsB,CAuElC"}