@golemio/pid 2.12.2 → 2.12.3-dev.1227676751

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.
Files changed (103) hide show
  1. package/db/example/12_metro_line_A_gtfs_trips.sql +0 -5
  2. package/db/example/18_metroRailtrack.sql +369 -0
  3. package/db/migrations/postgresql/20240313100420-fix-gtfs-timestamp-dst.js +53 -0
  4. package/db/migrations/postgresql/sqls/20240313100420-fix-gtfs-timestamp-dst-down.sql +17 -0
  5. package/db/migrations/postgresql/sqls/20240313100420-fix-gtfs-timestamp-dst-up.sql +23 -0
  6. package/dist/helpers/RouteTypeEnums.d.ts +1 -0
  7. package/dist/helpers/RouteTypeEnums.js +1 -0
  8. package/dist/helpers/RouteTypeEnums.js.map +1 -1
  9. package/dist/input-gateway/vehicle-positions/VehiclePositionsController.d.ts +5 -2
  10. package/dist/input-gateway/vehicle-positions/VehiclePositionsController.js +25 -5
  11. package/dist/input-gateway/vehicle-positions/VehiclePositionsController.js.map +1 -1
  12. package/dist/integration-engine/data-retention/helpers/SelectRepositoryFactory.js +4 -4
  13. package/dist/integration-engine/data-retention/helpers/SelectRepositoryFactory.js.map +1 -1
  14. package/dist/integration-engine/ropid-gtfs/data-access/precomputed/TripScheduleRepository.js +6 -43
  15. package/dist/integration-engine/ropid-gtfs/data-access/precomputed/TripScheduleRepository.js.map +1 -1
  16. package/dist/integration-engine/ropid-gtfs/workers/railtrack/tasks/SaveMetroRailtrackDataToDBTask.js +4 -0
  17. package/dist/integration-engine/ropid-gtfs/workers/railtrack/tasks/SaveMetroRailtrackDataToDBTask.js.map +1 -1
  18. package/dist/integration-engine/ropid-gtfs/workers/railtrack/tasks/data-access/MetroRailtrackGPSRepository.js +16 -3
  19. package/dist/integration-engine/ropid-gtfs/workers/railtrack/tasks/data-access/MetroRailtrackGPSRepository.js.map +1 -1
  20. package/dist/integration-engine/ropid-gtfs/workers/timetables/tasks/CheckSavedRowsAndReplaceTablesTask.d.ts +1 -0
  21. package/dist/integration-engine/ropid-gtfs/workers/timetables/tasks/CheckSavedRowsAndReplaceTablesTask.js +3 -1
  22. package/dist/integration-engine/ropid-gtfs/workers/timetables/tasks/CheckSavedRowsAndReplaceTablesTask.js.map +1 -1
  23. package/dist/integration-engine/vehicle-positions/ioc/Di.js +16 -0
  24. package/dist/integration-engine/vehicle-positions/ioc/Di.js.map +1 -1
  25. package/dist/integration-engine/vehicle-positions/ioc/VPContainerToken.d.ts +7 -0
  26. package/dist/integration-engine/vehicle-positions/ioc/VPContainerToken.js +13 -0
  27. package/dist/integration-engine/vehicle-positions/ioc/VPContainerToken.js.map +1 -1
  28. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/MetroRouteHelper.d.ts +3 -0
  29. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/MetroRouteHelper.js +12 -0
  30. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/MetroRouteHelper.js.map +1 -1
  31. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/regional-bus/RegionalBusMessageFilter.d.ts +1 -4
  32. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/regional-bus/RegionalBusMessageFilter.js +5 -21
  33. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/regional-bus/RegionalBusMessageFilter.js.map +1 -1
  34. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/VPWorker.js +1 -2
  35. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/VPWorker.js.map +1 -1
  36. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/TripsRepository.d.ts +4 -0
  37. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/TripsRepository.js +51 -44
  38. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/TripsRepository.js.map +1 -1
  39. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/helpers/RawQueryProvider.d.ts +1 -0
  40. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/helpers/RawQueryProvider.js +35 -0
  41. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/helpers/RawQueryProvider.js.map +1 -1
  42. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/metro/CachedMetroRailtrackLookup.d.ts +9 -0
  43. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/metro/CachedMetroRailtrackLookup.js +59 -0
  44. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/metro/CachedMetroRailtrackLookup.js.map +1 -0
  45. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/domain/service/IGtfsTripDataFixerFactory.d.ts +5 -0
  46. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/domain/service/IGtfsTripDataFixerFactory.js +3 -0
  47. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/domain/service/IGtfsTripDataFixerFactory.js.map +1 -0
  48. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/DateTimeUtils.d.ts +21 -0
  49. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/DateTimeUtils.js +44 -0
  50. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/DateTimeUtils.js.map +1 -1
  51. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/DelayComputationManager.d.ts +3 -0
  52. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/DelayComputationManager.js +13 -3
  53. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/DelayComputationManager.js.map +1 -1
  54. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/PositionsManager.d.ts +7 -18
  55. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/PositionsManager.js +27 -74
  56. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/PositionsManager.js.map +1 -1
  57. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/compute-positions/strategy/MetroDelayAtStop.js +14 -10
  58. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/compute-positions/strategy/MetroDelayAtStop.js.map +1 -1
  59. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/gtfs-trip-data/GtfsTripDataFixerFactory.d.ts +8 -0
  60. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/gtfs-trip-data/GtfsTripDataFixerFactory.js +38 -0
  61. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/gtfs-trip-data/GtfsTripDataFixerFactory.js.map +1 -0
  62. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/gtfs-trip-data/strategy/AbstractGtfsTripDataFixer.d.ts +3 -0
  63. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/gtfs-trip-data/strategy/AbstractGtfsTripDataFixer.js +7 -0
  64. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/gtfs-trip-data/strategy/AbstractGtfsTripDataFixer.js.map +1 -0
  65. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/gtfs-trip-data/strategy/HttpGtfsTripDataFixer.d.ts +8 -0
  66. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/gtfs-trip-data/strategy/HttpGtfsTripDataFixer.js +58 -0
  67. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/gtfs-trip-data/strategy/HttpGtfsTripDataFixer.js.map +1 -0
  68. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/metro/MetroShapePointsFixer.d.ts +12 -0
  69. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/metro/MetroShapePointsFixer.js +121 -0
  70. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/metro/MetroShapePointsFixer.js.map +1 -0
  71. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/mpv-net/MpvStopParser.d.ts +1 -1
  72. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/regional-bus/RegionalBusPositionsManager.d.ts +0 -10
  73. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/regional-bus/RegionalBusPositionsManager.js +7 -24
  74. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/regional-bus/RegionalBusPositionsManager.js.map +1 -1
  75. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/schema/SaveDataToDBSchema.d.ts +1 -1
  76. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/RefreshGtfsTripDataTask.d.ts +12 -2
  77. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/RefreshGtfsTripDataTask.js +42 -7
  78. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/RefreshGtfsTripDataTask.js.map +1 -1
  79. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/SaveDataToDBTask.d.ts +4 -1
  80. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/SaveDataToDBTask.js +87 -31
  81. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/SaveDataToDBTask.js.map +1 -1
  82. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/UpdateDelayTask.d.ts +1 -0
  83. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/UpdateDelayTask.js +7 -1
  84. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/UpdateDelayTask.js.map +1 -1
  85. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/transformations/MpvMessageTransformation.d.ts +4 -7
  86. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/transformations/MpvMessageTransformation.js +19 -25
  87. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/transformations/MpvMessageTransformation.js.map +1 -1
  88. package/dist/output-gateway/departure-boards/DepartureBoardsRouter.js +11 -17
  89. package/dist/output-gateway/departure-boards/DepartureBoardsRouter.js.map +1 -1
  90. package/dist/output-gateway/pid/PIDRouter.js +15 -15
  91. package/dist/output-gateway/pid/PIDRouter.js.map +1 -1
  92. package/dist/output-gateway/public/routers/v1/PublicRouter.js +4 -3
  93. package/dist/output-gateway/public/routers/v1/PublicRouter.js.map +1 -1
  94. package/dist/output-gateway/ropid-gtfs/GTFSRouter.js +19 -22
  95. package/dist/output-gateway/ropid-gtfs/GTFSRouter.js.map +1 -1
  96. package/dist/output-gateway/vehicle-positions/VehiclePositionsRouter.js +12 -12
  97. package/dist/output-gateway/vehicle-positions/VehiclePositionsRouter.js.map +1 -1
  98. package/dist/{integration-engine/vehicle-positions/workers/vehicle-positions/interfaces/MpvMessageInterfaces.js → schema-definitions/vehicle-positions/interfaces/IMpvMessageInterfaces.js} +1 -1
  99. package/dist/schema-definitions/vehicle-positions/interfaces/IMpvMessageInterfaces.js.map +1 -0
  100. package/docs/openapi-input.yaml +1 -1
  101. package/package.json +4 -4
  102. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/interfaces/MpvMessageInterfaces.js.map +0 -1
  103. /package/dist/{integration-engine/vehicle-positions/workers/vehicle-positions/interfaces/MpvMessageInterfaces.d.ts → schema-definitions/vehicle-positions/interfaces/IMpvMessageInterfaces.d.ts} +0 -0
