@golemio/pid 2.11.6-dev.1155946299 → 2.11.6-dev.1157466489

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 (193) hide show
  1. package/db/example/17_blocked_trains.sql +5 -8
  2. package/db/example/redis/publicVehiclePositionsMock.json +26 -8
  3. package/db/migrations/postgresql/20240122141600-public-api-detailed-endpoint.js +53 -0
  4. package/db/migrations/postgresql/sqls/20240122141600-public-api-detailed-endpoint-down.sql +16 -0
  5. package/db/migrations/postgresql/sqls/20240122141600-public-api-detailed-endpoint-up.sql +137 -0
  6. package/dist/integration-engine/ioc/Di.d.ts +2 -1
  7. package/dist/integration-engine/ioc/Di.js.map +1 -1
  8. package/dist/integration-engine/ropid-gtfs/RopidGTFSTripsModel.js +1 -1
  9. package/dist/integration-engine/ropid-gtfs/RopidGTFSTripsModel.js.map +1 -1
  10. package/dist/integration-engine/ropid-gtfs/data-access/cache/DelayComputationRedisRepository.d.ts +1 -0
  11. package/dist/integration-engine/ropid-gtfs/data-access/cache/DelayComputationRedisRepository.js +27 -1
  12. package/dist/integration-engine/ropid-gtfs/data-access/cache/DelayComputationRedisRepository.js.map +1 -1
  13. package/dist/integration-engine/ropid-gtfs/data-access/precomputed/TripScheduleRepository.js +4 -2
  14. package/dist/integration-engine/ropid-gtfs/data-access/precomputed/TripScheduleRepository.js.map +1 -1
  15. package/dist/integration-engine/ropid-gtfs/interfaces/TripModelInterfaces.d.ts +1 -0
  16. package/dist/integration-engine/vehicle-positions/ioc/Di.js +8 -2
  17. package/dist/integration-engine/vehicle-positions/ioc/Di.js.map +1 -1
  18. package/dist/integration-engine/vehicle-positions/ioc/VPContainerToken.d.ts +4 -1
  19. package/dist/integration-engine/vehicle-positions/ioc/VPContainerToken.js +4 -1
  20. package/dist/integration-engine/vehicle-positions/ioc/VPContainerToken.js.map +1 -1
  21. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/VPWorker.js +2 -1
  22. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/VPWorker.js.map +1 -1
  23. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/TripsRepository.js +16 -10
  24. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/TripsRepository.js.map +1 -1
  25. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/cache/PublicApiCacheRepository.js +2 -1
  26. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/cache/PublicApiCacheRepository.js.map +1 -1
  27. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/cache/PublicStopTimeCacheRepository.d.ts +7 -0
  28. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/cache/PublicStopTimeCacheRepository.js +70 -0
  29. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/cache/PublicStopTimeCacheRepository.js.map +1 -0
  30. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/helpers/RawQueryProvider.js +7 -3
  31. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/helpers/RawQueryProvider.js.map +1 -1
  32. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/helpers/TripsMapper.js +1 -0
  33. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/helpers/TripsMapper.js.map +1 -1
  34. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/interfaces/TripRepositoryInterfaces.d.ts +14 -2
  35. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/views/PublicStopTimeRepository.d.ts +9 -0
  36. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/views/PublicStopTimeRepository.js +54 -0
  37. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/views/PublicStopTimeRepository.js.map +1 -0
  38. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/DelayComputationManager.d.ts +2 -1
  39. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/DelayComputationManager.js +9 -0
  40. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/DelayComputationManager.js.map +1 -1
  41. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/VPUtils.js +1 -1
  42. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/VPUtils.js.map +1 -1
  43. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/anchor-points/AnchorPointSegmenter.js +0 -1
  44. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/anchor-points/AnchorPointSegmenter.js.map +1 -1
  45. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/public-api/PublicCacheTripsFilter.d.ts +4 -0
  46. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/public-api/PublicCacheTripsFilter.js +29 -0
  47. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/public-api/PublicCacheTripsFilter.js.map +1 -0
  48. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/interfaces/VPInterfaces.d.ts +2 -0
  49. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/ProcessRegionalBusPositionsTask.d.ts +4 -0
  50. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/ProcessRegionalBusPositionsTask.js +14 -0
  51. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/ProcessRegionalBusPositionsTask.js.map +1 -1
  52. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/RefreshPublicStopTimeCacheTask.d.ts +19 -0
  53. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/RefreshPublicStopTimeCacheTask.js +117 -0
  54. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/RefreshPublicStopTimeCacheTask.js.map +1 -0
  55. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/{RefreshPublicCacheTask.d.ts → RefreshPublicTripCacheTask.d.ts} +2 -2
  56. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/{RefreshPublicCacheTask.js → RefreshPublicTripCacheTask.js} +17 -15
  57. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/RefreshPublicTripCacheTask.js.map +1 -0
  58. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/UpdateDelayTask.d.ts +4 -0
  59. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/UpdateDelayTask.js +14 -0
  60. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/UpdateDelayTask.js.map +1 -1
  61. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/transformations/PublicApiTripTransformation.d.ts +2 -0
  62. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/transformations/PublicApiTripTransformation.js +21 -3
  63. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/transformations/PublicApiTripTransformation.js.map +1 -1
  64. package/dist/output-gateway/pid/PIDRouter.d.ts +1 -1
  65. package/dist/output-gateway/pid/PIDRouter.js +1 -1
  66. package/dist/output-gateway/pid/PIDRouter.js.map +1 -1
  67. package/dist/output-gateway/public/controllers/v1/PublicVehiclePositionsController.d.ts +6 -5
  68. package/dist/output-gateway/public/controllers/v1/PublicVehiclePositionsController.js +22 -3
  69. package/dist/output-gateway/public/controllers/v1/PublicVehiclePositionsController.js.map +1 -1
  70. package/dist/output-gateway/public/controllers/v1/interfaces/PublicParamsInterfaces.d.ts +12 -0
  71. package/dist/output-gateway/public/controllers/v1/interfaces/PublicParamsInterfaces.js +3 -0
  72. package/dist/output-gateway/public/controllers/v1/interfaces/PublicParamsInterfaces.js.map +1 -0
  73. package/dist/output-gateway/public/data-access/VehicleDescriptorCachedRepository.d.ts +13 -0
  74. package/dist/output-gateway/public/data-access/VehicleDescriptorCachedRepository.js +71 -0
  75. package/dist/output-gateway/public/data-access/VehicleDescriptorCachedRepository.js.map +1 -0
  76. package/dist/output-gateway/public/data-access/redis/DelayComputationRepository.d.ts +10 -0
  77. package/dist/output-gateway/public/data-access/redis/DelayComputationRepository.js +68 -0
  78. package/dist/output-gateway/public/data-access/redis/DelayComputationRepository.js.map +1 -0
  79. package/dist/output-gateway/public/data-access/redis/PublicStopTimeRepository.d.ts +10 -0
  80. package/dist/output-gateway/public/data-access/redis/PublicStopTimeRepository.js +68 -0
  81. package/dist/output-gateway/public/data-access/redis/PublicStopTimeRepository.js.map +1 -0
  82. package/dist/output-gateway/public/data-access/redis/PublicVehiclePositionsRepository.d.ts +3 -1
  83. package/dist/output-gateway/public/data-access/redis/PublicVehiclePositionsRepository.js +64 -7
  84. package/dist/output-gateway/public/data-access/redis/PublicVehiclePositionsRepository.js.map +1 -1
  85. package/dist/output-gateway/public/domain/PublicApiDetailedTripInterfaces.d.ts +48 -0
  86. package/dist/output-gateway/public/domain/PublicApiDetailedTripInterfaces.js +3 -0
  87. package/dist/output-gateway/public/domain/PublicApiDetailedTripInterfaces.js.map +1 -0
  88. package/dist/output-gateway/public/domain/repository/IDelayComputationRepository.d.ts +4 -0
  89. package/dist/output-gateway/public/domain/repository/IDelayComputationRepository.js +3 -0
  90. package/dist/output-gateway/public/domain/repository/IDelayComputationRepository.js.map +1 -0
  91. package/dist/output-gateway/public/domain/repository/IStopTimeRepository.d.ts +4 -0
  92. package/dist/output-gateway/public/domain/repository/IStopTimeRepository.js +3 -0
  93. package/dist/output-gateway/public/domain/repository/IStopTimeRepository.js.map +1 -0
  94. package/dist/output-gateway/public/domain/repository/IVehiclePositionsRepository.d.ts +3 -1
  95. package/dist/output-gateway/public/ioc/Di.js +20 -0
  96. package/dist/output-gateway/public/ioc/Di.js.map +1 -1
  97. package/dist/output-gateway/public/ioc/OgModuleToken.d.ts +8 -0
  98. package/dist/output-gateway/public/ioc/OgModuleToken.js +8 -0
  99. package/dist/output-gateway/public/ioc/OgModuleToken.js.map +1 -1
  100. package/dist/output-gateway/public/routers/v1/PublicRouter.d.ts +1 -1
  101. package/dist/output-gateway/public/routers/v1/PublicRouter.js +4 -2
  102. package/dist/output-gateway/public/routers/v1/PublicRouter.js.map +1 -1
  103. package/dist/output-gateway/public/routers/v1/helpers/CustomScopeValidator.d.ts +6 -0
  104. package/dist/output-gateway/public/routers/v1/helpers/CustomScopeValidator.js +26 -0
  105. package/dist/output-gateway/public/routers/v1/helpers/CustomScopeValidator.js.map +1 -0
  106. package/dist/output-gateway/public/routers/v1/helpers/DetailedTripScopeEnum.d.ts +6 -0
  107. package/dist/output-gateway/public/routers/v1/helpers/DetailedTripScopeEnum.js +11 -0
  108. package/dist/output-gateway/public/routers/v1/helpers/DetailedTripScopeEnum.js.map +1 -0
  109. package/dist/output-gateway/public/service/facade/DetailedTripFacade.d.ts +8 -0
  110. package/dist/output-gateway/public/service/facade/DetailedTripFacade.js +42 -0
  111. package/dist/output-gateway/public/service/facade/DetailedTripFacade.js.map +1 -0
  112. package/dist/output-gateway/public/service/facade/VehiclePositionsFacade.js +10 -1
  113. package/dist/output-gateway/public/service/facade/VehiclePositionsFacade.js.map +1 -1
  114. package/dist/output-gateway/public/service/helpers/trip-scope/TripScopeHelper.d.ts +6 -0
  115. package/dist/output-gateway/public/service/helpers/trip-scope/TripScopeHelper.js +11 -0
  116. package/dist/output-gateway/public/service/helpers/trip-scope/TripScopeHelper.js.map +1 -0
  117. package/dist/output-gateway/public/service/helpers/trip-scope/strategy/AbstractTripScopeHandler.d.ts +5 -0
  118. package/dist/output-gateway/public/service/helpers/trip-scope/strategy/AbstractTripScopeHandler.js +7 -0
  119. package/dist/output-gateway/public/service/helpers/trip-scope/strategy/AbstractTripScopeHandler.js.map +1 -0
  120. package/dist/output-gateway/public/service/helpers/trip-scope/strategy/InfoTripScopeHelper.d.ts +8 -0
  121. package/dist/output-gateway/public/service/helpers/trip-scope/strategy/InfoTripScopeHelper.js +41 -0
  122. package/dist/output-gateway/public/service/helpers/trip-scope/strategy/InfoTripScopeHelper.js.map +1 -0
  123. package/dist/output-gateway/public/service/helpers/trip-scope/strategy/ShapesTripScopeHelper.d.ts +10 -0
  124. package/dist/output-gateway/public/service/helpers/trip-scope/strategy/ShapesTripScopeHelper.js +53 -0
  125. package/dist/output-gateway/public/service/helpers/trip-scope/strategy/ShapesTripScopeHelper.js.map +1 -0
  126. package/dist/output-gateway/public/service/helpers/trip-scope/strategy/StopTimesTripScopeHelper.d.ts +12 -0
  127. package/dist/output-gateway/public/service/helpers/trip-scope/strategy/StopTimesTripScopeHelper.js +77 -0
  128. package/dist/output-gateway/public/service/helpers/trip-scope/strategy/StopTimesTripScopeHelper.js.map +1 -0
  129. package/dist/output-gateway/public/service/helpers/trip-scope/strategy/TripScopeHandlerFactory.d.ts +9 -0
  130. package/dist/output-gateway/public/service/helpers/trip-scope/strategy/TripScopeHandlerFactory.js +30 -0
  131. package/dist/output-gateway/public/service/helpers/trip-scope/strategy/TripScopeHandlerFactory.js.map +1 -0
  132. package/dist/output-gateway/public/service/helpers/trip-scope/strategy/VehicleDescriptorTripScopeHelper.d.ts +10 -0
  133. package/dist/output-gateway/public/service/helpers/trip-scope/strategy/VehicleDescriptorTripScopeHelper.js +54 -0
  134. package/dist/output-gateway/public/service/helpers/trip-scope/strategy/VehicleDescriptorTripScopeHelper.js.map +1 -0
  135. package/dist/output-gateway/public/service/transformations/PublicVehiclePositionsTransformation.d.ts +1 -1
  136. package/dist/output-gateway/public/service/transformations/PublicVehiclePositionsTransformation.js +15 -3
  137. package/dist/output-gateway/public/service/transformations/PublicVehiclePositionsTransformation.js.map +1 -1
  138. package/dist/output-gateway/public/service/transformations/scopes/PublicVPTripInfoTransformation.d.ts +26 -0
  139. package/dist/output-gateway/public/service/transformations/scopes/PublicVPTripInfoTransformation.js +47 -0
  140. package/dist/output-gateway/public/service/transformations/scopes/PublicVPTripInfoTransformation.js.map +1 -0
  141. package/dist/output-gateway/public/service/transformations/scopes/PublicVPTripShapesTransformation.d.ts +7 -0
  142. package/dist/output-gateway/public/service/transformations/scopes/PublicVPTripShapesTransformation.js +21 -0
  143. package/dist/output-gateway/public/service/transformations/scopes/PublicVPTripShapesTransformation.js.map +1 -0
  144. package/dist/output-gateway/public/service/transformations/scopes/PublicVPTripStopTimesTransformation.d.ts +7 -0
  145. package/dist/output-gateway/public/service/transformations/scopes/PublicVPTripStopTimesTransformation.js +41 -0
  146. package/dist/output-gateway/public/service/transformations/scopes/PublicVPTripStopTimesTransformation.js.map +1 -0
  147. package/dist/output-gateway/public/service/transformations/scopes/PublicVPVehicleDescriptorTransformation.d.ts +14 -0
  148. package/dist/output-gateway/public/service/transformations/scopes/PublicVPVehicleDescriptorTransformation.js +22 -0
  149. package/dist/output-gateway/public/service/transformations/scopes/PublicVPVehicleDescriptorTransformation.js.map +1 -0
  150. package/dist/output-gateway/vehicle-positions/VehiclePositionsRouter.js.map +1 -1
  151. package/dist/output-gateway/vehicle-positions/data-access/TripRepository.js +1 -0
  152. package/dist/output-gateway/vehicle-positions/data-access/TripRepository.js.map +1 -1
  153. package/dist/schema-definitions/ropid-gtfs/RopidGTFSPrecomputed.d.ts +3 -0
  154. package/dist/schema-definitions/ropid-gtfs/RopidGTFSPrecomputed.js +4 -0
  155. package/dist/schema-definitions/ropid-gtfs/RopidGTFSPrecomputed.js.map +1 -1
  156. package/dist/schema-definitions/ropid-gtfs/redis/interfaces/IDelayComputationDto.d.ts +6 -0
  157. package/dist/schema-definitions/ropid-gtfs/redis/schemas/DelayComputationDtoSchema.js +19 -2
  158. package/dist/schema-definitions/ropid-gtfs/redis/schemas/DelayComputationDtoSchema.js.map +1 -1
  159. package/dist/schema-definitions/vehicle-positions/models/VPTripsModel.d.ts +1 -0
  160. package/dist/schema-definitions/vehicle-positions/models/VPTripsModel.js +4 -0
  161. package/dist/schema-definitions/vehicle-positions/models/VPTripsModel.js.map +1 -1
  162. package/dist/schema-definitions/vehicle-positions/models/interfaces/IVPTripsModel.d.ts +1 -0
  163. package/dist/schema-definitions/vehicle-positions/models/views/PublicStopTimeModel.d.ts +10 -0
  164. package/dist/schema-definitions/vehicle-positions/models/views/PublicStopTimeModel.js +33 -0
  165. package/dist/schema-definitions/vehicle-positions/models/views/PublicStopTimeModel.js.map +1 -0
  166. package/dist/schema-definitions/vehicle-positions/models/views/index.d.ts +1 -0
  167. package/dist/schema-definitions/vehicle-positions/models/views/index.js +1 -0
  168. package/dist/schema-definitions/vehicle-positions/models/views/index.js.map +1 -1
  169. package/dist/schema-definitions/vehicle-positions/models/views/interfaces/IPublicStopTimeDto.d.ts +6 -0
  170. package/dist/{output-gateway/public/controllers/v1/IParams.js → schema-definitions/vehicle-positions/models/views/interfaces/IPublicStopTimeDto.js} +1 -1
  171. package/dist/schema-definitions/vehicle-positions/models/views/interfaces/IPublicStopTimeDto.js.map +1 -0
  172. package/dist/schema-definitions/vehicle-positions/redis/const.d.ts +2 -0
  173. package/dist/schema-definitions/vehicle-positions/redis/const.js +3 -1
  174. package/dist/schema-definitions/vehicle-positions/redis/const.js.map +1 -1
  175. package/dist/schema-definitions/vehicle-positions/redis/interfaces/IGtfsRunTripCacheDto.d.ts +1 -0
  176. package/dist/schema-definitions/vehicle-positions/redis/interfaces/IPublicApiCacheDto.d.ts +13 -0
  177. package/dist/schema-definitions/vehicle-positions/redis/interfaces/IPublicStopTimeCacheDto.d.ts +5 -0
  178. package/dist/schema-definitions/vehicle-positions/redis/interfaces/IPublicStopTimeCacheDto.js +3 -0
  179. package/dist/schema-definitions/vehicle-positions/redis/interfaces/IPublicStopTimeCacheDto.js.map +1 -0
  180. package/dist/schema-definitions/vehicle-positions/redis/schemas/GtfsRunTripCacheDtoSchema.js +1 -0
  181. package/dist/schema-definitions/vehicle-positions/redis/schemas/GtfsRunTripCacheDtoSchema.js.map +1 -1
  182. package/dist/schema-definitions/vehicle-positions/redis/schemas/PublicApiCacheDtoSchema.js +49 -0
  183. package/dist/schema-definitions/vehicle-positions/redis/schemas/PublicApiCacheDtoSchema.js.map +1 -1
  184. package/dist/schema-definitions/vehicle-positions/redis/schemas/PublicStopTimeCacheDtoSchema.d.ts +4 -0
  185. package/dist/schema-definitions/vehicle-positions/redis/schemas/PublicStopTimeCacheDtoSchema.js +41 -0
  186. package/dist/schema-definitions/vehicle-positions/redis/schemas/PublicStopTimeCacheDtoSchema.js.map +1 -0
  187. package/docs/implementation_documentation.md +30 -3
  188. package/docs/openapi-input.yaml +4 -5
  189. package/docs/openapi-output.yaml +262 -3
  190. package/package.json +1 -1
  191. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/RefreshPublicCacheTask.js.map +0 -1
  192. package/dist/output-gateway/public/controllers/v1/IParams.d.ts +0 -7
  193. package/dist/output-gateway/public/controllers/v1/IParams.js.map +0 -1
