@golemio/pid 2.8.11-dev.992864378 → 2.9.0
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/03_ropidgtfs_dump.sql +2 -2
- package/db/example/12_metro_line_A_gtfs_trips.sql +12 -7
- package/db/example/13_http-propagate-delay.sql +5 -5
- package/db/migrations/postgresql/20230831141134-trip-number.js +53 -0
- package/db/migrations/postgresql/sqls/20230831141134-trip-number-down.sql +3 -0
- package/db/migrations/postgresql/sqls/20230831141134-trip-number-up.sql +3 -0
- package/dist/integration-engine/ropid-gtfs/data-access/precomputed/TripScheduleRepository.js +4 -2
- package/dist/integration-engine/ropid-gtfs/data-access/precomputed/TripScheduleRepository.js.map +1 -1
- package/dist/integration-engine/ropid-gtfs/workers/railtrack/tasks/SaveMetroRailtrackDataToDBTask.js +0 -4
- package/dist/integration-engine/ropid-gtfs/workers/railtrack/tasks/SaveMetroRailtrackDataToDBTask.js.map +1 -1
- package/dist/integration-engine/ropid-gtfs/workers/railtrack/tasks/data-access/MetroRailtrackGPSRepository.js +3 -16
- package/dist/integration-engine/ropid-gtfs/workers/railtrack/tasks/data-access/MetroRailtrackGPSRepository.js.map +1 -1
- package/dist/integration-engine/vehicle-positions/ioc/Di.js +0 -8
- package/dist/integration-engine/vehicle-positions/ioc/Di.js.map +1 -1
- package/dist/integration-engine/vehicle-positions/ioc/VPContainerToken.d.ts +0 -3
- package/dist/integration-engine/vehicle-positions/ioc/VPContainerToken.js +0 -9
- package/dist/integration-engine/vehicle-positions/ioc/VPContainerToken.js.map +1 -1
- package/dist/integration-engine/vehicle-positions/workers/runs/helpers/MetroRouteHelper.d.ts +0 -3
- package/dist/integration-engine/vehicle-positions/workers/runs/helpers/MetroRouteHelper.js +0 -12
- package/dist/integration-engine/vehicle-positions/workers/runs/helpers/MetroRouteHelper.js.map +1 -1
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/PositionsManager.d.ts +0 -3
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/PositionsManager.js +117 -113
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/PositionsManager.js.map +1 -1
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/interfaces/VPInterfaces.d.ts +2 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/UpdateDelayTask.d.ts +0 -1
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/UpdateDelayTask.js +1 -8
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/UpdateDelayTask.js.map +1 -1
- package/dist/output-gateway/vehicle-positions/VehiclePositionsRouter.js +1 -5
- package/dist/output-gateway/vehicle-positions/VehiclePositionsRouter.js.map +1 -1
- package/dist/schema-definitions/ropid-gtfs/RopidGTFSPrecomputed.d.ts +3 -0
- package/dist/schema-definitions/ropid-gtfs/RopidGTFSPrecomputed.js +4 -0
- package/dist/schema-definitions/ropid-gtfs/RopidGTFSPrecomputed.js.map +1 -1
- package/dist/schema-definitions/ropid-gtfs/RopidGTFSRunNumbers.d.ts +7 -0
- package/dist/schema-definitions/ropid-gtfs/RopidGTFSRunNumbers.js +10 -0
- package/dist/schema-definitions/ropid-gtfs/RopidGTFSRunNumbers.js.map +1 -1
- package/package.json +2 -2
- package/db/example/17_metroRailtrack.sql +0 -357
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/metro/CachedMetroRailtrackLookup.d.ts +0 -9
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/metro/CachedMetroRailtrackLookup.js +0 -59
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/metro/CachedMetroRailtrackLookup.js.map +0 -1
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/metro/MetroShapePointsFixer.d.ts +0 -11
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/metro/MetroShapePointsFixer.js +0 -117
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/metro/MetroShapePointsFixer.js.map +0 -1
|
@@ -533,9 +533,9 @@ INSERT INTO "ropidgtfs_cis_stop_groups_actual"("avg_jtsk_x","avg_jtsk_y","avg_la
|
|
|
533
533
|
VALUES
|
|
534
534
|
(-737498.7,-1041664.5,50.1059647,14.4922361,47178,E'AB',E'Českomoravská',E'301003',E'Českomoravská',E'Praha',E'Českomoravská',510,E'2021-05-19 05:35:04.963+02',E'Českomoravská',NULL,NULL,NULL,E'2021-05-19 05:35:04.963+02',NULL);
|
|
535
535
|
|
|
536
|
-
INSERT INTO "ropidgtfs_run_numbers_actual"("route_id","run_number","service_id","trip_id","vehicle_type","created_at","create_batch_id","created_by","update_batch_id","updated_at","updated_by")
|
|
536
|
+
INSERT INTO "ropidgtfs_run_numbers_actual"("route_id","run_number","service_id","trip_id","vehicle_type","trip_number","created_at","create_batch_id","created_by","update_batch_id","updated_at","updated_by")
|
|
537
537
|
VALUES
|
|
538
|
-
(E'L991',1,E'1111100-1',E'991_1_210419',3,E'2021-05-19 05:35:04.963+02',NULL,NULL,NULL,E'2021-05-19 05:35:04.963+02',NULL);
|
|
538
|
+
(E'L991',1,E'1111100-1',E'991_1_210419',3,NULL,E'2021-05-19 05:35:04.963+02',NULL,NULL,NULL,E'2021-05-19 05:35:04.963+02',NULL);
|
|
539
539
|
|
|
540
540
|
INSERT INTO ropidgtfs_trips_actual (trip_id,bikes_allowed,block_id,direction_id,exceptional,route_id,service_id,shape_id,trip_headsign,trip_operation_type,trip_short_name,wheelchair_accessible,create_batch_id,created_at,created_by,update_batch_id,updated_at,updated_by) VALUES
|
|
541
541
|
('991_1_210419',1,NULL,0,0,'L991','0000001-1','L991V2','Nemocnice Motol',NULL,NULL,1,NULL,'2023-04-09 05:27:39.626',NULL,NULL,'2023-04-09 05:27:39.626',NULL);
|
|
@@ -92,13 +92,18 @@ INSERT INTO ropidgtfs_trips_actual (bikes_allowed,block_id,direction_id,exceptio
|
|
|
92
92
|
(1,NULL,1,0,'L991','1111111-1','L991V6','Skalka','991_78_220321',NULL,NULL,1,-1,'2022-10-24 10:22:47.459+02',NULL,-1,'2022-10-24 10:22:47.459+02',NULL),
|
|
93
93
|
(1,NULL,0,0,'L991','1111111-2','L991V1','Nemocnice Motol','991_124_201230',NULL,NULL,1,-1,'2022-10-24 10:22:47.459+02',NULL,-1,'2022-10-24 10:22:47.459+02',NULL);
|
|
94
94
|
|
|
95
|
-
INSERT INTO ropidgtfs_run_numbers_actual (route_id,run_number,service_id,trip_id,vehicle_type,create_batch_id,created_at,created_by,update_batch_id,updated_at,updated_by) VALUES
|
|
96
|
-
('L991',5,'1111111-1','991_77_220901',3,NULL,'2022-10-24 10:23:04.722+02',NULL,NULL,'2022-10-24 10:23:04.722+02',NULL),
|
|
97
|
-
('L991',5,'1111111-1','991_78_220321',3,NULL,'2022-10-24 10:23:04.722+02',NULL,NULL,'2022-10-24 10:23:04.722+02',NULL),
|
|
98
|
-
('L991',5,'1111111-1','991_124_201230',3,NULL,'2022-10-24 10:23:04.722+02',NULL,NULL,'2022-10-24 10:23:04.722+02',NULL),
|
|
99
|
-
('L991',8,'1111111-3','991_124_201230',3,NULL,'2022-10-24 10:23:04.722+02',NULL,NULL,'2022-10-24 10:23:04.722+02',NULL),
|
|
100
|
-
('L991',9,'1111111-1','991_294_220901',3,NULL,'2022-10-24 10:23:04.722+02',NULL,NULL,'2022-10-24 10:23:04.722+02',NULL),
|
|
101
|
-
('L991',17,'1111111-3','991_294_220901',3,NULL,'2022-10-24 10:23:04.722+02',NULL,NULL,'2022-10-24 10:23:04.722+02',NULL);
|
|
95
|
+
INSERT INTO ropidgtfs_run_numbers_actual (route_id,run_number,service_id,trip_id,vehicle_type,trip_number,create_batch_id,created_at,created_by,update_batch_id,updated_at,updated_by) VALUES
|
|
96
|
+
('L991',5,'1111111-1','991_77_220901',3,NULL,NULL,'2022-10-24 10:23:04.722+02',NULL,NULL,'2022-10-24 10:23:04.722+02',NULL),
|
|
97
|
+
('L991',5,'1111111-1','991_78_220321',3,NULL,NULL,'2022-10-24 10:23:04.722+02',NULL,NULL,'2022-10-24 10:23:04.722+02',NULL),
|
|
98
|
+
('L991',5,'1111111-1','991_124_201230',3,NULL,NULL,'2022-10-24 10:23:04.722+02',NULL,NULL,'2022-10-24 10:23:04.722+02',NULL),
|
|
99
|
+
('L991',8,'1111111-3','991_124_201230',3,NULL,NULL,'2022-10-24 10:23:04.722+02',NULL,NULL,'2022-10-24 10:23:04.722+02',NULL),
|
|
100
|
+
('L991',9,'1111111-1','991_294_220901',3,NULL,NULL,'2022-10-24 10:23:04.722+02',NULL,NULL,'2022-10-24 10:23:04.722+02',NULL),
|
|
101
|
+
('L991',17,'1111111-3','991_294_220901',3,NULL,NULL,'2022-10-24 10:23:04.722+02',NULL,NULL,'2022-10-24 10:23:04.722+02',NULL);
|
|
102
|
+
|
|
103
|
+
INSERT INTO ropidgtfs_metro_railtrack_gps (track_id, route_name, coordinates, gtfs_stop_id) VALUES
|
|
104
|
+
('1806', 'A', ST_PointFromText('POINT(14.36282 50.09837)', 4326), 'U157Z102P'),
|
|
105
|
+
('1209', 'A', ST_PointFromText('POINT(14.43101 50.079954)', 4326), NULL),
|
|
106
|
+
('1211', 'A', ST_PointFromText('POINT(14.429208 50.081053)', 4326), NULL);
|
|
102
107
|
|
|
103
108
|
WITH init_values AS (
|
|
104
109
|
SELECT CAST(current_date - INTERVAL '1 day' + INTERVAL '10 hour' AS TIMESTAMP WITH TIME ZONE) AT TIME ZONE 'Europe/Prague' AS origin_datetime
|
|
@@ -20,12 +20,12 @@ VALUES
|
|
|
20
20
|
|
|
21
21
|
|
|
22
22
|
-- run_numbers
|
|
23
|
-
INSERT INTO "ropidgtfs_run_numbers_actual"("route_id","run_number","service_id","trip_id","vehicle_type","create_batch_id","created_at","created_by","update_batch_id","updated_at","updated_by")
|
|
23
|
+
INSERT INTO "ropidgtfs_run_numbers_actual"("route_id","run_number","service_id","trip_id","vehicle_type","trip_number","create_batch_id","created_at","created_by","update_batch_id","updated_at","updated_by")
|
|
24
24
|
VALUES
|
|
25
|
-
(E'L212',2,E'1111100-5',E'212_365_221211',42,-1,E'2022-12-23 05:36:28.005+01',NULL,-1,E'2022-12-23 05:36:28.005+01',NULL),
|
|
26
|
-
(E'L212',2,E'1111100-5',E'212_366_221211',42,-1,E'2022-12-23 05:36:28.005+01',NULL,-1,E'2022-12-23 05:36:28.005+01',NULL),
|
|
27
|
-
(E'L212',2,E'1111100-5',E'212_367_221211',42,-1,E'2022-12-23 05:36:28.005+01',NULL,-1,E'2022-12-23 05:36:28.005+01',NULL),
|
|
28
|
-
(E'L212',2,E'1111100-5',E'212_368_221211',42,-1,E'2022-12-23 05:36:28.005+01',NULL,-1,E'2022-12-23 05:36:28.005+01',NULL);
|
|
25
|
+
(E'L212',2,E'1111100-5',E'212_365_221211',42,-1,NULL,E'2022-12-23 05:36:28.005+01',NULL,-1,E'2022-12-23 05:36:28.005+01',NULL),
|
|
26
|
+
(E'L212',2,E'1111100-5',E'212_366_221211',42,-1,NULL,E'2022-12-23 05:36:28.005+01',NULL,-1,E'2022-12-23 05:36:28.005+01',NULL),
|
|
27
|
+
(E'L212',2,E'1111100-5',E'212_367_221211',42,-1,NULL,E'2022-12-23 05:36:28.005+01',NULL,-1,E'2022-12-23 05:36:28.005+01',NULL),
|
|
28
|
+
(E'L212',2,E'1111100-5',E'212_368_221211',42,-1,NULL,E'2022-12-23 05:36:28.005+01',NULL,-1,E'2022-12-23 05:36:28.005+01',NULL);
|
|
29
29
|
|
|
30
30
|
-- stops
|
|
31
31
|
INSERT INTO "ropidgtfs_stops_actual"("location_type","parent_station","platform_code","stop_id","stop_lat","stop_lon","stop_name","stop_url","wheelchair_boarding","zone_id","create_batch_id","created_at","created_by","update_batch_id","updated_at","updated_by","level_id","stop_code","stop_desc","stop_timezone","asw_node_id","asw_stop_id")
|
|
@@ -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', '20230831141134-trip-number-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', '20230831141134-trip-number-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/dist/integration-engine/ropid-gtfs/data-access/precomputed/TripScheduleRepository.js
CHANGED
|
@@ -93,7 +93,8 @@ class TripScheduleRepository extends models_1.PostgresModel {
|
|
|
93
93
|
END as end_timestamp,
|
|
94
94
|
t0.first_stop_id,
|
|
95
95
|
t0.last_stop_id,
|
|
96
|
-
right(t0.origin_route_id, -1) as origin_route_name
|
|
96
|
+
right(t0.origin_route_id, -1) as origin_route_name,
|
|
97
|
+
t0.trip_number
|
|
97
98
|
FROM (
|
|
98
99
|
SELECT
|
|
99
100
|
t1.route_id AS origin_route_id,
|
|
@@ -114,7 +115,8 @@ class TripScheduleRepository extends models_1.PostgresModel {
|
|
|
114
115
|
LEAST(t5.arrival_time::INTERVAL, t5.departure_time::INTERVAL) AS min_stop_time,
|
|
115
116
|
GREATEST(t6.arrival_time::INTERVAL, t6.departure_time::INTERVAL) AS max_stop_time,
|
|
116
117
|
t5.stop_id AS first_stop_id,
|
|
117
|
-
t6.stop_id AS last_stop_id
|
|
118
|
+
t6.stop_id AS last_stop_id,
|
|
119
|
+
t1.trip_number
|
|
118
120
|
FROM "${const_1.PG_SCHEMA}".ropidgtfs_run_numbers${sourceTableSuffix} t1
|
|
119
121
|
INNER JOIN "${const_1.PG_SCHEMA}".ropidgtfs_precomputed_services_calendar_tmp t3 ON t1.service_id = t3.service_id
|
|
120
122
|
INNER JOIN "${const_1.PG_SCHEMA}".ropidgtfs_precomputed_minmax_stop_sequences_tmp t4 ON t1.trip_id = t4.trip_id
|
package/dist/integration-engine/ropid-gtfs/data-access/precomputed/TripScheduleRepository.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TripScheduleRepository.js","sourceRoot":"","sources":["../../../../../src/integration-engine/ropid-gtfs/data-access/precomputed/TripScheduleRepository.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,gEAAuC;AACvC,0EAA4C;AAE5C,2EAAoE;AACpE,yEAAqF;AACrF,mFAAkF;AAElF,+EAA4E;AAE5E,MAAa,sBAAuB,SAAQ,sBAAa;IACrD;QACI,KAAK,CACD,wBAAwB,EACxB;YACI,yBAAyB,EAAE,sBAAS,CAAC,YAAY,CAAC,yBAAyB;YAC3E,WAAW,EAAE,sBAAS,CAAC,YAAY,CAAC,WAAW;YAC/C,QAAQ,EAAE,iBAAS;YACnB,UAAU,EAAE,YAAY;YACxB,kBAAkB,EAAE,CAAC,IAAI,EAAE,YAAY,EAAE,YAAY,CAAC;SACzD,EACD,IAAI,uCAAmB,CAAC,iCAAiC,EAAE,sBAAS,CAAC,YAAY,CAAC,gBAAgB,CAAC,CACtG,CAAC;QAGC,YAAO,GAAG,CAAC,OAAoB,EAA2B,EAAE;YAC/D,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,iBAAG,GAAG,EAAE,IAAI,IAAK,OAAO,EAAG,CAAC;QAClE,CAAC,CAAC;QAEK,aAAQ,GAAG,CAAO,iBAAwC,EAAiB,EAAE;YAChF,4BAA4B;YAC5B,MAAM,GAAG,GAAG
|
|
1
|
+
{"version":3,"file":"TripScheduleRepository.js","sourceRoot":"","sources":["../../../../../src/integration-engine/ropid-gtfs/data-access/precomputed/TripScheduleRepository.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,gEAAuC;AACvC,0EAA4C;AAE5C,2EAAoE;AACpE,yEAAqF;AACrF,mFAAkF;AAElF,+EAA4E;AAE5E,MAAa,sBAAuB,SAAQ,sBAAa;IACrD;QACI,KAAK,CACD,wBAAwB,EACxB;YACI,yBAAyB,EAAE,sBAAS,CAAC,YAAY,CAAC,yBAAyB;YAC3E,WAAW,EAAE,sBAAS,CAAC,YAAY,CAAC,WAAW;YAC/C,QAAQ,EAAE,iBAAS;YACnB,UAAU,EAAE,YAAY;YACxB,kBAAkB,EAAE,CAAC,IAAI,EAAE,YAAY,EAAE,YAAY,CAAC;SACzD,EACD,IAAI,uCAAmB,CAAC,iCAAiC,EAAE,sBAAS,CAAC,YAAY,CAAC,gBAAgB,CAAC,CACtG,CAAC;QAGC,YAAO,GAAG,CAAC,OAAoB,EAA2B,EAAE;YAC/D,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,iBAAG,GAAG,EAAE,IAAI,IAAK,OAAO,EAAG,CAAC;QAClE,CAAC,CAAC;QAEK,aAAQ,GAAG,CAAO,iBAAwC,EAAiB,EAAE;YAChF,4BAA4B;YAC5B,MAAM,GAAG,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wBAuFI,iBAAS,0BAA0B,iBAAiB;8BAC9C,iBAAS;8BACT,iBAAS;6BACV,iBAAS,oBAAoB,iBAAiB;6BAC9C,iBAAS,qBAAqB,iBAAiB;6BAC/C,iBAAS,yBAAyB,iBAAiB;6BACnD,iBAAS,yBAAyB,iBAAiB;;SAEvE,CAAC;YACF,2BAA2B;YAE3B,IAAI;gBACA,MAAM,QAAQ,GAAG,sBAAS,CAAC,YAAY,CAAC,WAAW,GAAG,6CAAqB,CAAC,GAAG,CAAC;gBAEhF,MAAM,IAAI,CAAC,cAAc,CAAC,SAAU,CAAC,KAAK,CAAC,gBAAgB,iBAAS,KAAK,QAAQ,IAAI,GAAG,GAAG,CAAC,CAAC;aAChG;YAAC,OAAO,GAAG,EAAE;gBACV,aAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACf,MAAM,GAAG,CAAC;aACb;QACL,CAAC,CAAA,CAAC;IAlHF,CAAC;CAmHJ;AAhID,wDAgIC"}
|
package/dist/integration-engine/ropid-gtfs/workers/railtrack/tasks/SaveMetroRailtrackDataToDBTask.js
CHANGED
|
@@ -14,10 +14,6 @@ const workers_1 = require("@golemio/core/dist/integration-engine/workers");
|
|
|
14
14
|
const MetroRailtrackGPSRepository_1 = require("./data-access/MetroRailtrackGPSRepository");
|
|
15
15
|
const MetroRailtrackDataTransformation_1 = require("./transformations/MetroRailtrackDataTransformation");
|
|
16
16
|
const MetroRailtrackDataSchema_1 = require("./schema/MetroRailtrackDataSchema");
|
|
17
|
-
/*
|
|
18
|
-
* In case of update of the data for metro railtrack.
|
|
19
|
-
* It is necessary to restart the service to reload cache 'CacheMetroRailtrackLookup'.
|
|
20
|
-
*/
|
|
21
17
|
class SaveMetroRailtrackDataToDBTask extends workers_1.AbstractTask {
|
|
22
18
|
constructor(queuePrefix) {
|
|
23
19
|
super(queuePrefix);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SaveMetroRailtrackDataToDBTask.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/ropid-gtfs/workers/railtrack/tasks/SaveMetroRailtrackDataToDBTask.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2EAA6E;AAC7E,2FAAwF;AACxF,yGAAsG;AAEtG,gFAAuF;AAEvF
|
|
1
|
+
{"version":3,"file":"SaveMetroRailtrackDataToDBTask.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/ropid-gtfs/workers/railtrack/tasks/SaveMetroRailtrackDataToDBTask.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2EAA6E;AAC7E,2FAAwF;AACxF,yGAAsG;AAEtG,gFAAuF;AAEvF,MAAa,8BAA+B,SAAQ,sBAAsC;IAQtF,YAAY,WAAmB;QAC3B,KAAK,CAAC,WAAW,CAAC,CAAC;QARP,cAAS,GAAG,4BAA4B,CAAC;QACzC,aAAQ,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,YAAY;QACtC,WAAM,GAAG,6DAAkC,CAAC;QAOxD,IAAI,CAAC,2BAA2B,GAAG,IAAI,mEAAgC,EAAE,CAAC;QAC1E,IAAI,CAAC,sBAAsB,GAAG,IAAI,yDAA2B,EAAE,CAAC;IACpE,CAAC;IAEe,OAAO,CAAC,IAA8B;;YAClD,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,2BAA2B,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAChF,MAAM,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;QACjE,CAAC;KAAA;CACJ;AAlBD,wEAkBC"}
|
|
@@ -1,13 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
-
};
|
|
8
|
-
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
-
};
|
|
11
2
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
12
3
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
13
4
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
@@ -29,8 +20,7 @@ const models_1 = require("@golemio/core/dist/integration-engine/models");
|
|
|
29
20
|
const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
|
|
30
21
|
const golemio_validator_1 = require("@golemio/core/dist/shared/golemio-validator");
|
|
31
22
|
const sequelize_1 = __importDefault(require("@golemio/core/dist/shared/sequelize"));
|
|
32
|
-
|
|
33
|
-
let MetroRailtrackGPSRepository = exports.MetroRailtrackGPSRepository = class MetroRailtrackGPSRepository extends models_1.PostgresModel {
|
|
23
|
+
class MetroRailtrackGPSRepository extends models_1.PostgresModel {
|
|
34
24
|
constructor() {
|
|
35
25
|
super("MetroRailtrackGPSRepository", {
|
|
36
26
|
pgTableName: MetroRailtrackGPSModel_1.MetroRailtrackGPSModel.TABLE_NAME,
|
|
@@ -88,9 +78,6 @@ let MetroRailtrackGPSRepository = exports.MetroRailtrackGPSRepository = class Me
|
|
|
88
78
|
}
|
|
89
79
|
});
|
|
90
80
|
}
|
|
91
|
-
}
|
|
92
|
-
exports.MetroRailtrackGPSRepository = MetroRailtrackGPSRepository
|
|
93
|
-
(0, tsyringe_1.injectable)(),
|
|
94
|
-
__metadata("design:paramtypes", [])
|
|
95
|
-
], MetroRailtrackGPSRepository);
|
|
81
|
+
}
|
|
82
|
+
exports.MetroRailtrackGPSRepository = MetroRailtrackGPSRepository;
|
|
96
83
|
//# sourceMappingURL=MetroRailtrackGPSRepository.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MetroRailtrackGPSRepository.js","sourceRoot":"","sources":["../../../../../../../src/integration-engine/ropid-gtfs/workers/railtrack/tasks/data-access/MetroRailtrackGPSRepository.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"MetroRailtrackGPSRepository.js","sourceRoot":"","sources":["../../../../../../../src/integration-engine/ropid-gtfs/workers/railtrack/tasks/data-access/MetroRailtrackGPSRepository.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,sEAAuC;AACvC,oIAAiG;AACjG,2EAAoE;AACpE,yEAAqF;AACrF,6EAAwE;AACxE,mFAAkF;AAClF,oFAA6E;AAG7E,MAAa,2BAA4B,SAAQ,sBAAa;IAC1D;QACI,KAAK,CACD,6BAA6B,EAC7B;YACI,WAAW,EAAE,+CAAsB,CAAC,UAAU;YAC9C,QAAQ,EAAE,iBAAS;YACnB,yBAAyB,EAAE,+CAAsB,CAAC,cAAc;YAChE,UAAU,EAAE,YAAY;SAC3B,EACD,IAAI,uCAAmB,CAAC,6BAA6B,EAAE,+CAAsB,CAAC,eAAe,CAAC,CACjG,CAAC;QAGC,oBAAe,GAAG,CAAO,SAAiB,EAAE,QAAkB,EAA+C,EAAE;YAClH,IAAI;gBACA,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC;oBACrC,UAAU,EAAE;wBACR;4BACI,mBAAS,CAAC,EAAE,CACR,iBAAiB,EACjB,mBAAS,CAAC,GAAG,CAAC,UAAU,CAAC,EACzB,mBAAS,CAAC,EAAE,CACR,mBAAmB,EACnB,KAAK,EACL,mBAAS,CAAC,EAAE,CAAC,MAAM,EAAE,mBAAS,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,EAClD,KAAK,EACL,mBAAS,CAAC,EAAE,CAAC,MAAM,EAAE,mBAAS,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,EAClD,cAAc,EACd,mBAAS,CAAC,GAAG,CAAC,cAAc,CAAC,CAChC,CACJ;4BACD,aAAa;yBAChB;qBACJ;oBACD,KAAK,EAAE;wBACH,UAAU,EAAE,SAAS;wBACrB,QAAQ,EAAE;4BACN,CAAC,mBAAS,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,QAAQ;yBAC9B;qBACJ;oBACD,GAAG,EAAE,IAAI;oBACT,KAAK,EAAE,IAAI;iBACd,CAAC,CAAC;aACN;YAAC,OAAO,GAAG,EAAE;gBACV,MAAM,SAAS,GAAG,IAAI,6BAAY,CAC9B,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,0BAA0B,GAAG,CAAC,OAAO,EAAE,EAChE,IAAI,CAAC,WAAW,CAAC,IAAI,EACrB,GAAG,CACN,CAAC;gBAEF,aAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;gBACrB,MAAM,SAAS,CAAC;aACnB;QACL,CAAC,CAAA,CAAC;QAEK,aAAQ,GAAG,CACd,IAA8B,EAC9B,aAAa,GAAG,IAAI,EACpB,WAAW,GAAG,KAAK,EACc,EAAE;;YACnC,IAAI,WAAoC,CAAC;YAEzC,IAAI;gBACA,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBAE1B,WAAW,GAAG,MAAM,CAAA,MAAA,IAAI,CAAC,cAAc,CAAC,SAAS,0CAAE,WAAW,EAAE,CAAA,CAAC;gBACjE,IAAI,aAAa,EAAE;oBACf,MAAM,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC;iBACvD;gBAED,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,UAAU,CAAyB,IAAI,EAAE;oBACjF,gBAAgB,EAAE,IAAI;oBACtB,SAAS,EAAE,WAAW;oBACtB,WAAW;iBACd,CAAC,CAAC;gBAEH,MAAM,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,MAAM,EAAE,CAAA,CAAC;gBAC5B,OAAO,SAAS,CAAC;aACpB;YAAC,OAAO,GAAG,EAAE;gBACV,MAAM,SAAS,GAAG,IAAI,6BAAY,CAC9B,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,0BAA0B,GAAG,CAAC,OAAO,EAAE,EAChE,IAAI,CAAC,WAAW,CAAC,IAAI,EACrB,GAAG,CACN,CAAC;gBAEF,aAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;gBACrB,MAAM,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,QAAQ,EAAE,CAAA,CAAC;gBAC9B,MAAM,SAAS,CAAC;aACnB;QACL,CAAC,CAAA,CAAC;IA9EF,CAAC;CA+EJ;AA3FD,kEA2FC"}
|
|
@@ -2,15 +2,12 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.VPContainer = void 0;
|
|
4
4
|
const Di_1 = require("../../ioc/Di");
|
|
5
|
-
const MetroRailtrackGPSRepository_1 = require("../../ropid-gtfs/workers/railtrack/tasks/data-access/MetroRailtrackGPSRepository");
|
|
6
5
|
const DescriptorRepository_1 = require("../workers/vehicle-descriptors/data-access/DescriptorRepository");
|
|
7
6
|
const DescriptorDataSourceFactory_1 = require("../workers/vehicle-descriptors/datasources/DescriptorDataSourceFactory");
|
|
8
7
|
const SeznamAutobusuDataSourceProvider_1 = require("../workers/vehicle-descriptors/datasources/seznam-autobusu/SeznamAutobusuDataSourceProvider");
|
|
9
8
|
const DeleteDataTask_1 = require("../workers/vehicle-descriptors/tasks/DeleteDataTask");
|
|
10
9
|
const RefreshDescriptorsTask_1 = require("../workers/vehicle-descriptors/tasks/RefreshDescriptorsTask");
|
|
11
10
|
const DescriptorTransformation_1 = require("../workers/vehicle-descriptors/transformations/DescriptorTransformation");
|
|
12
|
-
const CachedMetroRailtrackLookup_1 = require("../workers/vehicle-positions/data-access/metro/CachedMetroRailtrackLookup");
|
|
13
|
-
const MetroShapePointsFixer_1 = require("../workers/vehicle-positions/helpers/metro/MetroShapePointsFixer");
|
|
14
11
|
const VPContainerToken_1 = require("./VPContainerToken");
|
|
15
12
|
//#region Initialization
|
|
16
13
|
const VPContainer = Di_1.PidContainer.createChildContainer();
|
|
@@ -22,15 +19,10 @@ VPContainer.registerSingleton(VPContainerToken_1.VPContainerToken.DescriptorData
|
|
|
22
19
|
//#endregion
|
|
23
20
|
//#region Repositories
|
|
24
21
|
VPContainer.register(VPContainerToken_1.VPContainerToken.DescriptorRepository, DescriptorRepository_1.DescriptorRepository);
|
|
25
|
-
VPContainer.registerSingleton(VPContainerToken_1.VPContainerToken.MetroRailtrackGPSRepository, MetroRailtrackGPSRepository_1.MetroRailtrackGPSRepository);
|
|
26
|
-
VPContainer.registerSingleton(VPContainerToken_1.VPContainerToken.CachedMetroRailTrackLookup, CachedMetroRailtrackLookup_1.CachedMetroRailTrackLookup);
|
|
27
22
|
//#endregion
|
|
28
23
|
//#region Transformations
|
|
29
24
|
VPContainer.register(VPContainerToken_1.VPContainerToken.DescriptorTransformation, DescriptorTransformation_1.DescriptorTransformation);
|
|
30
25
|
//#endregion
|
|
31
|
-
//#region Helpers
|
|
32
|
-
VPContainer.register(VPContainerToken_1.VPContainerToken.MetroShapePointsFixer, MetroShapePointsFixer_1.MetroShapePointsFixer);
|
|
33
|
-
//#endregion
|
|
34
26
|
//#region Tasks
|
|
35
27
|
VPContainer.registerSingleton(VPContainerToken_1.VPContainerToken.RefreshDescriptorsTask, RefreshDescriptorsTask_1.RefreshDescriptorsTask);
|
|
36
28
|
VPContainer.registerSingleton(VPContainerToken_1.VPContainerToken.DeleteDataTask, DeleteDataTask_1.DeleteDataTask);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Di.js","sourceRoot":"","sources":["../../../../src/integration-engine/vehicle-positions/ioc/Di.ts"],"names":[],"mappings":";;;AAAA,qCAA0C;
|
|
1
|
+
{"version":3,"file":"Di.js","sourceRoot":"","sources":["../../../../src/integration-engine/vehicle-positions/ioc/Di.ts"],"names":[],"mappings":";;;AAAA,qCAA0C;AAE1C,0GAAuG;AACvG,wHAAqH;AACrH,kJAA+I;AAC/I,wFAAqF;AACrF,wGAAqG;AACrG,sHAAmH;AACnH,yDAAsD;AAEtD,wBAAwB;AACxB,MAAM,WAAW,GAAwB,iBAAY,CAAC,oBAAoB,EAAE,CAAC;AAqBpE,kCAAW;AApBpB,YAAY;AAEZ,qBAAqB;AACrB,WAAW,CAAC,QAAQ,CAAC,mCAAgB,CAAC,gCAAgC,EAAE,mEAAgC,CAAC,CAAC;AAC1G,WAAW,CAAC,iBAAiB,CAAC,mCAAgB,CAAC,2BAA2B,EAAE,yDAA2B,CAAC,CAAC;AACzG,YAAY;AAEZ,sBAAsB;AACtB,WAAW,CAAC,QAAQ,CAAC,mCAAgB,CAAC,oBAAoB,EAAE,2CAAoB,CAAC,CAAC;AAClF,YAAY;AAEZ,yBAAyB;AACzB,WAAW,CAAC,QAAQ,CAAC,mCAAgB,CAAC,wBAAwB,EAAE,mDAAwB,CAAC,CAAC;AAC1F,YAAY;AAEZ,eAAe;AACf,WAAW,CAAC,iBAAiB,CAAC,mCAAgB,CAAC,sBAAsB,EAAE,+CAAsB,CAAC,CAAC;AAC/F,WAAW,CAAC,iBAAiB,CAAC,mCAAgB,CAAC,cAAc,EAAE,+BAAc,CAAC,CAAC"}
|
|
@@ -5,8 +5,5 @@ declare const VPContainerToken: {
|
|
|
5
5
|
DescriptorTransformation: symbol;
|
|
6
6
|
RefreshDescriptorsTask: symbol;
|
|
7
7
|
DeleteDataTask: symbol;
|
|
8
|
-
MetroRailtrackGPSRepository: symbol;
|
|
9
|
-
CachedMetroRailTrackLookup: symbol;
|
|
10
|
-
MetroShapePointsFixer: symbol;
|
|
11
8
|
};
|
|
12
9
|
export { VPContainerToken };
|
|
@@ -10,15 +10,6 @@ const VPContainerToken = {
|
|
|
10
10
|
RefreshDescriptorsTask: Symbol(),
|
|
11
11
|
DeleteDataTask: Symbol(),
|
|
12
12
|
//#endregion
|
|
13
|
-
//#region Vehicle Positions
|
|
14
|
-
//#region DataAccess
|
|
15
|
-
MetroRailtrackGPSRepository: Symbol(),
|
|
16
|
-
CachedMetroRailTrackLookup: Symbol(),
|
|
17
|
-
//#endregion
|
|
18
|
-
//#region Helpers
|
|
19
|
-
MetroShapePointsFixer: Symbol(),
|
|
20
|
-
//#endregion
|
|
21
|
-
//#endregion
|
|
22
13
|
};
|
|
23
14
|
exports.VPContainerToken = VPContainerToken;
|
|
24
15
|
//# sourceMappingURL=VPContainerToken.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VPContainerToken.js","sourceRoot":"","sources":["../../../../src/integration-engine/vehicle-positions/ioc/VPContainerToken.ts"],"names":[],"mappings":";;;AAAA,MAAM,gBAAgB,GAAG;IACrB,6BAA6B;IAC7B,gCAAgC,EAAE,MAAM,EAAE;IAC1C,2BAA2B,EAAE,MAAM,EAAE;IACrC,oBAAoB,EAAE,MAAM,EAAE;IAC9B,wBAAwB,EAAE,MAAM,EAAE;IAClC,sBAAsB,EAAE,MAAM,EAAE;IAChC,cAAc,EAAE,MAAM,EAAE;IACxB,YAAY;
|
|
1
|
+
{"version":3,"file":"VPContainerToken.js","sourceRoot":"","sources":["../../../../src/integration-engine/vehicle-positions/ioc/VPContainerToken.ts"],"names":[],"mappings":";;;AAAA,MAAM,gBAAgB,GAAG;IACrB,6BAA6B;IAC7B,gCAAgC,EAAE,MAAM,EAAE;IAC1C,2BAA2B,EAAE,MAAM,EAAE;IACrC,oBAAoB,EAAE,MAAM,EAAE;IAC9B,wBAAwB,EAAE,MAAM,EAAE;IAClC,sBAAsB,EAAE,MAAM,EAAE;IAChC,cAAc,EAAE,MAAM,EAAE;IACxB,YAAY;CACf,CAAC;AAEO,4CAAgB"}
|
package/dist/integration-engine/vehicle-positions/workers/runs/helpers/MetroRouteHelper.d.ts
CHANGED
|
@@ -4,8 +4,5 @@ export declare enum MetroRouteName {
|
|
|
4
4
|
LINE_C = "C"
|
|
5
5
|
}
|
|
6
6
|
export declare class MetroRouteHelper {
|
|
7
|
-
private static tripToRouteMetroMap;
|
|
8
7
|
static getRouteId(routeName: MetroRouteName | string): string | undefined;
|
|
9
|
-
static getTripRouteMap(): Record<string, string>;
|
|
10
|
-
static getRouteName(tripId: string): string;
|
|
11
8
|
}
|
|
@@ -16,18 +16,6 @@ class MetroRouteHelper {
|
|
|
16
16
|
static getRouteId(routeName) {
|
|
17
17
|
return metroRouteId[routeName];
|
|
18
18
|
}
|
|
19
|
-
static getTripRouteMap() {
|
|
20
|
-
if (!this.tripToRouteMetroMap) {
|
|
21
|
-
this.tripToRouteMetroMap = {};
|
|
22
|
-
for (const routeName of Object.values(MetroRouteName)) {
|
|
23
|
-
this.tripToRouteMetroMap[`${MetroRouteHelper.getRouteId(routeName)}`] = routeName.toString();
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
return this.tripToRouteMetroMap;
|
|
27
|
-
}
|
|
28
|
-
static getRouteName(tripId) {
|
|
29
|
-
return this.getTripRouteMap()[tripId.substring(0, 3)];
|
|
30
|
-
}
|
|
31
19
|
}
|
|
32
20
|
exports.MetroRouteHelper = MetroRouteHelper;
|
|
33
21
|
//# sourceMappingURL=MetroRouteHelper.js.map
|
package/dist/integration-engine/vehicle-positions/workers/runs/helpers/MetroRouteHelper.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MetroRouteHelper.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/runs/helpers/MetroRouteHelper.ts"],"names":[],"mappings":";;;AAAA,IAAY,cAIX;AAJD,WAAY,cAAc;IACtB,8BAAY,CAAA;IACZ,8BAAY,CAAA;IACZ,8BAAY,CAAA;AAChB,CAAC,EAJW,cAAc,8BAAd,cAAc,QAIzB;AAED,MAAM,YAAY,GAAwD;IACtE,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,KAAK;IAC9B,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,KAAK;IAC9B,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,KAAK;CACjC,CAAC;AAEF,MAAa,gBAAgB;
|
|
1
|
+
{"version":3,"file":"MetroRouteHelper.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/runs/helpers/MetroRouteHelper.ts"],"names":[],"mappings":";;;AAAA,IAAY,cAIX;AAJD,WAAY,cAAc;IACtB,8BAAY,CAAA;IACZ,8BAAY,CAAA;IACZ,8BAAY,CAAA;AAChB,CAAC,EAJW,cAAc,8BAAd,cAAc,QAIzB;AAED,MAAM,YAAY,GAAwD;IACtE,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,KAAK;IAC9B,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,KAAK;IAC9B,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,KAAK;CACjC,CAAC;AAEF,MAAa,gBAAgB;IAClB,MAAM,CAAC,UAAU,CAAC,SAAkC;QACvD,OAAO,YAAY,CAAC,SAAS,CAAC,CAAC;IACnC,CAAC;CACJ;AAJD,4CAIC"}
|
|
@@ -71,9 +71,6 @@ export default class PositionsManager {
|
|
|
71
71
|
* @returns {number} - Result delay in seconds, can be negative for trip ahead
|
|
72
72
|
*/
|
|
73
73
|
private static getCorrectedTimeDelay;
|
|
74
|
-
private static handleContext;
|
|
75
|
-
private static handleNotTracking;
|
|
76
|
-
private static handleTracking;
|
|
77
74
|
/**
|
|
78
75
|
* Get delay in seconds for positions before track to ensure correct delay propagation
|
|
79
76
|
*/
|