@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.
- package/db/example/17_blocked_trains.sql +5 -8
- package/db/example/redis/publicVehiclePositionsMock.json +26 -8
- package/db/migrations/postgresql/20240122141600-public-api-detailed-endpoint.js +53 -0
- package/db/migrations/postgresql/sqls/20240122141600-public-api-detailed-endpoint-down.sql +16 -0
- package/db/migrations/postgresql/sqls/20240122141600-public-api-detailed-endpoint-up.sql +137 -0
- package/dist/integration-engine/ioc/Di.d.ts +2 -1
- package/dist/integration-engine/ioc/Di.js.map +1 -1
- package/dist/integration-engine/ropid-gtfs/RopidGTFSTripsModel.js +1 -1
- package/dist/integration-engine/ropid-gtfs/RopidGTFSTripsModel.js.map +1 -1
- package/dist/integration-engine/ropid-gtfs/data-access/cache/DelayComputationRedisRepository.d.ts +1 -0
- package/dist/integration-engine/ropid-gtfs/data-access/cache/DelayComputationRedisRepository.js +27 -1
- package/dist/integration-engine/ropid-gtfs/data-access/cache/DelayComputationRedisRepository.js.map +1 -1
- package/dist/integration-engine/ropid-gtfs/data-access/precomputed/TripScheduleRepository.js +4 -2
- package/dist/integration-engine/ropid-gtfs/data-access/precomputed/TripScheduleRepository.js.map +1 -1
- package/dist/integration-engine/ropid-gtfs/interfaces/TripModelInterfaces.d.ts +1 -0
- package/dist/integration-engine/vehicle-positions/ioc/Di.js +8 -2
- package/dist/integration-engine/vehicle-positions/ioc/Di.js.map +1 -1
- package/dist/integration-engine/vehicle-positions/ioc/VPContainerToken.d.ts +4 -1
- package/dist/integration-engine/vehicle-positions/ioc/VPContainerToken.js +4 -1
- package/dist/integration-engine/vehicle-positions/ioc/VPContainerToken.js.map +1 -1
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/VPWorker.js +2 -1
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/VPWorker.js.map +1 -1
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/TripsRepository.js +16 -10
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/TripsRepository.js.map +1 -1
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/cache/PublicApiCacheRepository.js +2 -1
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/cache/PublicApiCacheRepository.js.map +1 -1
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/cache/PublicStopTimeCacheRepository.d.ts +7 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/cache/PublicStopTimeCacheRepository.js +70 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/cache/PublicStopTimeCacheRepository.js.map +1 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/helpers/RawQueryProvider.js +7 -3
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/helpers/RawQueryProvider.js.map +1 -1
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/helpers/TripsMapper.js +1 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/helpers/TripsMapper.js.map +1 -1
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/interfaces/TripRepositoryInterfaces.d.ts +14 -2
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/views/PublicStopTimeRepository.d.ts +9 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/views/PublicStopTimeRepository.js +54 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/views/PublicStopTimeRepository.js.map +1 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/DelayComputationManager.d.ts +2 -1
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/DelayComputationManager.js +9 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/DelayComputationManager.js.map +1 -1
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/VPUtils.js +1 -1
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/VPUtils.js.map +1 -1
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/anchor-points/AnchorPointSegmenter.js +0 -1
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/anchor-points/AnchorPointSegmenter.js.map +1 -1
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/public-api/PublicCacheTripsFilter.d.ts +4 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/public-api/PublicCacheTripsFilter.js +29 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/public-api/PublicCacheTripsFilter.js.map +1 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/interfaces/VPInterfaces.d.ts +2 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/ProcessRegionalBusPositionsTask.d.ts +4 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/ProcessRegionalBusPositionsTask.js +14 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/ProcessRegionalBusPositionsTask.js.map +1 -1
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/RefreshPublicStopTimeCacheTask.d.ts +19 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/RefreshPublicStopTimeCacheTask.js +117 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/RefreshPublicStopTimeCacheTask.js.map +1 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/{RefreshPublicCacheTask.d.ts → RefreshPublicTripCacheTask.d.ts} +2 -2
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/{RefreshPublicCacheTask.js → RefreshPublicTripCacheTask.js} +17 -15
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/RefreshPublicTripCacheTask.js.map +1 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/UpdateDelayTask.d.ts +4 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/UpdateDelayTask.js +14 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/UpdateDelayTask.js.map +1 -1
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/transformations/PublicApiTripTransformation.d.ts +2 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/transformations/PublicApiTripTransformation.js +21 -3
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/transformations/PublicApiTripTransformation.js.map +1 -1
- package/dist/output-gateway/pid/PIDRouter.d.ts +1 -1
- package/dist/output-gateway/pid/PIDRouter.js +1 -1
- package/dist/output-gateway/pid/PIDRouter.js.map +1 -1
- package/dist/output-gateway/public/controllers/v1/PublicVehiclePositionsController.d.ts +6 -5
- package/dist/output-gateway/public/controllers/v1/PublicVehiclePositionsController.js +22 -3
- package/dist/output-gateway/public/controllers/v1/PublicVehiclePositionsController.js.map +1 -1
- package/dist/output-gateway/public/controllers/v1/interfaces/PublicParamsInterfaces.d.ts +12 -0
- package/dist/output-gateway/public/controllers/v1/interfaces/PublicParamsInterfaces.js +3 -0
- package/dist/output-gateway/public/controllers/v1/interfaces/PublicParamsInterfaces.js.map +1 -0
- package/dist/output-gateway/public/data-access/VehicleDescriptorCachedRepository.d.ts +13 -0
- package/dist/output-gateway/public/data-access/VehicleDescriptorCachedRepository.js +71 -0
- package/dist/output-gateway/public/data-access/VehicleDescriptorCachedRepository.js.map +1 -0
- package/dist/output-gateway/public/data-access/redis/DelayComputationRepository.d.ts +10 -0
- package/dist/output-gateway/public/data-access/redis/DelayComputationRepository.js +68 -0
- package/dist/output-gateway/public/data-access/redis/DelayComputationRepository.js.map +1 -0
- package/dist/output-gateway/public/data-access/redis/PublicStopTimeRepository.d.ts +10 -0
- package/dist/output-gateway/public/data-access/redis/PublicStopTimeRepository.js +68 -0
- package/dist/output-gateway/public/data-access/redis/PublicStopTimeRepository.js.map +1 -0
- package/dist/output-gateway/public/data-access/redis/PublicVehiclePositionsRepository.d.ts +3 -1
- package/dist/output-gateway/public/data-access/redis/PublicVehiclePositionsRepository.js +64 -7
- package/dist/output-gateway/public/data-access/redis/PublicVehiclePositionsRepository.js.map +1 -1
- package/dist/output-gateway/public/domain/PublicApiDetailedTripInterfaces.d.ts +48 -0
- package/dist/output-gateway/public/domain/PublicApiDetailedTripInterfaces.js +3 -0
- package/dist/output-gateway/public/domain/PublicApiDetailedTripInterfaces.js.map +1 -0
- package/dist/output-gateway/public/domain/repository/IDelayComputationRepository.d.ts +4 -0
- package/dist/output-gateway/public/domain/repository/IDelayComputationRepository.js +3 -0
- package/dist/output-gateway/public/domain/repository/IDelayComputationRepository.js.map +1 -0
- package/dist/output-gateway/public/domain/repository/IStopTimeRepository.d.ts +4 -0
- package/dist/output-gateway/public/domain/repository/IStopTimeRepository.js +3 -0
- package/dist/output-gateway/public/domain/repository/IStopTimeRepository.js.map +1 -0
- package/dist/output-gateway/public/domain/repository/IVehiclePositionsRepository.d.ts +3 -1
- package/dist/output-gateway/public/ioc/Di.js +20 -0
- package/dist/output-gateway/public/ioc/Di.js.map +1 -1
- package/dist/output-gateway/public/ioc/OgModuleToken.d.ts +8 -0
- package/dist/output-gateway/public/ioc/OgModuleToken.js +8 -0
- package/dist/output-gateway/public/ioc/OgModuleToken.js.map +1 -1
- package/dist/output-gateway/public/routers/v1/PublicRouter.d.ts +1 -1
- package/dist/output-gateway/public/routers/v1/PublicRouter.js +4 -2
- package/dist/output-gateway/public/routers/v1/PublicRouter.js.map +1 -1
- package/dist/output-gateway/public/routers/v1/helpers/CustomScopeValidator.d.ts +6 -0
- package/dist/output-gateway/public/routers/v1/helpers/CustomScopeValidator.js +26 -0
- package/dist/output-gateway/public/routers/v1/helpers/CustomScopeValidator.js.map +1 -0
- package/dist/output-gateway/public/routers/v1/helpers/DetailedTripScopeEnum.d.ts +6 -0
- package/dist/output-gateway/public/routers/v1/helpers/DetailedTripScopeEnum.js +11 -0
- package/dist/output-gateway/public/routers/v1/helpers/DetailedTripScopeEnum.js.map +1 -0
- package/dist/output-gateway/public/service/facade/DetailedTripFacade.d.ts +8 -0
- package/dist/output-gateway/public/service/facade/DetailedTripFacade.js +42 -0
- package/dist/output-gateway/public/service/facade/DetailedTripFacade.js.map +1 -0
- package/dist/output-gateway/public/service/facade/VehiclePositionsFacade.js +10 -1
- package/dist/output-gateway/public/service/facade/VehiclePositionsFacade.js.map +1 -1
- package/dist/output-gateway/public/service/helpers/trip-scope/TripScopeHelper.d.ts +6 -0
- package/dist/output-gateway/public/service/helpers/trip-scope/TripScopeHelper.js +11 -0
- package/dist/output-gateway/public/service/helpers/trip-scope/TripScopeHelper.js.map +1 -0
- package/dist/output-gateway/public/service/helpers/trip-scope/strategy/AbstractTripScopeHandler.d.ts +5 -0
- package/dist/output-gateway/public/service/helpers/trip-scope/strategy/AbstractTripScopeHandler.js +7 -0
- package/dist/output-gateway/public/service/helpers/trip-scope/strategy/AbstractTripScopeHandler.js.map +1 -0
- package/dist/output-gateway/public/service/helpers/trip-scope/strategy/InfoTripScopeHelper.d.ts +8 -0
- package/dist/output-gateway/public/service/helpers/trip-scope/strategy/InfoTripScopeHelper.js +41 -0
- package/dist/output-gateway/public/service/helpers/trip-scope/strategy/InfoTripScopeHelper.js.map +1 -0
- package/dist/output-gateway/public/service/helpers/trip-scope/strategy/ShapesTripScopeHelper.d.ts +10 -0
- package/dist/output-gateway/public/service/helpers/trip-scope/strategy/ShapesTripScopeHelper.js +53 -0
- package/dist/output-gateway/public/service/helpers/trip-scope/strategy/ShapesTripScopeHelper.js.map +1 -0
- package/dist/output-gateway/public/service/helpers/trip-scope/strategy/StopTimesTripScopeHelper.d.ts +12 -0
- package/dist/output-gateway/public/service/helpers/trip-scope/strategy/StopTimesTripScopeHelper.js +77 -0
- package/dist/output-gateway/public/service/helpers/trip-scope/strategy/StopTimesTripScopeHelper.js.map +1 -0
- package/dist/output-gateway/public/service/helpers/trip-scope/strategy/TripScopeHandlerFactory.d.ts +9 -0
- package/dist/output-gateway/public/service/helpers/trip-scope/strategy/TripScopeHandlerFactory.js +30 -0
- package/dist/output-gateway/public/service/helpers/trip-scope/strategy/TripScopeHandlerFactory.js.map +1 -0
- package/dist/output-gateway/public/service/helpers/trip-scope/strategy/VehicleDescriptorTripScopeHelper.d.ts +10 -0
- package/dist/output-gateway/public/service/helpers/trip-scope/strategy/VehicleDescriptorTripScopeHelper.js +54 -0
- package/dist/output-gateway/public/service/helpers/trip-scope/strategy/VehicleDescriptorTripScopeHelper.js.map +1 -0
- package/dist/output-gateway/public/service/transformations/PublicVehiclePositionsTransformation.d.ts +1 -1
- package/dist/output-gateway/public/service/transformations/PublicVehiclePositionsTransformation.js +15 -3
- package/dist/output-gateway/public/service/transformations/PublicVehiclePositionsTransformation.js.map +1 -1
- package/dist/output-gateway/public/service/transformations/scopes/PublicVPTripInfoTransformation.d.ts +26 -0
- package/dist/output-gateway/public/service/transformations/scopes/PublicVPTripInfoTransformation.js +47 -0
- package/dist/output-gateway/public/service/transformations/scopes/PublicVPTripInfoTransformation.js.map +1 -0
- package/dist/output-gateway/public/service/transformations/scopes/PublicVPTripShapesTransformation.d.ts +7 -0
- package/dist/output-gateway/public/service/transformations/scopes/PublicVPTripShapesTransformation.js +21 -0
- package/dist/output-gateway/public/service/transformations/scopes/PublicVPTripShapesTransformation.js.map +1 -0
- package/dist/output-gateway/public/service/transformations/scopes/PublicVPTripStopTimesTransformation.d.ts +7 -0
- package/dist/output-gateway/public/service/transformations/scopes/PublicVPTripStopTimesTransformation.js +41 -0
- package/dist/output-gateway/public/service/transformations/scopes/PublicVPTripStopTimesTransformation.js.map +1 -0
- package/dist/output-gateway/public/service/transformations/scopes/PublicVPVehicleDescriptorTransformation.d.ts +14 -0
- package/dist/output-gateway/public/service/transformations/scopes/PublicVPVehicleDescriptorTransformation.js +22 -0
- package/dist/output-gateway/public/service/transformations/scopes/PublicVPVehicleDescriptorTransformation.js.map +1 -0
- package/dist/output-gateway/vehicle-positions/VehiclePositionsRouter.js.map +1 -1
- package/dist/output-gateway/vehicle-positions/data-access/TripRepository.js +1 -0
- package/dist/output-gateway/vehicle-positions/data-access/TripRepository.js.map +1 -1
- package/dist/schema-definitions/ropid-gtfs/RopidGTFSPrecomputed.d.ts +3 -0
- package/dist/schema-definitions/ropid-gtfs/RopidGTFSPrecomputed.js +4 -0
- package/dist/schema-definitions/ropid-gtfs/RopidGTFSPrecomputed.js.map +1 -1
- package/dist/schema-definitions/ropid-gtfs/redis/interfaces/IDelayComputationDto.d.ts +6 -0
- package/dist/schema-definitions/ropid-gtfs/redis/schemas/DelayComputationDtoSchema.js +19 -2
- package/dist/schema-definitions/ropid-gtfs/redis/schemas/DelayComputationDtoSchema.js.map +1 -1
- package/dist/schema-definitions/vehicle-positions/models/VPTripsModel.d.ts +1 -0
- package/dist/schema-definitions/vehicle-positions/models/VPTripsModel.js +4 -0
- package/dist/schema-definitions/vehicle-positions/models/VPTripsModel.js.map +1 -1
- package/dist/schema-definitions/vehicle-positions/models/interfaces/IVPTripsModel.d.ts +1 -0
- package/dist/schema-definitions/vehicle-positions/models/views/PublicStopTimeModel.d.ts +10 -0
- package/dist/schema-definitions/vehicle-positions/models/views/PublicStopTimeModel.js +33 -0
- package/dist/schema-definitions/vehicle-positions/models/views/PublicStopTimeModel.js.map +1 -0
- package/dist/schema-definitions/vehicle-positions/models/views/index.d.ts +1 -0
- package/dist/schema-definitions/vehicle-positions/models/views/index.js +1 -0
- package/dist/schema-definitions/vehicle-positions/models/views/index.js.map +1 -1
- package/dist/schema-definitions/vehicle-positions/models/views/interfaces/IPublicStopTimeDto.d.ts +6 -0
- package/dist/{output-gateway/public/controllers/v1/IParams.js → schema-definitions/vehicle-positions/models/views/interfaces/IPublicStopTimeDto.js} +1 -1
- package/dist/schema-definitions/vehicle-positions/models/views/interfaces/IPublicStopTimeDto.js.map +1 -0
- package/dist/schema-definitions/vehicle-positions/redis/const.d.ts +2 -0
- package/dist/schema-definitions/vehicle-positions/redis/const.js +3 -1
- package/dist/schema-definitions/vehicle-positions/redis/const.js.map +1 -1
- package/dist/schema-definitions/vehicle-positions/redis/interfaces/IGtfsRunTripCacheDto.d.ts +1 -0
- package/dist/schema-definitions/vehicle-positions/redis/interfaces/IPublicApiCacheDto.d.ts +13 -0
- package/dist/schema-definitions/vehicle-positions/redis/interfaces/IPublicStopTimeCacheDto.d.ts +5 -0
- package/dist/schema-definitions/vehicle-positions/redis/interfaces/IPublicStopTimeCacheDto.js +3 -0
- package/dist/schema-definitions/vehicle-positions/redis/interfaces/IPublicStopTimeCacheDto.js.map +1 -0
- package/dist/schema-definitions/vehicle-positions/redis/schemas/GtfsRunTripCacheDtoSchema.js +1 -0
- package/dist/schema-definitions/vehicle-positions/redis/schemas/GtfsRunTripCacheDtoSchema.js.map +1 -1
- package/dist/schema-definitions/vehicle-positions/redis/schemas/PublicApiCacheDtoSchema.js +49 -0
- package/dist/schema-definitions/vehicle-positions/redis/schemas/PublicApiCacheDtoSchema.js.map +1 -1
- package/dist/schema-definitions/vehicle-positions/redis/schemas/PublicStopTimeCacheDtoSchema.d.ts +4 -0
- package/dist/schema-definitions/vehicle-positions/redis/schemas/PublicStopTimeCacheDtoSchema.js +41 -0
- package/dist/schema-definitions/vehicle-positions/redis/schemas/PublicStopTimeCacheDtoSchema.js.map +1 -0
- package/docs/implementation_documentation.md +30 -3
- package/docs/openapi-input.yaml +4 -5
- package/docs/openapi-output.yaml +262 -3
- package/package.json +1 -1
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/RefreshPublicCacheTask.js.map +0 -1
- package/dist/output-gateway/public/controllers/v1/IParams.d.ts +0 -7
- 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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
46
|
-
|
|
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(
|
|
76
|
+
return JSON.parse(tripPosition);
|
|
49
77
|
}
|
|
50
78
|
catch (err) {
|
|
51
|
-
this.
|
|
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
|
}
|
package/dist/output-gateway/public/data-access/redis/PublicVehiclePositionsRepository.js.map
CHANGED
|
@@ -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,
|
|
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 @@
|
|
|
1
|
+
{"version":3,"file":"PublicApiDetailedTripInterfaces.js","sourceRoot":"","sources":["../../../../src/output-gateway/public/domain/PublicApiDetailedTripInterfaces.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IDelayComputationRepository.js","sourceRoot":"","sources":["../../../../../src/output-gateway/public/domain/repository/IDelayComputationRepository.ts"],"names":[],"mappings":""}
|
|
@@ -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
|
-
|
|
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;
|
|
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
|
|
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.
|
|
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.
|
|
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":";;;
|
|
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"}
|