@golemio/pid 2.14.3 → 2.14.4-dev.1368003691
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/redis/publicStopTimesMockWithWrongDelays.json +37 -0
- package/db/migrations/postgresql/20240612135256-fix-delay-in-view-future-stop-times.js +53 -0
- package/db/migrations/postgresql/20240701093122-fix-delay-in-view-v-public-vehiclepositions-past-stop-times.js +53 -0
- package/db/migrations/postgresql/sqls/20240612135256-fix-delay-in-view-future-stop-times-down.sql +82 -0
- package/db/migrations/postgresql/sqls/20240612135256-fix-delay-in-view-future-stop-times-up.sql +93 -0
- package/db/migrations/postgresql/sqls/20240701093122-fix-delay-in-view-v-public-vehiclepositions-past-stop-times-down.sql +31 -0
- package/db/migrations/postgresql/sqls/20240701093122-fix-delay-in-view-v-public-vehiclepositions-past-stop-times-up.sql +38 -0
- package/dist/integration-engine/vehicle-positions/workers/runs/helpers/regional-bus/RegionalBusMessageFilter.d.ts +1 -4
- package/dist/integration-engine/vehicle-positions/workers/runs/helpers/regional-bus/RegionalBusMessageFilter.js +11 -27
- package/dist/integration-engine/vehicle-positions/workers/runs/helpers/regional-bus/RegionalBusMessageFilter.js.map +1 -1
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/transformations/MpvMessageTransformation.d.ts +3 -6
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/transformations/MpvMessageTransformation.js +8 -19
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/transformations/MpvMessageTransformation.js.map +1 -1
- package/dist/output-gateway/departure-boards/DepartureBoardsRouter.js +4 -0
- package/dist/output-gateway/departure-boards/DepartureBoardsRouter.js.map +1 -1
- package/dist/output-gateway/pid/PIDRouter.js +4 -0
- package/dist/output-gateway/pid/PIDRouter.js.map +1 -1
- 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 +27 -8
- package/dist/output-gateway/public/service/helpers/trip-scope/strategy/StopTimesTripScopeHandler.js.map +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
[
|
|
2
|
+
{
|
|
3
|
+
"sequence": 1,
|
|
4
|
+
"arr_delay": 0,
|
|
5
|
+
"dep_delay": 0
|
|
6
|
+
},
|
|
7
|
+
{
|
|
8
|
+
"sequence": 2,
|
|
9
|
+
"arr_delay": 130,
|
|
10
|
+
"dep_delay": 0
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
"sequence": 3,
|
|
14
|
+
"arr_delay": 0,
|
|
15
|
+
"dep_delay": 0
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
"sequence": 4,
|
|
19
|
+
"arr_delay": 120,
|
|
20
|
+
"dep_delay": 120
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
"sequence": 5,
|
|
24
|
+
"arr_delay": 0,
|
|
25
|
+
"dep_delay": 0
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
"sequence": 6,
|
|
29
|
+
"arr_delay": 80,
|
|
30
|
+
"dep_delay": 80
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
"sequence": 7,
|
|
34
|
+
"arr_delay": 80,
|
|
35
|
+
"dep_delay": 0
|
|
36
|
+
}
|
|
37
|
+
]
|
|
@@ -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', '20240612135256-fix-delay-in-view-future-stop-times-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', '20240612135256-fix-delay-in-view-future-stop-times-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,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', '20240701093122-fix-delay-in-view-v-public-vehiclepositions-past-stop-times-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', '20240701093122-fix-delay-in-view-v-public-vehiclepositions-past-stop-times-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
|
+
};
|
package/db/migrations/postgresql/sqls/20240612135256-fix-delay-in-view-future-stop-times-down.sql
ADDED
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
-- v_public_vehiclepositions_future_stop_times source
|
|
2
|
+
CREATE OR REPLACE VIEW v_public_vehiclepositions_future_stop_times AS
|
|
3
|
+
WITH RECURSIVE stop_times AS (
|
|
4
|
+
SELECT
|
|
5
|
+
rst.trip_id,
|
|
6
|
+
vt.id AS trips_id,
|
|
7
|
+
vt.provider_source_type,
|
|
8
|
+
vp.delay,
|
|
9
|
+
COALESCE(vp.last_stop_sequence, 1) AS initial_stop_sequence,
|
|
10
|
+
vp.state_position,
|
|
11
|
+
rst.stop_id,
|
|
12
|
+
rst.stop_sequence,
|
|
13
|
+
rst.computed_dwell_time_seconds,
|
|
14
|
+
CASE WHEN vp.last_stop_sequence IS NULL THEN
|
|
15
|
+
vp.delay
|
|
16
|
+
ELSE
|
|
17
|
+
vp.delay_stop_arrival
|
|
18
|
+
END AS arrival_delay_seconds,
|
|
19
|
+
CASE WHEN vp.last_stop_sequence IS NULL THEN
|
|
20
|
+
predict_delay_seconds(vp.delay, rst.computed_dwell_time_seconds, vt.provider_source_type)
|
|
21
|
+
WHEN vp.state_position::text = 'at_stop'::text THEN
|
|
22
|
+
CASE WHEN vt.provider_source_type::text = '1'::text THEN
|
|
23
|
+
GREATEST(0, vp.delay)
|
|
24
|
+
ELSE
|
|
25
|
+
vp.delay
|
|
26
|
+
END
|
|
27
|
+
ELSE
|
|
28
|
+
vp.delay_stop_departure
|
|
29
|
+
END AS departure_delay_seconds
|
|
30
|
+
FROM
|
|
31
|
+
ropidgtfs_stop_times rst
|
|
32
|
+
JOIN vehiclepositions_trips vt ON vt.gtfs_trip_id::text = rst.trip_id::text
|
|
33
|
+
JOIN vehiclepositions_positions vp ON vp.id = vt.last_position_id
|
|
34
|
+
AND (vp.valid_to IS NULL
|
|
35
|
+
OR vp.valid_to >= now())
|
|
36
|
+
AND (vp.state_position::text = ANY (ARRAY['on_track'::character varying::text,
|
|
37
|
+
'at_stop'::character varying::text,
|
|
38
|
+
'before_track'::character varying::text,
|
|
39
|
+
'before_track_delayed'::character varying::text]))
|
|
40
|
+
WHERE
|
|
41
|
+
vt.gtfs_trip_id IS NOT NULL
|
|
42
|
+
AND rst.stop_sequence = COALESCE(vp.last_stop_sequence, 1)
|
|
43
|
+
UNION ALL
|
|
44
|
+
SELECT
|
|
45
|
+
rst.trip_id,
|
|
46
|
+
previous_row.trips_id,
|
|
47
|
+
previous_row.provider_source_type,
|
|
48
|
+
previous_row.delay,
|
|
49
|
+
previous_row.initial_stop_sequence,
|
|
50
|
+
previous_row.state_position,
|
|
51
|
+
rst.stop_id,
|
|
52
|
+
rst.stop_sequence,
|
|
53
|
+
rst.computed_dwell_time_seconds,
|
|
54
|
+
CASE WHEN (rst.stop_sequence - previous_row.initial_stop_sequence) = 1
|
|
55
|
+
AND previous_row.state_position::text <> 'at_stop'::text THEN
|
|
56
|
+
previous_row.delay
|
|
57
|
+
ELSE
|
|
58
|
+
previous_row.departure_delay_seconds
|
|
59
|
+
END AS arrival_delay_seconds,
|
|
60
|
+
predict_delay_seconds(
|
|
61
|
+
CASE WHEN (rst.stop_sequence - previous_row.initial_stop_sequence) = 1
|
|
62
|
+
AND previous_row.state_position::text <> 'at_stop'::text THEN
|
|
63
|
+
previous_row.delay
|
|
64
|
+
ELSE
|
|
65
|
+
previous_row.departure_delay_seconds
|
|
66
|
+
END, rst.computed_dwell_time_seconds, previous_row.provider_source_type) AS departure_delay_seconds
|
|
67
|
+
FROM
|
|
68
|
+
stop_times previous_row
|
|
69
|
+
JOIN ropidgtfs_stop_times rst ON rst.trip_id::text = previous_row.trip_id::text
|
|
70
|
+
AND rst.stop_sequence =(previous_row.stop_sequence + 1))
|
|
71
|
+
SELECT
|
|
72
|
+
stop_times.trips_id AS rt_trip_id,
|
|
73
|
+
stop_times.stop_sequence,
|
|
74
|
+
COALESCE(stop_times.arrival_delay_seconds, 0) AS stop_arr_delay,
|
|
75
|
+
COALESCE(stop_times.departure_delay_seconds, 0) AS stop_dep_delay,
|
|
76
|
+
stop_times.stop_id
|
|
77
|
+
FROM
|
|
78
|
+
stop_times
|
|
79
|
+
ORDER BY
|
|
80
|
+
stop_times.trip_id,
|
|
81
|
+
stop_times.stop_sequence;
|
|
82
|
+
|
package/db/migrations/postgresql/sqls/20240612135256-fix-delay-in-view-future-stop-times-up.sql
ADDED
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
CREATE OR REPLACE VIEW v_public_vehiclepositions_future_stop_times AS
|
|
2
|
+
WITH RECURSIVE stop_times AS (
|
|
3
|
+
SELECT
|
|
4
|
+
rst.trip_id,
|
|
5
|
+
vt.id AS trips_id,
|
|
6
|
+
vt.provider_source_type,
|
|
7
|
+
coalesce(vp.delay, 0) AS delay,
|
|
8
|
+
coalesce(vp.last_stop_sequence, 1) AS initial_stop_sequence,
|
|
9
|
+
vp.state_position,
|
|
10
|
+
rst.stop_id,
|
|
11
|
+
rst.stop_sequence,
|
|
12
|
+
rst.computed_dwell_time_seconds,
|
|
13
|
+
rst.arrival_time,
|
|
14
|
+
rst.departure_time,
|
|
15
|
+
CASE WHEN vp.last_stop_sequence IS NULL THEN
|
|
16
|
+
coalesce(vp.delay, 0)
|
|
17
|
+
ELSE
|
|
18
|
+
coalesce(vp.delay_stop_arrival, 0)
|
|
19
|
+
END AS arrival_delay_seconds,
|
|
20
|
+
CASE WHEN vp.last_stop_sequence IS NULL THEN
|
|
21
|
+
predict_delay_seconds(vp.delay, rst.computed_dwell_time_seconds, vt.provider_source_type)
|
|
22
|
+
WHEN vp.state_position::text = 'at_stop'::text THEN
|
|
23
|
+
CASE WHEN vt.provider_source_type::text = '1'::text THEN
|
|
24
|
+
greatest(0, vp.delay)
|
|
25
|
+
ELSE
|
|
26
|
+
vp.delay
|
|
27
|
+
END
|
|
28
|
+
ELSE
|
|
29
|
+
vp.delay_stop_departure
|
|
30
|
+
END AS departure_delay_seconds
|
|
31
|
+
FROM
|
|
32
|
+
ropidgtfs_stop_times rst
|
|
33
|
+
JOIN vehiclepositions_trips vt ON vt.gtfs_trip_id::text = rst.trip_id::text
|
|
34
|
+
JOIN vehiclepositions_positions vp ON vp.id = vt.last_position_id
|
|
35
|
+
AND (vp.valid_to IS NULL
|
|
36
|
+
OR vp.valid_to >= now())
|
|
37
|
+
AND (vp.state_position::text = ANY (ARRAY['on_track'::character varying::text,
|
|
38
|
+
'at_stop'::character varying::text,
|
|
39
|
+
'before_track'::character varying::text,
|
|
40
|
+
'before_track_delayed'::character varying::text]))
|
|
41
|
+
WHERE
|
|
42
|
+
vt.gtfs_trip_id IS NOT NULL
|
|
43
|
+
AND rst.stop_sequence = coalesce(vp.last_stop_sequence, 1)
|
|
44
|
+
UNION ALL
|
|
45
|
+
SELECT
|
|
46
|
+
rst.trip_id,
|
|
47
|
+
previous_row.trips_id,
|
|
48
|
+
previous_row.provider_source_type,
|
|
49
|
+
previous_row.delay,
|
|
50
|
+
previous_row.initial_stop_sequence,
|
|
51
|
+
previous_row.state_position,
|
|
52
|
+
rst.stop_id,
|
|
53
|
+
rst.stop_sequence,
|
|
54
|
+
rst.computed_dwell_time_seconds,
|
|
55
|
+
rst.arrival_time,
|
|
56
|
+
rst.departure_time,
|
|
57
|
+
CASE WHEN (rst.stop_sequence - previous_row.initial_stop_sequence) = 1
|
|
58
|
+
AND previous_row.state_position::text <> 'at_stop'::text THEN
|
|
59
|
+
CASE WHEN (rst.arrival_time::time +(interval '1 second' * previous_row.delay) < previous_row.departure_time::time +(interval '1 second' *(previous_row.departure_delay_seconds))) THEN
|
|
60
|
+
NULL
|
|
61
|
+
ELSE
|
|
62
|
+
previous_row.delay
|
|
63
|
+
END
|
|
64
|
+
ELSE
|
|
65
|
+
previous_row.departure_delay_seconds
|
|
66
|
+
END AS arrival_delay_seconds,
|
|
67
|
+
predict_delay_seconds(
|
|
68
|
+
CASE WHEN (rst.stop_sequence - previous_row.initial_stop_sequence) = 1
|
|
69
|
+
AND previous_row.state_position::text <> 'at_stop'::text THEN
|
|
70
|
+
previous_row.delay
|
|
71
|
+
ELSE
|
|
72
|
+
previous_row.departure_delay_seconds
|
|
73
|
+
END, rst.computed_dwell_time_seconds, previous_row.provider_source_type) AS departure_delay_seconds
|
|
74
|
+
FROM
|
|
75
|
+
stop_times previous_row
|
|
76
|
+
JOIN ropidgtfs_stop_times rst ON rst.trip_id::text = previous_row.trip_id::text
|
|
77
|
+
AND rst.stop_sequence =(previous_row.stop_sequence + 1))
|
|
78
|
+
SELECT
|
|
79
|
+
stop_times.trips_id AS rt_trip_id,
|
|
80
|
+
stop_times.stop_sequence,
|
|
81
|
+
stop_times.arrival_delay_seconds AS stop_arr_delay,
|
|
82
|
+
CASE WHEN (stop_times.arrival_time::time +(interval '1 second' * coalesce(stop_times.arrival_delay_seconds, 0))) >(stop_times.departure_time::time +(interval '1 second' * coalesce(stop_times.departure_delay_seconds, 0))) THEN
|
|
83
|
+
NULL
|
|
84
|
+
ELSE
|
|
85
|
+
stop_times.departure_delay_seconds
|
|
86
|
+
END AS stop_dep_delay,
|
|
87
|
+
stop_times.stop_id
|
|
88
|
+
FROM
|
|
89
|
+
stop_times
|
|
90
|
+
ORDER BY
|
|
91
|
+
stop_times.trip_id,
|
|
92
|
+
stop_times.stop_sequence;
|
|
93
|
+
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
CREATE OR REPLACE VIEW v_public_vehiclepositions_past_stop_times AS
|
|
2
|
+
SELECT
|
|
3
|
+
sub.trips_id AS rt_trip_id,
|
|
4
|
+
sub.last_stop_sequence AS stop_sequence,
|
|
5
|
+
sub.stop_arr_delay,
|
|
6
|
+
sub.stop_dep_delay,
|
|
7
|
+
sub.last_stop_id AS stop_id
|
|
8
|
+
FROM (
|
|
9
|
+
SELECT
|
|
10
|
+
rt_position.trips_id,
|
|
11
|
+
rt_position.last_stop_id,
|
|
12
|
+
rt_position.last_stop_sequence,
|
|
13
|
+
rt_position.delay_stop_arrival,
|
|
14
|
+
rt_position.delay_stop_departure,
|
|
15
|
+
max(rt_position.delay_stop_arrival) AS stop_arr_delay,
|
|
16
|
+
min(rt_position.delay_stop_departure) AS stop_dep_delay
|
|
17
|
+
FROM
|
|
18
|
+
vehiclepositions_positions rt_position
|
|
19
|
+
WHERE (rt_position.delay_stop_arrival IS NOT NULL
|
|
20
|
+
OR rt_position.delay_stop_departure IS NOT NULL)
|
|
21
|
+
AND (rt_position.state_position::text = ANY (ARRAY['on_track'::character varying::text, 'at_stop'::character varying::text, 'after_track'::character varying::text]))
|
|
22
|
+
GROUP BY
|
|
23
|
+
rt_position.trips_id,
|
|
24
|
+
rt_position.last_stop_id,
|
|
25
|
+
rt_position.last_stop_sequence,
|
|
26
|
+
rt_position.delay_stop_arrival,
|
|
27
|
+
rt_position.delay_stop_departure) sub
|
|
28
|
+
ORDER BY
|
|
29
|
+
sub.trips_id,
|
|
30
|
+
sub.last_stop_sequence;
|
|
31
|
+
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
CREATE OR REPLACE VIEW v_public_vehiclepositions_past_stop_times AS
|
|
2
|
+
SELECT
|
|
3
|
+
sub.trips_id AS rt_trip_id,
|
|
4
|
+
sub.last_stop_sequence AS stop_sequence,
|
|
5
|
+
sub.stop_arr_delay,
|
|
6
|
+
sub.stop_dep_delay,
|
|
7
|
+
sub.last_stop_id AS stop_id
|
|
8
|
+
FROM (
|
|
9
|
+
SELECT
|
|
10
|
+
rt_position.trips_id,
|
|
11
|
+
rt_position.last_stop_id,
|
|
12
|
+
rt_position.last_stop_sequence,
|
|
13
|
+
CASE WHEN (rt_position.last_stop_departure_time::time +(interval '1 second' * min(rt_position.delay_stop_departure)) > rt_position.next_stop_arrival_time::time +(interval '1 second' * max(rt_position.delay_stop_arrival))) THEN
|
|
14
|
+
NULL
|
|
15
|
+
ELSE
|
|
16
|
+
max(rt_position.delay_stop_arrival)
|
|
17
|
+
END AS stop_arr_delay,
|
|
18
|
+
CASE WHEN (rt_position.last_stop_arrival_time::time +(interval '1 second' * max(rt_position.delay_stop_arrival)) > rt_position.last_stop_departure_time::time +(interval '1 second' * min(rt_position.delay_stop_departure))) THEN
|
|
19
|
+
NULL
|
|
20
|
+
ELSE
|
|
21
|
+
min(rt_position.delay_stop_departure)
|
|
22
|
+
END AS stop_dep_delay
|
|
23
|
+
FROM
|
|
24
|
+
vehiclepositions_positions rt_position
|
|
25
|
+
WHERE (rt_position.delay_stop_arrival IS NOT NULL
|
|
26
|
+
OR rt_position.delay_stop_departure IS NOT NULL)
|
|
27
|
+
AND (rt_position.state_position::text = ANY (ARRAY['on_track'::character varying::text, 'at_stop'::character varying::text, 'after_track'::character varying::text]))
|
|
28
|
+
GROUP BY
|
|
29
|
+
rt_position.trips_id,
|
|
30
|
+
rt_position.last_stop_id,
|
|
31
|
+
rt_position.last_stop_sequence,
|
|
32
|
+
rt_position.last_stop_arrival_time,
|
|
33
|
+
rt_position.last_stop_departure_time,
|
|
34
|
+
rt_position.next_stop_arrival_time) sub
|
|
35
|
+
ORDER BY
|
|
36
|
+
sub.trips_id,
|
|
37
|
+
sub.last_stop_sequence;
|
|
38
|
+
|
|
@@ -1,16 +1,13 @@
|
|
|
1
1
|
import { IRegionalBusRunsMessagesModel } from "../../../../../../schema-definitions/vehicle-positions/models/interfaces/IRegionalBusRunsMessagesModel";
|
|
2
|
-
import { ISimpleConfig } from "@golemio/core/dist/helpers/configuration/ISimpleConfig";
|
|
3
2
|
import { ILogger } from "@golemio/core/dist/helpers/logger";
|
|
4
3
|
import { IRegionalBusMessageFilter } from "./interfaces/IRegionalBusMessageFilter";
|
|
5
4
|
import { TimestampValidator } from "../TimestampValidator";
|
|
6
5
|
export declare class RegionalBusMessageFilter implements IRegionalBusMessageFilter {
|
|
7
|
-
private config;
|
|
8
6
|
private logger;
|
|
9
7
|
private timestampValidator;
|
|
10
|
-
constructor(
|
|
8
|
+
constructor(logger: ILogger, timestampValidator: TimestampValidator);
|
|
11
9
|
/**
|
|
12
10
|
* Get messages that are valid for processing
|
|
13
11
|
*/
|
|
14
12
|
getFilteredMessages(messages: IRegionalBusRunsMessagesModel[], timestamp: number): IRegionalBusRunsMessagesModel[];
|
|
15
|
-
private get regNumberWhitelist();
|
|
16
13
|
}
|
|
@@ -19,8 +19,7 @@ const VPContainerToken_1 = require("../../../../ioc/VPContainerToken");
|
|
|
19
19
|
const TimestampValidator_1 = require("../TimestampValidator");
|
|
20
20
|
const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
|
|
21
21
|
let RegionalBusMessageFilter = exports.RegionalBusMessageFilter = class RegionalBusMessageFilter {
|
|
22
|
-
constructor(
|
|
23
|
-
this.config = config;
|
|
22
|
+
constructor(logger, timestampValidator) {
|
|
24
23
|
this.logger = logger;
|
|
25
24
|
this.timestampValidator = timestampValidator;
|
|
26
25
|
}
|
|
@@ -30,18 +29,13 @@ let RegionalBusMessageFilter = exports.RegionalBusMessageFilter = class Regional
|
|
|
30
29
|
getFilteredMessages(messages, timestamp) {
|
|
31
30
|
let filteredMessages = [];
|
|
32
31
|
for (const message of messages) {
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
if (!this.timestampValidator.isTimestampValid(timestamp, message.timestamp)) {
|
|
41
|
-
this.logger.error(new golemio_errors_1.GeneralError(`Message timestamp 'tm' of value ${message.timestamp} is not valid ` +
|
|
42
|
-
`(line ${message.cis_line_id}, trip id ${message.cis_trip_number})`, this.constructor.name, undefined, undefined, "pid"));
|
|
43
|
-
continue;
|
|
44
|
-
}
|
|
32
|
+
const isValidMessage = message.cis_line_id && message.cis_trip_number && message.registration_number && message.events !== "";
|
|
33
|
+
if (!this.timestampValidator.isTimestampValid(timestamp, message.timestamp)) {
|
|
34
|
+
this.logger.error(new golemio_errors_1.GeneralError(`Message timestamp 'tm' of value ${message.timestamp} is not valid ` +
|
|
35
|
+
`(line ${message.cis_line_id}, trip id ${message.cis_trip_number})`, this.constructor.name, undefined, undefined, "pid"));
|
|
36
|
+
continue;
|
|
37
|
+
}
|
|
38
|
+
if (isValidMessage) {
|
|
45
39
|
filteredMessages.push(message);
|
|
46
40
|
}
|
|
47
41
|
}
|
|
@@ -50,21 +44,11 @@ let RegionalBusMessageFilter = exports.RegionalBusMessageFilter = class Regional
|
|
|
50
44
|
}
|
|
51
45
|
return filteredMessages;
|
|
52
46
|
}
|
|
53
|
-
get regNumberWhitelist() {
|
|
54
|
-
const valuePath = "old.datasources.pid.vehicle-positions.regNumberWhitelist.regionalBus";
|
|
55
|
-
const whitelistDict = this.config.getValue(valuePath, {});
|
|
56
|
-
const whitelist = Object.values(whitelistDict);
|
|
57
|
-
if (whitelist[0] !== "*") {
|
|
58
|
-
return whitelist;
|
|
59
|
-
}
|
|
60
|
-
return null;
|
|
61
|
-
}
|
|
62
47
|
};
|
|
63
48
|
exports.RegionalBusMessageFilter = RegionalBusMessageFilter = __decorate([
|
|
64
49
|
(0, tsyringe_1.injectable)(),
|
|
65
|
-
__param(0, (0, tsyringe_1.inject)(CoreToken_1.CoreToken.
|
|
66
|
-
__param(1, (0, tsyringe_1.inject)(
|
|
67
|
-
|
|
68
|
-
__metadata("design:paramtypes", [Object, Object, TimestampValidator_1.TimestampValidator])
|
|
50
|
+
__param(0, (0, tsyringe_1.inject)(CoreToken_1.CoreToken.Logger)),
|
|
51
|
+
__param(1, (0, tsyringe_1.inject)(VPContainerToken_1.VPContainerToken.TimestampValidator)),
|
|
52
|
+
__metadata("design:paramtypes", [Object, TimestampValidator_1.TimestampValidator])
|
|
69
53
|
], RegionalBusMessageFilter);
|
|
70
54
|
//# sourceMappingURL=RegionalBusMessageFilter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RegionalBusMessageFilter.js","sourceRoot":"","sources":["../../../../../../../src/integration-engine/vehicle-positions/workers/runs/helpers/regional-bus/RegionalBusMessageFilter.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"RegionalBusMessageFilter.js","sourceRoot":"","sources":["../../../../../../../src/integration-engine/vehicle-positions/workers/runs/helpers/regional-bus/RegionalBusMessageFilter.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AACA,wEAAqE;AAErE,iEAAwE;AAExE,uEAA8E;AAC9E,8DAA2D;AAC3D,6EAAwE;AAGjE,IAAM,wBAAwB,sCAA9B,MAAM,wBAAwB;IACjC,YACsC,MAAe,EACI,kBAAsC;QADzD,WAAM,GAAN,MAAM,CAAS;QACI,uBAAkB,GAAlB,kBAAkB,CAAoB;IAC5F,CAAC;IAEJ;;OAEG;IACI,mBAAmB,CAAC,QAAyC,EAAE,SAAiB;QACnF,IAAI,gBAAgB,GAAoC,EAAE,CAAC;QAC3D,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;YAC5B,MAAM,cAAc,GAChB,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,eAAe,IAAI,OAAO,CAAC,mBAAmB,IAAI,OAAO,CAAC,MAAM,KAAK,EAAE,CAAC;YAC3G,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,SAAS,EAAE,OAAO,CAAC,SAAU,CAAC,EAAE;gBAC1E,IAAI,CAAC,MAAM,CAAC,KAAK,CACb,IAAI,6BAAY,CACZ,mCAAmC,OAAO,CAAC,SAAS,gBAAgB;oBAChE,SAAS,OAAO,CAAC,WAAW,aAAa,OAAO,CAAC,eAAe,GAAG,EACvE,IAAI,CAAC,WAAW,CAAC,IAAI,EACrB,SAAS,EACT,SAAS,EACT,KAAK,CACR,CACJ,CAAC;gBACF,SAAS;aACZ;YAED,IAAI,cAAc,EAAE;gBAChB,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aAClC;SACJ;QAED,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE;YAC/B,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,uDAAuD,CAAC,CAAC;SAChF;QAED,OAAO,gBAAgB,CAAC;IAC5B,CAAC;CACJ,CAAA;mCAvCY,wBAAwB;IADpC,IAAA,qBAAU,GAAE;IAGJ,WAAA,IAAA,iBAAM,EAAC,qBAAS,CAAC,MAAM,CAAC,CAAA;IACxB,WAAA,IAAA,iBAAM,EAAC,mCAAgB,CAAC,kBAAkB,CAAC,CAAA;6CAA6B,uCAAkB;GAHtF,wBAAwB,CAuCpC"}
|
|
@@ -3,9 +3,10 @@ import { Moment } from "@golemio/core/dist/shared/moment-timezone";
|
|
|
3
3
|
import { IMpvPositionContent } from "../../../../../schema-definitions/vehicle-positions/interfaces/IMpvMessageInterfaces";
|
|
4
4
|
import { ITransformationElement, ITransformationResult } from "../interfaces/TransformationInterfaces";
|
|
5
5
|
export declare class MpvMessageTransformation extends BaseTransformation implements ITransformation {
|
|
6
|
+
private static ORIGIN_TIME_FORMAT;
|
|
6
7
|
name: string;
|
|
7
8
|
private config;
|
|
8
|
-
private
|
|
9
|
+
private skipAgencyNames;
|
|
9
10
|
constructor();
|
|
10
11
|
/**
|
|
11
12
|
* Overrides BaseTransformation::transform
|
|
@@ -31,6 +32,7 @@ export declare class MpvMessageTransformation extends BaseTransformation impleme
|
|
|
31
32
|
* @returns {number}
|
|
32
33
|
*/
|
|
33
34
|
private checkMidnight;
|
|
35
|
+
private isBlacklistedAgency;
|
|
34
36
|
/**
|
|
35
37
|
* Fix source negative bearing value due to overflow by adding 256
|
|
36
38
|
*
|
|
@@ -45,9 +47,4 @@ export declare class MpvMessageTransformation extends BaseTransformation impleme
|
|
|
45
47
|
* @returns {stringList}
|
|
46
48
|
*/
|
|
47
49
|
private formatASWStopId;
|
|
48
|
-
/**
|
|
49
|
-
* Returns list of vehicle reg numbers that should be excluded from MPVNet processing
|
|
50
|
-
* (already processed from another source)
|
|
51
|
-
*/
|
|
52
|
-
private get regionalBusRegNumberBlacklist();
|
|
53
50
|
}
|
|
@@ -31,6 +31,7 @@ var PositionTrackingEnum;
|
|
|
31
31
|
class MpvMessageTransformation extends transformations_1.BaseTransformation {
|
|
32
32
|
constructor() {
|
|
33
33
|
super();
|
|
34
|
+
this.skipAgencyNames = [DPPUtils_1.default.DPP_AGENCY_NAME];
|
|
34
35
|
/**
|
|
35
36
|
* Overrides BaseTransformation::transform
|
|
36
37
|
*/
|
|
@@ -61,14 +62,9 @@ class MpvMessageTransformation extends transformations_1.BaseTransformation {
|
|
|
61
62
|
this.transformElement = (element) => __awaiter(this, void 0, void 0, function* () {
|
|
62
63
|
var _a, _b;
|
|
63
64
|
const attributes = element.$;
|
|
64
|
-
// DPP and regional bus trips to be excluded in HTTP ingress
|
|
65
|
-
const isDPPTrip = attributes.dopr === DPPUtils_1.default.DPP_AGENCY_NAME;
|
|
66
|
-
const isRegionalBusTrip = !!attributes.vuzevc &&
|
|
67
|
-
this.regionalBusRegNumberBlacklist &&
|
|
68
|
-
this.regionalBusRegNumberBlacklist.includes(attributes.vuzevc);
|
|
69
65
|
// Trips with null cpoz (origin time) and falsy or "false" zrus (cancellation) attributes are excluded
|
|
70
66
|
const hasInvalidAttributes = !attributes.cpoz && (!attributes.zrus || attributes.zrus === "false");
|
|
71
|
-
if (
|
|
67
|
+
if (this.isBlacklistedAgency(attributes.dopr) || hasInvalidAttributes) {
|
|
72
68
|
return null;
|
|
73
69
|
}
|
|
74
70
|
attributes.lin = attributes.lin || "none";
|
|
@@ -233,6 +229,12 @@ class MpvMessageTransformation extends transformations_1.BaseTransformation {
|
|
|
233
229
|
};
|
|
234
230
|
this.name = vehicle_positions_1.VehiclePositions.name;
|
|
235
231
|
this.config = Di_1.IntegrationEngineContainer.resolve(CoreToken_1.CoreToken.SimpleConfig);
|
|
232
|
+
this.skipAgencyNames = this.skipAgencyNames.concat(this.config
|
|
233
|
+
.getValue("module.pid.vehicle-positions.mpvIntegration.skipAgencyNames", "ARRIVA CITY,ARRIVA CITY (Neratovice)")
|
|
234
|
+
.split(","));
|
|
235
|
+
}
|
|
236
|
+
isBlacklistedAgency(agency) {
|
|
237
|
+
return agency && this.skipAgencyNames.includes(agency);
|
|
236
238
|
}
|
|
237
239
|
/**
|
|
238
240
|
* Fix source negative bearing value due to overflow by adding 256
|
|
@@ -255,19 +257,6 @@ class MpvMessageTransformation extends transformations_1.BaseTransformation {
|
|
|
255
257
|
const aswParsedStopPostId = parseInt(stopId, 10) - aswParsedStopNodeId * fixedRightPadFactor;
|
|
256
258
|
return aswParsedStopNodeId + "/" + aswParsedStopPostId;
|
|
257
259
|
}
|
|
258
|
-
/**
|
|
259
|
-
* Returns list of vehicle reg numbers that should be excluded from MPVNet processing
|
|
260
|
-
* (already processed from another source)
|
|
261
|
-
*/
|
|
262
|
-
get regionalBusRegNumberBlacklist() {
|
|
263
|
-
const valuePath = "old.datasources.pid.vehicle-positions.regNumberWhitelist.regionalBus";
|
|
264
|
-
const blacklistDict = this.config.getValue(valuePath, {});
|
|
265
|
-
const blacklist = Object.values(blacklistDict);
|
|
266
|
-
if (blacklist.length > 0 && blacklist[0] !== "*") {
|
|
267
|
-
return blacklist;
|
|
268
|
-
}
|
|
269
|
-
return null;
|
|
270
|
-
}
|
|
271
260
|
}
|
|
272
261
|
exports.MpvMessageTransformation = MpvMessageTransformation;
|
|
273
262
|
MpvMessageTransformation.ORIGIN_TIME_FORMAT = "HH:mm:ss";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MpvMessageTransformation.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/transformations/MpvMessageTransformation.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2FAA0D;AAG1D,wEAAqE;AACrE,qEAA0F;AAC1F,2FAA4G;AAC5G,gGAA2E;AAC3E,gDAAgE;AAChE,mEAA2C;AAC3C,8EAA2E;AAC3E,oEAAiE;AAGjE,0EAA4D;AAE5D,IAAK,oBAGJ;AAHD,WAAK,oBAAoB;IACrB,0CAAkB,CAAA;IAClB,sCAAc,CAAA;AAClB,CAAC,EAHI,oBAAoB,KAApB,oBAAoB,QAGxB;AAED,MAAa,wBAAyB,SAAQ,oCAAkB;
|
|
1
|
+
{"version":3,"file":"MpvMessageTransformation.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/transformations/MpvMessageTransformation.ts"],"names":[],"mappings":"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"}
|
|
@@ -124,6 +124,10 @@ class DepartureBoardsRouter extends BaseRouter_1.BaseRouter {
|
|
|
124
124
|
};
|
|
125
125
|
this.initDepartureBoardsEndpoints = () => {
|
|
126
126
|
this.router.get("/", [
|
|
127
|
+
(0, express_validator_1.query)("ids").optional(),
|
|
128
|
+
(0, express_validator_1.query)("aswIds").optional(),
|
|
129
|
+
(0, express_validator_1.query)("cisIds").optional(),
|
|
130
|
+
(0, express_validator_1.query)("names").optional(),
|
|
127
131
|
(0, express_validator_1.oneOf)([
|
|
128
132
|
(0, express_validator_1.query)("ids").not().isEmpty({ ignore_whitespace: true }),
|
|
129
133
|
(0, express_validator_1.query)("aswIds").not().isEmpty({ ignore_whitespace: true }),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DepartureBoardsRouter.js","sourceRoot":"","sources":["../../../src/output-gateway/departure-boards/DepartureBoardsRouter.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"DepartureBoardsRouter.js","sourceRoot":"","sources":["../../../src/output-gateway/departure-boards/DepartureBoardsRouter.ts"],"names":[],"mappings":"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"}
|
|
@@ -21,6 +21,10 @@ class PIDRouter extends BaseRouter_1.BaseRouter {
|
|
|
21
21
|
this.registerDepartureBoardsRoutes = () => {
|
|
22
22
|
const { preferredTimezone, departureBoards: { departureMode, order, filter, skip }, } = constants_1.ValidationArrays;
|
|
23
23
|
const validation = [
|
|
24
|
+
(0, express_validator_1.query)("aswIds").optional(),
|
|
25
|
+
(0, express_validator_1.query)("cisIds").optional(),
|
|
26
|
+
(0, express_validator_1.query)("ids").optional(),
|
|
27
|
+
(0, express_validator_1.query)("names").optional(),
|
|
24
28
|
(0, express_validator_1.oneOf)([
|
|
25
29
|
(0, express_validator_1.query)("aswIds").exists().custom(ParamValidatorManager_1.ParamValidatorManager.getAswIdsValidator()),
|
|
26
30
|
(0, express_validator_1.query)("cisIds").exists().isInt(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PIDRouter.js","sourceRoot":"","sources":["../../../src/output-gateway/pid/PIDRouter.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"PIDRouter.js","sourceRoot":"","sources":["../../../src/output-gateway/pid/PIDRouter.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,4 +10,5 @@ export declare class StopTimesTripScopeHandler extends AbstractDetailedTripScope
|
|
|
10
10
|
constructor(delayComputationRepository: IDelayComputationRepository, stopTimeRepository: IStopTimeRepository);
|
|
11
11
|
handle(output: IPublicApiDetailedTrip, vehiclePosition: IPublicApiCacheDto): Promise<IPublicApiDetailedTrip>;
|
|
12
12
|
private filterNoStopWaypoints;
|
|
13
|
+
private checkStopTimesSequence;
|
|
13
14
|
}
|
package/dist/output-gateway/public/service/helpers/trip-scope/strategy/StopTimesTripScopeHandler.js
CHANGED
|
@@ -46,22 +46,28 @@ let StopTimesTripScopeHandler = exports.StopTimesTripScopeHandler = class StopTi
|
|
|
46
46
|
const stopTimes = this.tripStopTimesTransformation.transformArray(filteredStopTimes);
|
|
47
47
|
const stopTimesWithDelay = yield this.stopTimeRepository.getPublicStopTimeCache(vehiclePosition.vehicle_id, vehiclePosition.gtfs_trip_id);
|
|
48
48
|
if (stopTimesWithDelay.length > 0) {
|
|
49
|
+
let prevStopArrivalTime = null;
|
|
50
|
+
let prevStopDepartureTime = null;
|
|
49
51
|
for (const stopTimeWithDelay of stopTimesWithDelay) {
|
|
50
52
|
const stopTime = stopTimes[stopTimeWithDelay.sequence - 1];
|
|
51
53
|
if (stopTime) {
|
|
52
54
|
// note: optimization point here in case of worsening performance on output API (additional cache)
|
|
53
55
|
const rtArrivalTime = stopTimeWithDelay.arr_delay === null
|
|
54
56
|
? null
|
|
55
|
-
: luxon_1.DateTime.fromFormat(stopTime.properties.arrival_time, "HH:mm:ss")
|
|
56
|
-
|
|
57
|
-
|
|
57
|
+
: luxon_1.DateTime.fromFormat(stopTime.properties.arrival_time, "HH:mm:ss").plus({
|
|
58
|
+
seconds: stopTimeWithDelay.arr_delay,
|
|
59
|
+
});
|
|
58
60
|
const rtDepartureTime = stopTimeWithDelay.dep_delay === null
|
|
59
61
|
? null
|
|
60
|
-
: luxon_1.DateTime.fromFormat(stopTime.properties.departure_time, "HH:mm:ss")
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
62
|
+
: luxon_1.DateTime.fromFormat(stopTime.properties.departure_time, "HH:mm:ss").plus({
|
|
63
|
+
seconds: stopTimeWithDelay.dep_delay,
|
|
64
|
+
});
|
|
65
|
+
// note: for better performance, we should address this on the DB side in the future
|
|
66
|
+
const { currentArrival, currentDeparture } = this.checkStopTimesSequence(rtArrivalTime, prevStopArrivalTime, rtDepartureTime, prevStopDepartureTime);
|
|
67
|
+
prevStopArrivalTime = currentArrival;
|
|
68
|
+
prevStopDepartureTime = currentDeparture;
|
|
69
|
+
stopTime.properties.realtime_arrival_time = currentArrival ? currentArrival.toFormat("HH:mm:ss") : null;
|
|
70
|
+
stopTime.properties.realtime_departure_time = currentDeparture ? currentDeparture.toFormat("HH:mm:ss") : null;
|
|
65
71
|
}
|
|
66
72
|
}
|
|
67
73
|
}
|
|
@@ -72,6 +78,19 @@ let StopTimesTripScopeHandler = exports.StopTimesTripScopeHandler = class StopTi
|
|
|
72
78
|
filterNoStopWaypoints(stopTimes) {
|
|
73
79
|
return stopTimes.filter((stopTime) => !stopTime.is_no_stop_waypoint);
|
|
74
80
|
}
|
|
81
|
+
checkStopTimesSequence(rtArrival, prevArrival, rtDeparture, prevDeparture) {
|
|
82
|
+
const returnValue = {
|
|
83
|
+
currentArrival: rtArrival,
|
|
84
|
+
currentDeparture: rtDeparture,
|
|
85
|
+
};
|
|
86
|
+
if (rtArrival > rtDeparture || prevDeparture > rtDeparture || prevArrival > rtDeparture) {
|
|
87
|
+
returnValue.currentDeparture = null;
|
|
88
|
+
}
|
|
89
|
+
if (prevDeparture > rtArrival || prevArrival > rtArrival) {
|
|
90
|
+
returnValue.currentArrival = null;
|
|
91
|
+
}
|
|
92
|
+
return returnValue;
|
|
93
|
+
}
|
|
75
94
|
};
|
|
76
95
|
exports.StopTimesTripScopeHandler = StopTimesTripScopeHandler = __decorate([
|
|
77
96
|
(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;AAGpI,+DAAsF;AAEtF,6EAAwE;AACxE,2DAA2D;AAC3D,iEAAwE;AACxE,yFAAsF;AAG/E,IAAM,yBAAyB,uCAA/B,MAAM,yBAA0B,SAAQ,mEAAgC;IAG3E,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;YAErF,MAAM,kBAAkB,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,sBAAsB,CAC3E,eAAe,CAAC,UAAU,EAC1B,eAAe,CAAC,YAAY,CAC/B,CAAC;YACF,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
|
|
1
|
+
{"version":3,"file":"StopTimesTripScopeHandler.js","sourceRoot":"","sources":["../../../../../../../src/output-gateway/public/service/helpers/trip-scope/strategy/StopTimesTripScopeHandler.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@golemio/pid",
|
|
3
|
-
"version": "2.14.
|
|
3
|
+
"version": "2.14.4-dev.1368003691",
|
|
4
4
|
"description": "Golemio PID Module",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -76,7 +76,7 @@
|
|
|
76
76
|
"@golemio/core": ">=1.9.16"
|
|
77
77
|
},
|
|
78
78
|
"dependencies": {
|
|
79
|
-
"@golemio/ovapi-gtfs-realtime-bindings": "1.2.
|
|
79
|
+
"@golemio/ovapi-gtfs-realtime-bindings": "1.2.4-dev.1288219308",
|
|
80
80
|
"@turf/turf": "^6.5.0",
|
|
81
81
|
"cheap-ruler": "^3.0.2",
|
|
82
82
|
"csv-parser": "^3.0.0",
|