@golemio/pid 2.13.6-dev.1309929774 → 2.13.6-dev.1310475463
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/db/example/redis/publicStopTimesMockBeforeTrack.json +37 -0
- package/db/migrations/postgresql/20240527113450-future-stop-times-with-before-tracks.js +53 -0
- package/db/migrations/postgresql/sqls/20240527113450-future-stop-times-with-before-tracks-down.sql +57 -0
- package/db/migrations/postgresql/sqls/20240527113450-future-stop-times-with-before-tracks-up.sql +57 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/TripsRepository.js +1 -1
- 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/cache/PublicApiCacheRepository.d.ts +2 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/cache/PublicApiCacheRepository.js +27 -3
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/cache/PublicApiCacheRepository.js.map +1 -1
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/public-api/PublicCacheTripsFilter.d.ts +4 -1
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/public-api/PublicCacheTripsFilter.js +9 -1
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/public-api/PublicCacheTripsFilter.js.map +1 -1
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/RefreshPublicStopTimeCacheTask.js +4 -3
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/RefreshPublicStopTimeCacheTask.js.map +1 -1
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/RefreshPublicTripCacheTask.js +5 -1
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/RefreshPublicTripCacheTask.js.map +1 -1
- package/dist/output-gateway/public/controllers/v1/PublicVehiclePositionsController.d.ts +1 -0
- package/dist/output-gateway/public/controllers/v1/PublicVehiclePositionsController.js +12 -0
- package/dist/output-gateway/public/controllers/v1/PublicVehiclePositionsController.js.map +1 -1
- package/dist/output-gateway/public/controllers/v1/interfaces/PublicParamsInterfaces.d.ts +1 -0
- package/dist/output-gateway/public/data-access/redis/PublicStopTimeRepository.d.ts +1 -1
- package/dist/output-gateway/public/data-access/redis/PublicStopTimeRepository.js +3 -2
- package/dist/output-gateway/public/data-access/redis/PublicStopTimeRepository.js.map +1 -1
- package/dist/output-gateway/public/data-access/redis/PublicVehiclePositionsRepository.d.ts +1 -1
- package/dist/output-gateway/public/data-access/redis/PublicVehiclePositionsRepository.js +4 -2
- package/dist/output-gateway/public/data-access/redis/PublicVehiclePositionsRepository.js.map +1 -1
- package/dist/output-gateway/public/domain/repository/IStopTimeRepository.d.ts +1 -1
- package/dist/output-gateway/public/domain/repository/IVehiclePositionsRepository.d.ts +1 -1
- package/dist/output-gateway/public/routers/v1/PublicVehiclePositionsRouter.js +1 -0
- package/dist/output-gateway/public/routers/v1/PublicVehiclePositionsRouter.js.map +1 -1
- package/dist/output-gateway/public/service/facade/DetailedTripFacade.d.ts +1 -1
- package/dist/output-gateway/public/service/facade/DetailedTripFacade.js +5 -2
- package/dist/output-gateway/public/service/facade/DetailedTripFacade.js.map +1 -1
- package/dist/output-gateway/public/service/helpers/trip-scope/strategy/ShapesTripScopeHandler.d.ts +2 -0
- package/dist/output-gateway/public/service/helpers/trip-scope/strategy/ShapesTripScopeHandler.js +2 -0
- package/dist/output-gateway/public/service/helpers/trip-scope/strategy/ShapesTripScopeHandler.js.map +1 -1
- package/dist/output-gateway/public/service/helpers/trip-scope/strategy/StopTimesTripScopeHandler.d.ts +0 -1
- package/dist/output-gateway/public/service/helpers/trip-scope/strategy/StopTimesTripScopeHandler.js +1 -19
- package/dist/output-gateway/public/service/helpers/trip-scope/strategy/StopTimesTripScopeHandler.js.map +1 -1
- package/dist/output-gateway/ropid-gtfs/models/GTFSShapesModel.js +1 -1
- package/dist/output-gateway/ropid-gtfs/models/GTFSShapesModel.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
[
|
|
2
|
+
{
|
|
3
|
+
"sequence": 1,
|
|
4
|
+
"arr_delay": 0,
|
|
5
|
+
"dep_delay": 0
|
|
6
|
+
},
|
|
7
|
+
{
|
|
8
|
+
"sequence": 2,
|
|
9
|
+
"arr_delay": 0,
|
|
10
|
+
"dep_delay": 0
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
"sequence": 3,
|
|
14
|
+
"arr_delay": 0,
|
|
15
|
+
"dep_delay": 0
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
"sequence": 4,
|
|
19
|
+
"arr_delay": 0,
|
|
20
|
+
"dep_delay": 0
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
"sequence": 5,
|
|
24
|
+
"arr_delay": 0,
|
|
25
|
+
"dep_delay": 0
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
"sequence": 6,
|
|
29
|
+
"arr_delay": 0,
|
|
30
|
+
"dep_delay": 0
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
"sequence": 7,
|
|
34
|
+
"arr_delay": 0,
|
|
35
|
+
"dep_delay": 0
|
|
36
|
+
}
|
|
37
|
+
]
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var dbm;
|
|
4
|
+
var type;
|
|
5
|
+
var seed;
|
|
6
|
+
var fs = require('fs');
|
|
7
|
+
var path = require('path');
|
|
8
|
+
var Promise;
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* We receive the dbmigrate dependency from dbmigrate initially.
|
|
12
|
+
* This enables us to not have to rely on NODE_PATH.
|
|
13
|
+
*/
|
|
14
|
+
exports.setup = function(options, seedLink) {
|
|
15
|
+
dbm = options.dbmigrate;
|
|
16
|
+
type = dbm.dataType;
|
|
17
|
+
seed = seedLink;
|
|
18
|
+
Promise = options.Promise;
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
exports.up = function(db) {
|
|
22
|
+
var filePath = path.join(__dirname, 'sqls', '20240527113450-future-stop-times-with-before-tracks-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', '20240527113450-future-stop-times-with-before-tracks-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/20240527113450-future-stop-times-with-before-tracks-down.sql
ADDED
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
CREATE OR REPLACE VIEW v_public_vehiclepositions_future_stop_times
|
|
2
|
+
AS WITH RECURSIVE stop_times AS (
|
|
3
|
+
SELECT rst.trip_id,
|
|
4
|
+
vt.id AS trips_id,
|
|
5
|
+
vt.provider_source_type,
|
|
6
|
+
vp.delay,
|
|
7
|
+
COALESCE(vp.last_stop_sequence, 1) AS initial_stop_sequence,
|
|
8
|
+
vp.state_position,
|
|
9
|
+
rst.stop_id,
|
|
10
|
+
rst.stop_sequence,
|
|
11
|
+
rst.computed_dwell_time_seconds,
|
|
12
|
+
CASE
|
|
13
|
+
WHEN vp.last_stop_sequence IS NULL THEN vp.delay
|
|
14
|
+
ELSE vp.delay_stop_arrival
|
|
15
|
+
END AS arrival_delay_seconds,
|
|
16
|
+
CASE
|
|
17
|
+
WHEN vp.last_stop_sequence IS NULL THEN predict_delay_seconds(vp.delay, rst.computed_dwell_time_seconds, vt.provider_source_type)
|
|
18
|
+
WHEN vp.state_position::text = 'at_stop'::text THEN
|
|
19
|
+
CASE
|
|
20
|
+
WHEN vt.provider_source_type::text = '1'::text THEN GREATEST(0, vp.delay)
|
|
21
|
+
ELSE vp.delay
|
|
22
|
+
END
|
|
23
|
+
ELSE vp.delay_stop_departure
|
|
24
|
+
END AS departure_delay_seconds
|
|
25
|
+
FROM ropidgtfs_stop_times rst
|
|
26
|
+
JOIN vehiclepositions_trips vt ON vt.gtfs_trip_id::text = rst.trip_id::text
|
|
27
|
+
JOIN vehiclepositions_positions vp ON vp.id = vt.last_position_id AND (vp.valid_to IS NULL OR vp.valid_to >= now()) AND (vp.state_position::text = ANY (ARRAY['on_track'::character varying, 'at_stop'::character varying]::text[]))
|
|
28
|
+
WHERE vt.gtfs_trip_id IS NOT NULL AND rst.stop_sequence = COALESCE(vp.last_stop_sequence, 1)
|
|
29
|
+
UNION ALL
|
|
30
|
+
SELECT rst.trip_id,
|
|
31
|
+
previous_row.trips_id,
|
|
32
|
+
previous_row.provider_source_type,
|
|
33
|
+
previous_row.delay,
|
|
34
|
+
previous_row.initial_stop_sequence,
|
|
35
|
+
previous_row.state_position,
|
|
36
|
+
rst.stop_id,
|
|
37
|
+
rst.stop_sequence,
|
|
38
|
+
rst.computed_dwell_time_seconds,
|
|
39
|
+
CASE
|
|
40
|
+
WHEN (rst.stop_sequence - previous_row.initial_stop_sequence) = 1 AND previous_row.state_position::text <> 'at_stop'::text THEN previous_row.delay
|
|
41
|
+
ELSE previous_row.departure_delay_seconds
|
|
42
|
+
END AS arrival_delay_seconds,
|
|
43
|
+
predict_delay_seconds(
|
|
44
|
+
CASE
|
|
45
|
+
WHEN (rst.stop_sequence - previous_row.initial_stop_sequence) = 1 AND previous_row.state_position::text <> 'at_stop'::text THEN previous_row.delay
|
|
46
|
+
ELSE previous_row.departure_delay_seconds
|
|
47
|
+
END, rst.computed_dwell_time_seconds, previous_row.provider_source_type) AS departure_delay_seconds
|
|
48
|
+
FROM stop_times previous_row
|
|
49
|
+
JOIN ropidgtfs_stop_times rst ON rst.trip_id::text = previous_row.trip_id::text AND rst.stop_sequence = (previous_row.stop_sequence + 1)
|
|
50
|
+
)
|
|
51
|
+
SELECT stop_times.trips_id AS rt_trip_id,
|
|
52
|
+
stop_times.stop_sequence,
|
|
53
|
+
COALESCE(stop_times.arrival_delay_seconds, 0) AS stop_arr_delay,
|
|
54
|
+
COALESCE(stop_times.departure_delay_seconds, 0) AS stop_dep_delay,
|
|
55
|
+
stop_times.stop_id
|
|
56
|
+
FROM stop_times
|
|
57
|
+
ORDER BY stop_times.trip_id, stop_times.stop_sequence;
|
package/db/migrations/postgresql/sqls/20240527113450-future-stop-times-with-before-tracks-up.sql
ADDED
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
CREATE OR REPLACE VIEW v_public_vehiclepositions_future_stop_times
|
|
2
|
+
AS WITH RECURSIVE stop_times AS (
|
|
3
|
+
SELECT rst.trip_id,
|
|
4
|
+
vt.id AS trips_id,
|
|
5
|
+
vt.provider_source_type,
|
|
6
|
+
vp.delay,
|
|
7
|
+
COALESCE(vp.last_stop_sequence, 1) AS initial_stop_sequence,
|
|
8
|
+
vp.state_position,
|
|
9
|
+
rst.stop_id,
|
|
10
|
+
rst.stop_sequence,
|
|
11
|
+
rst.computed_dwell_time_seconds,
|
|
12
|
+
CASE
|
|
13
|
+
WHEN vp.last_stop_sequence IS NULL THEN vp.delay
|
|
14
|
+
ELSE vp.delay_stop_arrival
|
|
15
|
+
END AS arrival_delay_seconds,
|
|
16
|
+
CASE
|
|
17
|
+
WHEN vp.last_stop_sequence IS NULL THEN predict_delay_seconds(vp.delay, rst.computed_dwell_time_seconds, vt.provider_source_type)
|
|
18
|
+
WHEN vp.state_position::text = 'at_stop'::text THEN
|
|
19
|
+
CASE
|
|
20
|
+
WHEN vt.provider_source_type::text = '1'::text THEN GREATEST(0, vp.delay)
|
|
21
|
+
ELSE vp.delay
|
|
22
|
+
END
|
|
23
|
+
ELSE vp.delay_stop_departure
|
|
24
|
+
END AS departure_delay_seconds
|
|
25
|
+
FROM ropidgtfs_stop_times rst
|
|
26
|
+
JOIN vehiclepositions_trips vt ON vt.gtfs_trip_id::text = rst.trip_id::text
|
|
27
|
+
JOIN vehiclepositions_positions vp ON vp.id = vt.last_position_id AND (vp.valid_to IS NULL OR vp.valid_to >= now()) AND (vp.state_position::text = ANY (ARRAY['on_track'::character varying, 'at_stop'::character varying, 'before_track'::character varying, 'before_track_delayed'::character varying]::text[]))
|
|
28
|
+
WHERE vt.gtfs_trip_id IS NOT NULL AND rst.stop_sequence = COALESCE(vp.last_stop_sequence, 1)
|
|
29
|
+
UNION ALL
|
|
30
|
+
SELECT rst.trip_id,
|
|
31
|
+
previous_row.trips_id,
|
|
32
|
+
previous_row.provider_source_type,
|
|
33
|
+
previous_row.delay,
|
|
34
|
+
previous_row.initial_stop_sequence,
|
|
35
|
+
previous_row.state_position,
|
|
36
|
+
rst.stop_id,
|
|
37
|
+
rst.stop_sequence,
|
|
38
|
+
rst.computed_dwell_time_seconds,
|
|
39
|
+
CASE
|
|
40
|
+
WHEN (rst.stop_sequence - previous_row.initial_stop_sequence) = 1 AND previous_row.state_position::text <> 'at_stop'::text THEN previous_row.delay
|
|
41
|
+
ELSE previous_row.departure_delay_seconds
|
|
42
|
+
END AS arrival_delay_seconds,
|
|
43
|
+
predict_delay_seconds(
|
|
44
|
+
CASE
|
|
45
|
+
WHEN (rst.stop_sequence - previous_row.initial_stop_sequence) = 1 AND previous_row.state_position::text <> 'at_stop'::text THEN previous_row.delay
|
|
46
|
+
ELSE previous_row.departure_delay_seconds
|
|
47
|
+
END, rst.computed_dwell_time_seconds, previous_row.provider_source_type) AS departure_delay_seconds
|
|
48
|
+
FROM stop_times previous_row
|
|
49
|
+
JOIN ropidgtfs_stop_times rst ON rst.trip_id::text = previous_row.trip_id::text AND rst.stop_sequence = (previous_row.stop_sequence + 1)
|
|
50
|
+
)
|
|
51
|
+
SELECT stop_times.trips_id AS rt_trip_id,
|
|
52
|
+
stop_times.stop_sequence,
|
|
53
|
+
COALESCE(stop_times.arrival_delay_seconds, 0) AS stop_arr_delay,
|
|
54
|
+
COALESCE(stop_times.departure_delay_seconds, 0) AS stop_dep_delay,
|
|
55
|
+
stop_times.stop_id
|
|
56
|
+
FROM stop_times
|
|
57
|
+
ORDER BY stop_times.trip_id, stop_times.stop_sequence;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TripsRepository.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/TripsRepository.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"TripsRepository.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/TripsRepository.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,8 @@ import { IPublicApiCacheDto } from "../../../../../../schema-definitions/vehicle
|
|
|
2
2
|
import { RedisModel } from "@golemio/core/dist/integration-engine/models/RedisModel";
|
|
3
3
|
export declare class PublicApiCacheRepository extends RedisModel {
|
|
4
4
|
static NAMESPACE_PREFIX: string;
|
|
5
|
+
private readonly CACHE_TTL;
|
|
5
6
|
constructor();
|
|
6
7
|
geoadd(data: IPublicApiCacheDto[]): Promise<string>;
|
|
8
|
+
geoaddFuture(data: IPublicApiCacheDto[], newSetKey: string): Promise<string>;
|
|
7
9
|
}
|
|
@@ -33,6 +33,7 @@ let PublicApiCacheRepository = exports.PublicApiCacheRepository = PublicApiCache
|
|
|
33
33
|
isKeyConstructedFromData: false,
|
|
34
34
|
prefix: PublicApiCacheRepository_1.NAMESPACE_PREFIX,
|
|
35
35
|
}, new golemio_validator_1.JSONSchemaValidator("PublicApiCacheRepository", PublicApiCacheDtoSchema_1.PublicApiCacheDtoSchema));
|
|
36
|
+
this.CACHE_TTL = 1 * 60; // 1 minute
|
|
36
37
|
}
|
|
37
38
|
geoadd(data) {
|
|
38
39
|
return __awaiter(this, void 0, void 0, function* () {
|
|
@@ -50,11 +51,34 @@ let PublicApiCacheRepository = exports.PublicApiCacheRepository = PublicApiCache
|
|
|
50
51
|
pipeline.geoadd(newSetKey, item.lng, item.lat, item.vehicle_id);
|
|
51
52
|
// list with vehicle ids for each trip (for quick lookup of vehicle ids for each trip)
|
|
52
53
|
pipeline.rpush(`${newSetKey}:trip-${item.gtfs_trip_id}`, item.vehicle_id);
|
|
53
|
-
pipeline.expire(`${newSetKey}:trip-${item.gtfs_trip_id}`,
|
|
54
|
+
pipeline.expire(`${newSetKey}:trip-${item.gtfs_trip_id}`, this.CACHE_TTL);
|
|
54
55
|
// vehicle data for each vehicle id (for quick lookup of vehicle data for each vehicle id)
|
|
55
|
-
pipeline.set(`${newSetKey}:vehicle-${item.vehicle_id}`, JSON.stringify(item), "EX",
|
|
56
|
+
pipeline.set(`${newSetKey}:vehicle-${item.vehicle_id}`, JSON.stringify(item), "EX", this.CACHE_TTL);
|
|
56
57
|
}
|
|
57
|
-
pipeline.expire(newSetKey,
|
|
58
|
+
pipeline.expire(newSetKey, this.CACHE_TTL);
|
|
59
|
+
yield pipeline.exec();
|
|
60
|
+
return newSetKey;
|
|
61
|
+
}
|
|
62
|
+
catch (err) {
|
|
63
|
+
throw new golemio_errors_1.GeneralError("PublicApiCacheRepository: geoadd failed", err);
|
|
64
|
+
}
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
geoaddFuture(data, newSetKey) {
|
|
68
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
69
|
+
try {
|
|
70
|
+
yield this.validator.Validate(data);
|
|
71
|
+
}
|
|
72
|
+
catch (err) {
|
|
73
|
+
throw new golemio_errors_1.GeneralError(`PublicApiCacheRepository: data validation failed: ${err.message}`, this.constructor.name, err);
|
|
74
|
+
}
|
|
75
|
+
try {
|
|
76
|
+
const pipeline = this.connection.pipeline();
|
|
77
|
+
for (const item of data) {
|
|
78
|
+
// vehicle data for each vehicle id (for quick lookup of vehicle data for each vehicle id)
|
|
79
|
+
pipeline.set(`${newSetKey}:future-trip-${item.vehicle_id}-${item.gtfs_trip_id}`, JSON.stringify(item), "EX", this.CACHE_TTL);
|
|
80
|
+
}
|
|
81
|
+
pipeline.expire(newSetKey, this.CACHE_TTL);
|
|
58
82
|
yield pipeline.exec();
|
|
59
83
|
return newSetKey;
|
|
60
84
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PublicApiCacheRepository.js","sourceRoot":"","sources":["../../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/cache/PublicApiCacheRepository.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,8FAAmF;AAEnF,0IAAuG;AACvG,wFAAqF;AACrF,6EAAwE;AACxE,mFAAkF;AAClF,iEAAgE;AAChE,6CAA0C;AAGnC,IAAM,wBAAwB,mEAA9B,MAAM,wBAAyB,SAAQ,uBAAU;
|
|
1
|
+
{"version":3,"file":"PublicApiCacheRepository.js","sourceRoot":"","sources":["../../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/cache/PublicApiCacheRepository.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
import { IEnrichedTripForPublicApi } from "../../data-access/interfaces/TripRepositoryInterfaces";
|
|
2
2
|
export declare class PublicCacheTripsFilter {
|
|
3
|
-
static getDistinctLatestTrips(trips: IEnrichedTripForPublicApi[]):
|
|
3
|
+
static getDistinctLatestTrips(trips: IEnrichedTripForPublicApi[]): {
|
|
4
|
+
filteredTrips: IEnrichedTripForPublicApi[];
|
|
5
|
+
futureTrips: IEnrichedTripForPublicApi[];
|
|
6
|
+
};
|
|
4
7
|
}
|
|
@@ -6,7 +6,9 @@ const const_1 = require("../../../../../../const");
|
|
|
6
6
|
class PublicCacheTripsFilter {
|
|
7
7
|
static getDistinctLatestTrips(trips) {
|
|
8
8
|
const filteredTrips = [];
|
|
9
|
+
const futureTrips = [];
|
|
9
10
|
const tripsByVehicleId = new Map();
|
|
11
|
+
const futureTripsByTripAndVehicle = new Map();
|
|
10
12
|
for (let i = 0; i < trips.length; i++) {
|
|
11
13
|
const trip = trips[i];
|
|
12
14
|
const vehicleId = VehicleIdGenerator_1.VehicleIdGenerator.getVehicleId(trip.gtfs_trip_id, trip.gtfs_route_type, trip.provider_source_type, trip.gtfs_route_short_name, trip.cis_trip_number, trip.vehicle_registration_number, trip.run_number, trip.internal_run_number);
|
|
@@ -15,6 +17,10 @@ class PublicCacheTripsFilter {
|
|
|
15
17
|
if (trip.state_position !== const_1.StatePositionEnum.CANCELED && trip.created_at < knownTrip.created_at) {
|
|
16
18
|
tripsByVehicleId.set(vehicleId, trip);
|
|
17
19
|
}
|
|
20
|
+
else if (trip.state_position === const_1.StatePositionEnum.BEFORE_TRACK ||
|
|
21
|
+
trip.state_position === const_1.StatePositionEnum.BEFORE_TRACK_DELAYED) {
|
|
22
|
+
futureTripsByTripAndVehicle.set(trip.gtfs_trip_id + vehicleId, trip);
|
|
23
|
+
}
|
|
18
24
|
}
|
|
19
25
|
else {
|
|
20
26
|
tripsByVehicleId.set(vehicleId, trip);
|
|
@@ -22,7 +28,9 @@ class PublicCacheTripsFilter {
|
|
|
22
28
|
}
|
|
23
29
|
for (const entity of tripsByVehicleId.values())
|
|
24
30
|
filteredTrips.push(entity);
|
|
25
|
-
|
|
31
|
+
for (const entity of futureTripsByTripAndVehicle.values())
|
|
32
|
+
futureTrips.push(entity);
|
|
33
|
+
return { filteredTrips, futureTrips };
|
|
26
34
|
}
|
|
27
35
|
}
|
|
28
36
|
exports.PublicCacheTripsFilter = PublicCacheTripsFilter;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PublicCacheTripsFilter.js","sourceRoot":"","sources":["../../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/public-api/PublicCacheTripsFilter.ts"],"names":[],"mappings":";;;AAAA,oFAAsG;AAEtG,mDAA8C;AAE9C,MAAa,sBAAsB;IACxB,MAAM,CAAC,sBAAsB,CAAC,KAAkC;
|
|
1
|
+
{"version":3,"file":"PublicCacheTripsFilter.js","sourceRoot":"","sources":["../../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/public-api/PublicCacheTripsFilter.ts"],"names":[],"mappings":";;;AAAA,oFAAsG;AAEtG,mDAA8C;AAE9C,MAAa,sBAAsB;IACxB,MAAM,CAAC,sBAAsB,CAAC,KAAkC;QAInE,MAAM,aAAa,GAAgC,EAAE,CAAC;QACtD,MAAM,WAAW,GAAgC,EAAE,CAAC;QACpD,MAAM,gBAAgB,GAA2C,IAAI,GAAG,EAAE,CAAC;QAC3E,MAAM,2BAA2B,GAA2C,IAAI,GAAG,EAAE,CAAC;QAEtF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACnC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACtB,MAAM,SAAS,GAAG,uCAAkB,CAAC,YAAY,CAC7C,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,eAAe,EACpB,IAAI,CAAC,oBAAoB,EACzB,IAAI,CAAC,qBAAqB,EAC1B,IAAI,CAAC,eAAe,EACpB,IAAI,CAAC,2BAA2B,EAChC,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,mBAAmB,CAC3B,CAAC;YAEF,MAAM,SAAS,GAAG,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAClD,IAAI,SAAS,EAAE;gBACX,IAAI,IAAI,CAAC,cAAc,KAAK,yBAAiB,CAAC,QAAQ,IAAI,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC,UAAU,EAAE;oBAC9F,gBAAgB,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;iBACzC;qBAAM,IACH,IAAI,CAAC,cAAc,KAAK,yBAAiB,CAAC,YAAY;oBACtD,IAAI,CAAC,cAAc,KAAK,yBAAiB,CAAC,oBAAoB,EAChE;oBACE,2BAA2B,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,GAAG,SAAS,EAAE,IAAI,CAAC,CAAC;iBACxE;aACJ;iBAAM;gBACH,gBAAgB,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;aACzC;SACJ;QAED,KAAK,MAAM,MAAM,IAAI,gBAAgB,CAAC,MAAM,EAAE;YAAE,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC3E,KAAK,MAAM,MAAM,IAAI,2BAA2B,CAAC,MAAM,EAAE;YAAE,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAEpF,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,CAAC;IAC1C,CAAC;CACJ;AA3CD,wDA2CC"}
|
|
@@ -66,10 +66,11 @@ let RefreshPublicStopTimeCacheTask = exports.RefreshPublicStopTimeCacheTask = cl
|
|
|
66
66
|
const data = new Map();
|
|
67
67
|
for (const stopTime of stopTimes) {
|
|
68
68
|
const vehicleId = VehicleIdGenerator_1.VehicleIdGenerator.getVehicleId(stopTime.rt_trip_id, stopTime.gtfs_route_type, stopTime.provider_source_type, stopTime.gtfs_route_short_name, stopTime.cis_trip_number, stopTime.vehicle_registration_number, stopTime.run_number, stopTime.internal_run_number);
|
|
69
|
-
|
|
70
|
-
|
|
69
|
+
const key = `${vehicleId}-${stopTime.gtfs_trip_id}`;
|
|
70
|
+
if (!data.has(key)) {
|
|
71
|
+
data.set(key, []);
|
|
71
72
|
}
|
|
72
|
-
data.get(
|
|
73
|
+
data.get(key).push({
|
|
73
74
|
sequence: stopTime.stop_sequence,
|
|
74
75
|
arr_delay: stopTime.stop_arr_delay,
|
|
75
76
|
dep_delay: stopTime.stop_dep_delay,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RefreshPublicStopTimeCacheTask.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/RefreshPublicStopTimeCacheTask.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,oEAA8E;AAG9E,oGAAiG;AACjG,wEAAqE;AAErE,8EAAqE;AACrE,mEAA2E;AAC3E,2EAAkF;AAClF,6EAA8F;AAC9F,+EAAkE;AAClE,iEAAwE;AACxE,mDAA2D;AAC3D,4CAA2C;AAC3C,sGAAmG;AACnG,4FAAyF;AACzF,gDAA6C;AAC7C,iFAAsG;AAG/F,IAAM,8BAA8B,4CAApC,MAAM,8BAA+B,SAAQ,2BAAiB;IAMjE,YACoC,MAAqB,EAC3B,MAAuB,EACV,WAAqC,EAE5E,wBAA0D,EAE1D,6BAAoE;QAEpE,KAAK,CAAC,uBAAW,CAAC,CAAC;QAPe,WAAM,GAAN,MAAM,CAAS;QACF,gBAAW,GAAX,WAAW,CAAkB;QAEpE,6BAAwB,GAAxB,wBAAwB,CAA0B;QAElD,kCAA6B,GAA7B,6BAA6B,CAA+B;QAZxD,cAAS,GAAG,4BAA4B,CAAC;QACzC,aAAQ,GAAG,KAAK,CAAC,CAAC,MAAM;QAcpC,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,QAAQ,CAC9B,4EAA4E,EAC5E,IAAI,CACG,CAAC,CAAC,aAAa;QAC1B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC;IAClD,CAAC;IAEe,OAAO;;YACnB,MAAM,aAAa,GAAG,IAAI,IAAI,EAAE,CAAC;YACjC,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;YACjC,MAAM,YAAY,GAAG,MAAM,KAAK,CAAC,UAAU,EAAE,CAAC;YAE9C,IAAI,CAAC,YAAY,EAAE;gBACf,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,+BAA+B,CAAC,CAAC;gBAC1E,OAAO;aACV;YAED,IAAI;gBACA,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,wBAAwB,CAAC,OAAO,EAAE,CAAC;gBAChE,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;oBACxB,OAAO;iBACV;gBAED,MAAM,IAAI,GAAG,IAAI,GAAG,EAAqC,CAAC;gBAC1D,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE;oBAC9B,MAAM,SAAS,GAAG,uCAAkB,CAAC,YAAY,CAC7C,QAAQ,CAAC,UAAU,EACnB,QAAQ,CAAC,eAAe,EACxB,QAAQ,CAAC,oBAAoB,EAC7B,QAAQ,CAAC,qBAAqB,EAC9B,QAAQ,CAAC,eAAe,EACxB,QAAQ,CAAC,2BAA2B,EACpC,QAAQ,CAAC,UAAU,EACnB,QAAQ,CAAC,mBAAmB,CAC/B,CAAC;oBACF,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"RefreshPublicStopTimeCacheTask.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/RefreshPublicStopTimeCacheTask.ts"],"names":[],"mappings":"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"}
|
|
@@ -67,9 +67,13 @@ let RefreshPublicTripCacheTask = exports.RefreshPublicTripCacheTask = class Refr
|
|
|
67
67
|
if (trips.length === 0) {
|
|
68
68
|
return;
|
|
69
69
|
}
|
|
70
|
-
const filteredTrips = PublicCacheTripsFilter_1.PublicCacheTripsFilter.getDistinctLatestTrips(trips);
|
|
70
|
+
const { filteredTrips, futureTrips } = PublicCacheTripsFilter_1.PublicCacheTripsFilter.getDistinctLatestTrips(trips);
|
|
71
71
|
const transformedTrips = this.publicApiTripTransformation.transformArray(filteredTrips);
|
|
72
72
|
const newSetKey = yield this.publicApiCacheRepository.geoadd(transformedTrips);
|
|
73
|
+
if (futureTrips.length > 0) {
|
|
74
|
+
const transformedFutureTrips = this.publicApiTripTransformation.transformArray(futureTrips);
|
|
75
|
+
yield this.publicApiCacheRepository.geoaddFuture(transformedFutureTrips, newSetKey);
|
|
76
|
+
}
|
|
73
77
|
yield this.redisChannel.publishMessage(newSetKey);
|
|
74
78
|
}
|
|
75
79
|
catch (err) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RefreshPublicTripCacheTask.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/RefreshPublicTripCacheTask.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,oEAA8E;AAC9E,2FAAmF;AAEnF,oGAAiG;AACjG,wEAAqE;AAErE,8EAAqE;AACrE,qFAA8F;AAC9F,mEAA2E;AAC3E,2EAAkF;AAClF,6EAA8F;AAC9F,+EAAkE;AAClE,iEAAwE;AACxE,mDAA2D;AAC3D,4CAA2C;AAC3C,oEAAiE;AACjE,4FAAyF;AACzF,gGAA6F;AAC7F,yFAAmI;AAG5H,IAAM,0BAA0B,wCAAhC,MAAM,0BAA2B,SAAQ,2BAAiB;IAQ7D,YACoC,MAAqB,EAC3B,MAAuB,EACV,WAAqC,EAE5E,wBAA0D,EAE1D,2BAAgE;QAEhE,KAAK,CAAC,uBAAW,CAAC,CAAC;QAPe,WAAM,GAAN,MAAM,CAAS;QACF,gBAAW,GAAX,WAAW,CAAkB;QAEpE,6BAAwB,GAAxB,wBAAwB,CAA0B;QAElD,gCAA2B,GAA3B,2BAA2B,CAA6B;QAdpD,cAAS,GAAG,wBAAwB,CAAC;QACrC,aAAQ,GAAG,KAAK,CAAC,CAAC,MAAM;QAgBpC,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,QAAQ,CAC9B,oEAAoE,EACpE,IAAI,CACG,CAAC,CAAC,aAAa;QAC1B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC;QAC9C,IAAI,CAAC,cAAc,GAAG,IAAI,iCAAe,EAAE,CAAC;QAC5C,IAAI,CAAC,YAAY,GAAG,IAAI,2BAAkB,CAAC,qCAA6B,CAAC,CAAC;IAC9E,CAAC;IAEe,OAAO;;YACnB,MAAM,aAAa,GAAG,IAAI,IAAI,EAAE,CAAC;YACjC,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;YACjC,MAAM,YAAY,GAAG,MAAM,KAAK,CAAC,UAAU,EAAE,CAAC;YAE9C,IAAI,CAAC,YAAY,EAAE;gBACf,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,+BAA+B,CAAC,CAAC;gBAC1E,OAAO;aACV;YAED,IAAI;gBACA,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,qBAAqB,CAAC,aAAa,CAAC,CAAC;gBAC7E,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;oBACpB,OAAO;iBACV;gBAED,MAAM,aAAa,GAAG,+CAAsB,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"RefreshPublicTripCacheTask.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/RefreshPublicTripCacheTask.ts"],"names":[],"mappings":"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"}
|
|
@@ -38,6 +38,17 @@ class PublicVehiclePositionsController {
|
|
|
38
38
|
next(err);
|
|
39
39
|
}
|
|
40
40
|
});
|
|
41
|
+
this.getOneByParamsCombination = (req, res, next) => __awaiter(this, void 0, void 0, function* () {
|
|
42
|
+
try {
|
|
43
|
+
const facade = Di_1.OgPublicContainer.resolve(OgModuleToken_1.OgModuleToken.DetailedTripFacade);
|
|
44
|
+
const params = this.parseDetailedParams(req);
|
|
45
|
+
const info = yield facade.getOneByVehicleId(params.vehicleId, params.scopes, params.tripId);
|
|
46
|
+
res.json(info);
|
|
47
|
+
}
|
|
48
|
+
catch (err) {
|
|
49
|
+
next(err);
|
|
50
|
+
}
|
|
51
|
+
});
|
|
41
52
|
}
|
|
42
53
|
parsePositionsParams(query) {
|
|
43
54
|
const boundingBox = query.boundingBox ? query.boundingBox.split(",").map((x) => parseFloat(x)) : undefined;
|
|
@@ -64,6 +75,7 @@ class PublicVehiclePositionsController {
|
|
|
64
75
|
parseDetailedParams(req) {
|
|
65
76
|
return {
|
|
66
77
|
vehicleId: req.params.vehicleId,
|
|
78
|
+
tripId: req.params.gtfsTripId,
|
|
67
79
|
scopes: req.query.scopes instanceof Array
|
|
68
80
|
? Array.from(new Set(req.query.scopes))
|
|
69
81
|
: [req.query.scopes],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PublicVehiclePositionsController.js","sourceRoot":"","sources":["../../../../../src/output-gateway/public/controllers/v1/PublicVehiclePositionsController.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,uEAA2D;AAC3D,8CAA6D;AAC7D,qCAAsD;AACtD,2DAA6D;AAQ7D,MAAa,gCAAgC;IACzC;QAEO,WAAM,GAAmB,CAAO,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;YACrD,IAAI;gBACA,MAAM,MAAM,GAAG,sBAAiB,CAAC,OAAO,CAA+B,6BAAa,CAAC,4BAA4B,CAAC,CAAC;gBACnH,MAAM,MAAM,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBACpD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;gBAE3F,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;aACpB;YAAC,OAAO,GAAG,EAAE;gBACV,IAAI,CAAC,GAAG,CAAC,CAAC;aACb;QACL,CAAC,CAAA,CAAC;QAEK,sBAAiB,GAAmB,CAAO,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;YAChE,IAAI;gBACA,MAAM,MAAM,GAAG,sBAAiB,CAAC,OAAO,CAAqB,6BAAa,CAAC,kBAAkB,CAAC,CAAC;gBAC/F,MAAM,MAAM,GAAG,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;gBAC7C,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;gBAE7E,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAClB;YAAC,OAAO,GAAG,EAAE;gBACV,IAAI,CAAC,GAAG,CAAC,CAAC;aACb;QACL,CAAC,CAAA,CAAC;
|
|
1
|
+
{"version":3,"file":"PublicVehiclePositionsController.js","sourceRoot":"","sources":["../../../../../src/output-gateway/public/controllers/v1/PublicVehiclePositionsController.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,5 +6,5 @@ export declare class PublicStopTimeRepository implements IStopTimeRepository {
|
|
|
6
6
|
private redisConnector;
|
|
7
7
|
private log;
|
|
8
8
|
constructor(redisConnector: IoRedisConnector, log: ILogger);
|
|
9
|
-
getPublicStopTimeCache(vehicleId: string): Promise<IPublicStopTimeCacheDto[]>;
|
|
9
|
+
getPublicStopTimeCache(vehicleId: string, gtfsTripId: string): Promise<IPublicStopTimeCacheDto[]>;
|
|
10
10
|
}
|
|
@@ -33,7 +33,7 @@ let PublicStopTimeRepository = exports.PublicStopTimeRepository = class PublicSt
|
|
|
33
33
|
this.redisConnector = redisConnector;
|
|
34
34
|
this.log = log;
|
|
35
35
|
}
|
|
36
|
-
getPublicStopTimeCache(vehicleId) {
|
|
36
|
+
getPublicStopTimeCache(vehicleId, gtfsTripId) {
|
|
37
37
|
return __awaiter(this, void 0, void 0, function* () {
|
|
38
38
|
if (!this.redisConnector.isConnected()) {
|
|
39
39
|
yield this.redisConnector.connect();
|
|
@@ -41,7 +41,8 @@ let PublicStopTimeRepository = exports.PublicStopTimeRepository = class PublicSt
|
|
|
41
41
|
const connection = this.redisConnector.getConnection();
|
|
42
42
|
let stopTimeCache = null;
|
|
43
43
|
try {
|
|
44
|
-
|
|
44
|
+
const key = `${vehicleId}-${gtfsTripId}`;
|
|
45
|
+
stopTimeCache = yield connection.get(`${const_1.PUBLIC_STOP_TIME_CACHE_NAMESPACE_PREFIX}:${key}`);
|
|
45
46
|
}
|
|
46
47
|
catch (err) {
|
|
47
48
|
throw new golemio_errors_1.GeneralError(`${this.constructor.name}: Cannot get public stop time cache from cache: ${err.message}`, this.constructor.name, err);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PublicStopTimeRepository.js","sourceRoot":"","sources":["../../../../../src/output-gateway/public/data-access/redis/PublicStopTimeRepository.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AACA,2DAA6D;AAC7D,wFAA6F;AAE7F,oGAAiG;AACjG,wEAAqE;AAErE,6EAAwE;AACxE,iEAAwE;AAGjE,IAAM,wBAAwB,sCAA9B,MAAM,wBAAwB;IACjC,YACkD,cAAgC,EAC5C,GAAY;QADA,mBAAc,GAAd,cAAc,CAAkB;QAC5C,QAAG,GAAH,GAAG,CAAS;IAC/C,CAAC;IAES,sBAAsB,CAAC,SAAiB;;
|
|
1
|
+
{"version":3,"file":"PublicStopTimeRepository.js","sourceRoot":"","sources":["../../../../../src/output-gateway/public/data-access/redis/PublicStopTimeRepository.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AACA,2DAA6D;AAC7D,wFAA6F;AAE7F,oGAAiG;AACjG,wEAAqE;AAErE,6EAAwE;AACxE,iEAAwE;AAGjE,IAAM,wBAAwB,sCAA9B,MAAM,wBAAwB;IACjC,YACkD,cAAgC,EAC5C,GAAY;QADA,mBAAc,GAAd,cAAc,CAAkB;QAC5C,QAAG,GAAH,GAAG,CAAS;IAC/C,CAAC;IAES,sBAAsB,CAAC,SAAiB,EAAE,UAAkB;;YACrE,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,EAAE;gBACpC,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC;aACvC;YAED,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,aAAa,EAAE,CAAC;YACvD,IAAI,aAAa,GAAkB,IAAI,CAAC;YAExC,IAAI;gBACA,MAAM,GAAG,GAAG,GAAG,SAAS,IAAI,UAAU,EAAE,CAAC;gBACzC,aAAa,GAAG,MAAM,UAAU,CAAC,GAAG,CAAC,GAAG,+CAAuC,IAAI,GAAG,EAAE,CAAC,CAAC;aAC7F;YAAC,OAAO,GAAG,EAAE;gBACV,MAAM,IAAI,6BAAY,CAClB,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,mDAAmD,GAAG,CAAC,OAAO,EAAE,EACxF,IAAI,CAAC,WAAW,CAAC,IAAI,EACrB,GAAG,CACN,CAAC;aACL;YAED,IAAI,aAAa,KAAK,IAAI,EAAE;gBACxB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,sCAAsC,CAAC,CAAC;gBAC9E,OAAO,EAAE,CAAC;aACb;YAED,IAAI;gBACA,OAAO,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;aACpC;YAAC,OAAO,GAAG,EAAE;gBACV,MAAM,IAAI,6BAAY,CAClB,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,0CAA0C,GAAG,CAAC,OAAO,EAAE,EAC/E,IAAI,CAAC,WAAW,CAAC,IAAI,EACrB,GAAG,CACN,CAAC;aACL;QACL,CAAC;KAAA;CACJ,CAAA;mCAxCY,wBAAwB;IADpC,IAAA,qBAAU,GAAE;IAGJ,WAAA,IAAA,iBAAM,EAAC,6BAAa,CAAC,cAAc,CAAC,CAAA;IACpC,WAAA,IAAA,iBAAM,EAAC,qBAAS,CAAC,MAAM,CAAC,CAAA;qCADqC,mCAAgB;GAFzE,wBAAwB,CAwCpC"}
|
|
@@ -11,6 +11,6 @@ export declare class PublicVehiclePositionsRepository implements IVehiclePositio
|
|
|
11
11
|
getAllVehicleIds(boundingBox: IBoundingBoxWithCenter): Promise<string[]>;
|
|
12
12
|
getAllVehiclePositions(vehicleIds: string[]): Promise<IPublicApiCacheDto[]>;
|
|
13
13
|
getAllVehiclePositionsForMultipleTrips(tripIds: string[]): Promise<Map<string, IPublicApiCacheDto[]>>;
|
|
14
|
-
getDetailedVehiclePosition(vehicleId: string): Promise<IPublicApiCacheDto | null>;
|
|
14
|
+
getDetailedVehiclePosition(vehicleId: string, tripId?: string): Promise<IPublicApiCacheDto | null>;
|
|
15
15
|
setCurrentSetName(name: string): void;
|
|
16
16
|
}
|
|
@@ -127,7 +127,8 @@ let PublicVehiclePositionsRepository = exports.PublicVehiclePositionsRepository
|
|
|
127
127
|
return positionsByTrip;
|
|
128
128
|
});
|
|
129
129
|
}
|
|
130
|
-
|
|
130
|
+
// Current trips are saved in the cache with key made from vehicleId only. For future trips tripId has to be also provided.
|
|
131
|
+
getDetailedVehiclePosition(vehicleId, tripId) {
|
|
131
132
|
return __awaiter(this, void 0, void 0, function* () {
|
|
132
133
|
if (!this.setName) {
|
|
133
134
|
this.log.debug("Empty setName for public vehicle positions api.");
|
|
@@ -139,7 +140,8 @@ let PublicVehiclePositionsRepository = exports.PublicVehiclePositionsRepository
|
|
|
139
140
|
const connection = this.redisConnector.getConnection();
|
|
140
141
|
let vehiclePosition = null;
|
|
141
142
|
try {
|
|
142
|
-
|
|
143
|
+
const key = tripId ? `${this.setName}:future-trip-${vehicleId}-${tripId}` : `${this.setName}:vehicle-${vehicleId}`;
|
|
144
|
+
vehiclePosition = yield connection.get(key);
|
|
143
145
|
}
|
|
144
146
|
catch (err) {
|
|
145
147
|
this.log.error(`${this.constructor.name}: Cannot get vehicle position from cache: ${err.message}`);
|
package/dist/output-gateway/public/data-access/redis/PublicVehiclePositionsRepository.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PublicVehiclePositionsRepository.js","sourceRoot":"","sources":["../../../../../src/output-gateway/public/data-access/redis/PublicVehiclePositionsRepository.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"PublicVehiclePositionsRepository.js","sourceRoot":"","sources":["../../../../../src/output-gateway/public/data-access/redis/PublicVehiclePositionsRepository.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { IPublicStopTimeCacheDto } from "../../../../schema-definitions/vehicle-positions/redis/interfaces/IPublicStopTimeCacheDto";
|
|
2
2
|
export interface IStopTimeRepository {
|
|
3
|
-
getPublicStopTimeCache(vehicleId: string): Promise<IPublicStopTimeCacheDto[]>;
|
|
3
|
+
getPublicStopTimeCache(vehicleId: string, gtfsTripId: string): Promise<IPublicStopTimeCacheDto[]>;
|
|
4
4
|
}
|
|
@@ -4,6 +4,6 @@ export interface IVehiclePositionsRepository {
|
|
|
4
4
|
getAllVehicleIds(boundingBox: IBoundingBoxWithCenter): Promise<string[]>;
|
|
5
5
|
getAllVehiclePositions(vehicleIds: string[]): Promise<IPublicApiCacheDto[]>;
|
|
6
6
|
getAllVehiclePositionsForMultipleTrips(tripIds: string[]): Promise<Map<string, IPublicApiCacheDto[]>>;
|
|
7
|
-
getDetailedVehiclePosition(vehicleId: string): Promise<IPublicApiCacheDto | null>;
|
|
7
|
+
getDetailedVehiclePosition(vehicleId: string, tripdId?: string): Promise<IPublicApiCacheDto | null>;
|
|
8
8
|
setCurrentSetName(name: string): void;
|
|
9
9
|
}
|
|
@@ -27,6 +27,7 @@ class PublicVehiclePositionsRouter {
|
|
|
27
27
|
(0, express_validator_1.query)("routeShortName").optional().not().isEmpty({ ignore_whitespace: true }),
|
|
28
28
|
(0, express_validator_1.query)("routeType").optional().custom(CustomTypeValidator_1.CustomTypeValidator.validate),
|
|
29
29
|
], Validation_1.checkErrors, this.vehiclePositionsController.getAll);
|
|
30
|
+
this.router.get("/:vehicleId;gtfsTripId=:gtfsTripId", [(0, express_validator_1.param)("vehicleId").exists(), (0, express_validator_1.param)("gtfsTripId").exists(), (0, express_validator_1.query)("scopes").custom(CustomScopeValidator_1.CustomScopeValidator.validate)], Validation_1.checkErrors, this.vehiclePositionsController.getOneByParamsCombination);
|
|
30
31
|
this.router.get("/:vehicleId", [(0, express_validator_1.param)("vehicleId").exists(), (0, express_validator_1.query)("scopes").custom(CustomScopeValidator_1.CustomScopeValidator.validate)], Validation_1.checkErrors, this.vehiclePositionsController.getOneByVehicleId);
|
|
31
32
|
}
|
|
32
33
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PublicVehiclePositionsRouter.js","sourceRoot":"","sources":["../../../../../src/output-gateway/public/routers/v1/PublicVehiclePositionsRouter.ts"],"names":[],"mappings":";;;AAAA,4GAA8G;AAC9G,qCAAsD;AACtD,2DAA6D;AAE7D,6EAA2E;AAC3E,+DAA2D;AAC3D,mFAA2E;AAC3E,yEAAsE;AACtE,uEAAoE;AAEpE,MAAa,4BAA4B;IAKrC;QACI,IAAI,CAAC,MAAM,GAAG,IAAA,gBAAM,GAAE,CAAC;QACvB,IAAI,CAAC,0BAA0B,GAAG,IAAI,mEAAgC,EAAE,CAAC;QACzE,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,IAAI,CAAC,eAAe,GAAG,sBAAiB,CAAC,OAAO,CAAe,6BAAa,CAAC,YAAY,CAAC,CAAC;QAC3F,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,CAAC;IACtC,CAAC;IAES,UAAU,CAAC,MAAoC;QACrD,IAAI,CAAC,MAAM,CAAC,GAAG,CACX,GAAG,EACH;YACI,IAAA,yBAAK,EAAC,aAAa,CAAC;iBACf,QAAQ,EAAE;iBACV,OAAO,CAAC,4BAA4B,CAAC,CAAC,8BAA8B;iBACpE,GAAG,EAAE;iBACL,OAAO,EAAE;YACd,IAAA,yBAAK,EAAC,gBAAgB,CAAC,CAAC,QAAQ,EAAE,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC;YAC7E,IAAA,yBAAK,EAAC,WAAW,CAAC,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,yCAAmB,CAAC,QAAQ,CAAC;SACrE,EACD,wBAAW,EACX,IAAI,CAAC,0BAA0B,CAAC,MAAM,CACzC,CAAC;QAEF,IAAI,CAAC,MAAM,CAAC,GAAG,CACX,aAAa,EACb,CAAC,IAAA,yBAAK,EAAC,WAAW,CAAC,CAAC,MAAM,EAAE,EAAE,IAAA,yBAAK,EAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,2CAAoB,CAAC,QAAQ,CAAC,CAAC,EACpF,wBAAW,EACX,IAAI,CAAC,0BAA0B,CAAC,iBAAiB,CACpD,CAAC;IACN,CAAC;CACJ;
|
|
1
|
+
{"version":3,"file":"PublicVehiclePositionsRouter.js","sourceRoot":"","sources":["../../../../../src/output-gateway/public/routers/v1/PublicVehiclePositionsRouter.ts"],"names":[],"mappings":";;;AAAA,4GAA8G;AAC9G,qCAAsD;AACtD,2DAA6D;AAE7D,6EAA2E;AAC3E,+DAA2D;AAC3D,mFAA2E;AAC3E,yEAAsE;AACtE,uEAAoE;AAEpE,MAAa,4BAA4B;IAKrC;QACI,IAAI,CAAC,MAAM,GAAG,IAAA,gBAAM,GAAE,CAAC;QACvB,IAAI,CAAC,0BAA0B,GAAG,IAAI,mEAAgC,EAAE,CAAC;QACzE,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,IAAI,CAAC,eAAe,GAAG,sBAAiB,CAAC,OAAO,CAAe,6BAAa,CAAC,YAAY,CAAC,CAAC;QAC3F,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,CAAC;IACtC,CAAC;IAES,UAAU,CAAC,MAAoC;QACrD,IAAI,CAAC,MAAM,CAAC,GAAG,CACX,GAAG,EACH;YACI,IAAA,yBAAK,EAAC,aAAa,CAAC;iBACf,QAAQ,EAAE;iBACV,OAAO,CAAC,4BAA4B,CAAC,CAAC,8BAA8B;iBACpE,GAAG,EAAE;iBACL,OAAO,EAAE;YACd,IAAA,yBAAK,EAAC,gBAAgB,CAAC,CAAC,QAAQ,EAAE,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC;YAC7E,IAAA,yBAAK,EAAC,WAAW,CAAC,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,yCAAmB,CAAC,QAAQ,CAAC;SACrE,EACD,wBAAW,EACX,IAAI,CAAC,0BAA0B,CAAC,MAAM,CACzC,CAAC;QAEF,IAAI,CAAC,MAAM,CAAC,GAAG,CACX,oCAAoC,EACpC,CAAC,IAAA,yBAAK,EAAC,WAAW,CAAC,CAAC,MAAM,EAAE,EAAE,IAAA,yBAAK,EAAC,YAAY,CAAC,CAAC,MAAM,EAAE,EAAE,IAAA,yBAAK,EAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,2CAAoB,CAAC,QAAQ,CAAC,CAAC,EAClH,wBAAW,EACX,IAAI,CAAC,0BAA0B,CAAC,yBAAyB,CAC5D,CAAC;QAEF,IAAI,CAAC,MAAM,CAAC,GAAG,CACX,aAAa,EACb,CAAC,IAAA,yBAAK,EAAC,WAAW,CAAC,CAAC,MAAM,EAAE,EAAE,IAAA,yBAAK,EAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,2CAAoB,CAAC,QAAQ,CAAC,CAAC,EACpF,wBAAW,EACX,IAAI,CAAC,0BAA0B,CAAC,iBAAiB,CACpD,CAAC;IACN,CAAC;CACJ;AA3CD,oEA2CC;AAED,MAAM,gBAAgB,GAAG,IAAI,4BAA4B,EAAE,CAAC,MAAM,CAAC;AAE1D,4CAAgB"}
|
|
@@ -6,5 +6,5 @@ export declare class DetailedTripFacade {
|
|
|
6
6
|
private scopeHandlerFactory;
|
|
7
7
|
private vehiclePositionRepository;
|
|
8
8
|
constructor(scopeHandlerFactory: ITripScopeHandlerFactory, vehiclePositionRepository: IVehiclePositionsRepository);
|
|
9
|
-
getOneByVehicleId(vehicleId: string, scopes: DetailedTripScope[]): Promise<IPublicApiDetailedTrip>;
|
|
9
|
+
getOneByVehicleId(vehicleId: string, scopes: DetailedTripScope[], tripId?: string): Promise<IPublicApiDetailedTrip>;
|
|
10
10
|
}
|
|
@@ -17,9 +17,12 @@ class DetailedTripFacade {
|
|
|
17
17
|
this.scopeHandlerFactory = scopeHandlerFactory;
|
|
18
18
|
this.vehiclePositionRepository = vehiclePositionRepository;
|
|
19
19
|
}
|
|
20
|
-
getOneByVehicleId(vehicleId, scopes) {
|
|
20
|
+
getOneByVehicleId(vehicleId, scopes, tripId) {
|
|
21
21
|
return __awaiter(this, void 0, void 0, function* () {
|
|
22
|
-
|
|
22
|
+
let vehiclePosition = yield this.vehiclePositionRepository.getDetailedVehiclePosition(vehicleId);
|
|
23
|
+
if (tripId && (vehiclePosition === null || vehiclePosition === void 0 ? void 0 : vehiclePosition.gtfs_trip_id) !== tripId) {
|
|
24
|
+
vehiclePosition = yield this.vehiclePositionRepository.getDetailedVehiclePosition(vehicleId, tripId);
|
|
25
|
+
}
|
|
23
26
|
if (!vehiclePosition) {
|
|
24
27
|
throw new golemio_errors_1.GeneralError("not_found", this.constructor.name, undefined, 404);
|
|
25
28
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DetailedTripFacade.js","sourceRoot":"","sources":["../../../../../src/output-gateway/public/service/facade/DetailedTripFacade.ts"],"names":[],"mappings":";;;;;;;;;;;;AAGA,0FAAwF;AACxF,6EAAwE;AAExE,MAAa,kBAAkB;IAC3B,YACY,mBAA6C,EAC7C,yBAAsD;QADtD,wBAAmB,GAAnB,mBAAmB,CAA0B;QAC7C,8BAAyB,GAAzB,yBAAyB,CAA6B;IAC/D,CAAC;IAES,iBAAiB,
|
|
1
|
+
{"version":3,"file":"DetailedTripFacade.js","sourceRoot":"","sources":["../../../../../src/output-gateway/public/service/facade/DetailedTripFacade.ts"],"names":[],"mappings":";;;;;;;;;;;;AAGA,0FAAwF;AACxF,6EAAwE;AAExE,MAAa,kBAAkB;IAC3B,YACY,mBAA6C,EAC7C,yBAAsD;QADtD,wBAAmB,GAAnB,mBAAmB,CAA0B;QAC7C,8BAAyB,GAAzB,yBAAyB,CAA6B;IAC/D,CAAC;IAES,iBAAiB,CAC1B,SAAiB,EACjB,MAA2B,EAC3B,MAAe;;YAEf,IAAI,eAAe,GAAG,MAAM,IAAI,CAAC,yBAAyB,CAAC,0BAA0B,CAAC,SAAS,CAAC,CAAC;YAEjG,IAAI,MAAM,IAAI,CAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,YAAY,MAAK,MAAM,EAAE;gBACpD,eAAe,GAAG,MAAM,IAAI,CAAC,yBAAyB,CAAC,0BAA0B,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;aACxG;YAED,IAAI,CAAC,eAAe,EAAE;gBAClB,MAAM,IAAI,6BAAY,CAAC,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;aAC9E;YAED,IAAI,MAAM,GAA2B,EAAE,CAAC;YACxC,IAAI,MAAM,CAAC,QAAQ,CAAC,yCAAiB,CAAC,IAAI,CAAC,EAAE;gBACzC,MAAM,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,yCAAiB,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;aAC/G;YAED,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,CAAO,KAAK,EAAE,EAAE;gBACxC,IAAI,KAAK,KAAK,yCAAiB,CAAC,IAAI,EAAE;oBAClC,OAAO;iBACV;gBAED,MAAM,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,eAAgB,CAAC,CAAC;YAChG,CAAC,CAAA,CAAC,CAAC;YAEH,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC5B,OAAO,MAAM,CAAC;QAClB,CAAC;KAAA;CACJ;AArCD,gDAqCC"}
|
package/dist/output-gateway/public/service/helpers/trip-scope/strategy/ShapesTripScopeHandler.d.ts
CHANGED
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import { IPublicApiDetailedTrip } from "../../../../domain/PublicApiDetailedTripInterfaces";
|
|
2
2
|
import { IDelayComputationRepository } from "../../../../domain/repository/IDelayComputationRepository";
|
|
3
|
+
import { GTFSShapesModel } from "../../../../../ropid-gtfs/models/GTFSShapesModel";
|
|
3
4
|
import { IPublicApiCacheDto } from "../../../../../../schema-definitions/vehicle-positions/redis/interfaces/IPublicApiCacheDto";
|
|
4
5
|
import { AbstractTripScopeHandler } from "./AbstractTripScopeHandler";
|
|
5
6
|
export declare class ShapesTripScopeHandler extends AbstractTripScopeHandler {
|
|
6
7
|
private delayComputationRepository;
|
|
7
8
|
private tripShapesTransformation;
|
|
9
|
+
protected shapeModel: GTFSShapesModel;
|
|
8
10
|
constructor(delayComputationRepository: IDelayComputationRepository);
|
|
9
11
|
handle(output: IPublicApiDetailedTrip, vehiclePosition: IPublicApiCacheDto): Promise<IPublicApiDetailedTrip>;
|
|
10
12
|
}
|
package/dist/output-gateway/public/service/helpers/trip-scope/strategy/ShapesTripScopeHandler.js
CHANGED
|
@@ -24,6 +24,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
24
24
|
exports.ShapesTripScopeHandler = void 0;
|
|
25
25
|
const OgModuleToken_1 = require("../../../../ioc/OgModuleToken");
|
|
26
26
|
const PublicVPTripShapesTransformation_1 = require("../../../transformations/scopes/PublicVPTripShapesTransformation");
|
|
27
|
+
const models_1 = require("../../../../../ropid-gtfs/models");
|
|
27
28
|
const Geo_1 = require("@golemio/core/dist/output-gateway/Geo");
|
|
28
29
|
const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
|
|
29
30
|
const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
|
|
@@ -33,6 +34,7 @@ let ShapesTripScopeHandler = exports.ShapesTripScopeHandler = class ShapesTripSc
|
|
|
33
34
|
super();
|
|
34
35
|
this.delayComputationRepository = delayComputationRepository;
|
|
35
36
|
this.tripShapesTransformation = new PublicVPTripShapesTransformation_1.PublicVPTripShapesTransformation();
|
|
37
|
+
this.shapeModel = models_1.models.GTFSShapesModel;
|
|
36
38
|
}
|
|
37
39
|
handle(output, vehiclePosition) {
|
|
38
40
|
return __awaiter(this, void 0, void 0, function* () {
|
package/dist/output-gateway/public/service/helpers/trip-scope/strategy/ShapesTripScopeHandler.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ShapesTripScopeHandler.js","sourceRoot":"","sources":["../../../../../../../src/output-gateway/public/service/helpers/trip-scope/strategy/ShapesTripScopeHandler.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAEA,iEAA6D;AAC7D,uHAA8H;
|
|
1
|
+
{"version":3,"file":"ShapesTripScopeHandler.js","sourceRoot":"","sources":["../../../../../../../src/output-gateway/public/service/helpers/trip-scope/strategy/ShapesTripScopeHandler.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAEA,iEAA6D;AAC7D,uHAA8H;AAC9H,6DAA+C;AAG/C,+DAAsF;AACtF,6EAAwE;AACxE,iEAAwE;AACxE,yEAAsE;AAG/D,IAAM,sBAAsB,oCAA5B,MAAM,sBAAuB,SAAQ,mDAAwB;IAIhE,YAC8D,0BAAuD;QAEjH,KAAK,EAAE,CAAC;QAFkD,+BAA0B,GAA1B,0BAA0B,CAA6B;QAGjH,IAAI,CAAC,wBAAwB,GAAG,IAAI,mEAAgC,EAAE,CAAC;QACvE,IAAI,CAAC,UAAU,GAAG,eAAM,CAAC,eAAe,CAAC;IAC7C,CAAC;IAEY,MAAM,CAAC,MAA8B,EAAE,eAAmC;;YACnF,MAAM,qBAAqB,GAAG,MAAM,IAAI,CAAC,0BAA0B,CAAC,wBAAwB,CACxF,eAAe,CAAC,YAAY,CAC/B,CAAC;YAEF,IAAI,CAAC,qBAAqB,EAAE;gBACxB,MAAM,IAAI,6BAAY,CAAC,mCAAmC,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;aACtG;YAED,MAAM,CAAC,MAAM,GAAG,IAAA,mCAA6B,EACzC,qBAAqB,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC,cAAc,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CACjH,CAAC;YAEF,OAAO,MAAM,CAAC;QAClB,CAAC;KAAA;CACJ,CAAA;iCA3BY,sBAAsB;IADlC,IAAA,qBAAU,GAAE;IAMJ,WAAA,IAAA,iBAAM,EAAC,6BAAa,CAAC,0BAA0B,CAAC,CAAA;;GAL5C,sBAAsB,CA2BlC"}
|
|
@@ -10,5 +10,4 @@ export declare class StopTimesTripScopeHandler extends AbstractTripScopeHandler
|
|
|
10
10
|
constructor(delayComputationRepository: IDelayComputationRepository, stopTimeRepository: IStopTimeRepository);
|
|
11
11
|
handle(output: IPublicApiDetailedTrip, vehiclePosition: IPublicApiCacheDto): Promise<IPublicApiDetailedTrip>;
|
|
12
12
|
private filterNoStopWaypoints;
|
|
13
|
-
private shouldFallbackToScheduleTime;
|
|
14
13
|
}
|
package/dist/output-gateway/public/service/helpers/trip-scope/strategy/StopTimesTripScopeHandler.js
CHANGED
|
@@ -28,7 +28,6 @@ const Geo_1 = require("@golemio/core/dist/output-gateway/Geo");
|
|
|
28
28
|
const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
|
|
29
29
|
const luxon_1 = require("@golemio/core/dist/shared/luxon");
|
|
30
30
|
const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
|
|
31
|
-
const const_1 = require("../../../../../../const");
|
|
32
31
|
const AbstractTripScopeHandler_1 = require("./AbstractTripScopeHandler");
|
|
33
32
|
let StopTimesTripScopeHandler = exports.StopTimesTripScopeHandler = class StopTimesTripScopeHandler extends AbstractTripScopeHandler_1.AbstractTripScopeHandler {
|
|
34
33
|
constructor(delayComputationRepository, stopTimeRepository) {
|
|
@@ -45,19 +44,7 @@ let StopTimesTripScopeHandler = exports.StopTimesTripScopeHandler = class StopTi
|
|
|
45
44
|
}
|
|
46
45
|
const filteredStopTimes = this.filterNoStopWaypoints(delayComputationCache.stop_times);
|
|
47
46
|
const stopTimes = this.tripStopTimesTransformation.transformArray(filteredStopTimes);
|
|
48
|
-
|
|
49
|
-
// v_public_vehiclepositions_combined_stop_times, the delay prediction is seemingly not working properly
|
|
50
|
-
// when the vehicle is before the track, see https://gitlab.com/operator-ict/golemio/code/modules/pid/-/issues/371
|
|
51
|
-
if (this.shouldFallbackToScheduleTime(vehiclePosition)) {
|
|
52
|
-
for (let i = 0; i < stopTimes.length; i++) {
|
|
53
|
-
const stopTime = stopTimes[i];
|
|
54
|
-
stopTime.properties.realtime_arrival_time = stopTime.properties.arrival_time;
|
|
55
|
-
stopTime.properties.realtime_departure_time = stopTime.properties.departure_time;
|
|
56
|
-
}
|
|
57
|
-
output.stop_times = (0, Geo_1.buildGeojsonFeatureCollection)(stopTimes);
|
|
58
|
-
return output;
|
|
59
|
-
}
|
|
60
|
-
const stopTimesWithDelay = yield this.stopTimeRepository.getPublicStopTimeCache(vehiclePosition.vehicle_id);
|
|
47
|
+
const stopTimesWithDelay = yield this.stopTimeRepository.getPublicStopTimeCache(vehiclePosition.vehicle_id, vehiclePosition.gtfs_trip_id);
|
|
61
48
|
if (stopTimesWithDelay.length > 0) {
|
|
62
49
|
for (const stopTimeWithDelay of stopTimesWithDelay) {
|
|
63
50
|
const stopTime = stopTimes[stopTimeWithDelay.sequence - 1];
|
|
@@ -85,11 +72,6 @@ let StopTimesTripScopeHandler = exports.StopTimesTripScopeHandler = class StopTi
|
|
|
85
72
|
filterNoStopWaypoints(stopTimes) {
|
|
86
73
|
return stopTimes.filter((stopTime) => !stopTime.is_no_stop_waypoint);
|
|
87
74
|
}
|
|
88
|
-
shouldFallbackToScheduleTime(vehiclePosition) {
|
|
89
|
-
return ((vehiclePosition.state_position === const_1.StatePositionEnum.BEFORE_TRACK ||
|
|
90
|
-
vehiclePosition.state_position === const_1.StatePositionEnum.BEFORE_TRACK_DELAYED) &&
|
|
91
|
-
(vehiclePosition.delay === 0 || vehiclePosition.delay === null));
|
|
92
|
-
}
|
|
93
75
|
};
|
|
94
76
|
exports.StopTimesTripScopeHandler = StopTimesTripScopeHandler = __decorate([
|
|
95
77
|
(0, tsyringe_1.injectable)(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StopTimesTripScopeHandler.js","sourceRoot":"","sources":["../../../../../../../src/output-gateway/public/service/helpers/trip-scope/strategy/StopTimesTripScopeHandler.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAMA,iEAA6D;AAC7D,6HAAoI;AAGpI,+DAAsF;AAEtF,6EAAwE;AACxE,2DAA2D;AAC3D,iEAAwE;AACxE,
|
|
1
|
+
{"version":3,"file":"StopTimesTripScopeHandler.js","sourceRoot":"","sources":["../../../../../../../src/output-gateway/public/service/helpers/trip-scope/strategy/StopTimesTripScopeHandler.ts"],"names":[],"mappings":"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"}
|
|
@@ -49,7 +49,7 @@ class GTFSShapesModel extends output_gateway_1.SequelizeModel {
|
|
|
49
49
|
return (0, output_gateway_1.buildGeojsonFeatureCollection)(data, "shape_pt_lon", "shape_pt_lat", true);
|
|
50
50
|
}
|
|
51
51
|
catch (err) {
|
|
52
|
-
throw new golemio_errors_1.GeneralError("Database error", "GTFSShapesModel", err, 500);
|
|
52
|
+
throw new golemio_errors_1.GeneralError("Database error ~ GetAll", "GTFSShapesModel", err, 500);
|
|
53
53
|
}
|
|
54
54
|
});
|
|
55
55
|
this.GetOne = (id) => __awaiter(this, void 0, void 0, function* () {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GTFSShapesModel.js","sourceRoot":"","sources":["../../../../src/output-gateway/ropid-gtfs/models/GTFSShapesModel.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6DAAuC;AACvC,uEAA4C;
|
|
1
|
+
{"version":3,"file":"GTFSShapesModel.js","sourceRoot":"","sources":["../../../../src/output-gateway/ropid-gtfs/models/GTFSShapesModel.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6DAAuC;AACvC,uEAA4C;AAE5C,qFAA2D;AAC3D,sEAAkG;AAClG,6EAAwE;AAGxE,MAAa,eAAgB,SAAQ,+BAAc;IAG/C;QACI,KAAK,CAAC,sBAAS,CAAC,MAAM,CAAC,IAAI,EAAE,sBAAS,CAAC,MAAM,CAAC,WAAW,EAAE,mBAAQ,CAAC,cAAc,EAAE;YAChF,MAAM,EAAE,iBAAS;SACpB,CAAC,CAAC;QALG,qBAAgB,GAAa,EAAE,CAAC;QAUnC,cAAS,GAAG,CAAC,MAAmB,EAAE,EAAE;YACvC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,cAAc,EAAE;gBAC9D,UAAU,EAAE,SAAS;aACxB,CAAC,CAAC;QACP,CAAC,CAAC;QAEF;;;;;WAKG;QACI,WAAM,GAAG,CACZ,UAII,EAAE,EACM,EAAE;YACd,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC;YACtC,IAAI;gBACA,MAAM,KAAK,GAAQ,EAAE,CAAC;gBAEtB,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;gBAClC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC;oBAC3C,KAAK;oBACL,MAAM;oBACN,KAAK;oBACL,KAAK,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;iBAC1B,CAAC,CAAC;gBACH,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;oBACnB,OAAO;iBACV;gBACD,OAAO,IAAA,8CAA6B,EAAC,IAAI,EAAE,cAAc,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;aACpF;YAAC,OAAO,GAAG,EAAE;gBACV,MAAM,IAAI,6BAAY,CAAC,yBAAyB,EAAE,iBAAiB,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;aAClF;QACL,CAAC,CAAA,CAAC;QAEK,WAAM,GAAG,CAAO,EAAU,EAA0B,EAAE;YACzD,OAAO,IAAI,CAAC;QAChB,CAAC,CAAA,CAAC;QA5CE,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC,IAAI,CAAC,mBAAQ,CAAC,cAAc,CAAC,CAAC;IACjE,CAAC;CA4CJ;AArDD,0CAqDC"}
|