@@ -0,0 +1,71 @@
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.VehicleDescriptorCachedRepository = void 0;
25
+ const const_1 = require("../../../schema-definitions/const");
26
+ const models_1 = require("../../../schema-definitions/vehicle-descriptors/models");
27
+ const AbstractCachedRepository_1 = require("@golemio/core/dist/helpers/data-access/postgres/repositories/AbstractCachedRepository");
28
+ const CoreToken_1 = require("@golemio/core/dist/helpers/ioc/CoreToken");
29
+ const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
30
+ const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
31
+ let VehicleDescriptorCachedRepository = exports.VehicleDescriptorCachedRepository = class VehicleDescriptorCachedRepository extends AbstractCachedRepository_1.AbstractCachedRepository {
32
+ constructor(connector, logger) {
33
+ const ttlInSeconds = 4 * 60 * 60;
34
+ super(connector, logger, ttlInSeconds);
35
+ this.schema = const_1.PG_SCHEMA;
36
+ this.tableName = models_1.DescriptorModel.tableName;
37
+ this.sequelizeModel = connector
38
+ .getConnection()
39
+ .define(this.tableName, models_1.DescriptorModel.attributeModel, { schema: this.schema, timestamps: false });
40
+ }
41
+ getAllInternal() {
42
+ return __awaiter(this, void 0, void 0, function* () {
43
+ return this.sequelizeModel.findAll({ raw: true });
44
+ });
45
+ }
46
+ getOneByRegNumber(routeType, registrationNumber) {
47
+ return __awaiter(this, void 0, void 0, function* () {
48
+ try {
49
+ const data = yield this.getAll();
50
+ const vehicleDescriptor = data.find((el) => el.gtfs_route_type === routeType && el.registration_number === registrationNumber);
51
+ if (!vehicleDescriptor) {
52
+ return null;
53
+ }
54
+ return {
55
+ is_air_conditioned: vehicleDescriptor.is_air_conditioned,
56
+ has_usb_chargers: vehicleDescriptor.has_usb_chargers,
57
+ };
58
+ }
59
+ catch (err) {
60
+ throw new golemio_errors_1.GeneralError(`${this.constructor.name}: Cannot get vehicle descriptor from cache: ${err.message}`, this.constructor.name, err);
61
+ }
62
+ });
63
+ }
64
+ };
65
+ exports.VehicleDescriptorCachedRepository = VehicleDescriptorCachedRepository = __decorate([
66
+ (0, tsyringe_1.injectable)(),
67
+ __param(0, (0, tsyringe_1.inject)(CoreToken_1.CoreToken.PostgresConnector)),
68
+ __param(1, (0, tsyringe_1.inject)(CoreToken_1.CoreToken.Logger)),
69
+ __metadata("design:paramtypes", [Object, Object])
70
+ ], VehicleDescriptorCachedRepository);
71
+ //# sourceMappingURL=VehicleDescriptorCachedRepository.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VehicleDescriptorCachedRepository.js","sourceRoot":"","sources":["../../../../src/output-gateway/public/data-access/VehicleDescriptorCachedRepository.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AACA,6DAAuC;AACvC,mFAAkE;AAIlE,oIAAiI;AACjI,wEAAqE;AACrE,6EAAwE;AAExE,iEAAwE;AAGjE,IAAM,iCAAiC,+CAAvC,MAAM,iCAAkC,SAAQ,mDAA8C;IAKjG,YAAiD,SAA6B,EAA4B,MAAe;QACrH,MAAM,YAAY,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC;QACjC,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;QANpC,WAAM,GAAG,iBAAS,CAAC;QACnB,cAAS,GAAG,wBAAe,CAAC,SAAS,CAAC;QAMzC,IAAI,CAAC,cAAc,GAAG,SAAS;aAC1B,aAAa,EAAE;aACf,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,wBAAe,CAAC,cAAc,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;IAC5G,CAAC;IAEe,cAAc;;YAC1B,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;QACtD,CAAC;KAAA;IAEY,iBAAiB,CAC1B,SAA4B,EAC5B,kBAA0B;;YAE1B,IAAI;gBACA,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;gBACjC,MAAM,iBAAiB,GAAG,IAAI,CAAC,IAAI,CAC/B,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,eAAe,KAAK,SAAS,IAAI,EAAE,CAAC,mBAAmB,KAAK,kBAAkB,CAC5F,CAAC;gBAEF,IAAI,CAAC,iBAAiB,EAAE;oBACpB,OAAO,IAAI,CAAC;iBACf;gBAED,OAAO;oBACH,kBAAkB,EAAE,iBAAiB,CAAC,kBAAkB;oBACxD,gBAAgB,EAAE,iBAAiB,CAAC,gBAAgB;iBACvD,CAAC;aACL;YAAC,OAAO,GAAG,EAAE;gBACV,MAAM,IAAI,6BAAY,CAClB,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,+CAA+C,GAAG,CAAC,OAAO,EAAE,EACpF,IAAI,CAAC,WAAW,CAAC,IAAI,EACrB,GAAG,CACN,CAAC;aACL;QACL,CAAC;KAAA;CACJ,CAAA;4CA3CY,iCAAiC;IAD7C,IAAA,qBAAU,GAAE;IAMI,WAAA,IAAA,iBAAM,EAAC,qBAAS,CAAC,iBAAiB,CAAC,CAAA;IAAiC,WAAA,IAAA,iBAAM,EAAC,qBAAS,CAAC,MAAM,CAAC,CAAA;;GALhG,iCAAiC,CA2C7C"}
@@ -0,0 +1,10 @@
1
+ import { IDelayComputationRepository } from "../../domain/repository/IDelayComputationRepository";
2
+ import { IDelayComputationDto } from "../../../../schema-definitions/ropid-gtfs/redis/interfaces/IDelayComputationDto";
3
+ import { IoRedisConnector } from "@golemio/core/dist/helpers/data-access/redis/IoRedisConnector";
4
+ import { ILogger } from "@golemio/core/dist/helpers/logger/LoggerProvider";
5
+ export declare class DelayComputationRepository implements IDelayComputationRepository {
6
+ private redisConnector;
7
+ private log;
8
+ constructor(redisConnector: IoRedisConnector, log: ILogger);
9
+ getDelayComputationCache(gtfsTripId: string): Promise<IDelayComputationDto | null>;
10
+ }
@@ -0,0 +1,68 @@
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.DelayComputationRepository = void 0;
25
+ const OgModuleToken_1 = require("../../ioc/OgModuleToken");
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 golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
30
+ const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
31
+ let DelayComputationRepository = exports.DelayComputationRepository = class DelayComputationRepository {
32
+ constructor(redisConnector, log) {
33
+ this.redisConnector = redisConnector;
34
+ this.log = log;
35
+ }
36
+ getDelayComputationCache(gtfsTripId) {
37
+ return __awaiter(this, void 0, void 0, function* () {
38
+ if (!this.redisConnector.isConnected()) {
39
+ yield this.redisConnector.connect();
40
+ }
41
+ const connection = this.redisConnector.getConnection();
42
+ let delayComputationCache = null;
43
+ try {
44
+ delayComputationCache = yield connection.get(`${const_1.GTFS_DELAY_COMPUTATION_NAMESPACE_PREFIX}:${gtfsTripId}`);
45
+ }
46
+ catch (err) {
47
+ throw new golemio_errors_1.GeneralError(`${this.constructor.name}: Cannot get delay computation cache from cache: ${err.message}`, this.constructor.name, err);
48
+ }
49
+ if (delayComputationCache === null) {
50
+ this.log.info(`${this.constructor.name}: Cannot find delay computation cache`);
51
+ return null;
52
+ }
53
+ try {
54
+ return JSON.parse(delayComputationCache);
55
+ }
56
+ catch (err) {
57
+ throw new golemio_errors_1.GeneralError(`${this.constructor.name}: Cannot parse delay computation cache: ${err.message}`, this.constructor.name, err);
58
+ }
59
+ });
60
+ }
61
+ };
62
+ exports.DelayComputationRepository = DelayComputationRepository = __decorate([
63
+ (0, tsyringe_1.injectable)(),
64
+ __param(0, (0, tsyringe_1.inject)(OgModuleToken_1.OgModuleToken.RedisConnector)),
65
+ __param(1, (0, tsyringe_1.inject)(CoreToken_1.CoreToken.Logger)),
66
+ __metadata("design:paramtypes", [IoRedisConnector_1.IoRedisConnector, Object])
67
+ ], DelayComputationRepository);
68
+ //# sourceMappingURL=DelayComputationRepository.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DelayComputationRepository.js","sourceRoot":"","sources":["../../../../../src/output-gateway/public/data-access/redis/DelayComputationRepository.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AACA,2DAA6D;AAE7D,wFAA6F;AAC7F,oGAAiG;AACjG,wEAAqE;AAErE,6EAAwE;AACxE,iEAAwE;AAGjE,IAAM,0BAA0B,wCAAhC,MAAM,0BAA0B;IACnC,YACkD,cAAgC,EAC5C,GAAY;QADA,mBAAc,GAAd,cAAc,CAAkB;QAC5C,QAAG,GAAH,GAAG,CAAS;IAC/C,CAAC;IAES,wBAAwB,CAAC,UAAkB;;YACpD,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,EAAE;gBACpC,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC;aACvC;YAED,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,aAAa,EAAE,CAAC;YACvD,IAAI,qBAAqB,GAAkB,IAAI,CAAC;YAEhD,IAAI;gBACA,qBAAqB,GAAG,MAAM,UAAU,CAAC,GAAG,CAAC,GAAG,+CAAuC,IAAI,UAAU,EAAE,CAAC,CAAC;aAC5G;YAAC,OAAO,GAAG,EAAE;gBACV,MAAM,IAAI,6BAAY,CAClB,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,oDAAoD,GAAG,CAAC,OAAO,EAAE,EACzF,IAAI,CAAC,WAAW,CAAC,IAAI,EACrB,GAAG,CACN,CAAC;aACL;YAED,IAAI,qBAAqB,KAAK,IAAI,EAAE;gBAChC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,uCAAuC,CAAC,CAAC;gBAC/E,OAAO,IAAI,CAAC;aACf;YAED,IAAI;gBACA,OAAO,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;aAC5C;YAAC,OAAO,GAAG,EAAE;gBACV,MAAM,IAAI,6BAAY,CAClB,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,2CAA2C,GAAG,CAAC,OAAO,EAAE,EAChF,IAAI,CAAC,WAAW,CAAC,IAAI,EACrB,GAAG,CACN,CAAC;aACL;QACL,CAAC;KAAA;CACJ,CAAA;qCAvCY,0BAA0B;IADtC,IAAA,qBAAU,GAAE;IAGJ,WAAA,IAAA,iBAAM,EAAC,6BAAa,CAAC,cAAc,CAAC,CAAA;IACpC,WAAA,IAAA,iBAAM,EAAC,qBAAS,CAAC,MAAM,CAAC,CAAA;qCADqC,mCAAgB;GAFzE,0BAA0B,CAuCtC"}
@@ -0,0 +1,10 @@
1
+ import { IStopTimeRepository } from "../../domain/repository/IStopTimeRepository";
2
+ import { IPublicStopTimeCacheDto } from "../../../../schema-definitions/vehicle-positions/redis/interfaces/IPublicStopTimeCacheDto";
3
+ import { IoRedisConnector } from "@golemio/core/dist/helpers/data-access/redis/IoRedisConnector";
4
+ import { ILogger } from "@golemio/core/dist/helpers/logger/LoggerProvider";
5
+ export declare class PublicStopTimeRepository implements IStopTimeRepository {
6
+ private redisConnector;
7
+ private log;
8
+ constructor(redisConnector: IoRedisConnector, log: ILogger);
9
+ getPublicStopTimeCache(gtfsTripId: string): Promise<IPublicStopTimeCacheDto[]>;
10
+ }
@@ -0,0 +1,68 @@
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.PublicStopTimeRepository = void 0;
25
+ const OgModuleToken_1 = require("../../ioc/OgModuleToken");
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 golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
30
+ const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
31
+ let PublicStopTimeRepository = exports.PublicStopTimeRepository = class PublicStopTimeRepository {
32
+ constructor(redisConnector, log) {
33
+ this.redisConnector = redisConnector;
34
+ this.log = log;
35
+ }
36
+ getPublicStopTimeCache(gtfsTripId) {
37
+ return __awaiter(this, void 0, void 0, function* () {
38
+ if (!this.redisConnector.isConnected()) {
39
+ yield this.redisConnector.connect();
40
+ }
41
+ const connection = this.redisConnector.getConnection();
42
+ let stopTimeCache = null;
43
+ try {
44
+ stopTimeCache = yield connection.get(`${const_1.PUBLIC_STOP_TIME_CACHE_NAMESPACE_PREFIX}:${gtfsTripId}`);
45
+ }
46
+ catch (err) {
47
+ throw new golemio_errors_1.GeneralError(`${this.constructor.name}: Cannot get public stop time cache from cache: ${err.message}`, this.constructor.name, err);
48
+ }
49
+ if (stopTimeCache === null) {
50
+ this.log.info(`${this.constructor.name}: Cannot find public stop time cache`);
51
+ return [];
52
+ }
53
+ try {
54
+ return JSON.parse(stopTimeCache);
55
+ }
56
+ catch (err) {
57
+ throw new golemio_errors_1.GeneralError(`${this.constructor.name}: Cannot parse public stop time cache: ${err.message}`, this.constructor.name, err);
58
+ }
59
+ });
60
+ }
61
+ };
62
+ exports.PublicStopTimeRepository = PublicStopTimeRepository = __decorate([
63
+ (0, tsyringe_1.injectable)(),
64
+ __param(0, (0, tsyringe_1.inject)(OgModuleToken_1.OgModuleToken.RedisConnector)),
65
+ __param(1, (0, tsyringe_1.inject)(CoreToken_1.CoreToken.Logger)),
66
+ __metadata("design:paramtypes", [IoRedisConnector_1.IoRedisConnector, Object])
67
+ ], PublicStopTimeRepository);
68
+ //# sourceMappingURL=PublicStopTimeRepository.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PublicStopTimeRepository.js","sourceRoot":"","sources":["../../../../../src/output-gateway/public/data-access/redis/PublicStopTimeRepository.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AACA,2DAA6D;AAC7D,wFAA6F;AAE7F,oGAAiG;AACjG,wEAAqE;AAErE,6EAAwE;AACxE,iEAAwE;AAGjE,IAAM,wBAAwB,sCAA9B,MAAM,wBAAwB;IACjC,YACkD,cAAgC,EAC5C,GAAY;QADA,mBAAc,GAAd,cAAc,CAAkB;QAC5C,QAAG,GAAH,GAAG,CAAS;IAC/C,CAAC;IAES,sBAAsB,CAAC,UAAkB;;YAClD,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,EAAE;gBACpC,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC;aACvC;YAED,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,aAAa,EAAE,CAAC;YACvD,IAAI,aAAa,GAAkB,IAAI,CAAC;YAExC,IAAI;gBACA,aAAa,GAAG,MAAM,UAAU,CAAC,GAAG,CAAC,GAAG,+CAAuC,IAAI,UAAU,EAAE,CAAC,CAAC;aACpG;YAAC,OAAO,GAAG,EAAE;gBACV,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;aACL;YAED,IAAI,aAAa,KAAK,IAAI,EAAE;gBACxB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,sCAAsC,CAAC,CAAC;gBAC9E,OAAO,EAAE,CAAC;aACb;YAED,IAAI;gBACA,OAAO,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;aACpC;YAAC,OAAO,GAAG,EAAE;gBACV,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;aACL;QACL,CAAC;KAAA;CACJ,CAAA;mCAvCY,wBAAwB;IADpC,IAAA,qBAAU,GAAE;IAGJ,WAAA,IAAA,iBAAM,EAAC,6BAAa,CAAC,cAAc,CAAC,CAAA;IACpC,WAAA,IAAA,iBAAM,EAAC,qBAAS,CAAC,MAAM,CAAC,CAAA;qCADqC,mCAAgB;GAFzE,wBAAwB,CAuCpC"}
@@ -8,6 +8,8 @@ export declare class PublicVehiclePositionsRepository implements IVehiclePositio
8
8
  private log;