@@ -0,0 +1,121 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
15
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
16
+ return new (P || (P = Promise))(function (resolve, reject) {
17
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
18
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
19
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
20
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
21
+ });
22
+ };
23
+ Object.defineProperty(exports, "__esModule", { value: true });
24
+ exports.MetroShapePointsFixer = void 0;
25
+ const GeoMeasurementHelper_1 = require("../../../../../../helpers/geo/GeoMeasurementHelper");
26
+ const ModuleContainerToken_1 = require("../../../../../ioc/ModuleContainerToken");
27
+ const VPContainerToken_1 = require("../../../../ioc/VPContainerToken");
28
+ const MetroRouteHelper_1 = require("../../../runs/helpers/MetroRouteHelper");
29
+ const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
30
+ const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
31
+ const CachedMetroRailtrackLookup_1 = require("../../data-access/metro/CachedMetroRailtrackLookup");
32
+ let MetroShapePointsFixer = exports.MetroShapePointsFixer = class MetroShapePointsFixer {
33
+ constructor(cachedMetroRailTrackLookup, geoMeasurementHelper) {
34
+ this.cachedMetroRailTrackLookup = cachedMetroRailTrackLookup;
35
+ this.geoMeasurementHelper = geoMeasurementHelper;
36
+ }
37
+ fix(data) {
38
+ return __awaiter(this, void 0, void 0, function* () {
39
+ try {
40
+ const clonedData = structuredClone(data);
41
+ // load metro obvody
42
+ const metroRailtrackLookup = yield this.cachedMetroRailTrackLookup.getAllByRouteName(MetroRouteHelper_1.MetroRouteHelper.getRouteName(data.trip_id));
43
+ let lastKnownStopSequence = null;
44
+ const maxStopSequence = clonedData.stop_times.length;
45
+ for (let index = 0; index < clonedData.shapes_anchor_points.length; index++) {
46
+ const shape = clonedData.shapes_anchor_points[index];
47
+ const possibleStops = this.getPossibleStops(clonedData.stop_times, lastKnownStopSequence);
48
+ const closestMetroRailtrack = this.getClosestMetroRailtrack(shape, metroRailtrackLookup, possibleStops);
49
+ const thisStopSequence = this.getSequenceByStopId(closestMetroRailtrack.gtfs_stop_id, clonedData.stop_times);
50
+ if (thisStopSequence) {
51
+ lastKnownStopSequence = thisStopSequence;
52
+ }
53
+ shape.at_stop = closestMetroRailtrack.gtfs_stop_id && thisStopSequence ? true : false;
54
+ shape.this_stop_sequence = thisStopSequence;
55
+ shape.next_stop_sequence = lastKnownStopSequence ? Math.min(lastKnownStopSequence + 1, maxStopSequence) : 2;
56
+ shape.last_stop_sequence = lastKnownStopSequence && lastKnownStopSequence > 1 ? lastKnownStopSequence : 1;
57
+ if (shape.at_stop) {
58
+ shape.last_stop_sequence = shape.this_stop_sequence;
59
+ }
60
+ }
61
+ return clonedData;
62
+ }
63
+ catch (err) {
64
+ throw new golemio_errors_1.GeneralError("Unable to fix metro shape points: " + err.message, this.constructor.name, err);
65
+ }
66
+ });
67
+ }
68
+ getSequenceByStopId(gtfs_stop_id, stop_times) {
69
+ var _a, _b, _c;
70
+ const regex = /U(?<node>.*)Z/;
71
+ const node = (_b = (_a = regex.exec(gtfs_stop_id || "")) === null || _a === void 0 ? void 0 : _a.groups) === null || _b === void 0 ? void 0 : _b.node;
72
+ if (node && node.length > 0) {
73
+ return ((_c = stop_times.find((stop_time) => { var _a, _b; return ((_b = (_a = regex.exec(stop_time.stop_id)) === null || _a === void 0 ? void 0 : _a.groups) === null || _b === void 0 ? void 0 : _b.node) === node; })) === null || _c === void 0 ? void 0 : _c.stop_sequence) || null;
74
+ }
75
+ else {
76
+ return null;
77
+ }
78
+ }
79
+ getClosestMetroRailtrack(shape, metroRailtrackLookup, possibleStops) {
80
+ // find closest metroRailtrack for shape.coordinates
81
+ const result = metroRailtrackLookup
82
+ .map((metroRailtrack) => {
83
+ return Object.assign(Object.assign({}, metroRailtrack), { distance: this.geoMeasurementHelper.getDistanceInMeters(shape.coordinates, metroRailtrack.coordinates.coordinates) });
84
+ })
85
+ .sort((a, b) => a.distance - b.distance);
86
+ const resultsWithing15Meters = result.filter((el) => el.distance < 15);
87
+ if (resultsWithing15Meters.length > 0) {
88
+ for (const railtrack of resultsWithing15Meters) {
89
+ if (possibleStops.some((el) => el === railtrack.gtfs_stop_id)) {
90
+ return railtrack;
91
+ }
92
+ }
93
+ return resultsWithing15Meters[0];
94
+ }
95
+ // if no railtrack is within 15 meters, return closest railtrack without stop_id
96
+ return result.filter((el) => !el.gtfs_stop_id)[0];
97
+ }
98
+ getPossibleStops(stopTimes, lastKnownStopSequence) {
99
+ // since we dont know direction for railtrack data, we check concrete stops in one direction
100
+ // to ensure proper matching with shape
101
+ const result = [];
102
+ if (lastKnownStopSequence === null) {
103
+ result.push(stopTimes[0].stop_id);
104
+ }
105
+ else {
106
+ result.push(stopTimes[lastKnownStopSequence - 1].stop_id);
107
+ if (lastKnownStopSequence < stopTimes.length) {
108
+ result.push(stopTimes[lastKnownStopSequence].stop_id);
109
+ }
110
+ }
111
+ return result;
112
+ }
113
+ };
114
+ exports.MetroShapePointsFixer = MetroShapePointsFixer = __decorate([
115
+ (0, tsyringe_1.injectable)(),
116
+ __param(0, (0, tsyringe_1.inject)(VPContainerToken_1.VPContainerToken.CachedMetroRailTrackLookup)),
117
+ __param(1, (0, tsyringe_1.inject)(ModuleContainerToken_1.ModuleContainerToken.GeoMeasurementHelper)),
118
+ __metadata("design:paramtypes", [CachedMetroRailtrackLookup_1.CachedMetroRailTrackLookup,
119
+ GeoMeasurementHelper_1.GeoMeasurementHelper])
120
+ ], MetroShapePointsFixer);
121
+ //# sourceMappingURL=MetroShapePointsFixer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MetroShapePointsFixer.js","sourceRoot":"","sources":["../../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/metro/MetroShapePointsFixer.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { IMpvStopContent } from "../../interfaces/MpvMessageInterfaces";
1
+ import { IMpvStopContent } from "../../../../../../schema-definitions/vehicle-positions/interfaces/IMpvMessageInterfaces";
2
2
  export declare class MpvStopParser {
3
3
  /**
4
4
  * Parse and sanitize current platform code
@@ -44,16 +44,6 @@ export declare class RegionalBusPositionsManager {
44
44
  * @returns {IPositionToUpdate} - Result point as position to update in DB
45
45
  */
46
46
  private static getClosestPoint;
47
- /**
48
- * Returns date object for stop time
49
- * + given by start of day when trip starts
50
- * + and GTFS HH:mm:ss format of stop time in seconds
51
- *
52
- * @param {number} startDayTimestamp - Unix timestamp of local time midnight before trip starts
53
- * @param {number} timeSeconds - Number of seconds given by HH:mm:ss format of GTFS stop time
54
- * @returns {Date} - Returns date object
55
- */
56
- private static getLocalTimeToDateObject;
57
47
  /**
58
48
  * Corrects time delay at stop with dwelling time
59
49
  *
@@ -40,6 +40,7 @@ exports.RegionalBusPositionsManager = void 0;
40
40
  const turf = __importStar(require("@turf/turf"));
41
41
  const moment_timezone_1 = __importDefault(require("moment-timezone"));
42
42
  const const_1 = require("../../../../../../const");
43
+ const DateTimeUtils_1 = require("../DateTimeUtils");
43
44
  const PositionHandlerEnum_1 = require("../PositionHandlerEnum");
44
45
  const ValidToCalculator_1 = __importDefault(require("../ValidToCalculator"));
45
46
  const AnchorPointSegmenter_1 = require("../anchor-points/AnchorPointSegmenter");
@@ -275,11 +276,11 @@ RegionalBusPositionsManager.getClosestPoint = (currentPosition, context, startDa
275
276
  const tripStopTimes = tripGtfsData.stop_times;
276
277
  const firstTripShapePoint = tripShapePoints[0];
277
278
  const lastTripShapePoint = tripShapePoints[tripShapePoints.length - 1];
278
- const timeScheduledTimestamp = _a.getLocalTimeToDateObject(startDayTimestamp,
279
+ const timeScheduledTimestamp = DateTimeUtils_1.DateTimeUtils.getStopDateTimeForDayStart(
279
280
  // take stop arrival time if is point at stop
280
281
  thisClosestPoint.this_stop_sequence
281
282
  ? tripStopTimes[thisClosestPoint.this_stop_sequence - 1].arrival_time_seconds
282
- : thisClosestPoint.time_scheduled_seconds);
283
+ : thisClosestPoint.time_scheduled_seconds, startDayTimestamp);
283
284
  let timeDelayInSeconds = Math.round((currentPosition.properties.origin_timestamp.getTime() - timeScheduledTimestamp.getTime()) / 1000);
284
285
  // lets correct delay if it is at stop
285
286
  if (thisClosestPoint.this_stop_sequence) {
@@ -308,10 +309,10 @@ RegionalBusPositionsManager.getClosestPoint = (currentPosition, context, startDa
308
309
  last_stop_name: tripStopTimes[lastStopSequence - 1].stop.stop_name,
309
310
  next_stop_sequence: nextStopSequence,
310
311
  last_stop_sequence: lastStopSequence,
311
- next_stop_arrival_time: _a.getLocalTimeToDateObject(startDayTimestamp, tripStopTimes[nextStopSequence - 1].arrival_time_seconds),
312
- last_stop_arrival_time: _a.getLocalTimeToDateObject(startDayTimestamp, tripStopTimes[lastStopSequence - 1].arrival_time_seconds),
313
- next_stop_departure_time: _a.getLocalTimeToDateObject(startDayTimestamp, tripStopTimes[nextStopSequence - 1].departure_time_seconds),
314
- last_stop_departure_time: _a.getLocalTimeToDateObject(startDayTimestamp, tripStopTimes[lastStopSequence - 1].departure_time_seconds),
312
+ next_stop_arrival_time: DateTimeUtils_1.DateTimeUtils.getStopDateTimeForDayStart(tripStopTimes[nextStopSequence - 1].arrival_time_seconds, startDayTimestamp),
313
+ last_stop_arrival_time: DateTimeUtils_1.DateTimeUtils.getStopDateTimeForDayStart(tripStopTimes[lastStopSequence - 1].arrival_time_seconds, startDayTimestamp),
314
+ next_stop_departure_time: DateTimeUtils_1.DateTimeUtils.getStopDateTimeForDayStart(tripStopTimes[nextStopSequence - 1].departure_time_seconds, startDayTimestamp),
315
+ last_stop_departure_time: DateTimeUtils_1.DateTimeUtils.getStopDateTimeForDayStart(tripStopTimes[lastStopSequence - 1].departure_time_seconds, startDayTimestamp),
315
316
  delay: statePosition === const_1.StatePositionEnum.AFTER_TRACK ? 0 : timeDelayInSeconds,
316
317
  this_stop_id: (statePosition === const_1.StatePositionEnum.AT_STOP &&
317
318
  thisStopSequence &&
@@ -330,24 +331,6 @@ RegionalBusPositionsManager.getClosestPoint = (currentPosition, context, startDa
330
331
  };
331
332
  return estimatedPoint;
332
333
  };
333
- /**
334
- * Returns date object for stop time
335
- * + given by start of day when trip starts
336
- * + and GTFS HH:mm:ss format of stop time in seconds
337
- *
338
- * @param {number} startDayTimestamp - Unix timestamp of local time midnight before trip starts
339
- * @param {number} timeSeconds - Number of seconds given by HH:mm:ss format of GTFS stop time
340
- * @returns {Date} - Returns date object
341
- */
342
- RegionalBusPositionsManager.getLocalTimeToDateObject = (startDayTimestamp, timeSeconds) => {
343
- return (0, moment_timezone_1.default)(startDayTimestamp)
344
- .tz("Europe/Prague")
345
- .startOf("day")
346
- .hours(Math.floor(timeSeconds / 3600))
347
- .minutes(Math.floor((timeSeconds % 3600) / 60))
348
- .seconds(timeSeconds % 60)
349
- .toDate();
350
- };
351
334
  /**
352
335
  * Corrects time delay at stop with dwelling time
353
336
  *
@@ -1 +1 @@
1
- {"version":3,"file":"RegionalBusPositionsManager.js","sourceRoot":"","sources":["../../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/regional-bus/RegionalBusPositionsManager.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,iDAAmC;AAEnC,sEAAqC;AACrC,mDAAgE;AAUhE,gEAA6D;AAC7D,6EAAqD;AACrD,gFAA6E;AAC7E,qGAAkG;AAElG,MAAa,2BAA2B;;AAAxC,kEAwfC;;AAvfG;;;;;GAKG;AACW,4CAAgB,GAAG,CAAO,aAAqC,EAAgC,EAAE;IAC3G,MAAM,cAAc,GAAG,aAAa,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC;IAC/D,MAAM,iBAAiB,GAAG,EAAI,CAAC,oBAAoB,CAC/C,cAAc,EACd,aAAa,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,sBAAsB,CACxE,CAAC;IAEF,MAAM,aAAa,GAAG,aAAa,CAAC,eAAe,CAAC;IACpD,MAAM,OAAO,GAAG,2BAA2B,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC;IAC7E,MAAM,iBAAiB,GAAwB,EAAE,CAAC;IAElD,OAAO,2BAA2B,CAAC,eAAe,CAAC;QAC/C,aAAa;QACb,cAAc;QACd,iBAAiB;QACjB,YAAY,EAAE,IAAI;QAClB,OAAO;QACP,iBAAiB;QACjB,aAAa;KAChB,CAAC,CAAC;AACP,CAAC,CAAA,AApB6B,CAoB5B;AAEF;;GAEG;AACW,2CAAe,GAAG,CAAO,OAAwC,EAAE,EAAE;;IAC/E,MAAM,EAAE,aAAa,EAAE,iBAAiB,EAAE,cAAc,EAAE,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC;IAEhH,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACrD,MAAM,QAAQ,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAC5C,IAAI,gBAAgB,GAA6B,IAAI,CAAC;QAEtD,aAAa;QACb,QAAQ,EAAI,CAAC,wBAAwB,CAAC,QAAQ,CAAC,EAAE;YAC7C,KAAK,yCAAmB,CAAC,QAAQ;gBAC7B,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,GAAG,CAAC,EAAE;oBAC7D,EAAE,EAAE,QAAQ,CAAC,EAAE;oBACf,WAAW,EAAE,QAAQ,CAAC,WAAW;oBACjC,gBAAgB,EAAE,QAAQ,CAAC,gBAAgB;oBAC3C,mBAAmB,EAAE,QAAQ,CAAC,mBAAmB;oBACjD,YAAY,EAAE,QAAQ,CAAC,YAAY;oBACnC,SAAS,EAAE,QAAQ,CAAC,SAAS;iBACF,CAAC,CAAC;gBAEjC,gBAAgB,GAAG,MAAM,EAAI,CAAC,iBAAiB,CAC3C,aAAa,CAAC,QAAQ,EACtB,eAAe,EACf,OAAO,EACP,iBAAiB,CACpB,CAAC;gBAEF,gBAAgB,GAAG,6DAA6B,CAAC,sBAAsB,CACnE,OAAO,EACP,gBAAgB,EAChB,QAAQ,EACR,aAAa,CAChB,CAAC;gBAEF,gBAAgB,CAAC,OAAO,GAAG,MAAA,QAAQ,CAAC,OAAO,mCAAI,gBAAgB,CAAC,OAAO,CAAC;gBACxE,MAAM;YACV,KAAK,yCAAmB,CAAC,YAAY;gBACjC,uFAAuF;gBACvF,IAAI,OAAO,CAAC,oBAAoB,KAAK,IAAI,EAAE;oBACvC,MAAM,aAAa,GAAG,aAAa,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;oBAE3D,gBAAgB,mBACZ,EAAE,EAAE,QAAQ,CAAC,EAAE,EACf,sBAAsB,EAAE,IAAI,IAAI,CAAC,iBAAiB,GAAG,aAAa,CAAC,oBAAqB,GAAG,IAAI,CAAC,EAChG,wBAAwB,EAAE,IAAI,IAAI,CAAC,iBAAiB,GAAG,aAAa,CAAC,sBAAuB,GAAG,IAAI,CAAC,EACpG,YAAY,EAAE,aAAa,CAAC,OAAO,EACnC,kBAAkB,EAAE,aAAa,CAAC,aAAa,EAC/C,cAAc,EAAE,aAAa,CAAC,IAAI,CAAC,SAAS,EAC5C,mBAAmB,EAAE,aAAa,CAAC,mBAAmB,EACtD,cAAc,EAAE,yBAAiB,CAAC,YAAY,EAC9C,aAAa,EAAE,wBAAgB,CAAC,SAAS,IACtC,CAAC,aAAa,CAAC,aAAa,IAAI;wBAC/B,kBAAkB,EAAE,aAAa,CAAC,aAAa;qBAClD,CAAC,CACL,CAAC;oBAEF,IAAI,gBAAgB,CAAC,cAAc,KAAK,yBAAiB,CAAC,YAAY,EAAE;wBACpE,gBAAgB,CAAC,KAAK,GAAG,CAAC,CAAC;qBAC9B;iBACJ;qBAAM;oBACH,6FAA6F;oBAC7F,MAAM,aAAa,GACf,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,OAAO,CAAC,2BAA2B;wBAC3E,aAAa,CAAC,SAAS,CAAC,SAAS,CAC7B,CAAC,YAAY,EAAE,EAAE,CACb,YAAY,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE;4BAC/E,YAAY,CAAC,UAAU,CAC9B,IAAI,CAAC;wBACF,CAAC,CAAC,yBAAiB,CAAC,SAAS;wBAC7B,CAAC,CAAC,yBAAiB,CAAC,WAAW,CAAC;oBACxC,MAAM,qBAAqB,GACvB,aAAa,CAAC,QAAQ,CAAC,oBAAoB,CAAC,aAAa,CAAC,QAAQ,CAAC,oBAAoB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;oBACxG,MAAM,YAAY,GAAG,aAAa,CAAC,QAAQ,CAAC,UAAU,CAAC,aAAa,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;oBAErG,gBAAgB,mBACZ,EAAE,EAAE,QAAQ,CAAC,EAAE,EACf,sBAAsB,EAAE,IAAI,IAAI,CAC5B,iBAAiB,GAAG,qBAAqB,CAAC,sBAAsB,GAAG,IAAI,CAC1E,EACD,wBAAwB,EAAE,IAAI,IAAI,CAC9B,iBAAiB,GAAG,qBAAqB,CAAC,sBAAsB,GAAG,IAAI,CAC1E,EACD,YAAY,EAAE,YAAY,CAAC,OAAO,EAClC,kBAAkB,EAAE,qBAAqB,CAAC,kBAAkB,EAC5D,mBAAmB,EAAE,qBAAqB,CAAC,mBAAmB,EAC9D,cAAc,EAAE,aAAa,EAC7B,aAAa,EAAE,wBAAgB,CAAC,SAAS,IACtC,CAAC,YAAY,CAAC,aAAa,IAAI;wBAC9B,kBAAkB,EAAE,YAAY,CAAC,aAAa;qBACjD,CAAC,CACL,CAAC;oBACF,gBAAgB,GAAG,6DAA6B,CAAC,sBAAsB,CACnE,OAAO,EACP,gBAAgB,EAChB,QAAQ,EACR,aAAa,CAChB,CAAC;iBACL;gBACD,MAAM;YACV,KAAK,yCAAmB,CAAC,UAAU,CAAC;YACpC;gBACI,MAAM;SACb;QAED,6BAA6B;QAC7B,IAAI,gBAAgB,EAAE;YAClB,MAAA,gBAAgB,CAAC,UAAU,oCAA3B,gBAAgB,CAAC,UAAU,GAAK,QAAQ,CAAC,UAAU,EAAC;YACpD,gBAAgB,CAAC,QAAQ,GAAG,2BAAiB,CAAC,mBAAmB,CAC7D,gBAAgB,EAChB,QAAQ,EACR,aAAa,EACb,aAAa,CAAC,QAAQ,EACtB,cAAc,EACd,iBAAiB,CACpB,CAAC;YACF,iBAAiB,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;SAC5C;QAED,OAAO,CAAC,iBAAiB,GAAG,MAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,cAAc,mCAAI,QAAQ,CAAC,cAAc,CAAC;QAExF,+CAA+C;QAC/C,IAAI,QAAQ,CAAC,cAAc,KAAK,yBAAiB,CAAC,oBAAoB,EAAE;YACpE,OAAO,CAAC,8BAA8B,GAAG;gBACrC,KAAK,EAAE,MAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,KAAK,mCAAI,QAAQ,CAAC,KAAK;gBAChD,gBAAgB,EAAE,MAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,gBAAgB,mCAAI,QAAQ,CAAC,gBAAgB;aACpF,CAAC;SACL;QACD,6DAA6D;QAC7D,IACI,CAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,cAAc,MAAK,yBAAiB,CAAC,OAAO;YAC9D,CAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,cAAc,MAAK,yBAAiB,CAAC,QAAQ;YAC/D,QAAQ,CAAC,cAAc,KAAK,yBAAiB,CAAC,OAAO;YACrD,QAAQ,CAAC,cAAc,KAAK,yBAAiB,CAAC,QAAQ,EACxD;YACE,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,GAAG,CAAC,EAAE,gCACjE,QAAQ,GACR,gBAAgB,CACQ,CAAC,CAAC;SACpC;QAED,iGAAiG;QACjG,IACI,gBAAgB;YACZ,CAAC,CAAC,gBAAgB,CAAC,kBAAkB;gBACnC,OAAO,CAAC,YAAY,CAAC,aAAa,KAAK,gBAAgB,CAAC,kBAAkB;YAC5E,CAAC,CAAC,QAAQ,CAAC,kBAAkB,IAAI,OAAO,CAAC,YAAY,CAAC,aAAa,KAAK,QAAQ,CAAC,kBAAkB,EACzG;YACE,OAAO,CAAC,YAAY,CAAC,aAAa,GAAG,gBAAgB;gBACjD,CAAC,CAAC,gBAAgB,CAAC,kBAAmB;gBACtC,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC;YAClC,OAAO,CAAC,YAAY,CAAC,sBAAsB,GAAG,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC;YAClF,OAAO,CAAC,YAAY,CAAC,kBAAkB,GAAG,gBAAgB,CAAC,CAAC,CAAC,gBAAgB,CAAC,KAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;SACzG;QACD,sEAAsE;QACtE,wBAAwB;QACxB,4BAA4B;QAC5B,IAAI,gBAAgB,IAAI,CAAC,gBAAgB,CAAC,kBAAkB,EAAE;YAC1D,OAAO,CAAC,YAAY,CAAC,aAAa,GAAG,IAAI,CAAC;SAC7C;aAAM,IAAI,CAAC,gBAAgB,IAAI,CAAC,QAAQ,CAAC,kBAAkB,EAAE;YAC1D,OAAO,CAAC,YAAY,CAAC,aAAa,GAAG,IAAI,CAAC;SAC7C;QAED,sDAAsD;QACtD,IAAI,CAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,cAAc,MAAK,yBAAiB,CAAC,SAAS,EAAE;YAClE,OAAO,CAAC,cAAc,GAAG,QAAQ,CAAC,EAAE,CAAC;YACrC,OAAO,CAAC,oBAAoB,GAAG,QAAQ,CAAC,WAAW,CAAC;YACpD,OAAO,CAAC,2BAA2B,GAAG,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC;YAE1E,6DAA6B,CAAC,aAAa,CAAC,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;SACnG;KACJ;IAED,OAAO;QACH,OAAO;QACP,SAAS,EAAE,iBAAiB;KAC/B,CAAC;AACN,CAAC,CAAA,AA/K4B,CA+K3B;AAEa,6CAAiB,GAAG,CAAC,aAAqC,EAA+B,EAAE;;IACtG,MAAM,OAAO,GAAgC,MAAA,aAAa,CAAC,qBAAqB,mCAAI;QAChF,YAAY,EAAE;YACV,aAAa,EAAE,IAAI;YACnB,sBAAsB,EAAE,IAAI;YAC5B,kBAAkB,EAAE,IAAI;SAC3B;QACD,oBAAoB,EAAE;YAClB,EAAE,EAAE,IAAI;YACR,QAAQ,EAAE,IAAI;YACd,YAAY,EAAE,IAAI;YAClB,aAAa,EAAE,IAAI;YACnB,cAAc,EAAE,IAAI;YACpB,eAAe,EAAE,IAAI;SACxB;QACD,iBAAiB,EAAE,IAAI;QACvB,cAAc,EAAE,IAAI;QACpB,2BAA2B,EAAE,IAAI;QACjC,oBAAoB,EAAE,IAAI;QAC1B,oBAAoB,EAAE,IAAI;QAC1B,8BAA8B,EAAE,IAAI;QACpC,iBAAiB,EAAE,IAAI;QACvB,MAAM,EAAE,aAAa,CAAC,EAAE;KAC3B,CAAC;IAEF,OAAO,OAAO,CAAC;AACnB,CAAC,AA1B+B,CA0B9B;AAEF;;;;;GAKG;AACY,oDAAwB,GAAG,CAAC,QAAoC,EAAuB,EAAE;IACpG,IAAI,QAAQ,CAAC,aAAa,KAAK,wBAAgB,CAAC,SAAS;QAAE,OAAO,yCAAmB,CAAC,UAAU,CAAC;SAC5F,IAAI,QAAQ,CAAC,UAAU;QAAE,OAAO,yCAAmB,CAAC,QAAQ,CAAC;;QAC7D,OAAO,yCAAmB,CAAC,YAAY,CAAC;AACjD,CAAC,AAJsC,CAIrC;AAEF;;;;;;;;GAQG;AACY,6CAAiB,GAAG,CAC/B,YAA8B,EAC9B,eAA2D,EAC3D,OAA2C,EAC3C,iBAAyB,EACR,EAAE;;IACnB,MAAM,oBAAoB,GAAG,IAAI,2CAAoB,CAAC,YAAY,CAAC,oBAAoB,EAAE,eAAe,CAAC,CAAC;IAC1G,MAAM,oBAAoB,GAAG,yBAAiB,CAAC,SAAS,CAAC;IAEzD,gBAAgB;IAChB,IAAI,cAAc,mBACd,EAAE,EAAE,eAAe,CAAC,UAAU,CAAC,EAAE,EACjC,cAAc,EAAE,oBAAoB,EACpC,aAAa,EAAE,wBAAgB,CAAC,SAAS,EACzC,SAAS,EAAE,eAAe,CAAC,UAAU,CAAC,SAAS,EAC/C,QAAQ,EAAE,2BAAiB,CAAC,0BAA0B,CAAC,eAAe,CAAC,UAAU,CAAC,gBAAgB,CAAC,IAChG,CAAC,OAAO;SACP,MAAA,OAAO,CAAC,oBAAoB,0CAAE,UAAU,CAAC,kBAAkB,CAAA,IAAI;QAC3D,mBAAmB,EAAE,MAAA,OAAO,CAAC,oBAAoB,0CAAE,UAAU,CAAC,mBAAoB;QAClF,sBAAsB,EAAE,CAAA,MAAA,OAAO,CAAC,oBAAoB,0CAAE,UAAU,CAAC,sBAAsB;YACnF,CAAC,CAAC,IAAI,IAAI,CAAC,MAAA,OAAO,CAAC,oBAAoB,0CAAE,UAAU,CAAC,sBAAsB,CAAC;YAC3E,CAAC,CAAC,SAAS;QACf,wBAAwB,EAAE,CAAA,MAAA,OAAO,CAAC,oBAAoB,0CAAE,UAAU,CAAC,wBAAwB;YACvF,CAAC,CAAC,IAAI,IAAI,CAAC,MAAA,OAAO,CAAC,oBAAoB,0CAAE,UAAU,CAAC,wBAAwB,CAAC;YAC7E,CAAC,CAAC,SAAS;QACf,kBAAkB,EAAE,MAAA,OAAO,CAAC,oBAAoB,0CAAE,UAAU,CAAC,kBAAmB;QAChF,YAAY,EAAE,MAAA,OAAO,CAAC,oBAAoB,0CAAE,UAAU,CAAC,YAAa;KACvE,CAAC,CACT,CAAC;IAEF,IAAI,gBAAgB,GAAkB,IAAI,CAAC;IAC3C,IAAI,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,iBAAiB,MAAK,yBAAiB,CAAC,YAAY,EAAE;QAC/D,gBAAgB,GAAG,CAAC,CAAC;KACxB;SAAM,IAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,oBAAoB,EAAE;QACtC,gBAAgB,GAAG,OAAO,CAAC,oBAAoB,CAAC,UAAU,CAAC,kBAAkB,CAAC;KACjF;IAED,MAAM,WAAW,GAAG,oBAAoB,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC;IAC1E,IAAI,CAAC,WAAW,EAAE;QACd,OAAO,cAAc,CAAC;KACzB;IAED,OAAO,EAAI,CAAC,eAAe,CAAC,eAAe,EAAE,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC;AACxG,CAAC,AA3C+B,CA2C9B;AAEF;;;;;;;;;GASG;AACY,2CAAe,GAAG,CAC7B,eAA2D,EAC3D,OAA2C,EAC3C,iBAAyB,EACzB,gBAAmC,EACnC,YAA8B,EACb,EAAE;IACnB,6EAA6E;IAC7E,IAAI,eAAe,GAAG,QAAQ,CAAC;IAC/B,MAAM,eAAe,GAAG,YAAY,CAAC,oBAAoB,CAAC;IAC1D,MAAM,aAAa,GAAG,YAAY,CAAC,UAAU,CAAC;IAC9C,MAAM,mBAAmB,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;IAC/C,MAAM,kBAAkB,GAAG,eAAe,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAEvE,MAAM,sBAAsB,GAAG,EAAI,CAAC,wBAAwB,CACxD,iBAAiB;IACjB,6CAA6C;IAC7C,gBAAgB,CAAC,kBAAkB;QAC/B,CAAC,CAAC,aAAa,CAAC,gBAAgB,CAAC,kBAAkB,GAAG,CAAC,CAAC,CAAC,oBAAoB;QAC7E,CAAC,CAAC,gBAAgB,CAAC,sBAAsB,CAChD,CAAC;IAEF,IAAI,kBAAkB,GAAG,IAAI,CAAC,KAAK,CAC/B,CAAC,eAAe,CAAC,UAAU,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,sBAAsB,CAAC,OAAO,EAAE,CAAC,GAAG,IAAI,CACpG,CAAC;IAEF,sCAAsC;IACtC,IAAI,gBAAgB,CAAC,kBAAkB,EAAE;QACrC,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,kBAAkB,CAAC;QAC7D,kBAAkB,GAAG,EAAI,CAAC,qBAAqB,CAAC,kBAAkB,EAAE,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE;YAC5G,aAAa,EAAE,aAAa,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC,sBAAsB;YACzE,WAAW,EAAE,aAAa,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC,oBAAoB;SACxE,CAAC,CAAC;QAEH,gEAAgE;QAChE,IAAI,gBAAgB,KAAK,mBAAmB,CAAC,kBAAkB,EAAE;YAC7D,kBAAkB,GAAG,IAAI,CAAC,GAAG,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC;SACxD;KACJ;IAED,MAAM,aAAa,GAAG,EAAI,CAAC,sBAAsB,CAAC,gBAAgB,EAAE,kBAAkB,CAAC,CAAC;IACxF,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,kBAAkB,CAAC;IAC7D,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,kBAAkB,CAAC;IAC7D,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,kBAAkB,CAAC;IAE7D,qBAAqB;IACrB,MAAM,cAAc,GAAG;QACnB,EAAE,EAAE,eAAe,CAAC,UAAU,CAAC,EAAE;QACjC,OAAO,EAAE,gBAAgB,CAAC,OAAO;QACjC,mBAAmB,EAAE,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,mBAAmB,GAAG,IAAI,CAAC,GAAG,IAAI;QACnF,YAAY,EAAE,aAAa,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC,OAAO;QACzD,YAAY,EAAE,aAAa,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC,OAAO;QACzD,cAAc,EAAE,aAAa,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS;QAClE,cAAc,EAAE,aAAa,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS;QAClE,kBAAkB,EAAE,gBAAgB;QACpC,kBAAkB,EAAE,gBAAgB;QACpC,sBAAsB,EAAE,EAAI,CAAC,wBAAwB,CACjD,iBAAiB,EACjB,aAAa,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC,oBAAoB,CAC3D;QACD,sBAAsB,EAAE,EAAI,CAAC,wBAAwB,CACjD,iBAAiB,EACjB,aAAa,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC,oBAAoB,CAC3D;QACD,wBAAwB,EAAE,EAAI,CAAC,wBAAwB,CACnD,iBAAiB,EACjB,aAAa,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC,sBAAsB,CAC7D;QACD,wBAAwB,EAAE,EAAI,CAAC,wBAAwB,CACnD,iBAAiB,EACjB,aAAa,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC,sBAAsB,CAC7D;QACD,KAAK,EAAE,aAAa,KAAK,yBAAiB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,kBAAkB;QAC/E,YAAY,EACR,CAAC,aAAa,KAAK,yBAAiB,CAAC,OAAO;YACxC,gBAAgB;YAChB,aAAa,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC;YAChD,SAAS;QACb,cAAc,EACV,CAAC,aAAa,KAAK,yBAAiB,CAAC,OAAO;YACxC,gBAAgB;YAChB,aAAa,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC;YACvD,SAAS;QACb,kBAAkB,EAAE,CAAC,aAAa,KAAK,yBAAiB,CAAC,OAAO,IAAI,gBAAgB,CAAC,IAAI,SAAS;QAClG,kBAAkB,EAAE,aAAa,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC,aAAa,IAAI,SAAS;QAClF,cAAc,EAAE,aAAa;QAC7B,aAAa,EAAE,wBAAgB,CAAC,SAAS;QACzC,QAAQ,EAAE,2BAAiB,CAAC,0BAA0B,CAAC,eAAe,CAAC,UAAU,CAAC,gBAAgB,CAAC;QACnG,UAAU,EAAE,aAAa,KAAK,yBAAiB,CAAC,WAAW;KAC9D,CAAC;IAEF,OAAO,cAAc,CAAC;AAC1B,CAAC,AA5F6B,CA4F5B;AAEF;;;;;;;;GAQG;AACY,oDAAwB,GAAG,CAAC,iBAAyB,EAAE,WAAmB,EAAQ,EAAE;IAC/F,OAAO,IAAA,yBAAM,EAAC,iBAAiB,CAAC;SAC3B,EAAE,CAAC,eAAe,CAAC;SACnB,OAAO,CAAC,KAAK,CAAC;SACd,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;SACrC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;SAC9C,OAAO,CAAC,WAAW,GAAG,EAAE,CAAC;SACzB,MAAM,EAAE,CAAC;AAClB,CAAC,AARsC,CAQrC;AAEF;;;;;;;;;GASG;AACY,iDAAqB,GAAG,CACnC,SAAiB,EACjB,OAA2C,EAC3C,eAA2D,EAC3D,gBAAwB,EACxB,SAAyD,EACnD,EAAE;IACR,kDAAkD;IAClD,MAAM,oBAAoB,GAAG,SAAS,CAAC,aAAa,GAAG,SAAS,CAAC,WAAW,CAAC;IAC7E,mEAAmE;IACnE,IAAI,oBAAoB,IAAI,CAAC,EAAE;QAC3B,OAAO,SAAS,CAAC;KACpB;IAED,iFAAiF;IACjF,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,YAAY,CAAC,aAAa,KAAK,gBAAgB,EAAE;QACrE,iCAAiC;QACjC,yEAAyE;QACzE,yDAAyD;QACzD,qBAAqB;QACrB,gCAAgC;QAChC,OAAO,SAAS,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,oBAAoB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;KACrF;IAED,mEAAmE;IACnE,IAAI,OAAO,CAAC,YAAY,CAAC,kBAAmB,IAAI,CAAC,EAAE;QAC/C,0BAA0B;QAC1B,yEAAyE;QACzE,yDAAyD;QACzD,OAAO,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,oBAAoB,EAAE,CAAC,CAAC,CAAC;KACxD;IAED,wBAAwB;IACxB,yBAAyB;IACzB,MAAM,oBAAoB,GAAG,IAAI,CAAC,KAAK,CACnC,CAAC,eAAe,CAAC,UAAU,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,OAAO,CAAC,YAAY,CAAC,sBAAuB,CAAC,GAAG,IAAI,CAChH,CAAC;IAEF,0EAA0E;IAC1E,OAAO,OAAO,CAAC,YAAY,CAAC,kBAAmB,GAAG,IAAI,CAAC,GAAG,CAAC,oBAAoB,GAAG,oBAAoB,EAAE,CAAC,CAAC,CAAC;AAC/G,CAAC,AAxCmC,CAwClC;AAEF;;;;;;GAMG;AACY,gDAAoB,GAAG,CAAC,cAAsB,EAAE,6BAAqC,EAAU,EAAE;IAC5G,IAAI,iBAAiB,GAAG,yBAAM,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACtF,MAAM,mBAAmB,GAAG,IAAI,CAAC,KAAK,CAAC,6BAA6B,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;IACvF,4DAA4D;IAC5D,IAAI,mBAAmB,GAAG,CAAC,EAAE;QACzB,iBAAiB,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;KACxC;IACD,OAAO,iBAAiB,CAAC,OAAO,EAAE,CAAC;AACvC,CAAC,AARkC,CAQjC;AAEa,kDAAsB,GAAG,CAAC,gBAAmC,EAAE,aAAgC,EAAE,EAAE;IAC9G,IAAI,gBAAgB,CAAC,kBAAkB,IAAI,aAAa,CAAC,kBAAkB,EAAE;QACzE,OAAO,yBAAiB,CAAC,WAAW,CAAC;KACxC;SAAM,IAAI,gBAAgB,CAAC,kBAAkB,EAAE;QAC5C,OAAO,yBAAiB,CAAC,OAAO,CAAC;KACpC;IAED,OAAO,yBAAiB,CAAC,QAAQ,CAAC;AACtC,CAAC,AARoC,CAQnC"}
1
+ {"version":3,"file":"RegionalBusPositionsManager.js","sourceRoot":"","sources":["../../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/regional-bus/RegionalBusPositionsManager.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { IMpvMessageContent, IMpvMessageInput } from "../interfaces/MpvMessageInterfaces";
1
+ import { IMpvMessageContent, IMpvMessageInput } from "../../../../../schema-definitions/vehicle-positions/interfaces/IMpvMessageInterfaces";
2
2
  export declare class SaveDataToDBValidationSchema implements IMpvMessageInput {
3
3
  m: IMpvMessageContent;
4
4
  }
@@ -1,8 +1,18 @@
1
+ import { ILogger } from "@golemio/core/dist/helpers";
1
2
  import { AbstractEmptyTask } from "@golemio/core/dist/integration-engine/workers";
3
+ import { TripsRepository } from "../data-access/TripsRepository";
4
+ import { IGtfsTripDataFixerFactory } from "../domain/service/IGtfsTripDataFixerFactory";
5
+ /**
6
+ * Updates GTFS trip data for realtime trips immediately following a GTFS timetable database refresh
7
+ * - Identifies and corrects realtime trips using obsolete GTFS trip IDs (from the previous timetable)
8
+ * - Refreshes GTFS trip data (route ID, block ID, headsign, etc.) based on updated GTFS trip IDs
9
+ */
2
10
  export declare class RefreshGtfsTripDataTask extends AbstractEmptyTask {
11
+ private logger;
12
+ private gtfsDataFixerFactory;
13
+ private tripRepository;
3
14
  readonly queueName = "refreshGTFSTripData";
4
15
  readonly queueTtl: number;
5
- private readonly tripsRepository;
6
- constructor(queuePrefix: string);
16
+ constructor(logger: ILogger, gtfsDataFixerFactory: IGtfsTripDataFixerFactory, tripRepository: TripsRepository);
7
17
  protected execute(): Promise<void>;
8
18
  }
@@ -1,4 +1,16 @@
1
1
  "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
2
14
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
15
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
16
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -10,20 +22,43 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
10
22
  };
