@golemio/pid 2.11.2-dev.1136041742 → 2.11.2-dev.1136470067
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/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/PropagateTrainDelayTask.d.ts +1 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/PropagateTrainDelayTask.js +15 -4
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/PropagateTrainDelayTask.js.map +1 -1
- package/package.json +1 -1
|
@@ -14,6 +14,7 @@ const Di_1 = require("../../../../ropid-gtfs/ioc/Di");
|
|
|
14
14
|
const RopidGtfsContainerToken_1 = require("../../../../ropid-gtfs/ioc/RopidGtfsContainerToken");
|
|
15
15
|
const CoreToken_1 = require("@golemio/core/dist/helpers/ioc/CoreToken");
|
|
16
16
|
const ioc_1 = require("@golemio/core/dist/integration-engine/ioc");
|
|
17
|
+
const sequelize_1 = require("@golemio/core/dist/shared/sequelize");
|
|
17
18
|
const PropagateTrainDelaySchema_1 = require("../schema/PropagateTrainDelaySchema");
|
|
18
19
|
const AbstractPropagateDelayTask_1 = require("./abstract/AbstractPropagateDelayTask");
|
|
19
20
|
class PropagateTrainDelayTask extends AbstractPropagateDelayTask_1.AbstractPropagateDelayTask {
|
|
@@ -22,6 +23,18 @@ class PropagateTrainDelayTask extends AbstractPropagateDelayTask_1.AbstractPropa
|
|
|
22
23
|
this.queueName = "propagateTrainDelay";
|
|
23
24
|
this.queueTtl = 5 * 60 * 1000; // 5 minutes
|
|
24
25
|
this.schema = PropagateTrainDelaySchema_1.PropagateDelayValidationSchema;
|
|
26
|
+
this.getNextGtfsTripId = (gtfs_block_id, start_timestamp) => __awaiter(this, void 0, void 0, function* () {
|
|
27
|
+
const trip = yield this.tripsRepository.findOne({
|
|
28
|
+
attributes: ["gtfs_trip_id"],
|
|
29
|
+
where: {
|
|
30
|
+
gtfs_block_id: gtfs_block_id,
|
|
31
|
+
start_timestamp: { [sequelize_1.Op.gt]: start_timestamp },
|
|
32
|
+
},
|
|
33
|
+
order: [["start_timestamp", "ASC"]],
|
|
34
|
+
raw: true,
|
|
35
|
+
});
|
|
36
|
+
return trip.gtfs_trip_id;
|
|
37
|
+
});
|
|
25
38
|
this.logger = ioc_1.IntegrationEngineContainer.resolve(CoreToken_1.CoreToken.Logger);
|
|
26
39
|
this.blockStopsRepository = Di_1.RopidGtfsContainer.resolve(RopidGtfsContainerToken_1.RopidGtfsContainerToken.BlockStopsRedisRepository);
|
|
27
40
|
this.config = ioc_1.IntegrationEngineContainer.resolve(CoreToken_1.CoreToken.SimpleConfig);
|
|
@@ -33,14 +46,12 @@ class PropagateTrainDelayTask extends AbstractPropagateDelayTask_1.AbstractPropa
|
|
|
33
46
|
for (const delayedPositions of input.data) {
|
|
34
47
|
const { gtfs_trip_id, gtfs_block_id, vehicle_registration_number, start_timestamp, end_timestamp } = delayedPositions.trip;
|
|
35
48
|
try {
|
|
36
|
-
const
|
|
37
|
-
const listOfGtfsTrips = Object.keys(blockedTrips);
|
|
38
|
-
const indexOfNextGtfsTripId = listOfGtfsTrips.findIndex((tripId) => tripId === gtfs_trip_id) + 1;
|
|
39
|
-
const nextGtfsTripId = listOfGtfsTrips.length > indexOfNextGtfsTripId ? listOfGtfsTrips[indexOfNextGtfsTripId] : undefined;
|
|
49
|
+
const nextGtfsTripId = yield this.getNextGtfsTripId(gtfs_block_id, start_timestamp);
|
|
40
50
|
// if list trip in the block there is nothing to propagate
|
|
41
51
|
if (!nextGtfsTripId) {
|
|
42
52
|
continue;
|
|
43
53
|
}
|
|
54
|
+
const blockedTrips = (yield this.blockStopsRepository.get(gtfs_block_id));
|
|
44
55
|
const lastStopCurrentTrip = (_c = (_b = (_a = blockedTrips[gtfs_trip_id]) === null || _a === void 0 ? void 0 : _a.trip_stops) === null || _b === void 0 ? void 0 : _b.at(-1)) === null || _c === void 0 ? void 0 : _c.stop_id;
|
|
45
56
|
const firstStopNextTrip = (_f = (_e = (_d = blockedTrips[nextGtfsTripId]) === null || _d === void 0 ? void 0 : _d.trip_stops) === null || _e === void 0 ? void 0 : _e[0]) === null || _f === void 0 ? void 0 : _f.stop_id;
|
|
46
57
|
const requiredTurnaroundSeconds = lastStopCurrentTrip === firstStopNextTrip ? 0 : this.turnaroundEstimateInSeconds;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PropagateTrainDelayTask.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/PropagateTrainDelayTask.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,sDAA2D;AAC3D,gGAAqF;AAErF,wEAAqE;AAErE,mEAAuF;
|
|
1
|
+
{"version":3,"file":"PropagateTrainDelayTask.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/PropagateTrainDelayTask.ts"],"names":[],"mappings":"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"}
|