@golemio/pid 2.12.11-dev.1271718352 → 2.12.11-dev.1273587487
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/dist/integration-engine/ropid-gtfs/RopidGTFSTripsModel.js +4 -0
- package/dist/integration-engine/ropid-gtfs/RopidGTFSTripsModel.js.map +1 -1
- package/dist/integration-engine/ropid-gtfs/interfaces/TripModelInterfaces.d.ts +1 -0
- package/dist/output-gateway/public/data-access/redis/PublicVehiclePositionsRepository.d.ts +1 -1
- package/dist/output-gateway/public/data-access/redis/PublicVehiclePositionsRepository.js +42 -20
- package/dist/output-gateway/public/data-access/redis/PublicVehiclePositionsRepository.js.map +1 -1
- package/dist/output-gateway/public/domain/IPublicDepartureTransformInputDto.d.ts +0 -1
- package/dist/output-gateway/public/domain/repository/IVehiclePositionsRepository.d.ts +1 -1
- package/dist/output-gateway/public/service/facade/DepartureBoardFacade.d.ts +1 -2
- package/dist/output-gateway/public/service/facade/DepartureBoardFacade.js +59 -55
- package/dist/output-gateway/public/service/facade/DepartureBoardFacade.js.map +1 -1
- package/dist/output-gateway/public/service/helpers/DepartureGroupRefiner.d.ts +6 -0
- package/dist/output-gateway/public/service/helpers/DepartureGroupRefiner.js +24 -0
- package/dist/output-gateway/public/service/helpers/DepartureGroupRefiner.js.map +1 -0
- package/dist/output-gateway/public/service/helpers/trip-scope/strategy/StopTimesTripScopeHandler.d.ts +1 -0
- package/dist/output-gateway/public/service/helpers/trip-scope/strategy/StopTimesTripScopeHandler.js +5 -1
- package/dist/output-gateway/public/service/helpers/trip-scope/strategy/StopTimesTripScopeHandler.js.map +1 -1
- package/dist/output-gateway/public/service/transformations/PublicDepartureTransformation.js +6 -6
- package/dist/output-gateway/public/service/transformations/PublicDepartureTransformation.js.map +1 -1
- package/dist/schema-definitions/ropid-gtfs/redis/interfaces/IDelayComputationDto.d.ts +1 -0
- package/dist/schema-definitions/ropid-gtfs/redis/schemas/DelayComputationDtoSchema.js +1 -0
- package/dist/schema-definitions/ropid-gtfs/redis/schemas/DelayComputationDtoSchema.js.map +1 -1
- package/docs/openapi-output.yaml +1 -0
- package/package.json +1 -1
|
@@ -42,6 +42,10 @@ class RopidGTFSTripsModel extends models_1.PostgresModel {
|
|
|
42
42
|
"stop_sequence",
|
|
43
43
|
[sequelize_1.default.literal(`EXTRACT(EPOCH FROM "arrival_time"::INTERVAL)::int`), "arrival_time_seconds"],
|
|
44
44
|
[sequelize_1.default.literal(`EXTRACT(EPOCH FROM "departure_time"::INTERVAL)::int`), "departure_time_seconds"],
|
|
45
|
+
[
|
|
46
|
+
sequelize_1.default.literal(`CASE when drop_off_type = '1' and pickup_type = '1' then true else false END`),
|
|
47
|
+
"is_no_stop_waypoint",
|
|
48
|
+
],
|
|
45
49
|
],
|
|
46
50
|
as: "stop_times",
|
|
47
51
|
model: this.modelGTFSStopTimes.sequelizeModel,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RopidGTFSTripsModel.js","sourceRoot":"","sources":["../../../src/integration-engine/ropid-gtfs/RopidGTFSTripsModel.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,0DAAuC;AACvC,oEAA4C;AAC5C,gFAAyD;AACzD,yEAAqF;AACrF,mFAAkF;AAClF,oFAA4D;AAC5D,wBAAuF;AAGvF,MAAa,mBAAoB,SAAQ,sBAAa;IAKlD;QACI,KAAK,CACD,sBAAS,CAAC,KAAK,CAAC,IAAI,GAAG,OAAO,EAC9B;YACI,yBAAyB,EAAE,sBAAS,CAAC,KAAK,CAAC,yBAAyB;YACpE,WAAW,EAAE,sBAAS,CAAC,KAAK,CAAC,WAAW;YACxC,QAAQ,EAAE,iBAAS;YACnB,UAAU,EAAE,YAAY;SAC3B,EACD,IAAI,uCAAmB,CAAC,sBAAS,CAAC,KAAK,CAAC,IAAI,GAAG,gBAAgB,EAAE,iBAAO,CAAC,UAAU,CAAC,CACvF,CAAC;QAyBC,gCAA2B,GAAG,CAAO,MAAc,EAA+C,EAAE;YACvG,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC;gBACrD,UAAU,EAAE,CAAC,UAAU,CAAC;gBACxB,OAAO,EAAE;oBACL;wBACI,UAAU,EAAE;4BACR,cAAc;4BACd,gBAAgB;4BAChB,qBAAqB;4BACrB,eAAe;4BACf,SAAS;4BACT,eAAe;4BACf,CAAC,mBAAS,CAAC,OAAO,CAAC,mDAAmD,CAAC,EAAE,sBAAsB,CAAC;4BAChG,CAAC,mBAAS,CAAC,OAAO,CAAC,qDAAqD,CAAC,EAAE,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"RopidGTFSTripsModel.js","sourceRoot":"","sources":["../../../src/integration-engine/ropid-gtfs/RopidGTFSTripsModel.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,8 +9,8 @@ export declare class PublicVehiclePositionsRepository implements IVehiclePositio
|
|
|
9
9
|
private setName;
|
|
10
10
|
constructor(redisConnector: IoRedisConnector, log: ILogger);
|
|
11
11
|
getAllVehicleIds(boundingBox: IBoundingBoxWithCenter): Promise<string[]>;
|
|
12
|
-
getAllVehicleIdsForTrip(tripId: string): Promise<string[]>;
|
|
13
12
|
getAllVehiclePositions(vehicleIds: string[]): Promise<IPublicApiCacheDto[]>;
|
|
13
|
+
getAllVehiclePositionsForMultipleTrips(tripIds: string[]): Promise<Map<string, IPublicApiCacheDto[]>>;
|
|
14
14
|
getDetailedVehiclePosition(vehicleId: string): Promise<IPublicApiCacheDto | null>;
|
|
15
15
|
setCurrentSetName(name: string): void;
|
|
16
16
|
}
|
|
@@ -53,26 +53,6 @@ let PublicVehiclePositionsRepository = exports.PublicVehiclePositionsRepository
|
|
|
53
53
|
return vehicleIds;
|
|
54
54
|
});
|
|
55
55
|
}
|
|
56
|
-
getAllVehicleIdsForTrip(tripId) {
|
|
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
|
-
if (!this.redisConnector.isConnected()) {
|
|
63
|
-
yield this.redisConnector.connect();
|
|
64
|
-
}
|
|
65
|
-
const connection = this.redisConnector.getConnection();
|
|
66
|
-
let vehicleIds = [];
|
|
67
|
-
try {
|
|
68
|
-
vehicleIds = yield connection.lrange(`${this.setName}:trip-${tripId}`, 0, -1);
|
|
69
|
-
}
|
|
70
|
-
catch (err) {
|
|
71
|
-
throw new golemio_errors_1.GeneralError(`${this.constructor.name}: Cannot get vehicle ids for trip from cache: ${err.message}`, this.constructor.name, err);
|
|
72
|
-
}
|
|
73
|
-
return vehicleIds;
|
|
74
|
-
});
|
|
75
|
-
}
|
|
76
56
|
getAllVehiclePositions(vehicleIds) {
|
|
77
57
|
return __awaiter(this, void 0, void 0, function* () {
|
|
78
58
|
if (!this.setName) {
|
|
@@ -101,6 +81,48 @@ let PublicVehiclePositionsRepository = exports.PublicVehiclePositionsRepository
|
|
|
101
81
|
});
|
|
102
82
|
});
|
|
103
83
|
}
|
|
84
|
+
getAllVehiclePositionsForMultipleTrips(tripIds) {
|
|
85
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
86
|
+
let positionsByTrip = new Map();
|
|
87
|
+
if (!this.setName || tripIds.length === 0) {
|
|
88
|
+
this.log.debug("Empty setName for public vehicle positions api or empty trip ids.");
|
|
89
|
+
return positionsByTrip;
|
|
90
|
+
}
|
|
91
|
+
if (!this.redisConnector.isConnected()) {
|
|
92
|
+
yield this.redisConnector.connect();
|
|
93
|
+
}
|
|
94
|
+
let vehicleIdsByTrip = new Map();
|
|
95
|
+
const connection = this.redisConnector.getConnection();
|
|
96
|
+
const pipeline = connection.pipeline();
|
|
97
|
+
for (const tripId of tripIds) {
|
|
98
|
+
pipeline.lrange(`${this.setName}:trip-${tripId}`, 0, -1);
|
|
99
|
+
}
|
|
100
|
+
try {
|
|
101
|
+
const result = yield pipeline.exec();
|
|
102
|
+
for (const [err, vehicleIds] of result) {
|
|
103
|
+
if (err) {
|
|
104
|
+
throw new golemio_errors_1.GeneralError("Cannot get vehicle ids for trip from cache", this.constructor.name, err);
|
|
105
|
+
}
|
|
106
|
+
vehicleIdsByTrip.set(tripIds[vehicleIdsByTrip.size], vehicleIds);
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
catch (err) {
|
|
110
|
+
if (err instanceof golemio_errors_1.GeneralError) {
|
|
111
|
+
throw err;
|
|
112
|
+
}
|
|
113
|
+
throw new golemio_errors_1.GeneralError("Cannot get vehicle ids for trip from cache", this.constructor.name, err);
|
|
114
|
+
}
|
|
115
|
+
const nestedPositionValues = Array.from(vehicleIdsByTrip.values());
|
|
116
|
+
const allPositions = yield this.getAllVehiclePositions(nestedPositionValues.flat());
|
|
117
|
+
for (const position of allPositions) {
|
|
118
|
+
if (!positionsByTrip.has(position.gtfs_trip_id)) {
|
|
119
|
+
positionsByTrip.set(position.gtfs_trip_id, []);
|
|
120
|
+
}
|
|
121
|
+
positionsByTrip.get(position.gtfs_trip_id).push(position);
|
|
122
|
+
}
|
|
123
|
+
return positionsByTrip;
|
|
124
|
+
});
|
|
125
|
+
}
|
|
104
126
|
getDetailedVehiclePosition(vehicleId) {
|
|
105
127
|
return __awaiter(this, void 0, void 0, function* () {
|
|
106
128
|
if (!this.setName) {
|
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,6EAAwE;AACxE,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,gBAAgB,CAAC,WAAmC;;YAC7D,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,IAAI,UAAU,GAAa,EAAE,CAAC;YAE9B,IAAI;gBACA,UAAU,GAAG,CAAC,MAAM,UAAU,CAAC,SAAS,CACpC,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,CAAa,CAAC;aAClB;YAAC,OAAO,GAAG,EAAE;gBACV,MAAM,IAAI,6BAAY,CAClB,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,wCAAwC,GAAG,CAAC,OAAO,EAAE,EAC7E,IAAI,CAAC,WAAW,CAAC,IAAI,EACrB,GAAG,CACN,CAAC;aACL;YAED,OAAO,UAAU,CAAC;QACtB,CAAC;KAAA;IAEY,
|
|
1
|
+
{"version":3,"file":"PublicVehiclePositionsRepository.js","sourceRoot":"","sources":["../../../../../src/output-gateway/public/data-access/redis/PublicVehiclePositionsRepository.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,6 @@ import { IDescriptorOutputDto } from "../../../schema-definitions/vehicle-descri
|
|
|
3
3
|
import { IPublicApiCacheDto } from "../../../schema-definitions/vehicle-positions/redis/interfaces/IPublicApiCacheDto";
|
|
4
4
|
export interface IPublicDepartureTransformInputDto {
|
|
5
5
|
departure: IPublicGtfsDepartureCacheDto;
|
|
6
|
-
vehicleId: string | null;
|
|
7
6
|
vehiclePosition: IPublicApiCacheDto | null;
|
|
8
7
|
vehicleDescriptor: Partial<IDescriptorOutputDto> | null;
|
|
9
8
|
}
|
|
@@ -2,8 +2,8 @@ import { IPublicApiCacheDto } from "../../../../schema-definitions/vehicle-posit
|
|
|
2
2
|
import { IBoundingBoxWithCenter } from "../IBoudingBox";
|
|
3
3
|
export interface IVehiclePositionsRepository {
|
|
4
4
|
getAllVehicleIds(boundingBox: IBoundingBoxWithCenter): Promise<string[]>;
|
|
5
|
-
getAllVehicleIdsForTrip(tripId: string): Promise<string[]>;
|
|
6
5
|
getAllVehiclePositions(vehicleIds: string[]): Promise<IPublicApiCacheDto[]>;
|
|
6
|
+
getAllVehiclePositionsForMultipleTrips(tripIds: string[]): Promise<Map<string, IPublicApiCacheDto[]>>;
|
|
7
7
|
getDetailedVehiclePosition(vehicleId: string): Promise<IPublicApiCacheDto | null>;
|
|
8
8
|
setCurrentSetName(name: string): void;
|
|
9
9
|
}
|
|
@@ -10,8 +10,7 @@ export declare class DepartureBoardFacade {
|
|
|
10
10
|
private readonly transformation;
|
|
11
11
|
constructor(departureRepository: IGtfsDepartureRepository, tripRepository: IVehiclePositionsRepository, descriptorRepository: VehicleDescriptorCachedRepository);
|
|
12
12
|
getAll(stopIds: Set<IDepartureBoardsStopIdGroups>, limit: number, routeShortNames: string[] | null, minutesAfter: number): Promise<PublicApiDepartureBoardGroup[]>;
|
|
13
|
+
private handleStopGroupDepartures;
|
|
13
14
|
private duplicateDeparturesWithDifferentVehicleIds;
|
|
14
|
-
private removeDeparturesOutsideTimeRange;
|
|
15
15
|
private sortStopGroupsByPriority;
|
|
16
|
-
private sortDeparturesByPredictedTimestamp;
|
|
17
16
|
}
|
|
@@ -13,6 +13,7 @@ exports.DepartureBoardFacade = void 0;
|
|
|
13
13
|
const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
|
|
14
14
|
const PublicDepartureTransformation_1 = require("../transformations/PublicDepartureTransformation");
|
|
15
15
|
const trace_provider_1 = require("@golemio/core/dist/monitoring/opentelemetry/trace-provider");
|
|
16
|
+
const DepartureGroupRefiner_1 = require("../helpers/DepartureGroupRefiner");
|
|
16
17
|
class DepartureBoardFacade {
|
|
17
18
|
constructor(departureRepository, tripRepository, descriptorRepository) {
|
|
18
19
|
this.departureRepository = departureRepository;
|
|
@@ -24,58 +25,74 @@ class DepartureBoardFacade {
|
|
|
24
25
|
return __awaiter(this, void 0, void 0, function* () {
|
|
25
26
|
let output = [];
|
|
26
27
|
const sortedStopGroups = this.sortStopGroupsByPriority(stopIds);
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
outputGroup = outputGroup.concat(duplicatedDepartures);
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
catch (err) {
|
|
41
|
-
if (err instanceof golemio_errors_1.AbstractGolemioError) {
|
|
42
|
-
throw err;
|
|
43
|
-
}
|
|
44
|
-
throw new golemio_errors_1.GeneralError("Error while retrieving cached data", this.constructor.name, err, 500);
|
|
45
|
-
}
|
|
46
|
-
finally {
|
|
47
|
-
spanVehicles === null || spanVehicles === void 0 ? void 0 : spanVehicles.end();
|
|
48
|
-
}
|
|
49
|
-
const spanManipulate = (0, trace_provider_1.createChildSpan)(`Departures.${stopGroup.priority}.manipulateDepartures`);
|
|
50
|
-
try {
|
|
51
|
-
if (routeShortNames) {
|
|
52
|
-
outputGroup = outputGroup.filter((departure) => routeShortNames.includes(departure.route.short_name));
|
|
53
|
-
}
|
|
54
|
-
outputGroup = this.sortDeparturesByPredictedTimestamp(outputGroup);
|
|
55
|
-
// minutesBefore is set to 0 because we want to display departures that are already happening
|
|
56
|
-
// this may change in the future
|
|
57
|
-
outputGroup = this.removeDeparturesOutsideTimeRange(outputGroup, 0, minutesAfter).slice(0, limit);
|
|
28
|
+
const promises = sortedStopGroups.map((stopGroup) => __awaiter(this, void 0, void 0, function* () {
|
|
29
|
+
const group = yield this.handleStopGroupDepartures(stopGroup, limit, routeShortNames, minutesAfter);
|
|
30
|
+
return group;
|
|
31
|
+
}));
|
|
32
|
+
try {
|
|
33
|
+
output = yield Promise.all(promises);
|
|
34
|
+
}
|
|
35
|
+
catch (err) {
|
|
36
|
+
if (err instanceof golemio_errors_1.AbstractGolemioError) {
|
|
37
|
+
throw err;
|
|
58
38
|
}
|
|
59
|
-
|
|
60
|
-
|
|
39
|
+
throw new golemio_errors_1.GeneralError("Error while retrieving cached data", this.constructor.name, err, 500);
|
|
40
|
+
}
|
|
41
|
+
return output;
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
handleStopGroupDepartures(stopGroup, limit, routeShortNames, minutesAfter) {
|
|
45
|
+
var _a;
|
|
46
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
47
|
+
let outputGroup = [];
|
|
48
|
+
const spanDepartures = (0, trace_provider_1.createChildSpan)(`Departures.${stopGroup.priority}.getPublicDepartureCache`);
|
|
49
|
+
const departures = yield this.departureRepository.getPublicGtfsDepartureCache(stopGroup.stopIds, minutesAfter);
|
|
50
|
+
spanDepartures === null || spanDepartures === void 0 ? void 0 : spanDepartures.end();
|
|
51
|
+
const spanPositions = (0, trace_provider_1.createChildSpan)(`Departures.${stopGroup.priority}.getAllVehiclePositions`);
|
|
52
|
+
const positionsByTrip = yield this.tripRepository.getAllVehiclePositionsForMultipleTrips(departures.map((departure) => departure.trip_id));
|
|
53
|
+
spanPositions === null || spanPositions === void 0 ? void 0 : spanPositions.end();
|
|
54
|
+
const spanTransform = (0, trace_provider_1.createChildSpan)(`Departures.${stopGroup.priority}.transformDepartures`);
|
|
55
|
+
try {
|
|
56
|
+
for (const departure of departures) {
|
|
57
|
+
const positions = (_a = positionsByTrip.get(departure.trip_id)) !== null && _a !== void 0 ? _a : [];
|
|
58
|
+
const duplicatedDepartures = yield this.duplicateDeparturesWithDifferentVehicleIds(departure, positions);
|
|
59
|
+
outputGroup = outputGroup.concat(duplicatedDepartures);
|
|
61
60
|
}
|
|
62
|
-
|
|
63
|
-
|
|
61
|
+
}
|
|
62
|
+
catch (err) {
|
|
63
|
+
if (err instanceof golemio_errors_1.AbstractGolemioError) {
|
|
64
|
+
throw err;
|
|
64
65
|
}
|
|
65
|
-
|
|
66
|
+
throw new golemio_errors_1.GeneralError("Error while retrieving cached data", this.constructor.name, err, 500);
|
|
66
67
|
}
|
|
67
|
-
|
|
68
|
+
finally {
|
|
69
|
+
spanTransform === null || spanTransform === void 0 ? void 0 : spanTransform.end();
|
|
70
|
+
}
|
|
71
|
+
const spanManipulate = (0, trace_provider_1.createChildSpan)(`Departures.${stopGroup.priority}.manipulateDepartures`);
|
|
72
|
+
try {
|
|
73
|
+
outputGroup = DepartureGroupRefiner_1.DepartureGroupRefiner.filterDeparturesByRouteShortNames(outputGroup, routeShortNames);
|
|
74
|
+
outputGroup = DepartureGroupRefiner_1.DepartureGroupRefiner.sortDeparturesByPredictedTimestamp(outputGroup);
|
|
75
|
+
// minutesBefore is set to 0 because we want to display departures that are already happening
|
|
76
|
+
// this may change in the future
|
|
77
|
+
outputGroup = DepartureGroupRefiner_1.DepartureGroupRefiner.removeDeparturesOutsideTimeRange(outputGroup, 0, minutesAfter).slice(0, limit);
|
|
78
|
+
}
|
|
79
|
+
catch (err) {
|
|
80
|
+
throw new golemio_errors_1.GeneralError("Error while manipulating departures", this.constructor.name, err, 500);
|
|
81
|
+
}
|
|
82
|
+
finally {
|
|
83
|
+
spanManipulate === null || spanManipulate === void 0 ? void 0 : spanManipulate.end();
|
|
84
|
+
}
|
|
85
|
+
return outputGroup;
|
|
68
86
|
});
|
|
69
87
|
}
|
|
70
|
-
duplicateDeparturesWithDifferentVehicleIds(departure,
|
|
88
|
+
duplicateDeparturesWithDifferentVehicleIds(departure, vehiclePositions) {
|
|
71
89
|
return __awaiter(this, void 0, void 0, function* () {
|
|
72
90
|
let outputGroup = [];
|
|
73
|
-
// If there are no
|
|
91
|
+
// If there are no RT data, we still want to display the departure
|
|
74
92
|
// but without any RT/vehicle information
|
|
75
|
-
if (
|
|
93
|
+
if (vehiclePositions.length === 0) {
|
|
76
94
|
outputGroup.push(this.transformation.transformElement({
|
|
77
95
|
departure,
|
|
78
|
-
vehicleId: null,
|
|
79
96
|
vehiclePosition: null,
|
|
80
97
|
vehicleDescriptor: null,
|
|
81
98
|
}));
|
|
@@ -83,14 +100,12 @@ class DepartureBoardFacade {
|
|
|
83
100
|
}
|
|
84
101
|
// Otherwise, we want to duplicate the departure for each vehicleId
|
|
85
102
|
// (multiple vehicles can be on the same trip at the same time)
|
|
86
|
-
for (const
|
|
87
|
-
const vehiclePosition = yield this.tripRepository.getDetailedVehiclePosition(vehicleId);
|
|
103
|
+
for (const vehiclePosition of vehiclePositions) {
|
|
88
104
|
const vehicleDescriptor = (vehiclePosition === null || vehiclePosition === void 0 ? void 0 : vehiclePosition.detailed_info.registration_number)
|
|
89
105
|
? yield this.descriptorRepository.getOneByRegNumber(departure.route_type, vehiclePosition === null || vehiclePosition === void 0 ? void 0 : vehiclePosition.detailed_info.registration_number)
|
|
90
106
|
: null;
|
|
91
107
|
outputGroup.push(this.transformation.transformElement({
|
|
92
108
|
departure,
|
|
93
|
-
vehicleId,
|
|
94
109
|
vehiclePosition,
|
|
95
110
|
vehicleDescriptor,
|
|
96
111
|
}));
|
|
@@ -98,20 +113,9 @@ class DepartureBoardFacade {
|
|
|
98
113
|
return outputGroup;
|
|
99
114
|
});
|
|
100
115
|
}
|
|
101
|
-
removeDeparturesOutsideTimeRange(departureGroup, minutesBefore, minutesAfter) {
|
|
102
|
-
const now = new Date();
|
|
103
|
-
const timeRangeStart = new Date(now.getTime() - minutesBefore * 60 * 1000);
|
|
104
|
-
const timeRangeEnd = new Date(now.getTime() + minutesAfter * 60 * 1000);
|
|
105
|
-
departureGroup = departureGroup.filter((departure) => new Date(departure.departure.timestamp_predicted) >= timeRangeStart &&
|
|
106
|
-
new Date(departure.departure.timestamp_predicted) <= timeRangeEnd);
|
|
107
|
-
return departureGroup;
|
|
108
|
-
}
|
|
109
116
|
sortStopGroupsByPriority(stopIds) {
|
|
110
117
|
return Array.from(stopIds).sort((a, b) => a.priority - b.priority);
|
|
111
118
|
}
|
|
112
|
-
sortDeparturesByPredictedTimestamp(departureGroup) {
|
|
113
|
-
return departureGroup.sort((a, b) => new Date(a.departure.timestamp_predicted).getTime() - new Date(b.departure.timestamp_predicted).getTime());
|
|
114
|
-
}
|
|
115
119
|
}
|
|
116
120
|
exports.DepartureBoardFacade = DepartureBoardFacade;
|
|
117
121
|
//# sourceMappingURL=DepartureBoardFacade.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DepartureBoardFacade.js","sourceRoot":"","sources":["../../../../../src/output-gateway/public/service/facade/DepartureBoardFacade.ts"],"names":[],"mappings":";;;;;;;;;;;;AAMA,6EAA8F;AAC9F,oGAAiG;AACjG,+FAA6F;AAE7F,MAAa,oBAAoB;IAG7B,YACqB,mBAA6C,EAC7C,cAA2C,EAC3C,oBAAuD;QAFvD,wBAAmB,GAAnB,mBAAmB,CAA0B;QAC7C,mBAAc,GAAd,cAAc,CAA6B;QAC3C,yBAAoB,GAApB,oBAAoB,CAAmC;QAExE,IAAI,CAAC,cAAc,GAAG,IAAI,6DAA6B,EAAE,CAAC;IAC9D,CAAC;IAEY,MAAM,CACf,OAA0C,EAC1C,KAAa,EACb,eAAgC,EAChC,YAAoB;;YAEpB,IAAI,MAAM,GAAmC,EAAE,CAAC;YAEhD,MAAM,gBAAgB,GAAG,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC;YAChE,KAAK,MAAM,SAAS,IAAI,
|
|
1
|
+
{"version":3,"file":"DepartureBoardFacade.js","sourceRoot":"","sources":["../../../../../src/output-gateway/public/service/facade/DepartureBoardFacade.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { PublicApiDepartureBoardGroup } from "../../domain/PublicApiDepartureInterfaces";
|
|
2
|
+
export declare class DepartureGroupRefiner {
|
|
3
|
+
static filterDeparturesByRouteShortNames(departureGroup: PublicApiDepartureBoardGroup, routeShortNames: string[] | null): PublicApiDepartureBoardGroup;
|
|
4
|
+
static sortDeparturesByPredictedTimestamp(departureGroup: PublicApiDepartureBoardGroup): PublicApiDepartureBoardGroup;
|
|
5
|
+
static removeDeparturesOutsideTimeRange(departureGroup: PublicApiDepartureBoardGroup, minutesBefore: number, minutesAfter: number): PublicApiDepartureBoardGroup;
|
|
6
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DepartureGroupRefiner = void 0;
|
|
4
|
+
class DepartureGroupRefiner {
|
|
5
|
+
static filterDeparturesByRouteShortNames(departureGroup, routeShortNames) {
|
|
6
|
+
if (!routeShortNames) {
|
|
7
|
+
return departureGroup;
|
|
8
|
+
}
|
|
9
|
+
return departureGroup.filter((departure) => routeShortNames.includes(departure.route.short_name));
|
|
10
|
+
}
|
|
11
|
+
static sortDeparturesByPredictedTimestamp(departureGroup) {
|
|
12
|
+
return departureGroup.sort((a, b) => new Date(a.departure.timestamp_predicted).getTime() - new Date(b.departure.timestamp_predicted).getTime());
|
|
13
|
+
}
|
|
14
|
+
static removeDeparturesOutsideTimeRange(departureGroup, minutesBefore, minutesAfter) {
|
|
15
|
+
const now = new Date();
|
|
16
|
+
const timeRangeStart = new Date(now.getTime() - minutesBefore * 60 * 1000);
|
|
17
|
+
const timeRangeEnd = new Date(now.getTime() + minutesAfter * 60 * 1000);
|
|
18
|
+
departureGroup = departureGroup.filter((departure) => new Date(departure.departure.timestamp_predicted) >= timeRangeStart &&
|
|
19
|
+
new Date(departure.departure.timestamp_predicted) <= timeRangeEnd);
|
|
20
|
+
return departureGroup;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
exports.DepartureGroupRefiner = DepartureGroupRefiner;
|
|
24
|
+
//# sourceMappingURL=DepartureGroupRefiner.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DepartureGroupRefiner.js","sourceRoot":"","sources":["../../../../../src/output-gateway/public/service/helpers/DepartureGroupRefiner.ts"],"names":[],"mappings":";;;AAEA,MAAa,qBAAqB;IACvB,MAAM,CAAC,iCAAiC,CAC3C,cAA4C,EAC5C,eAAgC;QAEhC,IAAI,CAAC,eAAe,EAAE;YAClB,OAAO,cAAc,CAAC;SACzB;QAED,OAAO,cAAc,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,eAAe,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;IACtG,CAAC;IAEM,MAAM,CAAC,kCAAkC,CAAC,cAA4C;QACzF,OAAO,cAAc,CAAC,IAAI,CACtB,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC,OAAO,EAAE,CACtH,CAAC;IACN,CAAC;IAEM,MAAM,CAAC,gCAAgC,CAC1C,cAA4C,EAC5C,aAAqB,EACrB,YAAoB;QAEpB,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,cAAc,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,aAAa,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;QAC3E,MAAM,YAAY,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,YAAY,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;QAExE,cAAc,GAAG,cAAc,CAAC,MAAM,CAClC,CAAC,SAAS,EAAE,EAAE,CACV,IAAI,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,mBAAmB,CAAC,IAAI,cAAc;YACnE,IAAI,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,mBAAmB,CAAC,IAAI,YAAY,CACxE,CAAC;QAEF,OAAO,cAAc,CAAC;IAC1B,CAAC;CACJ;AAnCD,sDAmCC"}
|
|
@@ -9,4 +9,5 @@ export declare class StopTimesTripScopeHandler extends AbstractTripScopeHandler
|
|
|
9
9
|
private tripStopTimesTransformation;
|
|
10
10
|
constructor(delayComputationRepository: IDelayComputationRepository, stopTimeRepository: IStopTimeRepository);
|
|
11
11
|
handle(output: IPublicApiDetailedTrip, vehiclePosition: IPublicApiCacheDto): Promise<IPublicApiDetailedTrip>;
|
|
12
|
+
private filterNoStopWaypoints;
|
|
12
13
|
}
|
package/dist/output-gateway/public/service/helpers/trip-scope/strategy/StopTimesTripScopeHandler.js
CHANGED
|
@@ -42,7 +42,8 @@ let StopTimesTripScopeHandler = exports.StopTimesTripScopeHandler = class StopTi
|
|
|
42
42
|
if (!delayComputationCache) {
|
|
43
43
|
throw new golemio_errors_1.GeneralError("delay_computation_cache_not_found", this.constructor.name, undefined, 500);
|
|
44
44
|
}
|
|
45
|
-
const
|
|
45
|
+
const filteredStopTimes = this.filterNoStopWaypoints(delayComputationCache.stop_times);
|
|
46
|
+
const stopTimes = this.tripStopTimesTransformation.transformArray(filteredStopTimes);
|
|
46
47
|
const stopTimesWithDelay = yield this.stopTimeRepository.getPublicStopTimeCache(vehiclePosition.vehicle_id);
|
|
47
48
|
if (stopTimesWithDelay.length > 0) {
|
|
48
49
|
for (const stopTimeWithDelay of stopTimesWithDelay) {
|
|
@@ -68,6 +69,9 @@ let StopTimesTripScopeHandler = exports.StopTimesTripScopeHandler = class StopTi
|
|
|
68
69
|
return output;
|
|
69
70
|
});
|
|
70
71
|
}
|
|
72
|
+
filterNoStopWaypoints(stopTimes) {
|
|
73
|
+
return stopTimes.filter((stopTime) => !stopTime.is_no_stop_waypoint);
|
|
74
|
+
}
|
|
71
75
|
};
|
|
72
76
|
exports.StopTimesTripScopeHandler = StopTimesTripScopeHandler = __decorate([
|
|
73
77
|
(0, tsyringe_1.injectable)(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StopTimesTripScopeHandler.js","sourceRoot":"","sources":["../../../../../../../src/output-gateway/public/service/helpers/trip-scope/strategy/StopTimesTripScopeHandler.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAMA,iEAA6D;AAC7D,6HAAoI;AAEpI,+DAAsF;AAEtF,6EAAwE;AACxE,2DAA2D;AAC3D,iEAAwE;AACxE,yEAAsE;
|
|
1
|
+
{"version":3,"file":"StopTimesTripScopeHandler.js","sourceRoot":"","sources":["../../../../../../../src/output-gateway/public/service/helpers/trip-scope/strategy/StopTimesTripScopeHandler.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAMA,iEAA6D;AAC7D,6HAAoI;AAEpI,+DAAsF;AAEtF,6EAAwE;AACxE,2DAA2D;AAC3D,iEAAwE;AACxE,yEAAsE;AAI/D,IAAM,yBAAyB,uCAA/B,MAAM,yBAA0B,SAAQ,mDAAwB;IAGnE,YAC8D,0BAAuD,EACzD,kBAAuC;QAE/F,KAAK,EAAE,CAAC;QAHkD,+BAA0B,GAA1B,0BAA0B,CAA6B;QACzD,uBAAkB,GAAlB,kBAAkB,CAAqB;QAG/F,IAAI,CAAC,2BAA2B,GAAG,IAAI,yEAAmC,EAAE,CAAC;IACjF,CAAC;IAEY,MAAM,CAAC,MAA8B,EAAE,eAAmC;;YACnF,MAAM,qBAAqB,GAAG,MAAM,IAAI,CAAC,0BAA0B,CAAC,wBAAwB,CACxF,eAAe,CAAC,YAAY,CAC/B,CAAC;YAEF,IAAI,CAAC,qBAAqB,EAAE;gBACxB,MAAM,IAAI,6BAAY,CAAC,mCAAmC,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;aACtG;YAED,MAAM,iBAAiB,GAAG,IAAI,CAAC,qBAAqB,CAAC,qBAAqB,CAAC,UAAU,CAAC,CAAC;YACvF,MAAM,SAAS,GAAG,IAAI,CAAC,2BAA2B,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC;YACrF,MAAM,kBAAkB,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,sBAAsB,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;YAE5G,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC/B,KAAK,MAAM,iBAAiB,IAAI,kBAAkB,EAAE;oBAChD,MAAM,QAAQ,GAAG,SAAS,CAAC,iBAAiB,CAAC,QAAQ,GAAG,CAAC,CAGxD,CAAC;oBAEF,IAAI,QAAQ,EAAE;wBACV,kGAAkG;wBAClG,MAAM,aAAa,GACf,iBAAiB,CAAC,SAAS,KAAK,IAAI;4BAChC,CAAC,CAAC,IAAI;4BACN,CAAC,CAAC,gBAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,YAAY,EAAE,UAAU,CAAC;iCAC5D,IAAI,CAAC,EAAE,OAAO,EAAE,iBAAiB,CAAC,SAAS,EAAE,CAAC;iCAC9C,QAAQ,CAAC,UAAU,CAAC,CAAC;wBAEpC,MAAM,eAAe,GACjB,iBAAiB,CAAC,SAAS,KAAK,IAAI;4BAChC,CAAC,CAAC,IAAI;4BACN,CAAC,CAAC,gBAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,cAAc,EAAE,UAAU,CAAC;iCAC9D,IAAI,CAAC,EAAE,OAAO,EAAE,iBAAiB,CAAC,SAAS,EAAE,CAAC;iCAC9C,QAAQ,CAAC,UAAU,CAAC,CAAC;wBAEpC,QAAQ,CAAC,UAAU,CAAC,qBAAqB,GAAG,aAAa,CAAC;wBAC1D,QAAQ,CAAC,UAAU,CAAC,uBAAuB,GAAG,eAAe,CAAC;qBACjE;iBACJ;aACJ;YAED,MAAM,CAAC,UAAU,GAAG,IAAA,mCAA6B,EAAC,SAAS,CAAC,CAAC;YAC7D,OAAO,MAAM,CAAC;QAClB,CAAC;KAAA;IAEO,qBAAqB,CAAC,SAAsB;QAChD,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC,QAAmB,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC;IACpF,CAAC;CACJ,CAAA;oCA5DY,yBAAyB;IADrC,IAAA,qBAAU,GAAE;IAKJ,WAAA,IAAA,iBAAM,EAAC,6BAAa,CAAC,0BAA0B,CAAC,CAAA;IAChD,WAAA,IAAA,iBAAM,EAAC,6BAAa,CAAC,wBAAwB,CAAC,CAAA;;GAL1C,yBAAyB,CA4DrC"}
|
|
@@ -11,8 +11,8 @@ class PublicDepartureTransformation extends AbstractTransformation_1.AbstractTra
|
|
|
11
11
|
super(...arguments);
|
|
12
12
|
this.name = "PublicDepartureTransformation";
|
|
13
13
|
this.transformInternal = (inputDto) => {
|
|
14
|
-
var _a, _b, _c, _d, _e, _f;
|
|
15
|
-
const { departure,
|
|
14
|
+
var _a, _b, _c, _d, _e, _f, _g;
|
|
15
|
+
const { departure, vehiclePosition, vehicleDescriptor } = inputDto;
|
|
16
16
|
const delayInSeconds = (_a = vehiclePosition === null || vehiclePosition === void 0 ? void 0 : vehiclePosition.delay) !== null && _a !== void 0 ? _a : null;
|
|
17
17
|
const departureTime = new Date(departure.departure_datetime);
|
|
18
18
|
const arrivalTime = departure.arrival_datetime ? new Date(departure.arrival_datetime) : null;
|
|
@@ -41,10 +41,10 @@ class PublicDepartureTransformation extends AbstractTransformation_1.AbstractTra
|
|
|
41
41
|
is_canceled: (vehiclePosition === null || vehiclePosition === void 0 ? void 0 : vehiclePosition.state_position) === const_1.StatePositionEnum.CANCELED,
|
|
42
42
|
},
|
|
43
43
|
vehicle: {
|
|
44
|
-
id:
|
|
45
|
-
is_wheelchair_accessible: (
|
|
46
|
-
is_air_conditioned: (
|
|
47
|
-
has_charger: (
|
|
44
|
+
id: (_d = vehiclePosition === null || vehiclePosition === void 0 ? void 0 : vehiclePosition.vehicle_id) !== null && _d !== void 0 ? _d : null,
|
|
45
|
+
is_wheelchair_accessible: (_e = vehiclePosition === null || vehiclePosition === void 0 ? void 0 : vehiclePosition.detailed_info.is_wheelchair_accessible) !== null && _e !== void 0 ? _e : null,
|
|
46
|
+
is_air_conditioned: (_f = vehicleDescriptor === null || vehicleDescriptor === void 0 ? void 0 : vehicleDescriptor.is_air_conditioned) !== null && _f !== void 0 ? _f : null,
|
|
47
|
+
has_charger: (_g = vehicleDescriptor === null || vehicleDescriptor === void 0 ? void 0 : vehicleDescriptor.has_usb_chargers) !== null && _g !== void 0 ? _g : null,
|
|
48
48
|
},
|
|
49
49
|
};
|
|
50
50
|
};
|
package/dist/output-gateway/public/service/transformations/PublicDepartureTransformation.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PublicDepartureTransformation.js","sourceRoot":"","sources":["../../../../../src/output-gateway/public/service/transformations/PublicDepartureTransformation.ts"],"names":[],"mappings":";;;AAAA,uEAA4D;AAG5D,6EAAqE;AACrE,uEAA+D;AAC/D,6GAA0G;AAC1G,6CAA8C;AAE9C,MAAa,6BAA8B,SAAQ,+CAGlD;IAHD;;QAIW,SAAI,GAAG,+BAA+B,CAAC;QAEpC,sBAAiB,GAAG,CAAC,QAA2C,EAAE,EAAE;;YAC1E,MAAM,EAAE,SAAS,EAAE,
|
|
1
|
+
{"version":3,"file":"PublicDepartureTransformation.js","sourceRoot":"","sources":["../../../../../src/output-gateway/public/service/transformations/PublicDepartureTransformation.ts"],"names":[],"mappings":";;;AAAA,uEAA4D;AAG5D,6EAAqE;AACrE,uEAA+D;AAC/D,6GAA0G;AAC1G,6CAA8C;AAE9C,MAAa,6BAA8B,SAAQ,+CAGlD;IAHD;;QAIW,SAAI,GAAG,+BAA+B,CAAC;QAEpC,sBAAiB,GAAG,CAAC,QAA2C,EAAE,EAAE;;YAC1E,MAAM,EAAE,SAAS,EAAE,eAAe,EAAE,iBAAiB,EAAE,GAAG,QAAQ,CAAC;YAEnE,MAAM,cAAc,GAAG,MAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,KAAK,mCAAI,IAAI,CAAC;YACtD,MAAM,aAAa,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC;YAC7D,MAAM,WAAW,GAAG,SAAS,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAC7F,MAAM,sBAAsB,GAAG,yCAAmB,CAAC,yBAAyB,CAAC,aAAa,EAAE,WAAW,EAAE,cAAc,CAAC,CAAC;YAEzH,OAAO;gBACH,SAAS,EAAE;oBACP,mBAAmB,EAAE,MAAA,mCAAgB,CAAC,eAAe,CAAC,aAAa,CAAC,mCAAI,SAAS,CAAC,kBAAkB;oBACpG,mBAAmB,EAAE,MAAA,mCAAgB,CAAC,eAAe,CAAC,sBAAsB,CAAC,mCAAI,SAAS,CAAC,kBAAkB;oBAC7G,aAAa,EAAE,cAAc;oBAC7B,OAAO,EAAE,yCAAmB,CAAC,mBAAmB,CAAC,sBAAsB,CAAC;iBAC3E;gBACD,IAAI,EAAE;oBACF,EAAE,EAAE,SAAS,CAAC,OAAO;oBACrB,QAAQ,EAAE,SAAS,CAAC,aAAa;oBACjC,+CAA+C;oBAC/C,6EAA6E;oBAC7E,aAAa,EAAE,SAAS,CAAC,aAAa;iBACzC;gBACD,KAAK,EAAE;oBACH,IAAI,EAAE,kCAAiB,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE;oBAC3D,UAAU,EAAE,SAAS,CAAC,gBAAgB;iBACzC;gBACD,IAAI,EAAE;oBACF,EAAE,EAAE,SAAS,CAAC,OAAO;oBACrB,QAAQ,EAAE,SAAS,CAAC,aAAa;oBACjC,WAAW,EAAE,CAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,cAAc,MAAK,yBAAiB,CAAC,QAAQ;iBAC9E;gBACD,OAAO,EAAE;oBACL,EAAE,EAAE,MAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,UAAU,mCAAI,IAAI;oBACvC,wBAAwB,EAAE,MAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,aAAa,CAAC,wBAAwB,mCAAI,IAAI;oBACzF,kBAAkB,EAAE,MAAA,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,kBAAkB,mCAAI,IAAI;oBACjE,WAAW,EAAE,MAAA,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,gBAAgB,mCAAI,IAAI;iBAC3D;aACJ,CAAC;QACN,CAAC,CAAC;IACN,CAAC;CAAA;AA7CD,sEA6CC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DelayComputationDtoSchema.js","sourceRoot":"","sources":["../../../../../src/schema-definitions/ropid-gtfs/redis/schemas/DelayComputationDtoSchema.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DelayComputationDtoSchema.js","sourceRoot":"","sources":["../../../../../src/schema-definitions/ropid-gtfs/redis/schemas/DelayComputationDtoSchema.ts"],"names":[],"mappings":"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"}
|
package/docs/openapi-output.yaml
CHANGED
|
@@ -1015,6 +1015,7 @@ paths:
|
|
|
1015
1015
|
in: path
|
|
1016
1016
|
description:
|
|
1017
1017
|
Filter result by vehicle ID (same as *vehicle_id* from the `/public/vehiclepositions` EP or *id* from GTFS-RT `VehicleDescriptor`)
|
|
1018
|
+
No stop waypoints are not included.
|
|
1018
1019
|
required: true
|
|
1019
1020
|
schema:
|
|
1020
1021
|
type: string
|