11
23
  Object.defineProperty(exports, "__esModule", { value: true });
12
24
  exports.RefreshGtfsTripDataTask = void 0;
25
+ const VPContainerToken_1 = require("../../../ioc/VPContainerToken");
26
+ const CoreToken_1 = require("@golemio/core/dist/helpers/ioc/CoreToken");
13
27
  const workers_1 = require("@golemio/core/dist/integration-engine/workers");
28
+ const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
29
+ const constants_1 = require("../constants");
14
30
  const TripsRepository_1 = require("../data-access/TripsRepository");
15
- class RefreshGtfsTripDataTask extends workers_1.AbstractEmptyTask {
16
- constructor(queuePrefix) {
17
- super(queuePrefix);
31
+ const ProviderSourceTypeEnum_1 = require("../helpers/ProviderSourceTypeEnum");
32
+ /**
33
+ * Updates GTFS trip data for realtime trips immediately following a GTFS timetable database refresh
34
+ * - Identifies and corrects realtime trips using obsolete GTFS trip IDs (from the previous timetable)
35
+ * - Refreshes GTFS trip data (route ID, block ID, headsign, etc.) based on updated GTFS trip IDs
36
+ */
37
+ let RefreshGtfsTripDataTask = exports.RefreshGtfsTripDataTask = class RefreshGtfsTripDataTask extends workers_1.AbstractEmptyTask {
38
+ constructor(logger, gtfsDataFixerFactory, tripRepository) {
39
+ super(constants_1.WORKER_NAME);
40
+ this.logger = logger;
41
+ this.gtfsDataFixerFactory = gtfsDataFixerFactory;
42
+ this.tripRepository = tripRepository;
18
43
  this.queueName = "refreshGTFSTripData";
19
44
  this.queueTtl = 10 * 60 * 1000; // 10 minutes
20
- this.tripsRepository = new TripsRepository_1.TripsRepository();
21
45
  }
22
46
  execute() {
23
47
  return __awaiter(this, void 0, void 0, function* () {
24
- yield this.tripsRepository.refreshGtfsTripData();
48
+ // Find and fix realtime trips with invalid GTFS trip ID
49
+ // HTTP trips
50
+ const numOfHttpTrips = yield this.gtfsDataFixerFactory.getStrategy(ProviderSourceTypeEnum_1.ProviderSourceTypeEnum.Http).fix(this.queuePrefix);
51
+ this.logger.info(`${this.constructor.name}: ${numOfHttpTrips} HTTP trips with invalid GTFS trip ID detected and sent for fixing`);
52
+ // Refresh GTFS trip data based on GTFS trip ID
53
+ yield this.tripRepository.refreshGtfsTripData();
25
54
  });
26
55
  }
27
- }
28
- exports.RefreshGtfsTripDataTask = RefreshGtfsTripDataTask;
56
+ };
57
+ exports.RefreshGtfsTripDataTask = RefreshGtfsTripDataTask = __decorate([
58
+ (0, tsyringe_1.injectable)(),
59
+ __param(0, (0, tsyringe_1.inject)(CoreToken_1.CoreToken.Logger)),
60
+ __param(1, (0, tsyringe_1.inject)(VPContainerToken_1.VPContainerToken.GtfsTripDataFixerFactory)),
61
+ __param(2, (0, tsyringe_1.inject)(VPContainerToken_1.VPContainerToken.TripRepository)),
62
+ __metadata("design:paramtypes", [Object, Object, TripsRepository_1.TripsRepository])
63
+ ], RefreshGtfsTripDataTask);
29
64
  //# sourceMappingURL=RefreshGtfsTripDataTask.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RefreshGtfsTripDataTask.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/RefreshGtfsTripDataTask.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2EAAkF;AAClF,oEAAiE;AAEjE,MAAa,uBAAwB,SAAQ,2BAAiB;IAM1D,YAAY,WAAmB;QAC3B,KAAK,CAAC,WAAW,CAAC,CAAC;QANP,cAAS,GAAG,qBAAqB,CAAC;QAClC,aAAQ,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,aAAa;QAMpD,IAAI,CAAC,eAAe,GAAG,IAAI,iCAAe,EAAE,CAAC;IACjD,CAAC;IAEe,OAAO;;YACnB,MAAM,IAAI,CAAC,eAAe,CAAC,mBAAmB,EAAE,CAAC;QACrD,CAAC;KAAA;CACJ;AAdD,0DAcC"}
1
+ {"version":3,"file":"RefreshGtfsTripDataTask.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/RefreshGtfsTripDataTask.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,oEAA8E;AAE9E,wEAAqE;AACrE,2EAAkF;AAClF,iEAAwE;AACxE,4CAA2C;AAC3C,oEAAiE;AAEjE,8EAA2E;AAE3E;;;;GAIG;AAEI,IAAM,uBAAuB,qCAA7B,MAAM,uBAAwB,SAAQ,2BAAiB;IAI1D,YAC8B,MAAuB,EACE,oBAAuD,EACjE,cAAuC;QAEhF,KAAK,CAAC,uBAAW,CAAC,CAAC;QAJe,WAAM,GAAN,MAAM,CAAS;QACU,yBAAoB,GAApB,oBAAoB,CAA2B;QACzD,mBAAc,GAAd,cAAc,CAAiB;QANpE,cAAS,GAAG,qBAAqB,CAAC;QAClC,aAAQ,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,aAAa;IAQxD,CAAC;IAEe,OAAO;;YACnB,wDAAwD;YACxD,aAAa;YACb,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,+CAAsB,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACtH,IAAI,CAAC,MAAM,CAAC,IAAI,CACZ,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,KAAK,cAAc,oEAAoE,CAClH,CAAC;YAEF,+CAA+C;YAC/C,MAAM,IAAI,CAAC,cAAc,CAAC,mBAAmB,EAAE,CAAC;QACpD,CAAC;KAAA;CACJ,CAAA;kCAvBY,uBAAuB;IADnC,IAAA,qBAAU,GAAE;IAMJ,WAAA,IAAA,iBAAM,EAAC,qBAAS,CAAC,MAAM,CAAC,CAAA;IACxB,WAAA,IAAA,iBAAM,EAAC,mCAAgB,CAAC,wBAAwB,CAAC,CAAA;IACjD,WAAA,IAAA,iBAAM,EAAC,mCAAgB,CAAC,cAAc,CAAC,CAAA;qDAAyB,iCAAe;GAP3E,uBAAuB,CAuBnC"}
@@ -1,5 +1,5 @@
1
1
  import { AbstractTask } from "@golemio/core/dist/integration-engine/workers";
2
- import { IMpvMessageInput } from "../interfaces/MpvMessageInterfaces";
2
+ import { IMpvMessageInput } from "../../../../../schema-definitions/vehicle-positions/interfaces/IMpvMessageInterfaces";
3
3
  import { SaveDataToDBValidationSchema } from "../schema/SaveDataToDBSchema";
4
4
  export declare class SaveDataToDBTask extends AbstractTask<IMpvMessageInput> {
5
5
  readonly queueName = "saveDataToDB";
@@ -8,8 +8,11 @@ export declare class SaveDataToDBTask extends AbstractTask<IMpvMessageInput> {
8
8
  private readonly tripsRepository;
9
9
  private readonly cisStopRepository;
10
10
  private readonly messageTransformation;
11
+ private readonly logger;
11
12
  constructor(queuePrefix: string);
12
13
  protected execute(data: IMpvMessageInput): Promise<void>;
14
+ private saveStops;
13
15
  private sendDataToUpdateGtfsTripId;
14
16
  private sendDataToUpdateDelay;
17
+ private getTripDataAndSendToUpdateDelay;
15
18
  }
@@ -13,8 +13,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
13
13
  };
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.SaveDataToDBTask = void 0;
16
+ const CoreToken_1 = require("@golemio/core/dist/helpers/ioc/CoreToken");
17
+ const ioc_1 = require("@golemio/core/dist/integration-engine/ioc");
16
18
  const queueprocessors_1 = require("@golemio/core/dist/integration-engine/queueprocessors");
17
19
  const workers_1 = require("@golemio/core/dist/integration-engine/workers");
20
+ const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
18
21
  const CisStopRepository_1 = require("../data-access/CisStopRepository");
19
22
  const TripsRepository_1 = require("../data-access/TripsRepository");
20
23
  const TripsMapper_1 = __importDefault(require("../data-access/helpers/TripsMapper"));
@@ -26,10 +29,10 @@ class SaveDataToDBTask extends workers_1.AbstractTask {
26
29
  this.queueName = "saveDataToDB";
27
30
  this.queueTtl = 5 * 60 * 1000; // 5 minutes
28
31
  this.schema = SaveDataToDBSchema_1.SaveDataToDBValidationSchema;
29
- this.queueType = "classic";
30
32
  this.tripsRepository = new TripsRepository_1.TripsRepository();
31
33
  this.cisStopRepository = new CisStopRepository_1.CisStopRepository();
32
34
  this.messageTransformation = new MpvMessageTransformation_1.MpvMessageTransformation();
35
+ this.logger = ioc_1.IntegrationEngineContainer.resolve(CoreToken_1.CoreToken.Logger);
33
36
  }
34
37
  execute(data) {
35
38
  var _a;
@@ -43,58 +46,111 @@ class SaveDataToDBTask extends workers_1.AbstractTask {
43
46
  .filter((key) => key !== "start_timestamp")
44
47
  .concat("updated_at"), true);
45
48
  const { inserted, updated } = TripsMapper_1.default.mapTripEntitiesToUpdateDto(tripEntities, taskStartTimestamp);
49
+ // At this point we want to send ACK to rabbit and let the rest of the processing to be done in the background
46
50
  yield this.sendDataToUpdateGtfsTripId(inserted, positions);
47
51
  yield this.sendDataToUpdateDelay(updated, positions);
48
52
  // Save cis stops to later propagate platform codes to departure boards
49
- yield this.cisStopRepository.bulkSave(stops);
53
+ yield this.saveStops(stops);
54
+ });
55
+ }
56
+ saveStops(stops) {
57
+ return __awaiter(this, void 0, void 0, function* () {
58
+ try {
59
+ yield this.cisStopRepository.bulkSave(stops);
60
+ }
61
+ catch (error) {
62
+ if (error instanceof golemio_errors_1.AbstractGolemioError) {
63
+ this.logger.error(error);
64
+ }
65
+ else {
66
+ this.logger.error(new golemio_errors_1.GeneralError("Error while saving stops", SaveDataToDBTask.name, error, undefined, "pid", this.queueName));
67
+ }
68
+ }
50
69
  });
51
70
  }
