@golemio/public-transport 0.1.0-dev.2947244645 → 0.1.0-dev.2980129203
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/20261023000000-drop-vp-data-retention-history-copy.js +53 -0
- package/db/migrations/postgresql/sqls/20261023000000-drop-vp-data-retention-history-copy-down.sql +85 -0
- package/db/migrations/postgresql/sqls/20261023000000-drop-vp-data-retention-history-copy-up.sql +25 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/interfaces/TripRepositoryInterfaces.d.ts +1 -1
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/interfaces/ITransfleetPosition.d.ts +1 -1
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/TransfleetPollTask.js +1 -1
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/TransfleetPollTask.js.map +1 -1
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/transformations/PublicApiTripTransformation.js +3 -1
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/transformations/PublicApiTripTransformation.js.map +1 -1
- package/docs/implementation_documentation.md +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', '20261023000000-drop-vp-data-retention-history-copy-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', '20261023000000-drop-vp-data-retention-history-copy-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/20261023000000-drop-vp-data-retention-history-copy-down.sql
ADDED
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
-- Restore copying of expired trips, positions and stop times to *_history before deletion.
|
|
2
|
+
CREATE OR REPLACE PROCEDURE public_transport.vehiclepositions_data_retention(INOUT numberofrows integer, IN dataretentionminutes integer)
|
|
3
|
+
LANGUAGE plpgsql
|
|
4
|
+
SET search_path TO 'public_transport', 'public'
|
|
5
|
+
AS $$
|
|
6
|
+
declare
|
|
7
|
+
idsForDelete varchar(255)[];
|
|
8
|
+
begin
|
|
9
|
+
select array_agg(t.id) from vehiclepositions_trips t
|
|
10
|
+
left join vehiclepositions_positions p on
|
|
11
|
+
p.id = t.last_position_id
|
|
12
|
+
where
|
|
13
|
+
p.valid_to < (NOW() - (dataRetentionMinutes || ' minutes')::interval)
|
|
14
|
+
or (t.gtfs_trip_id is null and p.valid_to is null and p.updated_at < NOW() - (dataRetentionMinutes || ' minutes')::interval) -- entries with valid to is null
|
|
15
|
+
into idsForDelete;
|
|
16
|
+
|
|
17
|
+
INSERT INTO vehiclepositions_trips_history
|
|
18
|
+
select * from vehiclepositions_trips where id = ANY(idsForDelete)
|
|
19
|
+
on conflict do nothing;
|
|
20
|
+
|
|
21
|
+
INSERT INTO vehiclepositions_positions_history
|
|
22
|
+
select * from vehiclepositions_positions where trips_id = ANY(idsForDelete)
|
|
23
|
+
on conflict do nothing;
|
|
24
|
+
|
|
25
|
+
insert into vehiclepositions_stop_times_history (
|
|
26
|
+
feed_id,
|
|
27
|
+
rt_trip_id,
|
|
28
|
+
gtfs_date,
|
|
29
|
+
gtfs_trip_id,
|
|
30
|
+
gtfs_direction_id,
|
|
31
|
+
gtfs_route_short_name,
|
|
32
|
+
gtfs_route_type,
|
|
33
|
+
run_number,
|
|
34
|
+
vehicle_registration_number,
|
|
35
|
+
gtfs_stop_id,
|
|
36
|
+
gtfs_stop_sequence,
|
|
37
|
+
current_stop_arrival,
|
|
38
|
+
current_stop_departure,
|
|
39
|
+
current_stop_arr_delay,
|
|
40
|
+
current_stop_dep_delay,
|
|
41
|
+
created_at,
|
|
42
|
+
updated_at,
|
|
43
|
+
origin_route_name,
|
|
44
|
+
stop_name,
|
|
45
|
+
lat,
|
|
46
|
+
lng
|
|
47
|
+
)
|
|
48
|
+
select
|
|
49
|
+
rt_trip.feed_id,
|
|
50
|
+
rt_trip.id,
|
|
51
|
+
rt_trip.gtfs_date,
|
|
52
|
+
rt_trip.gtfs_trip_id,
|
|
53
|
+
rt_trip.gtfs_direction_id,
|
|
54
|
+
rt_trip.gtfs_route_short_name,
|
|
55
|
+
rt_trip.gtfs_route_type,
|
|
56
|
+
rt_trip.run_number,
|
|
57
|
+
rt_trip.vehicle_registration_number,
|
|
58
|
+
stop_time.stop_id,
|
|
59
|
+
stop_time.stop_sequence,
|
|
60
|
+
stop_time.stop_arrival,
|
|
61
|
+
stop_time.stop_departure,
|
|
62
|
+
stop_time.stop_arr_delay,
|
|
63
|
+
stop_time.stop_dep_delay,
|
|
64
|
+
now(),
|
|
65
|
+
now(),
|
|
66
|
+
rt_trip.origin_route_name,
|
|
67
|
+
stop_time.stop_name,
|
|
68
|
+
stop_time.lat,
|
|
69
|
+
stop_time.lng
|
|
70
|
+
from
|
|
71
|
+
vehiclepositions_trips rt_trip
|
|
72
|
+
join
|
|
73
|
+
v_vehiclepositions_past_stop_times stop_time on stop_time.rt_trip_id = rt_trip.id
|
|
74
|
+
where
|
|
75
|
+
rt_trip.id = ANY(idsForDelete)
|
|
76
|
+
on conflict do nothing;
|
|
77
|
+
|
|
78
|
+
|
|
79
|
+
delete from vehiclepositions_positions where trips_id = ANY(idsForDelete);
|
|
80
|
+
delete from vehiclepositions_trips where id = ANY(idsForDelete);
|
|
81
|
+
delete from vehiclepositions_cis_stops where rt_trip_id = ANY(idsForDelete);
|
|
82
|
+
|
|
83
|
+
select array_length(idsForDelete,1) into numberOfRows;
|
|
84
|
+
end;
|
|
85
|
+
$$;
|
package/db/migrations/postgresql/sqls/20261023000000-drop-vp-data-retention-history-copy-up.sql
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
-- History tables are no longer needed: expired trips, positions and stop times are deleted without being copied to *_history.
|
|
2
|
+
-- Trips that never received a position are expired too (previously they were never cleaned up).
|
|
3
|
+
CREATE OR REPLACE PROCEDURE vehiclepositions_data_retention(INOUT numberofrows integer, IN dataretentionminutes integer)
|
|
4
|
+
LANGUAGE plpgsql
|
|
5
|
+
SET search_path TO 'public_transport', 'public'
|
|
6
|
+
AS $$
|
|
7
|
+
declare
|
|
8
|
+
idsForDelete varchar(255)[];
|
|
9
|
+
begin
|
|
10
|
+
select array_agg(t.id) from vehiclepositions_trips t
|
|
11
|
+
left join vehiclepositions_positions p on
|
|
12
|
+
p.id = t.last_position_id
|
|
13
|
+
where
|
|
14
|
+
p.valid_to < (NOW() - (dataRetentionMinutes || ' minutes')::interval)
|
|
15
|
+
or (t.gtfs_trip_id is null and p.valid_to is null and p.updated_at < NOW() - (dataRetentionMinutes || ' minutes')::interval) -- entries with valid to is null
|
|
16
|
+
or (t.last_position_id is null and t.updated_at < NOW() - (dataRetentionMinutes || ' minutes')::interval) -- trips without any position
|
|
17
|
+
into idsForDelete;
|
|
18
|
+
|
|
19
|
+
delete from vehiclepositions_positions where trips_id = ANY(idsForDelete);
|
|
20
|
+
delete from vehiclepositions_trips where id = ANY(idsForDelete);
|
|
21
|
+
delete from vehiclepositions_cis_stops where rt_trip_id = ANY(idsForDelete);
|
|
22
|
+
|
|
23
|
+
select array_length(idsForDelete,1) into numberOfRows;
|
|
24
|
+
end;
|
|
25
|
+
$$;
|
|
@@ -145,7 +145,7 @@ export interface IEnrichedTripForPublicApi {
|
|
|
145
145
|
agency_name_scheduled: string | null;
|
|
146
146
|
agency_name_real: string | null;
|
|
147
147
|
origin_route_name: string | null;
|
|
148
|
-
gtfs_direction_id: number;
|
|
148
|
+
gtfs_direction_id: number | null;
|
|
149
149
|
gtfs_shape_id: string | null;
|
|
150
150
|
run_number: number | null;
|
|
151
151
|
internal_run_number: number | null;
|
|
@@ -106,7 +106,7 @@ let TransfleetPollTask = class TransfleetPollTask extends workers_1.AbstractTask
|
|
|
106
106
|
}
|
|
107
107
|
getCredentials(feedCode) {
|
|
108
108
|
const credentials = this.config.getValue(`${CREDENTIALS_CONFIG_PREFIX}.${feedCode}`, null);
|
|
109
|
-
if (!credentials || typeof credentials === "string" || !credentials.login || !credentials.
|
|
109
|
+
if (!credentials || typeof credentials === "string" || !credentials.login || !credentials.heslo) {
|
|
110
110
|
return null;
|
|
111
111
|
}
|
|
112
112
|
return credentials;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TransfleetPollTask.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/TransfleetPollTask.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"TransfleetPollTask.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/TransfleetPollTask.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,6 +10,8 @@ exports.PublicApiTripTransformation = void 0;
|
|
|
10
10
|
const AbstractTransformation_1 = require("@golemio/core/dist/helpers/transformation/AbstractTransformation");
|
|
11
11
|
const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
|
|
12
12
|
const VehicleIdGenerator_1 = require("../../gtfs-rt/helpers/VehicleIdGenerator");
|
|
13
|
+
/** GTFS `direction_id` is optional (e.g. idzk trains leave it empty); the public cache requires a number. */
|
|
14
|
+
const DEFAULT_DIRECTION_ID = 1;
|
|
13
15
|
let PublicApiTripTransformation = class PublicApiTripTransformation extends AbstractTransformation_1.AbstractTransformation {
|
|
14
16
|
constructor() {
|
|
15
17
|
super(...arguments);
|
|
@@ -33,7 +35,7 @@ let PublicApiTripTransformation = class PublicApiTripTransformation extends Abst
|
|
|
33
35
|
trip_number: data.cis_trip_number,
|
|
34
36
|
run_number: data.run_number,
|
|
35
37
|
trip_headsign: data.last_stop_headsign ?? data.gtfs_trip_headsign,
|
|
36
|
-
direction_id: data.gtfs_direction_id,
|
|
38
|
+
direction_id: data.gtfs_direction_id ?? DEFAULT_DIRECTION_ID,
|
|
37
39
|
shape_dist_traveled: data.shape_dist_traveled === null ? null : Number.parseFloat(data.shape_dist_traveled),
|
|
38
40
|
last_stop_sequence: data.last_stop_sequence,
|
|
39
41
|
origin_timestamp: data.origin_timestamp.toISOString(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PublicApiTripTransformation.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/transformations/PublicApiTripTransformation.ts"],"names":[],"mappings":";;;;;;;;;AACA,6GAA0G;AAC1G,iEAAgE;AAChE,iFAA8E;
|
|
1
|
+
{"version":3,"file":"PublicApiTripTransformation.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/transformations/PublicApiTripTransformation.ts"],"names":[],"mappings":";;;;;;;;;AACA,6GAA0G;AAC1G,iEAAgE;AAChE,iFAA8E;AAM9E,6GAA6G;AAC7G,MAAM,oBAAoB,GAAG,CAAC,CAAC;AAGxB,IAAM,2BAA2B,GAAjC,MAAM,2BAA4B,SAAQ,+CAAiD;IAA3F;;QACI,SAAI,GAAG,6BAA6B,CAAC;QAElC,sBAAiB,GAAG,CAAC,IAAiB,EAAgB,EAAE;YAC9D,OAAO;gBACH,YAAY,EAAE,IAAI,CAAC,YAAY;gBAC/B,UAAU,EAAE,IAAI,CAAC,eAAe;gBAChC,qBAAqB,EAAE,IAAI,CAAC,qBAAqB;gBACjD,GAAG,EAAE,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC;gBAChC,GAAG,EAAE,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC;gBAChC,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,cAAc,EAAE,IAAI,CAAC,cAAc;gBACnC,UAAU,EAAE,uCAAkB,CAAC,gBAAgB,CAAC,IAAI,CAAC;gBACrD,IAAI,EAAE,IAAI,CAAC,SAAS;gBACpB,aAAa,EAAE;oBACX,wBAAwB,EAAE,IAAI,CAAC,qBAAqB;oBACpD,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;oBACzC,QAAQ,EAAE,IAAI,CAAC,aAAa;oBAC5B,WAAW,EAAE,IAAI,CAAC,eAAe;oBACjC,UAAU,EAAE,IAAI,CAAC,UAAU;oBAC3B,aAAa,EAAE,IAAI,CAAC,kBAAkB,IAAI,IAAI,CAAC,kBAAkB;oBACjE,YAAY,EAAE,IAAI,CAAC,iBAAiB,IAAI,oBAAoB;oBAC5D,mBAAmB,EAAE,IAAI,CAAC,mBAAmB,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,mBAAmB,CAAC;oBAC3G,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;oBAC3C,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE;oBACrD,mBAAmB,EAAE,IAAI,CAAC,2BAA2B;oBACrD,QAAQ,EAAE,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,qBAAqB;iBAChE;aACJ,CAAC;QACN,CAAC,CAAC;IACN,CAAC;CAAA,CAAA;AA/BY,kEAA2B;sCAA3B,2BAA2B;IADvC,IAAA,qBAAU,GAAE;GACA,2BAA2B,CA+BvC"}
|
|
@@ -913,7 +913,7 @@ feedy bez nakonfigurovaných přihlašovacích údajů se zalogují jako chyba a
|
|
|
913
913
|
- validační schéma: [TransfleetPollSchema](../src/integration-engine/vehicle-positions/workers/vehicle-positions/schema/TransfleetPollSchema.ts)
|
|
914
914
|
- frekvence stahování: externí cron (timeout stažení 4 s)
|
|
915
915
|
- konfigurace
|
|
916
|
-
- přihlašovací údaje: `module.public-transport.vehicle-positions.transfleet.<feedCode>` = `{ "login": "...", "
|
|
916
|
+
- přihlašovací údaje: `module.public-transport.vehicle-positions.transfleet.<feedCode>` = `{ "login": "...", "heslo": "..." }` (posílá se beze změny jako JSON body)
|
|
917
917
|
- závislé fronty (do kterých jsou odesílány zprávy z metody workeru)
|
|
918
918
|
- žádné (párování i uložení proběhne synchronně v rámci tasku)
|
|
919
919
|
- datové zdroje
|