@golemio/pid 2.12.3 → 2.12.4-rc.1229596608
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/20240313100420-fix-gtfs-timestamp-dst.js +53 -0
- package/db/migrations/postgresql/sqls/20240313100420-fix-gtfs-timestamp-dst-down.sql +17 -0
- package/db/migrations/postgresql/sqls/20240313100420-fix-gtfs-timestamp-dst-up.sql +23 -0
- package/dist/integration-engine/data-retention/helpers/SelectRepositoryFactory.js +4 -4
- package/dist/integration-engine/data-retention/helpers/SelectRepositoryFactory.js.map +1 -1
- package/dist/integration-engine/ropid-gtfs/data-access/precomputed/TripScheduleRepository.js +6 -43
- package/dist/integration-engine/ropid-gtfs/data-access/precomputed/TripScheduleRepository.js.map +1 -1
- package/dist/integration-engine/ropid-gtfs/workers/timetables/tasks/CheckSavedRowsAndReplaceTablesTask.d.ts +1 -0
- package/dist/integration-engine/ropid-gtfs/workers/timetables/tasks/CheckSavedRowsAndReplaceTablesTask.js +3 -1
- package/dist/integration-engine/ropid-gtfs/workers/timetables/tasks/CheckSavedRowsAndReplaceTablesTask.js.map +1 -1
- package/dist/integration-engine/vehicle-positions/ioc/Di.js +8 -0
- package/dist/integration-engine/vehicle-positions/ioc/Di.js.map +1 -1
- package/dist/integration-engine/vehicle-positions/ioc/VPContainerToken.d.ts +4 -0
- package/dist/integration-engine/vehicle-positions/ioc/VPContainerToken.js +4 -0
- package/dist/integration-engine/vehicle-positions/ioc/VPContainerToken.js.map +1 -1
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/VPWorker.js +1 -2
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/VPWorker.js.map +1 -1
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/TripsRepository.d.ts +4 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/TripsRepository.js +51 -44
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/TripsRepository.js.map +1 -1
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/helpers/RawQueryProvider.d.ts +1 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/helpers/RawQueryProvider.js +35 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/helpers/RawQueryProvider.js.map +1 -1
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/domain/service/IGtfsTripDataFixerFactory.d.ts +5 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/domain/service/IGtfsTripDataFixerFactory.js +3 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/domain/service/IGtfsTripDataFixerFactory.js.map +1 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/DateTimeUtils.d.ts +21 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/DateTimeUtils.js +44 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/DateTimeUtils.js.map +1 -1
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/PositionsManager.d.ts +7 -18
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/PositionsManager.js +22 -52
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/PositionsManager.js.map +1 -1
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/gtfs-trip-data/GtfsTripDataFixerFactory.d.ts +8 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/gtfs-trip-data/GtfsTripDataFixerFactory.js +38 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/gtfs-trip-data/GtfsTripDataFixerFactory.js.map +1 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/gtfs-trip-data/strategy/AbstractGtfsTripDataFixer.d.ts +3 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/gtfs-trip-data/strategy/AbstractGtfsTripDataFixer.js +7 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/gtfs-trip-data/strategy/AbstractGtfsTripDataFixer.js.map +1 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/gtfs-trip-data/strategy/HttpGtfsTripDataFixer.d.ts +8 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/gtfs-trip-data/strategy/HttpGtfsTripDataFixer.js +58 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/gtfs-trip-data/strategy/HttpGtfsTripDataFixer.js.map +1 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/regional-bus/RegionalBusPositionsManager.d.ts +0 -10
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/regional-bus/RegionalBusPositionsManager.js +7 -24
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/regional-bus/RegionalBusPositionsManager.js.map +1 -1
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/RefreshGtfsTripDataTask.d.ts +12 -2
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/RefreshGtfsTripDataTask.js +42 -7
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/RefreshGtfsTripDataTask.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', '20240313100420-fix-gtfs-timestamp-dst-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', '20240313100420-fix-gtfs-timestamp-dst-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,17 @@
|
|
|
1
|
+
CREATE OR REPLACE FUNCTION gtfs_timestamp(gtfs_time varchar, target_date date)
|
|
2
|
+
RETURNS timestamptz AS
|
|
3
|
+
$$
|
|
4
|
+
BEGIN
|
|
5
|
+
RETURN CASE
|
|
6
|
+
WHEN (date_part('hour'::text, (gtfs_time)::interval) > (23)::double precision) THEN make_timestamptz((date_part('year'::text, (target_date + '1 day'::interval)))::integer, (date_part('month'::text, (target_date + '1 day'::interval)))::integer, (date_part('day'::text, (target_date + '1 day'::interval)))::integer, ((date_part('hour'::text, (gtfs_time)::interval))::integer - 24), (date_part('minute'::text, (gtfs_time)::interval))::integer, date_part('second'::text, (gtfs_time)::interval), 'Europe/Prague'::text)
|
|
7
|
+
ELSE make_timestamptz((date_part('year'::text, target_date))::integer, (date_part('month'::text, target_date))::integer, (date_part('day'::text, target_date))::integer, (date_part('hour'::text, (gtfs_time)::interval))::integer, (date_part('minute'::text, (gtfs_time)::interval))::integer, date_part('second'::text, (gtfs_time)::interval), 'Europe/Prague'::text)
|
|
8
|
+
END;
|
|
9
|
+
END;
|
|
10
|
+
$$
|
|
11
|
+
LANGUAGE plpgsql;
|
|
12
|
+
|
|
13
|
+
COMMENT ON FUNCTION gtfs_timestamp(gtfs_time varchar, target_date date) IS '
|
|
14
|
+
Converts a time string from GTFS feed to a timestamp.
|
|
15
|
+
If the GTFS time string represents a time later than 23:59, the timestamp returned will be for the day following the target date, with the hour adjusted accordingly.
|
|
16
|
+
Otherwise, the timestamp returned will be for the target date.
|
|
17
|
+
';
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
CREATE OR REPLACE FUNCTION gtfs_timestamp(gtfs_time varchar, target_date date)
|
|
2
|
+
RETURNS timestamptz AS
|
|
3
|
+
$$
|
|
4
|
+
DECLARE
|
|
5
|
+
timezone text := 'Europe/Prague';
|
|
6
|
+
BEGIN
|
|
7
|
+
RETURN concat(target_date, 'T12:00:00') :: timestamp AT TIME ZONE timezone - '12:00:00' :: interval + gtfs_time :: interval;
|
|
8
|
+
END;
|
|
9
|
+
$$
|
|
10
|
+
LANGUAGE plpgsql;
|
|
11
|
+
|
|
12
|
+
COMMENT ON FUNCTION gtfs_timestamp(gtfs_time varchar, target_date date) IS '
|
|
13
|
+
Converts a time string from GTFS feed to a timestamp.
|
|
14
|
+
|
|
15
|
+
gtfs_time - Time in the HH:MM:SS format (H:MM:SS is also accepted). The time is measured from "noon minus 12h" of the service day
|
|
16
|
+
(effectively midnight except for days on which daylight savings time changes occur). For times occurring after midnight on the
|
|
17
|
+
service day, enter the time as a value greater than 24:00:00 in HH:MM:SS.
|
|
18
|
+
|
|
19
|
+
target_date - Service day in the YYYYMMDD (or YYYY-MM-DD) format. Since time within a service day may be above 24 :00 :00,
|
|
20
|
+
a service day may contain information for the subsequent day(s).
|
|
21
|
+
|
|
22
|
+
See also GTFS Schedule Reference for Date and Time at <https://gtfs.org/schedule/reference/>.
|
|
23
|
+
';
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.SelectRepositoryFactory = void 0;
|
|
4
|
-
const Di_1 = require("../../ioc/Di");
|
|
5
4
|
const ModuleContainerToken_1 = require("../../ioc/ModuleContainerToken");
|
|
5
|
+
const Di_1 = require("../../vehicle-positions/ioc/Di");
|
|
6
|
+
const VPContainerToken_1 = require("../../vehicle-positions/ioc/VPContainerToken");
|
|
6
7
|
const CisStopRepository_1 = require("../../vehicle-positions/workers/vehicle-positions/data-access/CisStopRepository");
|
|
7
8
|
const PositionsHistoryRepository_1 = require("../../vehicle-positions/workers/vehicle-positions/data-access/PositionsHistoryRepository");
|
|
8
9
|
const StopTimesHistoryRepository_1 = require("../../vehicle-positions/workers/vehicle-positions/data-access/StopTimesHistoryRepository");
|
|
@@ -13,13 +14,12 @@ const MetroRunsMessagesRepository_1 = require("../../vehicle-positions/workers/r
|
|
|
13
14
|
const RegionalBusRunsMessagesRepository_1 = require("../../vehicle-positions/workers/runs/data-access/RegionalBusRunsMessagesRepository");
|
|
14
15
|
const DescriptorRepository_1 = require("../../vehicle-positions/workers/vehicle-descriptors/data-access/DescriptorRepository");
|
|
15
16
|
const PositionsRepository_1 = require("../../vehicle-positions/workers/vehicle-positions/data-access/PositionsRepository");
|
|
16
|
-
const TripsRepository_1 = require("../../vehicle-positions/workers/vehicle-positions/data-access/TripsRepository");
|
|
17
17
|
const RepositoryTableNameEnum_1 = require("../workers/constants/RepositoryTableNameEnum");
|
|
18
18
|
class SelectRepositoryFactory {
|
|
19
19
|
select(repo) {
|
|
20
20
|
switch (repo) {
|
|
21
21
|
case RepositoryTableNameEnum_1.RepositoryTableName.Trips:
|
|
22
|
-
return
|
|
22
|
+
return Di_1.VPContainer.resolve(VPContainerToken_1.VPContainerToken.TripRepository);
|
|
23
23
|
case RepositoryTableNameEnum_1.RepositoryTableName.TripsHistory:
|
|
24
24
|
return new TripsHistoryRepository_1.TripsHistoryRepository();
|
|
25
25
|
case RepositoryTableNameEnum_1.RepositoryTableName.Positions:
|
|
@@ -39,7 +39,7 @@ class SelectRepositoryFactory {
|
|
|
39
39
|
case RepositoryTableNameEnum_1.RepositoryTableName.CommonRuns:
|
|
40
40
|
return new CommonRunsRepository_1.CommonRunsRepository();
|
|
41
41
|
case RepositoryTableNameEnum_1.RepositoryTableName.Logs:
|
|
42
|
-
return Di_1.
|
|
42
|
+
return Di_1.VPContainer.resolve(ModuleContainerToken_1.ModuleContainerToken.PresetLogRepository);
|
|
43
43
|
default:
|
|
44
44
|
throw new golemio_errors_1.GeneralError("Repository type undefined.");
|
|
45
45
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SelectRepositoryFactory.js","sourceRoot":"","sources":["../../../../src/integration-engine/data-retention/helpers/SelectRepositoryFactory.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"SelectRepositoryFactory.js","sourceRoot":"","sources":["../../../../src/integration-engine/data-retention/helpers/SelectRepositoryFactory.ts"],"names":[],"mappings":";;;AAAA,yEAAoE;AAEpE,uDAA2D;AAC3D,mFAA8E;AAC9E,uHAAkH;AAClH,yIAAoI;AACpI,yIAAoI;AACpI,iIAA4H;AAC5H,6EAAwE;AAExE,gHAA6G;AAC7G,8HAA2H;AAC3H,0IAAuI;AACvI,+HAA4H;AAC5H,2HAAwH;AAExH,0FAAmF;AAEnF,MAAa,uBAAuB;IACzB,MAAM,CAAC,IAAyB;QACnC,QAAQ,IAAI,EAAE;YACV,KAAK,6CAAmB,CAAC,KAAK;gBAC1B,OAAO,gBAAW,CAAC,OAAO,CAAkB,mCAAgB,CAAC,cAAc,CAAC,CAAC;YACjF,KAAK,6CAAmB,CAAC,YAAY;gBACjC,OAAO,IAAI,+CAAsB,EAAE,CAAC;YACxC,KAAK,6CAAmB,CAAC,SAAS;gBAC9B,OAAO,IAAI,yCAAmB,EAAE,CAAC;YACrC,KAAK,6CAAmB,CAAC,gBAAgB;gBACrC,OAAO,IAAI,uDAA0B,EAAE,CAAC;YAC5C,KAAK,6CAAmB,CAAC,QAAQ;gBAC7B,OAAO,IAAI,qCAAiB,EAAE,CAAC;YACnC,KAAK,6CAAmB,CAAC,gBAAgB;gBACrC,OAAO,IAAI,uDAA0B,EAAE,CAAC;YAC5C,KAAK,6CAAmB,CAAC,UAAU;gBAC/B,OAAO,IAAI,2CAAoB,EAAE,CAAC;YACtC,KAAK,6CAAmB,CAAC,KAAK;gBAC1B,OAAO,IAAI,yDAA2B,EAAE,CAAC;YAC7C,KAAK,6CAAmB,CAAC,WAAW;gBAChC,OAAO,IAAI,qEAAiC,EAAE,CAAC;YACnD,KAAK,6CAAmB,CAAC,UAAU;gBAC/B,OAAO,IAAI,2CAAoB,EAAE,CAAC;YACtC,KAAK,6CAAmB,CAAC,IAAI;gBACzB,OAAO,gBAAW,CAAC,OAAO,CAAuB,2CAAoB,CAAC,mBAAmB,CAAC,CAAC;YAC/F;gBACI,MAAM,IAAI,6BAAY,CAAC,4BAA4B,CAAC,CAAC;SAC5D;IACL,CAAC;IAEM,6BAA6B,CAAC,IAAyB;QAC1D,QAAQ,IAAI,EAAE;YACV,KAAK,6CAAmB,CAAC,KAAK;gBAC1B,OAAO,mBAAmB,CAAC;YAC/B,KAAK,6CAAmB,CAAC,WAAW;gBAChC,OAAO,mBAAmB,CAAC;YAC/B,KAAK,6CAAmB,CAAC,UAAU;gBAC/B,OAAO,oBAAoB,CAAC;YAChC;gBACI,OAAO,EAAE,CAAC;SACjB;IACL,CAAC;CACJ;AA1CD,0DA0CC"}
|
package/dist/integration-engine/ropid-gtfs/data-access/precomputed/TripScheduleRepository.js
CHANGED
|
@@ -49,48 +49,8 @@ class TripScheduleRepository extends models_1.PostgresModel {
|
|
|
49
49
|
t0.exceptional,
|
|
50
50
|
t0.min_stop_time,
|
|
51
51
|
t0.max_stop_time,
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
THEN make_timestamptz(
|
|
55
|
-
DATE_PART('year', t0.date + INTERVAL '1 day')::INT,
|
|
56
|
-
DATE_PART('month', t0.date + INTERVAL '1 day')::INT,
|
|
57
|
-
DATE_PART('day', t0.date + INTERVAL '1 day')::INT,
|
|
58
|
-
DATE_PART('hour', t0.min_stop_time)::INT - 24,
|
|
59
|
-
DATE_PART('minute', t0.min_stop_time)::INT,
|
|
60
|
-
DATE_PART('second', t0.min_stop_time),
|
|
61
|
-
'Europe/Prague'
|
|
62
|
-
)
|
|
63
|
-
ELSE make_timestamptz(
|
|
64
|
-
DATE_PART('year', t0.date)::INT,
|
|
65
|
-
DATE_PART('month', t0.date)::INT,
|
|
66
|
-
DATE_PART('day', t0.date)::INT,
|
|
67
|
-
DATE_PART('hour', t0.min_stop_time)::INT,
|
|
68
|
-
DATE_PART('minute', t0.min_stop_time)::INT,
|
|
69
|
-
DATE_PART('second', t0.min_stop_time),
|
|
70
|
-
'Europe/Prague'
|
|
71
|
-
)
|
|
72
|
-
END as start_timestamp,
|
|
73
|
-
CASE
|
|
74
|
-
WHEN EXTRACT(HOUR FROM t0.max_stop_time) > 23
|
|
75
|
-
THEN make_timestamptz(
|
|
76
|
-
DATE_PART('year', t0.date + INTERVAL '1 day')::INT,
|
|
77
|
-
DATE_PART('month', t0.date + INTERVAL '1 day')::INT,
|
|
78
|
-
DATE_PART('day', t0.date + INTERVAL '1 day')::INT,
|
|
79
|
-
DATE_PART('hour', t0.max_stop_time)::INT - 24,
|
|
80
|
-
DATE_PART('minute', t0.max_stop_time)::INT,
|
|
81
|
-
DATE_PART('second', t0.max_stop_time),
|
|
82
|
-
'Europe/Prague'
|
|
83
|
-
)
|
|
84
|
-
ELSE make_timestamptz(
|
|
85
|
-
DATE_PART('year', t0.date)::INT,
|
|
86
|
-
DATE_PART('month', t0.date)::INT,
|
|
87
|
-
DATE_PART('day', t0.date)::INT,
|
|
88
|
-
DATE_PART('hour', t0.max_stop_time)::INT,
|
|
89
|
-
DATE_PART('minute', t0.max_stop_time)::INT,
|
|
90
|
-
DATE_PART('second', t0.max_stop_time),
|
|
91
|
-
'Europe/Prague'
|
|
92
|
-
)
|
|
93
|
-
END as end_timestamp,
|
|
52
|
+
gtfs_timestamp(t0.min_stop_time::varchar, t0.date) AS start_timestamp,
|
|
53
|
+
gtfs_timestamp(t0.max_stop_time::varchar, t0.date) AS end_timestamp,
|
|
94
54
|
t0.first_stop_id,
|
|
95
55
|
t0.last_stop_id,
|
|
96
56
|
right(t0.origin_route_id, -1) as origin_route_name,
|
|
@@ -135,7 +95,10 @@ class TripScheduleRepository extends models_1.PostgresModel {
|
|
|
135
95
|
/* eslint-enable max-len */
|
|
136
96
|
try {
|
|
137
97
|
const tmpTable = ropid_gtfs_1.RopidGTFS.tripSchedule.pgTableName + SourceTableSuffixEnum_1.SourceTableSuffixEnum.Tmp;
|
|
138
|
-
yield this.sequelizeModel.sequelize.query(`
|
|
98
|
+
yield this.sequelizeModel.sequelize.query(`
|
|
99
|
+
SET LOCAL search_path TO ${const_1.PG_SCHEMA};
|
|
100
|
+
INSERT INTO "${tmpTable}" ${sql};
|
|
101
|
+
`);
|
|
139
102
|
}
|
|
140
103
|
catch (err) {
|
|
141
104
|
helpers_1.log.error(err);
|
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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wBAqDI,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;2CACZ,iBAAS;+BACrB,QAAQ,KAAK,GAAG;aAClC,CAAC,CAAC;aACN;YAAC,OAAO,GAAG,EAAE;gBACV,aAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACf,MAAM,GAAG,CAAC;aACb;QACL,CAAC,CAAA,CAAC;IAnFF,CAAC;CAoFJ;AAjGD,wDAiGC"}
|
|
@@ -6,6 +6,7 @@ export declare class CheckSavedRowsAndReplaceTablesTask extends AbstractTask<IDa
|
|
|
6
6
|
readonly queueTtl: number;
|
|
7
7
|
readonly schema: typeof DatasetsInputSchema;
|
|
8
8
|
private logger;
|
|
9
|
+
private config;
|
|
9
10
|
private metadataRepository;
|
|
10
11
|
private ropidGtfsRepository;
|
|
11
12
|
private dataCacheManager;
|
|
@@ -27,6 +27,7 @@ class CheckSavedRowsAndReplaceTablesTask extends workers_1.AbstractTask {
|
|
|
27
27
|
this.queueTtl = 23 * 60 * 60 * 1000; // 23 hours
|
|
28
28
|
this.schema = DownloadDataInputSchema_1.DatasetsInputSchema;
|
|
29
29
|
this.logger = Di_1.RopidGtfsContainer.resolve(CoreToken_1.CoreToken.Logger);
|
|
30
|
+
this.config = Di_1.RopidGtfsContainer.resolve(CoreToken_1.CoreToken.SimpleConfig);
|
|
30
31
|
this.metadataRepository = Di_1.RopidGtfsContainer.resolve(RopidGtfsContainerToken_1.RopidGtfsContainerToken.RopidGtfsMetadataRepository);
|
|
31
32
|
this.dataCacheManager = DataCacheManager_1.DataCacheManager.getInstance();
|
|
32
33
|
this.precomputeTablesFacade = Di_1.RopidGtfsContainer.resolve(RopidGtfsContainerToken_1.RopidGtfsContainerToken.PrecomputedTablesFacade);
|
|
@@ -52,7 +53,8 @@ class CheckSavedRowsAndReplaceTablesTask extends workers_1.AbstractTask {
|
|
|
52
53
|
yield this.ropidGtfsFacade.replaceTables(notDeployedVersions);
|
|
53
54
|
yield this.dataCacheManager.cleanCache();
|
|
54
55
|
yield this.ropidGtfsRepository.cleanTmpAndOldTables();
|
|
55
|
-
|
|
56
|
+
const rabbitExchangeName = this.config.getValue("env.RABBIT_EXCHANGE_NAME");
|
|
57
|
+
yield integration_engine_1.QueueManager.sendMessageToExchange(`${rabbitExchangeName}.${constants_1.WORKER_NAME.toLowerCase()}`, "refreshGTFSTripData", {});
|
|
56
58
|
}
|
|
57
59
|
catch (err) {
|
|
58
60
|
yield this.retryOrThrow(notDeployedVersions, data, err);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CheckSavedRowsAndReplaceTablesTask.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/ropid-gtfs/workers/timetables/tasks/CheckSavedRowsAndReplaceTablesTask.ts"],"names":[],"mappings":";;;;;;;;;;;;AAGA,wEAA2E;AAC3E,kFAAqF;AACrF,wCAA2D;AAC3D,kFAAqF;AAErF,iGAA0G;
|
|
1
|
+
{"version":3,"file":"CheckSavedRowsAndReplaceTablesTask.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/ropid-gtfs/workers/timetables/tasks/CheckSavedRowsAndReplaceTablesTask.ts"],"names":[],"mappings":"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"}
|
|
@@ -19,13 +19,17 @@ const SeznamAutobusuDataSourceProvider_1 = require("../workers/vehicle-descripto
|
|
|
19
19
|
const DescriptorFilter_1 = require("../workers/vehicle-descriptors/helpers/DescriptorFilter");
|
|
20
20
|
const RefreshDescriptorsTask_1 = require("../workers/vehicle-descriptors/tasks/RefreshDescriptorsTask");
|
|
21
21
|
const DescriptorTransformation_1 = require("../workers/vehicle-descriptors/transformations/DescriptorTransformation");
|
|
22
|
+
const TripsRepository_1 = require("../workers/vehicle-positions/data-access/TripsRepository");
|
|
22
23
|
const PublicApiCacheRepository_1 = require("../workers/vehicle-positions/data-access/cache/PublicApiCacheRepository");
|
|
23
24
|
const PublicStopTimeCacheRepository_1 = require("../workers/vehicle-positions/data-access/cache/PublicStopTimeCacheRepository");
|
|
24
25
|
const PublicStopTimeRepository_1 = require("../workers/vehicle-positions/data-access/views/PublicStopTimeRepository");
|
|
26
|
+
const GtfsTripDataFixerFactory_1 = require("../workers/vehicle-positions/helpers/gtfs-trip-data/GtfsTripDataFixerFactory");
|
|
27
|
+
const HttpGtfsTripDataFixer_1 = require("../workers/vehicle-positions/helpers/gtfs-trip-data/strategy/HttpGtfsTripDataFixer");
|
|
25
28
|
const RefreshPublicStopTimeCacheTask_1 = require("../workers/vehicle-positions/tasks/RefreshPublicStopTimeCacheTask");
|
|
26
29
|
const RefreshPublicTripCacheTask_1 = require("../workers/vehicle-positions/tasks/RefreshPublicTripCacheTask");
|
|
27
30
|
const PublicApiTripTransformation_1 = require("../workers/vehicle-positions/transformations/PublicApiTripTransformation");
|
|
28
31
|
const VPContainerToken_1 = require("./VPContainerToken");
|
|
32
|
+
const RefreshGtfsTripDataTask_1 = require("../workers/vehicle-positions/tasks/RefreshGtfsTripDataTask");
|
|
29
33
|
//#region Initialization
|
|
30
34
|
const VPContainer = Di_1.PidContainer.createChildContainer();
|
|
31
35
|
exports.VPContainer = VPContainer;
|
|
@@ -35,6 +39,7 @@ VPContainer.register(VPContainerToken_1.VPContainerToken.SeznamAutobusuDataSourc
|
|
|
35
39
|
VPContainer.registerSingleton(VPContainerToken_1.VPContainerToken.DescriptorDataSourceFactory, DescriptorDataSourceFactory_1.DescriptorDataSourceFactory);
|
|
36
40
|
//#endregion
|
|
37
41
|
//#region Repositories
|
|
42
|
+
VPContainer.register(VPContainerToken_1.VPContainerToken.TripRepository, TripsRepository_1.TripsRepository);
|
|
38
43
|
VPContainer.register(VPContainerToken_1.VPContainerToken.DescriptorRepository, DescriptorRepository_1.DescriptorRepository);
|
|
39
44
|
VPContainer.register(VPContainerToken_1.VPContainerToken.RegionalBusCisCacheRepository, RegionalBusCisCacheRepository_1.RegionalBusCisCacheRepository);
|
|
40
45
|
VPContainer.register(VPContainerToken_1.VPContainerToken.RegionalBusGtfsCacheRepository, RegionalBusGtfsCacheRepository_1.RegionalBusGtfsCacheRepository);
|
|
@@ -55,6 +60,8 @@ VPContainer.registerSingleton(VPContainerToken_1.VPContainerToken.GtfsLookupMana
|
|
|
55
60
|
VPContainer.registerSingleton(VPContainerToken_1.VPContainerToken.TripScheduleManager, TripScheduleManager_1.TripScheduleManager);
|
|
56
61
|
VPContainer.registerSingleton(VPContainerToken_1.VPContainerToken.RegionalBusMessageFilter, RegionalBusMessageFilter_1.RegionalBusMessageFilter);
|
|
57
62
|
VPContainer.registerSingleton(VPContainerToken_1.VPContainerToken.RegionalBusRunsFacade, RegionalBusRunsFacade_1.RegionalBusRunsFacade);
|
|
63
|
+
VPContainer.registerSingleton(VPContainerToken_1.VPContainerToken.HttpGtfsTripDataFixer, HttpGtfsTripDataFixer_1.HttpGtfsTripDataFixer);
|
|
64
|
+
VPContainer.registerSingleton(VPContainerToken_1.VPContainerToken.GtfsTripDataFixerFactory, GtfsTripDataFixerFactory_1.GtfsTripDataFixerFactory);
|
|
58
65
|
//#endregion
|
|
59
66
|
//#region Tasks
|
|
60
67
|
VPContainer.registerSingleton(VPContainerToken_1.VPContainerToken.RefreshDescriptorsTask, RefreshDescriptorsTask_1.RefreshDescriptorsTask);
|
|
@@ -62,4 +69,5 @@ VPContainer.registerSingleton(VPContainerToken_1.VPContainerToken.SaveArrivaCity
|
|
|
62
69
|
VPContainer.registerSingleton(VPContainerToken_1.VPContainerToken.ProcessRegionalBusRunMessagesTask, ProcessRegionalBusRunMessagesTask_1.ProcessRegionalBusRunMessagesTask);
|
|
63
70
|
VPContainer.registerSingleton(VPContainerToken_1.VPContainerToken.RefreshPublicTripCacheTask, RefreshPublicTripCacheTask_1.RefreshPublicTripCacheTask);
|
|
64
71
|
VPContainer.registerSingleton(VPContainerToken_1.VPContainerToken.RefreshPublicStopTimeCacheTask, RefreshPublicStopTimeCacheTask_1.RefreshPublicStopTimeCacheTask);
|
|
72
|
+
VPContainer.registerSingleton(VPContainerToken_1.VPContainerToken.RefreshGtfsTripDataTask, RefreshGtfsTripDataTask_1.RefreshGtfsTripDataTask);
|
|
65
73
|
//# sourceMappingURL=Di.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Di.js","sourceRoot":"","sources":["../../../../src/integration-engine/vehicle-positions/ioc/Di.ts"],"names":[],"mappings":";;;AAAA,qCAA0C;AAE1C,qHAAkH;AAClH,mHAAgH;AAChH,qHAAkH;AAClH,4FAAyF;AACzF,8FAA2F;AAC3F,4GAAyG;AACzG,sGAAmG;AACnG,kGAA+F;AAC/F,+GAA4G;AAC5G,iGAA8F;AAC9F,iIAA8H;AAC9H,0GAAuG;AACvG,wHAAqH;AACrH,kJAA+I;AAC/I,8FAA2F;AAC3F,wGAAqG;AACrG,sHAAmH;AACnH,sHAAmH;AACnH,gIAA6H;AAC7H,sHAAmH;AACnH,sHAAmH;AACnH,8GAA2G;AAC3G,0HAAuH;AACvH,yDAAsD;
|
|
1
|
+
{"version":3,"file":"Di.js","sourceRoot":"","sources":["../../../../src/integration-engine/vehicle-positions/ioc/Di.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,14 @@
|
|
|
1
1
|
declare const VPContainerToken: {
|
|
2
|
+
TripRepository: symbol;
|
|
2
3
|
PublicStopTimeRepository: symbol;
|
|
3
4
|
PublicApiCacheRepository: symbol;
|
|
4
5
|
PublicStopTimeCacheRepository: symbol;
|
|
5
6
|
PublicApiTripTransformation: symbol;
|
|
7
|
+
GtfsTripDataFixerFactory: symbol;
|
|
8
|
+
HttpGtfsTripDataFixer: symbol;
|
|
6
9
|
RefreshPublicTripCacheTask: symbol;
|
|
7
10
|
RefreshPublicStopTimeCacheTask: symbol;
|
|
11
|
+
RefreshGtfsTripDataTask: symbol;
|
|
8
12
|
RegionalBusCisCacheRepository: symbol;
|
|
9
13
|
RegionalBusGtfsCacheRepository: symbol;
|
|
10
14
|
RegionalBusRunsMessagesRepository: symbol;
|
|
@@ -3,12 +3,16 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.VPContainerToken = void 0;
|
|
4
4
|
const VPContainerToken = {
|
|
5
5
|
//#region Vehicle Positions
|
|
6
|
+
TripRepository: Symbol(),
|
|
6
7
|
PublicStopTimeRepository: Symbol(),
|
|
7
8
|
PublicApiCacheRepository: Symbol(),
|
|
8
9
|
PublicStopTimeCacheRepository: Symbol(),
|
|
9
10
|
PublicApiTripTransformation: Symbol(),
|
|
11
|
+
GtfsTripDataFixerFactory: Symbol(),
|
|
12
|
+
HttpGtfsTripDataFixer: Symbol(),
|
|
10
13
|
RefreshPublicTripCacheTask: Symbol(),
|
|
11
14
|
RefreshPublicStopTimeCacheTask: Symbol(),
|
|
15
|
+
RefreshGtfsTripDataTask: Symbol(),
|
|
12
16
|
//#endregion
|
|
13
17
|
//#region Runs
|
|
14
18
|
RegionalBusCisCacheRepository: Symbol(),
|
|
@@ -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,2BAA2B;IAC3B,wBAAwB,EAAE,MAAM,EAAE;IAClC,wBAAwB,EAAE,MAAM,EAAE;IAClC,6BAA6B,EAAE,MAAM,EAAE;IACvC,2BAA2B,EAAE,MAAM,EAAE;IACrC,0BAA0B,EAAE,MAAM,EAAE;IACpC,8BAA8B,EAAE,MAAM,EAAE;IACxC,YAAY;IAEZ,cAAc;IACd,6BAA6B,EAAE,MAAM,EAAE;IACvC,8BAA8B,EAAE,MAAM,EAAE;IACxC,iCAAiC,EAAE,MAAM,EAAE;IAC3C,qCAAqC,EAAE,MAAM,EAAE;IAC/C,gBAAgB,EAAE,MAAM,EAAE;IAC1B,iBAAiB,EAAE,MAAM,EAAE;IAC3B,mBAAmB,EAAE,MAAM,EAAE;IAC7B,wBAAwB,EAAE,MAAM,EAAE;IAClC,qBAAqB,EAAE,MAAM,EAAE;IAC/B,0BAA0B,EAAE,MAAM,EAAE;IACpC,iCAAiC,EAAE,MAAM,EAAE;IAC3C,YAAY;IAEZ,6BAA6B;IAC7B,gCAAgC,EAAE,MAAM,EAAE;IAC1C,2BAA2B,EAAE,MAAM,EAAE;IACrC,oBAAoB,EAAE,MAAM,EAAE;IAC9B,wBAAwB,EAAE,MAAM,EAAE;IAClC,gBAAgB,EAAE,MAAM,EAAE;IAC1B,sBAAsB,EAAE,MAAM,EAAE;IAChC,cAAc,EAAE,MAAM,EAAE;IACxB,YAAY;CACf,CAAC;AAEO,4CAAgB"}
|
|
1
|
+
{"version":3,"file":"VPContainerToken.js","sourceRoot":"","sources":["../../../../src/integration-engine/vehicle-positions/ioc/VPContainerToken.ts"],"names":[],"mappings":";;;AAAA,MAAM,gBAAgB,GAAG;IACrB,2BAA2B;IAC3B,cAAc,EAAE,MAAM,EAAE;IACxB,wBAAwB,EAAE,MAAM,EAAE;IAClC,wBAAwB,EAAE,MAAM,EAAE;IAClC,6BAA6B,EAAE,MAAM,EAAE;IACvC,2BAA2B,EAAE,MAAM,EAAE;IACrC,wBAAwB,EAAE,MAAM,EAAE;IAClC,qBAAqB,EAAE,MAAM,EAAE;IAC/B,0BAA0B,EAAE,MAAM,EAAE;IACpC,8BAA8B,EAAE,MAAM,EAAE;IACxC,uBAAuB,EAAE,MAAM,EAAE;IACjC,YAAY;IAEZ,cAAc;IACd,6BAA6B,EAAE,MAAM,EAAE;IACvC,8BAA8B,EAAE,MAAM,EAAE;IACxC,iCAAiC,EAAE,MAAM,EAAE;IAC3C,qCAAqC,EAAE,MAAM,EAAE;IAC/C,gBAAgB,EAAE,MAAM,EAAE;IAC1B,iBAAiB,EAAE,MAAM,EAAE;IAC3B,mBAAmB,EAAE,MAAM,EAAE;IAC7B,wBAAwB,EAAE,MAAM,EAAE;IAClC,qBAAqB,EAAE,MAAM,EAAE;IAC/B,0BAA0B,EAAE,MAAM,EAAE;IACpC,iCAAiC,EAAE,MAAM,EAAE;IAC3C,YAAY;IAEZ,6BAA6B;IAC7B,gCAAgC,EAAE,MAAM,EAAE;IAC1C,2BAA2B,EAAE,MAAM,EAAE;IACrC,oBAAoB,EAAE,MAAM,EAAE;IAC9B,wBAAwB,EAAE,MAAM,EAAE;IAClC,gBAAgB,EAAE,MAAM,EAAE;IAC1B,sBAAsB,EAAE,MAAM,EAAE;IAChC,cAAc,EAAE,MAAM,EAAE;IACxB,YAAY;CACf,CAAC;AAEO,4CAAgB"}
|
|
@@ -9,7 +9,6 @@ const DataRetentionTask_1 = require("./tasks/DataRetentionTask");
|
|
|
9
9
|
const ProcessRegionalBusPositionsTask_1 = require("./tasks/ProcessRegionalBusPositionsTask");
|
|
10
10
|
const PropagateDelayTask_1 = require("./tasks/PropagateDelayTask");
|
|
11
11
|
const PropagateTrainDelayTask_1 = require("./tasks/PropagateTrainDelayTask");
|
|
12
|
-
const RefreshGtfsTripDataTask_1 = require("./tasks/RefreshGtfsTripDataTask");
|
|
13
12
|
const SaveDataToDBTask_1 = require("./tasks/SaveDataToDBTask");
|
|
14
13
|
const UpdateDelayTask_1 = require("./tasks/UpdateDelayTask");
|
|
15
14
|
const UpdateGtfsTripIdTask_1 = require("./tasks/UpdateGtfsTripIdTask");
|
|
@@ -25,6 +24,7 @@ class VPWorker extends workers_1.AbstractWorker {
|
|
|
25
24
|
// Register tasks
|
|
26
25
|
this.registerTask(Di_1.VPContainer.resolve(VPContainerToken_1.VPContainerToken.RefreshPublicTripCacheTask));
|
|
27
26
|
this.registerTask(Di_1.VPContainer.resolve(VPContainerToken_1.VPContainerToken.RefreshPublicStopTimeCacheTask));
|
|
27
|
+
this.registerTask(Di_1.VPContainer.resolve(VPContainerToken_1.VPContainerToken.RefreshGtfsTripDataTask));
|
|
28
28
|
this.registerTask(new SaveDataToDBTask_1.SaveDataToDBTask(this.getQueuePrefix()));
|
|
29
29
|
this.registerTask(new UpdateGtfsTripIdTask_1.UpdateGtfsTripIdTask(this.getQueuePrefix()));
|
|
30
30
|
this.registerTask(new UpdateRunsGtfsTripIdTask_1.UpdateRunsGtfsTripIdTask(this.getQueuePrefix()));
|
|
@@ -32,7 +32,6 @@ class VPWorker extends workers_1.AbstractWorker {
|
|
|
32
32
|
this.registerTask(new ProcessRegionalBusPositionsTask_1.ProcessRegionalBusPositionsTask(this.getQueuePrefix()));
|
|
33
33
|
this.registerTask(new PropagateDelayTask_1.PropagateDelayTask(this.getQueuePrefix()));
|
|
34
34
|
this.registerTask(new PropagateTrainDelayTask_1.PropagateTrainDelayTask(this.getQueuePrefix()));
|
|
35
|
-
this.registerTask(new RefreshGtfsTripDataTask_1.RefreshGtfsTripDataTask(this.getQueuePrefix()));
|
|
36
35
|
this.registerTask(new DataRetentionTask_1.DataRetentionTask(this.getQueuePrefix()));
|
|
37
36
|
}
|
|
38
37
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VPWorker.js","sourceRoot":"","sources":["../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/VPWorker.ts"],"names":[],"mappings":";;;AAAA,qCAA2D;AAC3D,iEAA8E;AAC9E,2EAA6F;AAC7F,2CAA0C;AAC1C,iEAA8D;AAC9D,6FAA0F;AAC1F,mEAAgE;AAChE,6EAA0E;
|
|
1
|
+
{"version":3,"file":"VPWorker.js","sourceRoot":"","sources":["../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/VPWorker.ts"],"names":[],"mappings":";;;AAAA,qCAA2D;AAC3D,iEAA8E;AAC9E,2EAA6F;AAC7F,2CAA0C;AAC1C,iEAA8D;AAC9D,6FAA0F;AAC1F,mEAAgE;AAChE,6EAA0E;AAI1E,+DAA4D;AAC5D,6DAA0D;AAC1D,uEAAoE;AACpE,+EAA4E;AAE5E,MAAa,QAAS,SAAQ,wBAAc;IAGxC;QACI,KAAK,EAAE,CAAC;QAHF,SAAI,GAAG,uBAAW,CAAC;QAmBtB,iBAAY,GAAG,CAAC,IAAuB,EAAQ,EAAE;YACpD,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;YACzB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QAC7C,CAAC,CAAC;QAjBE,iBAAiB;QACjB,IAAI,CAAC,YAAY,CAAC,gBAAW,CAAC,OAAO,CAA6B,mCAAgB,CAAC,0BAA0B,CAAC,CAAC,CAAC;QAChH,IAAI,CAAC,YAAY,CAAC,gBAAW,CAAC,OAAO,CAAiC,mCAAgB,CAAC,8BAA8B,CAAC,CAAC,CAAC;QACxH,IAAI,CAAC,YAAY,CAAC,gBAAW,CAAC,OAAO,CAA0B,mCAAgB,CAAC,uBAAuB,CAAC,CAAC,CAAC;QAC1G,IAAI,CAAC,YAAY,CAAC,IAAI,mCAAgB,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;QAC/D,IAAI,CAAC,YAAY,CAAC,IAAI,2CAAoB,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;QACnE,IAAI,CAAC,YAAY,CAAC,IAAI,mDAAwB,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;QACvE,IAAI,CAAC,YAAY,CAAC,IAAI,iCAAe,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;QAC9D,IAAI,CAAC,YAAY,CAAC,IAAI,iEAA+B,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;QAC9E,IAAI,CAAC,YAAY,CAAC,IAAI,uCAAkB,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;QACjE,IAAI,CAAC,YAAY,CAAC,IAAI,iDAAuB,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;QACtE,IAAI,CAAC,YAAY,CAAC,IAAI,qCAAiB,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;IACpE,CAAC;CAMJ;AAxBD,4BAwBC"}
|
|
@@ -5,10 +5,13 @@ import { IVPTripsPositionAttributes } from "../../../../../schema-definitions/ve
|
|
|
5
5
|
import { IScheduleDto } from "../../../../../schema-definitions/vehicle-positions/redis/interfaces/IGtfsRunTripCacheDto";
|
|
6
6
|
import { IModel, PostgresModel } from "@golemio/core/dist/integration-engine/models";
|
|
7
7
|
import Sequelize from "@golemio/core/dist/shared/sequelize";
|
|
8
|
+
import { ProviderSourceTypeEnum } from "../helpers/ProviderSourceTypeEnum";
|
|
8
9
|
import { IUpdateRunsGtfsTripInput } from "../interfaces/IUpdateRunsGtfsTripInput";
|
|
9
10
|
import { IPropagateDelay } from "../interfaces/VPInterfaces";
|
|
10
11
|
import { IEnrichedTripForPublicApi, IUpdateDelayRunTripsData, IUpdateDelayTripsIdsData, IUpdateGTFSTripIdData } from "./interfaces/TripRepositoryInterfaces";
|
|
11
12
|
export declare class TripsRepository extends PostgresModel implements IModel {
|
|
13
|
+
private logger;
|
|
14
|
+
private connector;
|
|
12
15
|
private positionsRepository;
|
|
13
16
|
private stopTimeDelayPredictionRepository;
|
|
14
17
|
private descriptorRepository;
|
|
@@ -35,4 +38,5 @@ export declare class TripsRepository extends PostgresModel implements IModel {
|
|
|
35
38
|
findAllForGTFSRt: () => Promise<IGtfsRtTripDto[]>;
|
|
36
39
|
findAllForPublicCache: () => Promise<IEnrichedTripForPublicApi[]>;
|
|
37
40
|
refreshGtfsTripData: () => Promise<void>;
|
|
41
|
+
getTripsWithInvalidGtfsTripId: (providerSourceType: ProviderSourceTypeEnum) => Promise<IUpdateGTFSTripIdData[]>;
|
|
38
42
|
}
|
|
@@ -15,6 +15,12 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
|
|
|
15
15
|
}) : function(o, v) {
|
|
16
16
|
o["default"] = v;
|
|
17
17
|
});
|
|
18
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
19
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
20
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
21
|
+
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;
|
|
22
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
23
|
+
};
|
|
18
24
|
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
25
|
if (mod && mod.__esModule) return mod;
|
|
20
26
|
var result = {};
|
|
@@ -22,6 +28,9 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
22
28
|
__setModuleDefault(result, mod);
|
|
23
29
|
return result;
|
|
24
30
|
};
|
|
31
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
32
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
33
|
+
};
|
|
25
34
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
26
35
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
27
36
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
@@ -36,31 +45,33 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
36
45
|
};
|
|
37
46
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
38
47
|
exports.TripsRepository = void 0;
|
|
48
|
+
const Di_1 = require("../../../ioc/Di");
|
|
39
49
|
const DescriptorRepository_1 = require("../../vehicle-descriptors/data-access/DescriptorRepository");
|
|
40
50
|
const const_1 = require("../../../../../schema-definitions/const");
|
|
41
|
-
const
|
|
42
|
-
const
|
|
43
|
-
const
|
|
44
|
-
const models_2 = require("@golemio/core/dist/integration-engine/models");
|
|
51
|
+
const VPTripsModel_1 = require("../../../../../schema-definitions/vehicle-positions/models/VPTripsModel");
|
|
52
|
+
const CoreToken_1 = require("@golemio/core/dist/helpers/ioc/CoreToken");
|
|
53
|
+
const models_1 = require("@golemio/core/dist/integration-engine/models");
|
|
45
54
|
const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
|
|
46
55
|
const golemio_validator_1 = require("@golemio/core/dist/shared/golemio-validator");
|
|
47
56
|
const moment_timezone_1 = __importDefault(require("@golemio/core/dist/shared/moment-timezone"));
|
|
48
57
|
const sequelize_1 = __importStar(require("@golemio/core/dist/shared/sequelize"));
|
|
58
|
+
const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
|
|
49
59
|
const const_2 = require("../../../../../const");
|
|
60
|
+
const DateTimeUtils_1 = require("../helpers/DateTimeUtils");
|
|
50
61
|
const PositionsRepository_1 = require("./PositionsRepository");
|
|
51
62
|
const RawQueryProvider_1 = require("./helpers/RawQueryProvider");
|
|
52
63
|
const TripsMapper_1 = __importDefault(require("./helpers/TripsMapper"));
|
|
53
64
|
const StopTimeDelayPredictionRepository_1 = require("./views/StopTimeDelayPredictionRepository");
|
|
54
|
-
class TripsRepository extends
|
|
65
|
+
let TripsRepository = exports.TripsRepository = class TripsRepository extends models_1.PostgresModel {
|
|
55
66
|
constructor() {
|
|
56
67
|
super("VPTripsRepository", {
|
|
57
|
-
pgTableName:
|
|
68
|
+
pgTableName: VPTripsModel_1.VPTripsModel.TABLE_NAME,
|
|
58
69
|
pgSchema: const_1.PG_SCHEMA,
|
|
59
|
-
outputSequelizeAttributes:
|
|
70
|
+
outputSequelizeAttributes: VPTripsModel_1.VPTripsModel.attributeModel,
|
|
60
71
|
savingType: "insertOrUpdate",
|
|
61
|
-
}, new golemio_validator_1.JSONSchemaValidator("VPTripsRepositoryValidator",
|
|
72
|
+
}, new golemio_validator_1.JSONSchemaValidator("VPTripsRepositoryValidator", VPTripsModel_1.VPTripsModel.jsonSchema));
|
|
62
73
|
this.findAllAssocTripIds = (tripIds) => __awaiter(this, void 0, void 0, function* () {
|
|
63
|
-
const connection =
|
|
74
|
+
const connection = this.connector.getConnection();
|
|
64
75
|
return Array.isArray(tripIds) && tripIds.length > 0
|
|
65
76
|
? (yield connection.query(RawQueryProvider_1.RawQueryProvider.getFindAssociatedTripsQuery(), {
|
|
66
77
|
type: sequelize_1.default.QueryTypes.SELECT,
|
|
@@ -152,31 +163,9 @@ class TripsRepository extends models_2.PostgresModel {
|
|
|
152
163
|
}
|
|
153
164
|
});
|
|
154
165
|
this.deduceTimestamps = (min_stop_time, max_stop_time, origin_start_timestamp) => {
|
|
155
|
-
const minTimeParts = min_stop_time.split(":").map((e) => parseInt(e, 10));
|
|
156
|
-
const maxTimeParts = max_stop_time.split(":").map((e) => parseInt(e, 10));
|
|
157
|
-
const originStartTimestamp = (0, moment_timezone_1.default)(origin_start_timestamp).tz("Europe/Prague");
|
|
158
|
-
// if trip starts not on origin_start_timestamp but after midnight with times <=12:**:**
|
|
159
|
-
// then we add day
|
|
160
|
-
const startsNextDay = originStartTimestamp.hours() >= minTimeParts[0] + 12;
|
|
161
|
-
const startTimestamp = originStartTimestamp
|
|
162
|
-
.clone()
|
|
163
|
-
.tz("Europe/Prague")
|
|
164
|
-
.startOf("day")
|
|
165
|
-
.add(startsNextDay ? 1 : 0, "days")
|
|
166
|
-
.add(minTimeParts[0] > 23 && originStartTimestamp.hours() > 12 ? 1 : 0, "days")
|
|
167
|
-
.add(minTimeParts[0] % 24, "hours")
|
|
168
|
-
.add(minTimeParts[1], "minutes")
|
|
169
|
-
.add(minTimeParts[2], "seconds")
|
|
170
|
-
.toDate();
|
|
171
|
-
const endTimestamp = startTimestamp.getTime() +
|
|
172
|
-
(maxTimeParts[0] * 3600 +
|
|
173
|
-
maxTimeParts[1] * 60 +
|
|
174
|
-
maxTimeParts[2] -
|
|
175
|
-
(minTimeParts[0] * 3600 + minTimeParts[1] * 60 + minTimeParts[2])) *
|
|
176
|
-
1000;
|
|
177
166
|
return {
|
|
178
|
-
startTimestamp:
|
|
179
|
-
endTimestamp:
|
|
167
|
+
startTimestamp: DateTimeUtils_1.DateTimeUtils.getStopDateTimeForTripOrigin(min_stop_time, origin_start_timestamp),
|
|
168
|
+
endTimestamp: DateTimeUtils_1.DateTimeUtils.getStopDateTimeForTripOrigin(max_stop_time, origin_start_timestamp),
|
|
180
169
|
};
|
|
181
170
|
};
|
|
182
171
|
this.upsertCommonRunTrip = ({ run }, gtfsTrip) => __awaiter(this, void 0, void 0, function* () {
|
|
@@ -241,7 +230,7 @@ class TripsRepository extends models_2.PostgresModel {
|
|
|
241
230
|
return this.sequelizeModel.findAll(options);
|
|
242
231
|
});
|
|
243
232
|
this.findGTFSTripIdBasic = (trip) => __awaiter(this, void 0, void 0, function* () {
|
|
244
|
-
const connection =
|
|
233
|
+
const connection = this.connector.getConnection();
|
|
245
234
|
const startDate = (0, moment_timezone_1.default)(trip.start_timestamp).tz("Europe/Prague");
|
|
246
235
|
const startDateDayBefore = startDate.clone().subtract(1, "day");
|
|
247
236
|
const startDateYMD = startDate.format("YYYY-MM-DD");
|
|
@@ -262,16 +251,16 @@ class TripsRepository extends models_2.PostgresModel {
|
|
|
262
251
|
},
|
|
263
252
|
}));
|
|
264
253
|
if (result.length < 1) {
|
|
265
|
-
|
|
254
|
+
this.logger.verbose(`${this.constructor.name}: Model data was not found for id '${trip.id}' (basic).`);
|
|
266
255
|
}
|
|
267
256
|
else if (result.length > 1) {
|
|
268
|
-
|
|
257
|
+
this.logger.verbose(`There are too many gtfs trips (${result.length}) linked with id '${trip.id}' (trip).`);
|
|
269
258
|
result = [];
|
|
270
259
|
}
|
|
271
260
|
return result;
|
|
272
261
|
});
|
|
273
262
|
this.findGTFSTripIdsTrain = (trip) => __awaiter(this, void 0, void 0, function* () {
|
|
274
|
-
const connection =
|
|
263
|
+
const connection = this.connector.getConnection();
|
|
275
264
|
const sqlQuery = RawQueryProvider_1.RawQueryProvider.getFindGtfsTrainTripsQuery();
|
|
276
265
|
let results = (yield connection.query(sqlQuery, {
|
|
277
266
|
type: sequelize_1.default.QueryTypes.SELECT,
|
|
@@ -280,10 +269,10 @@ class TripsRepository extends models_2.PostgresModel {
|
|
|
280
269
|
},
|
|
281
270
|
}));
|
|
282
271
|
if (results.length < 1) {
|
|
283
|
-
|
|
272
|
+
this.logger.verbose(`Model data was not found for id '${trip.id}' (train).`, true, this.constructor.name, 5001);
|
|
284
273
|
}
|
|
285
274
|
else if (results.length > 10) {
|
|
286
|
-
|
|
275
|
+
this.logger.verbose(`There are too many gtfs trips (${results.length}) linked with id '${trip.id}' (train).`);
|
|
287
276
|
results = [];
|
|
288
277
|
}
|
|
289
278
|
return results;
|
|
@@ -419,17 +408,32 @@ class TripsRepository extends models_2.PostgresModel {
|
|
|
419
408
|
}
|
|
420
409
|
});
|
|
421
410
|
this.refreshGtfsTripData = () => __awaiter(this, void 0, void 0, function* () {
|
|
422
|
-
const connection =
|
|
411
|
+
const connection = this.connector.getConnection();
|
|
423
412
|
try {
|
|
424
413
|
const [_result, rowCount] = yield connection.query(RawQueryProvider_1.RawQueryProvider.getUpdateGtfsTripDataQuery(), {
|
|
425
414
|
type: sequelize_1.QueryTypes.UPDATE,
|
|
426
415
|
});
|
|
427
|
-
|
|
416
|
+
this.logger.info(`refreshGtfsTripData: updated ${rowCount} trips`);
|
|
428
417
|
}
|
|
429
418
|
catch (err) {
|
|
430
419
|
throw new golemio_errors_1.GeneralError("refreshGtfsTripData: error while updating data", this.name, err);
|
|
431
420
|
}
|
|
432
421
|
});
|
|
422
|
+
this.getTripsWithInvalidGtfsTripId = (providerSourceType) => __awaiter(this, void 0, void 0, function* () {
|
|
423
|
+
const connection = this.connector.getConnection();
|
|
424
|
+
try {
|
|
425
|
+
return yield connection.query(RawQueryProvider_1.RawQueryProvider.getFindTripsWithInvalidGtfsTripIdQuery(), {
|
|
426
|
+
type: sequelize_1.QueryTypes.SELECT,
|
|
427
|
+
raw: true,
|
|
428
|
+
bind: { providerSourceType },
|
|
429
|
+
});
|
|
430
|
+
}
|
|
431
|
+
catch (err) {
|
|
432
|
+
throw new golemio_errors_1.GeneralError("getTripsWithInvalidGtfsTripId: error while getting trips", this.name, err);
|
|
433
|
+
}
|
|
434
|
+
});
|
|
435
|
+
this.logger = Di_1.VPContainer.resolve(CoreToken_1.CoreToken.Logger);
|
|
436
|
+
this.connector = Di_1.VPContainer.resolve(CoreToken_1.CoreToken.PostgresConnector);
|
|
433
437
|
this.positionsRepository = new PositionsRepository_1.PositionsRepository();
|
|
434
438
|
this.descriptorRepository = new DescriptorRepository_1.DescriptorRepository();
|
|
435
439
|
this.stopTimeDelayPredictionRepository = new StopTimeDelayPredictionRepository_1.StopTimeDelayPredictionRepository();
|
|
@@ -448,11 +452,14 @@ class TripsRepository extends models_2.PostgresModel {
|
|
|
448
452
|
targetKey: "registration_number",
|
|
449
453
|
scope: {
|
|
450
454
|
[sequelize_1.default.Op.and]: [
|
|
451
|
-
sequelize_1.default.literal(`${
|
|
455
|
+
sequelize_1.default.literal(`${VPTripsModel_1.VPTripsModel.TABLE_NAME}.gtfs_route_type = vehicle_descriptor.gtfs_route_type`),
|
|
452
456
|
],
|
|
453
457
|
},
|
|
454
458
|
});
|
|
455
459
|
}
|
|
456
|
-
}
|
|
457
|
-
exports.TripsRepository = TripsRepository
|
|
460
|
+
};
|
|
461
|
+
exports.TripsRepository = TripsRepository = __decorate([
|
|
462
|
+
(0, tsyringe_1.injectable)(),
|
|
463
|
+
__metadata("design:paramtypes", [])
|
|
464
|
+
], TripsRepository);
|
|
458
465
|
//# sourceMappingURL=TripsRepository.js.map
|