52
71
  sendDataToUpdateGtfsTripId(insertedTrips, positions) {
53
72
  return __awaiter(this, void 0, void 0, function* () {
54
- // send message for update GTFSTripIds
55
- for (let i = 0, chunkSize = 50; i < insertedTrips.length; i += chunkSize) {
56
- const insertedBatch = insertedTrips.slice(i, i + chunkSize);
57
- const insertedIds = insertedBatch.map((ins) => {
58
- return ins.id;
59
- });
60
- yield queueprocessors_1.QueueManager.sendMessageToExchange(this.queuePrefix, "updateGTFSTripId", {
61
- trips: insertedBatch,
62
- positions: positions.filter((position) => insertedIds.includes(position.trips_id)),
63
- });
73
+ try {
74
+ // send message for update GTFSTripIds
75
+ for (let i = 0, chunkSize = 50; i < insertedTrips.length; i += chunkSize) {
76
+ const insertedBatch = insertedTrips.slice(i, i + chunkSize);
77
+ const insertedIds = insertedBatch.map((ins) => {
78
+ return ins.id;
79
+ });
80
+ yield queueprocessors_1.QueueManager.sendMessageToExchange(this.queuePrefix, "updateGTFSTripId", {
81
+ trips: insertedBatch,
82
+ positions: positions.filter((position) => insertedIds.includes(position.trips_id)),
83
+ });
84
+ }
85
+ }
86
+ catch (error) {
87
+ if (error instanceof golemio_errors_1.AbstractGolemioError) {
88
+ this.logger.error(error);
89
+ }
90
+ else {
91
+ this.logger.error(new golemio_errors_1.GeneralError("Error while sending data to update GTFS trip id", SaveDataToDBTask.name, error, undefined, "pid", this.queueName));
92
+ }
64
93
  }
65
94
  });
66
95
  }
67
96
  sendDataToUpdateDelay(updatedTrips, positions) {
68
97
  return __awaiter(this, void 0, void 0, function* () {
69
- // aggregate runs by origin_route_name & run_number to keep related messages in same bulk
70
- const runTripMap = updatedTrips.length ? { unknown: [] } : {};
71
- for (const trip of updatedTrips) {
72
- if (!trip.origin_route_name || !trip.run_number) {
73
- runTripMap.unknown.push(trip.id);
98
+ try {
99
+ // aggregate runs by origin_route_name & run_number to keep related messages in same bulk
100
+ const runTripMap = updatedTrips.length ? { unknown: [] } : {};
101
+ for (const trip of updatedTrips) {
102
+ if (!trip.origin_route_name || !trip.run_number) {
103
+ runTripMap.unknown.push(trip.id);
104
+ }
105
+ else {
106
+ const key = `${trip.origin_route_name}_${trip.run_number}`;
107
+ runTripMap[key] ? runTripMap[key].push(trip.id) : (runTripMap[key] = [trip.id]);
108
+ }
74
109
  }
75
- else {
76
- const key = `${trip.origin_route_name}_${trip.run_number}`;
77
- runTripMap[key] ? runTripMap[key].push(trip.id) : (runTripMap[key] = [trip.id]);
110
+ const chunks = [];
111
+ let idx = 0;
112
+ for (const key in runTripMap) {
113
+ if (!chunks[idx]) {
114
+ chunks[idx] = [];
115
+ }
116
+ chunks[idx] = chunks[idx].concat(runTripMap[key]);
117
+ if (chunks[idx].length > 200) {
118
+ idx++;
119
+ }
78
120
  }
121
+ const promises = [];
122
+ for (const key in chunks) {
123
+ promises.push(this.getTripDataAndSendToUpdateDelay(chunks[key], positions));
124
+ }
125
+ yield Promise.all(promises);
79
126
  }
80
- const chunks = [];
81
- let idx = 0;
82
- for (const key in runTripMap) {
83
- if (!chunks[idx]) {
84
- chunks[idx] = [];
127
+ catch (error) {
128
+ if (error instanceof golemio_errors_1.AbstractGolemioError) {
129
+ this.logger.error(error);
85
130
  }
86
- chunks[idx] = chunks[idx].concat(runTripMap[key]);
87
- if (chunks[idx].length > 200) {
88
- idx++;
131
+ else {
132
+ this.logger.error(new golemio_errors_1.GeneralError("Error while sending data to update delay", SaveDataToDBTask.name, error, undefined, "pid", this.queueName));
89
133
  }
90
134
  }
91
- for (const key in chunks) {
92
- const updatedTrips = yield this.tripsRepository.findAllAssocTripIds(chunks[key]);
135
+ });
136
+ }
137
+ getTripDataAndSendToUpdateDelay(chunk, positions) {
138
+ return __awaiter(this, void 0, void 0, function* () {
139
+ try {
140
+ const updatedTrips = yield this.tripsRepository.findAllAssocTripIds(chunk);
93
141
  yield queueprocessors_1.QueueManager.sendMessageToExchange(this.queuePrefix, "updateDelay", {
94
142
  updatedTrips,
95
- positions: positions.filter((position) => chunks[key].includes(position.trips_id)),
143
+ positions: positions.filter((position) => chunk.includes(position.trips_id)),
96
144
  });
97
145
  }
146
+ catch (error) {
147
+ if (error instanceof golemio_errors_1.AbstractGolemioError) {
148
+ this.logger.error(error);
149
+ }
150
+ else {
151
+ this.logger.error(new golemio_errors_1.GeneralError("Error while sending data to update delay", SaveDataToDBTask.name, error, undefined, "pid", this.queueName));
152
+ }
153
+ }
98
154
  });
99
155
  }
100
156
  }
@@ -1 +1 @@
1
- {"version":3,"file":"SaveDataToDBTask.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/SaveDataToDBTask.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SaveDataToDBTask.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/SaveDataToDBTask.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,7 @@ export declare class UpdateDelayTask extends AbstractTask<IUpdateDelayInput> {
11
11
  private readonly delayComputationRedisRepository;
12
12
  private readonly tripStopsManager;
13
13
  private readonly delayComputationManager;
14
+ private readonly metroShapePointsFixer;
14
15
  constructor(queuePrefix: string);
15
16
  protected execute(data: IUpdateDelayInput): Promise<void>;
16
17
  private enrichTripWithGtfsComputationData;