9
9
  private setName;
10
10
  constructor(redisConnector: IoRedisConnector, log: ILogger);
11
- getAllVehiclePositions(boundingBox: IBoundingBoxWithCenter): Promise<IPublicApiCacheDto[]>;
11
+ getAllVehicleIds(boundingBox: IBoundingBoxWithCenter): Promise<string[]>;
12
+ getAllVehiclePositions(vehicleIds: string[]): Promise<IPublicApiCacheDto[]>;
13
+ getDetailedVehiclePosition(vehicleId: string): Promise<IPublicApiCacheDto | null>;
12
14
  setCurrentSetName(name: string): void;
13
15
  }
@@ -25,6 +25,7 @@ exports.PublicVehiclePositionsRepository = void 0;
25
25
  const OgModuleToken_1 = require("../../ioc/OgModuleToken");
26
26
  const IoRedisConnector_1 = require("@golemio/core/dist/helpers/data-access/redis/IoRedisConnector");
27
27
  const CoreToken_1 = require("@golemio/core/dist/helpers/ioc/CoreToken");
28
+ const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
28
29
  const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
29
30
  let PublicVehiclePositionsRepository = exports.PublicVehiclePositionsRepository = class PublicVehiclePositionsRepository {
30
31
  constructor(redisConnector, log) {
@@ -32,7 +33,7 @@ let PublicVehiclePositionsRepository = exports.PublicVehiclePositionsRepository
32
33
  this.log = log;
33
34
  this.setName = undefined; // loaded via pub sub
34
35
  }
35
- getAllVehiclePositions(boundingBox) {
36
+ getAllVehicleIds(boundingBox) {
36
37
  return __awaiter(this, void 0, void 0, function* () {
37
38
  if (!this.setName) {
38
39
  this.log.debug("Empty setName for public vehicle positions api.");
@@ -42,19 +43,75 @@ let PublicVehiclePositionsRepository = exports.PublicVehiclePositionsRepository
42
43
  yield this.redisConnector.connect();
43
44
  }
44
45
  const connection = this.redisConnector.getConnection();
45
- const vehiclePositions = yield connection.geosearch(this.setName, "FROMLONLAT", boundingBox.centerPoint.longitude, boundingBox.centerPoint.latitude, "BYBOX", boundingBox.width, boundingBox.height, "m", "ASC");
46
- return vehiclePositions.map((el) => {
46
+ let vehicleIds = [];
47
+ try {
48
+ vehicleIds = (yield connection.geosearch(this.setName, "FROMLONLAT", boundingBox.centerPoint.longitude, boundingBox.centerPoint.latitude, "BYBOX", boundingBox.width, boundingBox.height, "m", "ASC"));
49
+ }
50
+ catch (err) {
51
+ throw new golemio_errors_1.GeneralError(`${this.constructor.name}: Cannot get vehicle ids from cache: ${err.message}`, this.constructor.name, err);
52
+ }
53
+ return vehicleIds;
54
+ });
55
+ }
56
+ getAllVehiclePositions(vehicleIds) {
57
+ return __awaiter(this, void 0, void 0, function* () {
58
+ if (!this.setName) {
59
+ this.log.debug("Empty setName for public vehicle positions api.");
60
+ return [];
61
+ }
62
+ const connection = this.redisConnector.getConnection();
63
+ let vehiclePositions = [];
64
+ try {
65
+ vehiclePositions = yield connection.mget(vehicleIds.map((vehicleId) => `${this.setName}-${vehicleId}`));
66
+ }
67
+ catch (err) {
68
+ throw new golemio_errors_1.GeneralError(`${this.constructor.name}: Cannot get vehicle positions from cache: ${err.message}`, this.constructor.name, err);
69
+ }
70
+ return vehiclePositions.map((tripPosition, i) => {
71
+ if (tripPosition === null) {
72
+ this.log.error(`${this.constructor.name}: Cannot find vehicle_id ${vehicleIds[i]}`);
73
+ return {};
74
+ }
47
75
  try {
48
- return JSON.parse(el);
76
+ return JSON.parse(tripPosition);
49
77
  }
50
78
  catch (err) {
51
- this.log.error(err);
52
- this.log.error(`Cannot parse ${el}`);
53
- return {};
79
+ throw new golemio_errors_1.GeneralError(`${this.constructor.name}: Cannot parse ${vehicleIds[i]}: ${err.message}`, this.constructor.name, err);
54
80
  }
55
81
  });
56
82
  });
57
83
  }
84
+ getDetailedVehiclePosition(vehicleId) {
85
+ return __awaiter(this, void 0, void 0, function* () {
86
+ if (!this.setName) {
87
+ this.log.debug("Empty setName for public vehicle positions api.");
88
+ return null;
89
+ }
90
+ if (!this.redisConnector.isConnected()) {
91
+ yield this.redisConnector.connect();
92
+ }
93
+ const connection = this.redisConnector.getConnection();
94
+ let vehiclePosition = null;
95
+ try {
96
+ vehiclePosition = yield connection.get(`${this.setName}-${vehicleId}`);
97
+ }
98
+ catch (err) {
99
+ this.log.error(`${this.constructor.name}: Cannot get vehicle position from cache: ${err.message}`);
100
+ throw new golemio_errors_1.GeneralError(`${this.constructor.name}: Cannot get vehicle position from cache: ${err.message}`, this.constructor.name, err);
101
+ }
102
+ if (vehiclePosition === null) {
103
+ this.log.info(`${this.constructor.name}: Cannot find vehicle_id ${vehicleId}`);
104
+ return null;
105
+ }
106
+ try {
107
+ return JSON.parse(vehiclePosition);
108
+ }
109
+ catch (err) {
110
+ this.log.error(`${this.constructor.name}: Cannot parse ${vehicleId}: ${err.message}`);
111
+ throw new golemio_errors_1.GeneralError(`${this.constructor.name}: Cannot parse ${vehicleId}: ${err.message}`, this.constructor.name, err);
112
+ }
113
+ });
114
+ }
58
115
  setCurrentSetName(name) {
59
116
  this.setName = name;
60
117
  }
@@ -1 +1 @@
1
- {"version":3,"file":"PublicVehiclePositionsRepository.js","sourceRoot":"","sources":["../../../../../src/output-gateway/public/data-access/redis/PublicVehiclePositionsRepository.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAEA,2DAA6D;AAE7D,oGAAiG;AACjG,wEAAqE;AAErE,iEAAwE;AAGjE,IAAM,gCAAgC,8CAAtC,MAAM,gCAAgC;IAGzC,YAC0C,cAAwC,EACpD,GAAoB;QADA,mBAAc,GAAd,cAAc,CAAkB;QAC5C,QAAG,GAAH,GAAG,CAAS;QAJ1C,YAAO,GAAuB,SAAS,CAAC,CAAC,qBAAqB;IAKnE,CAAC;IAES,sBAAsB,CAAC,WAAmC;;YACnE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;gBACf,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,iDAAiD,CAAC,CAAC;gBAClE,OAAO,EAAE,CAAC;aACb;YAED,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,EAAE;gBACpC,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC;aACvC;YAED,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,aAAa,EAAE,CAAC;YACvD,MAAM,gBAAgB,GAAG,MAAM,UAAU,CAAC,SAAS,CAC/C,IAAI,CAAC,OAAO,EACZ,YAAY,EACZ,WAAW,CAAC,WAAW,CAAC,SAAS,EACjC,WAAW,CAAC,WAAW,CAAC,QAAQ,EAChC,OAAO,EACP,WAAW,CAAC,KAAK,EACjB,WAAW,CAAC,MAAM,EAClB,GAAG,EACH,KAAK,CACR,CAAC;YAEF,OAAO,gBAAgB,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;gBAC/B,IAAI;oBACA,OAAO,IAAI,CAAC,KAAK,CAAC,EAAY,CAAC,CAAC;iBACnC;gBAAC,OAAO,GAAG,EAAE;oBACV,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oBACpB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;oBACrC,OAAO,EAAE,CAAC;iBACb;YACL,CAAC,CAAC,CAAC;QACP,CAAC;KAAA;IAEM,iBAAiB,CAAC,IAAY;QACjC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;IACxB,CAAC;CACJ,CAAA;2CA7CY,gCAAgC;IAD5C,IAAA,qBAAU,GAAE;IAKJ,WAAA,IAAA,iBAAM,EAAC,6BAAa,CAAC,cAAc,CAAC,CAAA;IACpC,WAAA,IAAA,iBAAM,EAAC,qBAAS,CAAC,MAAM,CAAC,CAAA;qCADqC,mCAAgB;GAJzE,gCAAgC,CA6C5C"}
1
+ {"version":3,"file":"PublicVehiclePositionsRepository.js","sourceRoot":"","sources":["../../../../../src/output-gateway/public/data-access/redis/PublicVehiclePositionsRepository.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,48 @@
1
+ import { IGeoCoordinatesPoint, IGeoJSONFeatureCollection } from "@golemio/core/dist/output-gateway/Geo";
2
+ import { FeatureCollection, Point } from "@golemio/core/dist/shared/geojson";
3
+ import { StatePositionEnum } from "../../../const";
4
+ export interface IPublicApiDetailedTripScopeInfo {
5
+ gtfs_trip_id: string;
6
+ route_type: string;
7
+ route_short_name: string;
8
+ shape_id: string | null;
9
+ origin_route_name: string | null;
10
+ run_number: number | null;
11
+ trip_headsign: string | null;
12
+ geometry: IGeoCoordinatesPoint;
13
+ shape_dist_traveled: number | null;
14
+ bearing: number | null;
15
+ delay: number | null;
16
+ state_position: StatePositionEnum;
17
+ last_stop_sequence: number | null;
18
+ origin_timestamp: string;
19
+ }
20
+ export interface IPublicApiDetailedTripScopeStopTimesProps {
21
+ stop_name: string;
22
+ zone_id: string;
23
+ shape_dist_traveled: number;
24
+ arrival_time: string;
25
+ departure_time: string;
26
+ realtime_arrival_time: string | null;
27
+ realtime_departure_time: string | null;
28
+ }
29
+ export interface IPublicApiDetailedTripScopeStopTimes extends FeatureCollection<Point, IPublicApiDetailedTripScopeStopTimesProps> {
30
+ }
31
+ export interface IPublicApiDetailedTripScopeShapesProps {
32
+ shape_dist_traveled: number;
33
+ }
34
+ export interface IPublicApiDetailedTripScopeShapes extends FeatureCollection<Point, IPublicApiDetailedTripScopeShapesProps> {
35
+ }
36
+ export interface IPublicApiDetailedTripScopeDescriptor {
37
+ operator: string | null;
38
+ vehicle_type: string | null;
39
+ is_wheelchair_accessible: boolean | null;
40
+ is_air_conditioned: boolean | null;
41
+ has_usb_chargers: boolean | null;
42
+ vehicle_registration_number: string | null;
43
+ }
44
+ export interface IPublicApiDetailedTrip extends Partial<IPublicApiDetailedTripScopeInfo> {
45
+ stop_times?: IGeoJSONFeatureCollection | IPublicApiDetailedTripScopeStopTimes;
46
+ shapes?: IGeoJSONFeatureCollection | IPublicApiDetailedTripScopeShapes;
47
+ vehicle_descriptor?: IPublicApiDetailedTripScopeDescriptor;
48
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=PublicApiDetailedTripInterfaces.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PublicApiDetailedTripInterfaces.js","sourceRoot":"","sources":["../../../../src/output-gateway/public/domain/PublicApiDetailedTripInterfaces.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ import { IDelayComputationDto } from "../../../../schema-definitions/ropid-gtfs/redis/interfaces/IDelayComputationDto";
2
+ export interface IDelayComputationRepository {
3
+ getDelayComputationCache(gtfsTripId: string): Promise<IDelayComputationDto | null>;
4
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=IDelayComputationRepository.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IDelayComputationRepository.js","sourceRoot":"","sources":["../../../../../src/output-gateway/public/domain/repository/IDelayComputationRepository.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ import { IPublicStopTimeCacheDto } from "../../../../schema-definitions/vehicle-positions/redis/interfaces/IPublicStopTimeCacheDto";
2
+ export interface IStopTimeRepository {
3
+ getPublicStopTimeCache(gtfsTripId: string): Promise<IPublicStopTimeCacheDto[]>;
4
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=IStopTimeRepository.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IStopTimeRepository.js","sourceRoot":"","sources":["../../../../../src/output-gateway/public/domain/repository/IStopTimeRepository.ts"],"names":[],"mappings":""}
@@ -1,6 +1,8 @@
1
1
  import { IPublicApiCacheDto } from "../../../../schema-definitions/vehicle-positions/redis/interfaces/IPublicApiCacheDto";
2
2
  import { IBoundingBoxWithCenter } from "../IBoudingBox";
3
3
  export interface IVehiclePositionsRepository {
4
- getAllVehiclePositions(boundingBox: IBoundingBoxWithCenter): Promise<IPublicApiCacheDto[]>;
4
+ getAllVehicleIds(boundingBox: IBoundingBoxWithCenter): Promise<string[]>;
5
+ getAllVehiclePositions(vehicleIds: string[]): Promise<IPublicApiCacheDto[]>;
6
+ getDetailedVehiclePosition(vehicleId: string): Promise<IPublicApiCacheDto | null>;
5
7
  setCurrentSetName(name: string): void;
6
8
  }
@@ -7,10 +7,18 @@ const IoRedisConnector_1 = require("@golemio/core/dist/helpers/data-access/redis
7
7
  const CoreToken_1 = require("@golemio/core/dist/helpers/ioc/CoreToken");
8
8
  const Di_1 = require("@golemio/core/dist/output-gateway/ioc/Di");
9
9
  const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
10
+ const VehicleDescriptorCachedRepository_1 = require("../data-access/VehicleDescriptorCachedRepository");
11
+ const DelayComputationRepository_1 = require("../data-access/redis/DelayComputationRepository");
12
+ const PublicStopTimeRepository_1 = require("../data-access/redis/PublicStopTimeRepository");
10
13
  const PublicVehiclePositionsRepository_1 = require("../data-access/redis/PublicVehiclePositionsRepository");
11
14
  const VPSubscriber_1 = require("../service/VPSubscriber");
15
+ const DetailedTripFacade_1 = require("../service/facade/DetailedTripFacade");
12
16
  const VehiclePositionsFacade_1 = require("../service/facade/VehiclePositionsFacade");
13
17
  const BoundingBoxHelper_1 = require("../service/helpers/BoundingBoxHelper");
18
+ const InfoTripScopeHelper_1 = require("../service/helpers/trip-scope/strategy/InfoTripScopeHelper");
19
+ const ShapesTripScopeHelper_1 = require("../service/helpers/trip-scope/strategy/ShapesTripScopeHelper");
20
+ const StopTimesTripScopeHelper_1 = require("../service/helpers/trip-scope/strategy/StopTimesTripScopeHelper");
21
+ const VehicleDescriptorTripScopeHelper_1 = require("../service/helpers/trip-scope/strategy/VehicleDescriptorTripScopeHelper");
14
22
  const OgModuleToken_1 = require("./OgModuleToken");
15
23
  const ogPublicContainer = Di_1.OutputGatewayContainer.createChildContainer();
16
24
  exports.OgPublicContainer = ogPublicContainer;
@@ -22,12 +30,24 @@ ogPublicContainer.register(OgModuleToken_1.OgModuleToken.RedisConnector, {
22
30
  });
23
31
  ogPublicContainer.registerSingleton(OgModuleToken_1.OgModuleToken.GeoMeasurementHelper, GeoMeasurementHelper_1.GeoMeasurementHelper);
24
32
  ogPublicContainer.registerSingleton(OgModuleToken_1.OgModuleToken.BoundingBoxHelper, BoundingBoxHelper_1.BoundingBoxHelper);
33
+ ogPublicContainer.registerSingleton(OgModuleToken_1.OgModuleToken.VehicleDescriptorCachedRepository, VehicleDescriptorCachedRepository_1.VehicleDescriptorCachedRepository);
25
34
  ogPublicContainer.registerSingleton(OgModuleToken_1.OgModuleToken.PublicVehiclePositionsRepository, PublicVehiclePositionsRepository_1.PublicVehiclePositionsRepository);
35
+ ogPublicContainer.registerSingleton(OgModuleToken_1.OgModuleToken.DelayComputationRepository, DelayComputationRepository_1.DelayComputationRepository);
36
+ ogPublicContainer.registerSingleton(OgModuleToken_1.OgModuleToken.PublicStopTimeRepository, PublicStopTimeRepository_1.PublicStopTimeRepository);
37
+ ogPublicContainer.registerSingleton(OgModuleToken_1.OgModuleToken.InfoTripScopeHelper, InfoTripScopeHelper_1.InfoTripScopeHelper);
38
+ ogPublicContainer.registerSingleton(OgModuleToken_1.OgModuleToken.StopTimesTripScopeHelper, StopTimesTripScopeHelper_1.StopTimesTripScopeHelper);
39
+ ogPublicContainer.registerSingleton(OgModuleToken_1.OgModuleToken.ShapesTripScopeHelper, ShapesTripScopeHelper_1.ShapesTripScopeHelper);
40
+ ogPublicContainer.registerSingleton(OgModuleToken_1.OgModuleToken.VehicleDescriptorTripScopeHelper, VehicleDescriptorTripScopeHelper_1.VehicleDescriptorTripScopeHelper);
26
41
  ogPublicContainer.register(OgModuleToken_1.OgModuleToken.PublicVehiclePositionsFacade, {
27
42
  useFactory: (0, tsyringe_1.instanceCachingFactory)((c) => {
28
43
  return new VehiclePositionsFacade_1.PublicVehiclePositionsFacade(c.resolve(OgModuleToken_1.OgModuleToken.PublicVehiclePositionsRepository), c.resolve(OgModuleToken_1.OgModuleToken.BoundingBoxHelper), c.resolve(CoreToken_1.CoreToken.Logger));
29
44
  }),
30
45
  });
46
+ ogPublicContainer.register(OgModuleToken_1.OgModuleToken.DetailedTripFacade, {
47
+ useFactory: (0, tsyringe_1.instanceCachingFactory)((c) => {
48
+ return new DetailedTripFacade_1.DetailedTripFacade(c.resolve(OgModuleToken_1.OgModuleToken.PublicVehiclePositionsRepository));
49
+ }),
50
+ });
31
51
  ogPublicContainer.register(OgModuleToken_1.OgModuleToken.VPSubscriber, {
32
52
  useFactory: (0, tsyringe_1.instanceCachingFactory)((c) => {
33
53
  const config = c.resolve(CoreToken_1.CoreToken.SimpleConfig);
@@ -1 +1 @@
1
- {"version":3,"file":"Di.js","sourceRoot":"","sources":["../../../../src/output-gateway/public/ioc/Di.ts"],"names":[],"mappings":";;;AAAA,oFAAyE;AACzE,qFAAmF;AAEnF,oGAAiG;AACjG,wEAAqE;AAErE,iEAAkF;AAClF,iEAA4E;AAC5E,4GAAyG;AAEzG,0DAAuD;AACvD,qFAAwF;AACxF,4EAAyE;AAEzE,mDAAgD;AAEhD,MAAM,iBAAiB,GAAG,2BAAsB,CAAC,oBAAoB,EAAE,CAAC;AAyC1C,8CAAiB;AAvC/C,iBAAiB,CAAC,QAAQ,CAAC,6BAAa,CAAC,cAAc,EAAE;IACrD,UAAU,EAAE,IAAA,iCAAsB,EAAC,CAAC,CAAC,EAAE,EAAE;QACrC,MAAM,MAAM,GAAG,CAAC,CAAC,OAAO,CAAgB,qBAAS,CAAC,YAAY,CAAC,CAAC;QAEhE,OAAO,IAAI,mCAAgB,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,OAAO,CAAU,qBAAS,CAAC,MAAM,CAAC,CAAC,CAAC;IACzG,CAAC,CAAC;CACL,CAAC,CAAC;AAEH,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,gCAAgC,EAAE,mEAAgC,CAAC,CAAC;AAEtH,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,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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"}
@@ -2,7 +2,15 @@ export declare const OgModuleToken: {
2
2
  RedisConnector: symbol;
3
3
  GeoMeasurementHelper: symbol;
4
4
  BoundingBoxHelper: symbol;
5
+ VehicleDescriptorCachedRepository: symbol;
5
6
  PublicVehiclePositionsRepository: symbol;
7
+ PublicStopTimeRepository: symbol;
8
+ DelayComputationRepository: symbol;
9
+ InfoTripScopeHelper: symbol;
10
+ StopTimesTripScopeHelper: symbol;
11
+ ShapesTripScopeHelper: symbol;
12
+ VehicleDescriptorTripScopeHelper: symbol;
6
13
  PublicVehiclePositionsFacade: symbol;
14
+ DetailedTripFacade: symbol;
7
15
  VPSubscriber: symbol;
8
16
  };
@@ -5,8 +5,16 @@ exports.OgModuleToken = {
5
5
  RedisConnector: Symbol(),
6
6
  GeoMeasurementHelper: Symbol(),
7
7
  BoundingBoxHelper: Symbol(),
8
+ VehicleDescriptorCachedRepository: Symbol(),
8
9
  PublicVehiclePositionsRepository: Symbol(),
10
+ PublicStopTimeRepository: Symbol(),
11
+ DelayComputationRepository: Symbol(),
12
+ InfoTripScopeHelper: Symbol(),
13
+ StopTimesTripScopeHelper: Symbol(),
14
+ ShapesTripScopeHelper: Symbol(),
15
+ VehicleDescriptorTripScopeHelper: Symbol(),
9
16
  PublicVehiclePositionsFacade: Symbol(),
17
+ DetailedTripFacade: Symbol(),
10
18
  VPSubscriber: Symbol(),
11
19
  };
12
20
  //# 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,cAAc,EAAE,MAAM,EAAE;IACxB,oBAAoB,EAAE,MAAM,EAAE;IAC9B,iBAAiB,EAAE,MAAM,EAAE;IAC3B,gCAAgC,EAAE,MAAM,EAAE;IAC1C,4BAA4B,EAAE,MAAM,EAAE;IACtC,YAAY,EAAE,MAAM,EAAE;CACzB,CAAC"}
1
+ {"version":3,"file":"OgModuleToken.js","sourceRoot":"","sources":["../../../../src/output-gateway/public/ioc/OgModuleToken.ts"],"names":[],"mappings":";;;AAAa,QAAA,aAAa,GAAG;IACzB,cAAc,EAAE,MAAM,EAAE;IACxB,oBAAoB,EAAE,MAAM,EAAE;IAC9B,iBAAiB,EAAE,MAAM,EAAE;IAC3B,iCAAiC,EAAE,MAAM,EAAE;IAC3C,gCAAgC,EAAE,MAAM,EAAE;IAC1C,wBAAwB,EAAE,MAAM,EAAE;IAClC,0BAA0B,EAAE,MAAM,EAAE;IACpC,mBAAmB,EAAE,MAAM,EAAE;IAC7B,wBAAwB,EAAE,MAAM,EAAE;IAClC,qBAAqB,EAAE,MAAM,EAAE;IAC/B,gCAAgC,EAAE,MAAM,EAAE;IAC1C,4BAA4B,EAAE,MAAM,EAAE;IACtC,kBAAkB,EAAE,MAAM,EAAE;IAC5B,YAAY,EAAE,MAAM,EAAE;CACzB,CAAC"}
@@ -2,7 +2,7 @@
2
2
  import { Router } from "@golemio/core/dist/shared/express";
3
3
  export declare class PublicRouter {
4
4
  router: Router;
5
- private controller;
5
+ private vehiclePositionsController;
6
6
  private redisSubscriber;
7
7
  constructor();
8
8
  protected initRoutes(expire?: string | number | undefined): void;
@@ -7,11 +7,12 @@ const OgModuleToken_1 = require("../../ioc/OgModuleToken");
7
7
  const Validation_1 = require("@golemio/core/dist/output-gateway/Validation");
8
8
  const express_1 = require("@golemio/core/dist/shared/express");
9
9
  const express_validator_1 = require("@golemio/core/dist/shared/express-validator");
10
+ const CustomScopeValidator_1 = require("./helpers/CustomScopeValidator");
10
11
  const CustomTypeValidator_1 = require("./helpers/CustomTypeValidator");
11
12
  class PublicRouter {
12
13
  constructor() {
13
14
  this.router = (0, express_1.Router)();
14
- this.controller = new PublicVehiclePositionsController_1.PublicVehiclePositionsController();
15
+ this.vehiclePositionsController = new PublicVehiclePositionsController_1.PublicVehiclePositionsController();
15
16
  this.initRoutes();
16
17
  this.redisSubscriber = Di_1.OgPublicContainer.resolve(OgModuleToken_1.OgModuleToken.VPSubscriber);
17
18
  this.redisSubscriber.initialize();
@@ -24,7 +25,8 @@ class PublicRouter {
24
25
  .matches(/^\d+\.?\d*(,\d+\.?\d*){3}$/),
25
26
  (0, express_validator_1.query)("routeShortName").optional().isString(),
26
27
  (0, express_validator_1.query)("routeType").optional().custom(CustomTypeValidator_1.CustomTypeValidator.validate),
27
- ], Validation_1.checkErrors, this.controller.getAll);
28
+ ], Validation_1.checkErrors, this.vehiclePositionsController.getAll);
29
+ this.router.get("/vehiclepositions/:vehicleId", [(0, express_validator_1.param)("vehicleId").exists(), (0, express_validator_1.query)("scopes").custom(CustomScopeValidator_1.CustomScopeValidator.validate)], Validation_1.checkErrors, this.vehiclePositionsController.getOneByVehicleId);
28
30
  }
29
31
  }
30
32
  exports.PublicRouter = PublicRouter;
@@ -1 +1 @@
1
- {"version":3,"file":"PublicRouter.js","sourceRoot":"","sources":["../../../../../src/output-gateway/public/routers/v1/PublicRouter.ts"],"names":[],"mappings":";;;AACA,4GAA8G;AAC9G,qCAAsD;AACtD,2DAA6D;AAE7D,6EAA2E;AAC3E,+DAA2D;AAC3D,mFAAoE;AACpE,uEAAoE;AAEpE,MAAa,YAAY;IAKrB;QACI,IAAI,CAAC,MAAM,GAAG,IAAA,gBAAM,GAAE,CAAC;QACvB,IAAI,CAAC,UAAU,GAAG,IAAI,mEAAgC,EAAE,CAAC;QACzD,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,IAAI,CAAC,eAAe,GAAG,sBAAiB,CAAC,OAAO,CAAe,6BAAa,CAAC,YAAY,CAAC,CAAC;QAC3F,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,CAAC;IACtC,CAAC;IAES,UAAU,CAAC,MAAoC;QACrD,IAAI,CAAC,MAAM,CAAC,GAAG,CACX,mBAAmB,EACnB;YACI,IAAA,yBAAK,EAAC,aAAa,CAAC;iBACf,QAAQ,EAAE;iBACV,QAAQ,EAAE;iBACV,OAAO,CAAC,4BAA4B,CAAC;YAC1C,IAAA,yBAAK,EAAC,gBAAgB,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;YAC7C,IAAA,yBAAK,EAAC,WAAW,CAAC,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,yCAAmB,CAAC,QAAQ,CAAC;SACrE,EACD,wBAAW,EACX,IAAI,CAAC,UAAU,CAAC,MAAM,CACzB,CAAC;IACN,CAAC;CACJ;AA5BD,oCA4BC;AAED,MAAM,cAAc,GAAG,IAAI,YAAY,EAAE,CAAC,MAAM,CAAC;AAExC,wCAAc"}
1
+ {"version":3,"file":"PublicRouter.js","sourceRoot":"","sources":["../../../../../src/output-gateway/public/routers/v1/PublicRouter.ts"],"names":[],"mappings":";;;AAAA,4GAA8G;AAC9G,qCAAsD;AACtD,2DAA6D;AAE7D,6EAA2E;AAC3E,+DAA2D;AAC3D,mFAA2E;AAC3E,yEAAsE;AACtE,uEAAoE;AAEpE,MAAa,YAAY;IAKrB;QACI,IAAI,CAAC,MAAM,GAAG,IAAA,gBAAM,GAAE,CAAC;QACvB,IAAI,CAAC,0BAA0B,GAAG,IAAI,mEAAgC,EAAE,CAAC;QACzE,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,IAAI,CAAC,eAAe,GAAG,sBAAiB,CAAC,OAAO,CAAe,6BAAa,CAAC,YAAY,CAAC,CAAC;QAC3F,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,CAAC;IACtC,CAAC;IAES,UAAU,CAAC,MAAoC;QACrD,IAAI,CAAC,MAAM,CAAC,GAAG,CACX,mBAAmB,EACnB;YACI,IAAA,yBAAK,EAAC,aAAa,CAAC;iBACf,QAAQ,EAAE;iBACV,QAAQ,EAAE;iBACV,OAAO,CAAC,4BAA4B,CAAC;YAC1C,IAAA,yBAAK,EAAC,gBAAgB,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;YAC7C,IAAA,yBAAK,EAAC,WAAW,CAAC,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,yCAAmB,CAAC,QAAQ,CAAC;SACrE,EACD,wBAAW,EACX,IAAI,CAAC,0BAA0B,CAAC,MAAM,CACzC,CAAC;QAEF,IAAI,CAAC,MAAM,CAAC,GAAG,CACX,8BAA8B,EAC9B,CAAC,IAAA,yBAAK,EAAC,WAAW,CAAC,CAAC,MAAM,EAAE,EAAE,IAAA,yBAAK,EAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,2CAAoB,CAAC,QAAQ,CAAC,CAAC,EACpF,wBAAW,EACX,IAAI,CAAC,0BAA0B,CAAC,iBAAiB,CACpD,CAAC;IACN,CAAC;CACJ;AAnCD,oCAmCC;AAED,MAAM,cAAc,GAAG,IAAI,YAAY,EAAE,CAAC,MAAM,CAAC;AAExC,wCAAc"}