@golemio/pid 2.13.10-dev.1341938975 → 2.13.10-dev.1342573042
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/migrations/postgresql/20240621103532-fix-stop-time-cis-platform-code.js +53 -0
- package/db/migrations/postgresql/sqls/20240621103532-fix-stop-time-cis-platform-code-down.sql +43 -0
- package/db/migrations/postgresql/sqls/20240621103532-fix-stop-time-cis-platform-code-up.sql +46 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/mpv-net/MpvStopParser.d.ts +5 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/mpv-net/MpvStopParser.js +6 -1
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/mpv-net/MpvStopParser.js.map +1 -1
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/RefreshPublicStopTimeCacheTask.js +1 -1
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/RefreshPublicStopTimeCacheTask.js.map +1 -1
- package/dist/output-gateway/public/domain/IPublicDepartureTransformInputDto.d.ts +2 -0
- package/dist/output-gateway/public/ioc/Di.js +1 -1
- package/dist/output-gateway/public/ioc/Di.js.map +1 -1
- package/dist/output-gateway/public/service/facade/DepartureBoardFacade.d.ts +3 -1
- package/dist/output-gateway/public/service/facade/DepartureBoardFacade.js +15 -3
- package/dist/output-gateway/public/service/facade/DepartureBoardFacade.js.map +1 -1
- package/dist/output-gateway/public/service/transformations/PublicDepartureTransformation.d.ts +6 -0
- package/dist/output-gateway/public/service/transformations/PublicDepartureTransformation.js +13 -3
- package/dist/output-gateway/public/service/transformations/PublicDepartureTransformation.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var dbm;
|
|
4
|
+
var type;
|
|
5
|
+
var seed;
|
|
6
|
+
var fs = require('fs');
|
|
7
|
+
var path = require('path');
|
|
8
|
+
var Promise;
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* We receive the dbmigrate dependency from dbmigrate initially.
|
|
12
|
+
* This enables us to not have to rely on NODE_PATH.
|
|
13
|
+
*/
|
|
14
|
+
exports.setup = function(options, seedLink) {
|
|
15
|
+
dbm = options.dbmigrate;
|
|
16
|
+
type = dbm.dataType;
|
|
17
|
+
seed = seedLink;
|
|
18
|
+
Promise = options.Promise;
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
exports.up = function(db) {
|
|
22
|
+
var filePath = path.join(__dirname, 'sqls', '20240621103532-fix-stop-time-cis-platform-code-up.sql');
|
|
23
|
+
return new Promise( function( resolve, reject ) {
|
|
24
|
+
fs.readFile(filePath, {encoding: 'utf-8'}, function(err,data){
|
|
25
|
+
if (err) return reject(err);
|
|
26
|
+
console.log('received data: ' + data);
|
|
27
|
+
|
|
28
|
+
resolve(data);
|
|
29
|
+
});
|
|
30
|
+
})
|
|
31
|
+
.then(function(data) {
|
|
32
|
+
return db.runSql(data);
|
|
33
|
+
});
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
exports.down = function(db) {
|
|
37
|
+
var filePath = path.join(__dirname, 'sqls', '20240621103532-fix-stop-time-cis-platform-code-down.sql');
|
|
38
|
+
return new Promise( function( resolve, reject ) {
|
|
39
|
+
fs.readFile(filePath, {encoding: 'utf-8'}, function(err,data){
|
|
40
|
+
if (err) return reject(err);
|
|
41
|
+
console.log('received data: ' + data);
|
|
42
|
+
|
|
43
|
+
resolve(data);
|
|
44
|
+
});
|
|
45
|
+
})
|
|
46
|
+
.then(function(data) {
|
|
47
|
+
return db.runSql(data);
|
|
48
|
+
});
|
|
49
|
+
};
|
|
50
|
+
|
|
51
|
+
exports._meta = {
|
|
52
|
+
"version": 1
|
|
53
|
+
};
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
create
|
|
2
|
+
or replace view v_public_vehiclepositions_combined_stop_times as
|
|
3
|
+
select
|
|
4
|
+
distinct on (rt_trip_id, stop_sequence) stop_times.rt_trip_id,
|
|
5
|
+
vt.gtfs_trip_id,
|
|
6
|
+
stop_times.stop_sequence,
|
|
7
|
+
stop_times.stop_arr_delay,
|
|
8
|
+
stop_times.stop_dep_delay,
|
|
9
|
+
vt.gtfs_route_type,
|
|
10
|
+
vt.gtfs_route_short_name,
|
|
11
|
+
vt.run_number,
|
|
12
|
+
vt.internal_run_number,
|
|
13
|
+
vt.provider_source_type,
|
|
14
|
+
vt.cis_trip_number,
|
|
15
|
+
vt.vehicle_registration_number,
|
|
16
|
+
stop_times.stop_id,
|
|
17
|
+
vcs.cis_stop_platform_code,
|
|
18
|
+
rs.platform_code
|
|
19
|
+
from
|
|
20
|
+
(
|
|
21
|
+
select
|
|
22
|
+
*
|
|
23
|
+
from
|
|
24
|
+
v_public_vehiclepositions_future_stop_times prediction
|
|
25
|
+
union
|
|
26
|
+
all
|
|
27
|
+
select
|
|
28
|
+
*
|
|
29
|
+
from
|
|
30
|
+
v_public_vehiclepositions_past_stop_times history
|
|
31
|
+
) as stop_times
|
|
32
|
+
join vehiclepositions_trips vt on vt.id = stop_times.rt_trip_id
|
|
33
|
+
join vehiclepositions_positions vp on vt.last_position_id = vp.id
|
|
34
|
+
and (
|
|
35
|
+
vp.valid_to is null
|
|
36
|
+
or vp.valid_to >= now()
|
|
37
|
+
)
|
|
38
|
+
and vp.state_position != 'after_track'
|
|
39
|
+
left join ropidgtfs_stops rs on rs.stop_id = stop_times.stop_id
|
|
40
|
+
left join vehiclepositions_cis_stops vcs on vcs.rt_trip_id = stop_times.rt_trip_id
|
|
41
|
+
order by
|
|
42
|
+
rt_trip_id,
|
|
43
|
+
stop_sequence;
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
create
|
|
2
|
+
or replace view v_public_vehiclepositions_combined_stop_times as
|
|
3
|
+
select
|
|
4
|
+
distinct on (rt_trip_id, stop_sequence) stop_times.rt_trip_id,
|
|
5
|
+
vt.gtfs_trip_id,
|
|
6
|
+
stop_times.stop_sequence,
|
|
7
|
+
stop_times.stop_arr_delay,
|
|
8
|
+
stop_times.stop_dep_delay,
|
|
9
|
+
vt.gtfs_route_type,
|
|
10
|
+
vt.gtfs_route_short_name,
|
|
11
|
+
vt.run_number,
|
|
12
|
+
vt.internal_run_number,
|
|
13
|
+
vt.provider_source_type,
|
|
14
|
+
vt.cis_trip_number,
|
|
15
|
+
vt.vehicle_registration_number,
|
|
16
|
+
stop_times.stop_id,
|
|
17
|
+
vcs.cis_stop_platform_code,
|
|
18
|
+
rs.platform_code
|
|
19
|
+
from
|
|
20
|
+
(
|
|
21
|
+
select
|
|
22
|
+
*
|
|
23
|
+
from
|
|
24
|
+
v_public_vehiclepositions_future_stop_times prediction
|
|
25
|
+
union
|
|
26
|
+
all
|
|
27
|
+
select
|
|
28
|
+
*
|
|
29
|
+
from
|
|
30
|
+
v_public_vehiclepositions_past_stop_times history
|
|
31
|
+
) as stop_times
|
|
32
|
+
join vehiclepositions_trips vt on vt.id = stop_times.rt_trip_id
|
|
33
|
+
join vehiclepositions_positions vp on vt.last_position_id = vp.id
|
|
34
|
+
and (
|
|
35
|
+
vp.valid_to is null
|
|
36
|
+
or vp.valid_to >= now()
|
|
37
|
+
)
|
|
38
|
+
and vp.state_position != 'after_track'
|
|
39
|
+
left join ropidgtfs_stops rs on rs.stop_id = stop_times.stop_id
|
|
40
|
+
left join ropidgtfs_cis_stops rcs on rcs.id = rs.computed_cis_stop_id
|
|
41
|
+
left join vehiclepositions_cis_stops vcs
|
|
42
|
+
on vcs.rt_trip_id = stop_times.rt_trip_id
|
|
43
|
+
and vcs.cis_stop_group_id = rcs.cis
|
|
44
|
+
order by
|
|
45
|
+
rt_trip_id,
|
|
46
|
+
stop_sequence;
|
|
@@ -7,13 +7,18 @@ class MpvStopParser {
|
|
|
7
7
|
* 1/3 -> 1/3
|
|
8
8
|
* -/3 -> 3
|
|
9
9
|
* 1/- -> 1
|
|
10
|
+
* -/BUS -> BUS
|
|
11
|
+
* 2/100V -> 2/100V
|
|
12
|
+
* -/5 C-F -> 5
|
|
13
|
+
* 2/5 A -> 2/5
|
|
14
|
+
* 5A/- A C -> 5A
|
|
10
15
|
*/
|
|
11
16
|
static parsePlatformCode(cisStop) {
|
|
12
17
|
const platformCode = cisStop.$.stan;
|
|
13
18
|
if (!platformCode) {
|
|
14
19
|
return null;
|
|
15
20
|
}
|
|
16
|
-
return platformCode.replace(
|
|
21
|
+
return platformCode.replace(/-\/|\/-|\s+.*$/g, "");
|
|
17
22
|
}
|
|
18
23
|
}
|
|
19
24
|
exports.MpvStopParser = MpvStopParser;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MpvStopParser.js","sourceRoot":"","sources":["../../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/mpv-net/MpvStopParser.ts"],"names":[],"mappings":";;;AAEA,MAAa,aAAa;IACtB
|
|
1
|
+
{"version":3,"file":"MpvStopParser.js","sourceRoot":"","sources":["../../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/mpv-net/MpvStopParser.ts"],"names":[],"mappings":";;;AAEA,MAAa,aAAa;IACtB;;;;;;;;;;OAUG;IACH,MAAM,CAAC,iBAAiB,CAAC,OAAwB;QAC7C,MAAM,YAAY,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;QACpC,IAAI,CAAC,YAAY,EAAE;YACf,OAAO,IAAI,CAAC;SACf;QAED,OAAO,YAAY,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC;IACvD,CAAC;CACJ;AApBD,sCAoBC"}
|
|
@@ -23,6 +23,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
23
23
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
24
24
|
exports.RefreshPublicStopTimeCacheTask = void 0;
|
|
25
25
|
const VPContainerToken_1 = require("../../../ioc/VPContainerToken");
|
|
26
|
+
const VehicleIdGenerator_1 = require("../../gtfs-rt/helpers/VehicleIdGenerator");
|
|
26
27
|
const IoRedisConnector_1 = require("@golemio/core/dist/helpers/data-access/redis/IoRedisConnector");
|
|
27
28
|
const CoreToken_1 = require("@golemio/core/dist/helpers/ioc/CoreToken");
|
|
28
29
|
const integration_engine_1 = require("@golemio/core/dist/integration-engine");
|
|
@@ -36,7 +37,6 @@ const constants_1 = require("../constants");
|
|
|
36
37
|
const PublicStopTimeCacheRepository_1 = require("../data-access/cache/PublicStopTimeCacheRepository");
|
|
37
38
|
const PublicStopTimeRepository_1 = require("../data-access/views/PublicStopTimeRepository");
|
|
38
39
|
const VPUtils_1 = require("../helpers/VPUtils");
|
|
39
|
-
const VehicleIdGenerator_1 = require("../../gtfs-rt/helpers/VehicleIdGenerator");
|
|
40
40
|
let RefreshPublicStopTimeCacheTask = exports.RefreshPublicStopTimeCacheTask = class RefreshPublicStopTimeCacheTask extends workers_1.AbstractEmptyTask {
|
|
41
41
|
constructor(config, logger, redisClient, publicStopTimeRepository, publicStopTimeCacheRepository) {
|
|
42
42
|
super(constants_1.WORKER_NAME);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RefreshPublicStopTimeCacheTask.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/RefreshPublicStopTimeCacheTask.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,oEAA8E;
|
|
1
|
+
{"version":3,"file":"RefreshPublicStopTimeCacheTask.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/RefreshPublicStopTimeCacheTask.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import { IPublicGtfsDepartureCacheDto } from "../../../schema-definitions/ropid-gtfs/redis/interfaces/IPublicGtfsDepartureCacheDto";
|
|
2
2
|
import { IDescriptorOutputDto } from "../../../schema-definitions/vehicle-descriptors/models/interfaces";
|
|
3
3
|
import { IPublicApiCacheDto } from "../../../schema-definitions/vehicle-positions/redis/interfaces/IPublicApiCacheDto";
|
|
4
|
+
import { IPublicStopTimeCacheDto } from "../../../schema-definitions/vehicle-positions/redis/interfaces/IPublicStopTimeCacheDto";
|
|
4
5
|
export interface IPublicDepartureTransformInputDto {
|
|
5
6
|
departure: IPublicGtfsDepartureCacheDto;
|
|
6
7
|
vehiclePosition: IPublicApiCacheDto | null;
|
|
7
8
|
vehicleDescriptor: Partial<IDescriptorOutputDto> | null;
|
|
9
|
+
stopTime: IPublicStopTimeCacheDto | null;
|
|
8
10
|
}
|
|
@@ -81,7 +81,7 @@ ogPublicContainer.register(OgModuleToken_1.OgModuleToken.DetailedTripFacade, {
|
|
|
81
81
|
});
|
|
82
82
|
ogPublicContainer.register(OgModuleToken_1.OgModuleToken.DepartureBoardFacade, {
|
|
83
83
|
useFactory: (0, tsyringe_1.instanceCachingFactory)((c) => {
|
|
84
|
-
return new DepartureBoardFacade_1.DepartureBoardFacade(c.resolve(OgModuleToken_1.OgModuleToken.PublicGtfsDepartureRepository), c.resolve(OgModuleToken_1.OgModuleToken.PublicVehiclePositionsRepository), c.resolve(OgModuleToken_1.OgModuleToken.VehicleDescriptorCachedRepository));
|
|
84
|
+
return new DepartureBoardFacade_1.DepartureBoardFacade(c.resolve(OgModuleToken_1.OgModuleToken.PublicGtfsDepartureRepository), c.resolve(OgModuleToken_1.OgModuleToken.PublicVehiclePositionsRepository), c.resolve(OgModuleToken_1.OgModuleToken.PublicStopTimeRepository), c.resolve(OgModuleToken_1.OgModuleToken.VehicleDescriptorCachedRepository));
|
|
85
85
|
}),
|
|
86
86
|
});
|
|
87
87
|
ogPublicContainer.register(OgModuleToken_1.OgModuleToken.VPSubscriber, {
|
|
@@ -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,wGAAqG;AACrG,gGAA6F;AAC7F,sGAAmG;AACnG,4FAAyF;AACzF,4GAAyG;
|
|
1
|
+
{"version":3,"file":"Di.js","sourceRoot":"","sources":["../../../../src/output-gateway/public/ioc/Di.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,13 +2,15 @@ import { IDepartureBoardsStopIdGroups } from "../../controllers/v1/interfaces/Pu
|
|
|
2
2
|
import { VehicleDescriptorCachedRepository } from "../../data-access/VehicleDescriptorCachedRepository";
|
|
3
3
|
import { PublicApiDepartureBoardGroup } from "../../domain/PublicApiDepartureInterfaces";
|
|
4
4
|
import { IGtfsDepartureRepository } from "../../domain/repository/IGtfsDepartureRepository";
|
|
5
|
+
import { IStopTimeRepository } from "../../domain/repository/IStopTimeRepository";
|
|
5
6
|
import { IVehiclePositionsRepository } from "../../domain/repository/IVehiclePositionsRepository";
|
|
6
7
|
export declare class DepartureBoardFacade {
|
|
7
8
|
private readonly departureRepository;
|
|
8
9
|
private readonly tripRepository;
|
|
10
|
+
private readonly stopTimeRepository;
|
|
9
11
|
private readonly descriptorRepository;
|
|
10
12
|
private readonly transformation;
|
|
11
|
-
constructor(departureRepository: IGtfsDepartureRepository, tripRepository: IVehiclePositionsRepository, descriptorRepository: VehicleDescriptorCachedRepository);
|
|
13
|
+
constructor(departureRepository: IGtfsDepartureRepository, tripRepository: IVehiclePositionsRepository, stopTimeRepository: IStopTimeRepository, descriptorRepository: VehicleDescriptorCachedRepository);
|
|
12
14
|
getAll(stopIds: Set<IDepartureBoardsStopIdGroups>, limit: number, routeShortNames: string[] | null, minutesAfter: number): Promise<PublicApiDepartureBoardGroup[] | null>;
|
|
13
15
|
private handleStopGroupDepartures;
|
|
14
16
|
private duplicateDeparturesWithDifferentVehicleIds;
|
|
@@ -10,14 +10,16 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.DepartureBoardFacade = void 0;
|
|
13
|
-
const
|
|
14
|
-
const PublicDepartureTransformation_1 = require("../transformations/PublicDepartureTransformation");
|
|
13
|
+
const RouteTypeEnums_1 = require("../../../../helpers/RouteTypeEnums");
|
|
15
14
|
const trace_provider_1 = require("@golemio/core/dist/monitoring/opentelemetry/trace-provider");
|
|
15
|
+
const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
|
|
16
16
|
const DepartureGroupRefiner_1 = require("../helpers/DepartureGroupRefiner");
|
|
17
|
+
const PublicDepartureTransformation_1 = require("../transformations/PublicDepartureTransformation");
|
|
17
18
|
class DepartureBoardFacade {
|
|
18
|
-
constructor(departureRepository, tripRepository, descriptorRepository) {
|
|
19
|
+
constructor(departureRepository, tripRepository, stopTimeRepository, descriptorRepository) {
|
|
19
20
|
this.departureRepository = departureRepository;
|
|
20
21
|
this.tripRepository = tripRepository;
|
|
22
|
+
this.stopTimeRepository = stopTimeRepository;
|
|
21
23
|
this.descriptorRepository = descriptorRepository;
|
|
22
24
|
this.transformation = new PublicDepartureTransformation_1.PublicDepartureTransformation();
|
|
23
25
|
}
|
|
@@ -101,6 +103,7 @@ class DepartureBoardFacade {
|
|
|
101
103
|
});
|
|
102
104
|
}
|
|
103
105
|
duplicateDeparturesWithDifferentVehicleIds(departure, vehiclePositions) {
|
|
106
|
+
var _a;
|
|
104
107
|
return __awaiter(this, void 0, void 0, function* () {
|
|
105
108
|
let outputGroup = [];
|
|
106
109
|
// If there are no RT data, we still want to display the departure
|
|
@@ -110,6 +113,7 @@ class DepartureBoardFacade {
|
|
|
110
113
|
departure,
|
|
111
114
|
vehiclePosition: null,
|
|
112
115
|
vehicleDescriptor: null,
|
|
116
|
+
stopTime: null,
|
|
113
117
|
}));
|
|
114
118
|
return outputGroup;
|
|
115
119
|
}
|
|
@@ -119,10 +123,18 @@ class DepartureBoardFacade {
|
|
|
119
123
|
const vehicleDescriptor = (vehiclePosition === null || vehiclePosition === void 0 ? void 0 : vehiclePosition.detailed_info.registration_number)
|
|
120
124
|
? yield this.descriptorRepository.getOneByRegNumber(departure.route_type, vehiclePosition === null || vehiclePosition === void 0 ? void 0 : vehiclePosition.detailed_info.registration_number)
|
|
121
125
|
: null;
|
|
126
|
+
let currentStopTime = null;
|
|
127
|
+
// If the vehicle is a train, we need to get the current stop time
|
|
128
|
+
// to later determine the RT CIS platform code (trains don't have platform codes in GTFS)
|
|
129
|
+
if (vehiclePosition.route_type === RouteTypeEnums_1.GTFSRouteTypeEnum.TRAIN) {
|
|
130
|
+
const stopTimes = yield this.stopTimeRepository.getPublicStopTimeCache(vehiclePosition.vehicle_id, departure.trip_id);
|
|
131
|
+
currentStopTime = (_a = stopTimes.find((stopTime) => stopTime.sequence === departure.stop_sequence)) !== null && _a !== void 0 ? _a : null;
|
|
132
|
+
}
|
|
122
133
|
outputGroup.push(this.transformation.transformElement({
|
|
123
134
|
departure,
|
|
124
135
|
vehiclePosition,
|
|
125
136
|
vehicleDescriptor,
|
|
137
|
+
stopTime: currentStopTime,
|
|
126
138
|
}));
|
|
127
139
|
}
|
|
128
140
|
return outputGroup;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DepartureBoardFacade.js","sourceRoot":"","sources":["../../../../../src/output-gateway/public/service/facade/DepartureBoardFacade.ts"],"names":[],"mappings":";;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"DepartureBoardFacade.js","sourceRoot":"","sources":["../../../../../src/output-gateway/public/service/facade/DepartureBoardFacade.ts"],"names":[],"mappings":"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"}
|
package/dist/output-gateway/public/service/transformations/PublicDepartureTransformation.d.ts
CHANGED
|
@@ -31,4 +31,10 @@ export declare class PublicDepartureTransformation extends AbstractTransformatio
|
|
|
31
31
|
has_charger: boolean | null;
|
|
32
32
|
};
|
|
33
33
|
};
|
|
34
|
+
/**
|
|
35
|
+
* Determine platform code based on the following rules:
|
|
36
|
+
* if current stop time is known, use its RT CIS platform code (if available)
|
|
37
|
+
* otherwise use GTFS schedule platform code
|
|
38
|
+
*/
|
|
39
|
+
private determinePlatformCode;
|
|
34
40
|
}
|
|
@@ -27,9 +27,7 @@ class PublicDepartureTransformation extends AbstractTransformation_1.AbstractTra
|
|
|
27
27
|
stop: {
|
|
28
28
|
id: departure.stop_id,
|
|
29
29
|
sequence: departure.stop_sequence,
|
|
30
|
-
|
|
31
|
-
// fill from realtime data (CIS stop platform code) if needed in the future
|
|
32
|
-
platform_code: departure.platform_code,
|
|
30
|
+
platform_code: this.determinePlatformCode(inputDto),
|
|
33
31
|
},
|
|
34
32
|
route: {
|
|
35
33
|
type: RouteTypeEnums_1.GTFSRouteTypeEnum[departure.route_type].toLowerCase(),
|
|
@@ -48,6 +46,18 @@ class PublicDepartureTransformation extends AbstractTransformation_1.AbstractTra
|
|
|
48
46
|
},
|
|
49
47
|
};
|
|
50
48
|
};
|
|
49
|
+
/**
|
|
50
|
+
* Determine platform code based on the following rules:
|
|
51
|
+
* if current stop time is known, use its RT CIS platform code (if available)
|
|
52
|
+
* otherwise use GTFS schedule platform code
|
|
53
|
+
*/
|
|
54
|
+
this.determinePlatformCode = (inputDto) => {
|
|
55
|
+
const { departure, stopTime } = inputDto;
|
|
56
|
+
if (stopTime) {
|
|
57
|
+
return stopTime.cis_stop_platform_code;
|
|
58
|
+
}
|
|
59
|
+
return departure.platform_code;
|
|
60
|
+
};
|
|
51
61
|
}
|
|
52
62
|
}
|
|
53
63
|
exports.PublicDepartureTransformation = PublicDepartureTransformation;
|
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,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
|
|
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,aAAa,EAAE,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC;iBACtD;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;QAEF;;;;WAIG;QACK,0BAAqB,GAAG,CAAC,QAA2C,EAAiB,EAAE;YAC3F,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,QAAQ,CAAC;YAEzC,IAAI,QAAQ,EAAE;gBACV,OAAO,QAAQ,CAAC,sBAAsB,CAAC;aAC1C;YAED,OAAO,SAAS,CAAC,aAAa,CAAC;QACnC,CAAC,CAAC;IACN,CAAC;CAAA;AA1DD,sEA0DC"}
|