@golemio/pid 5.2.2-dev.2226879090 → 5.3.0-rc.2228022903

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.
@@ -43,11 +43,9 @@ export interface ITransformationResult {
43
43
  positions: IPositionTransformationResult[];
44
44
  stops: ICisStopDto[];
45
45
  trips: ITripTransformationResult[];
46
- tripsWithCisStops: Map<string, number>;
47
46
  }
48
47
  export interface ITransformationElement {
49
- position: IPositionTransformationResult | null;
48
+ position: IPositionTransformationResult;
50
49
  stops: Map<string, ICisStopDto>;
51
- trip: ITripTransformationResult | null;
52
- tripToCis: number | null;
50
+ trip: ITripTransformationResult;
53
51
  }
@@ -8,7 +8,6 @@ export declare class SaveDataToDBTask extends AbstractTask<IMpvMessageInput> {
8
8
  readonly schema: typeof SaveDataToDBValidationSchema;
9
9
  private readonly tripsRepository;
10
10
  private readonly cisStopRepository;
11
- private readonly ropidGTFSCisStopsModel;
12
11
  private readonly messageTransformation;
13
12
  private readonly logger;
14
13
  constructor(queuePrefix: string);
@@ -16,6 +15,5 @@ export declare class SaveDataToDBTask extends AbstractTask<IMpvMessageInput> {
16
15
  private saveStops;
17
16
  private sendDataToUpdateGtfsTripId;
18
17
  private sendDataToUpdateDelay;
19
- private preparePositionsFromCisStops;
20
18
  private getTripDataAndSendToUpdateDelay;
21
19
  }
@@ -14,8 +14,6 @@ const TripsRepository_1 = require("../data-access/TripsRepository");
14
14
  const TripsMapper_1 = __importDefault(require("../data-access/helpers/TripsMapper"));
15
15
  const SaveDataToDBSchema_1 = require("../schema/SaveDataToDBSchema");
16
16
  const MpvMessageTransformation_1 = require("../transformations/MpvMessageTransformation");
17
- const RopidGTFSCisStopsModel_1 = require("../../../../ropid-gtfs/RopidGTFSCisStopsModel");
18
- const sequelize_1 = require("@golemio/core/dist/shared/sequelize");
19
17
  class SaveDataToDBTask extends workers_1.AbstractTask {
20
18
  constructor(queuePrefix) {
21
19
  super(queuePrefix);
@@ -25,14 +23,11 @@ class SaveDataToDBTask extends workers_1.AbstractTask {
25
23
  this.tripsRepository = new TripsRepository_1.TripsRepository();
26
24
  this.cisStopRepository = new CisStopRepository_1.CisStopRepository();
27
25
  this.messageTransformation = new MpvMessageTransformation_1.MpvMessageTransformation();
28
- this.ropidGTFSCisStopsModel = new RopidGTFSCisStopsModel_1.RopidGTFSCisStopsModel();
29
26
  this.logger = ioc_1.IntegrationEngineContainer.resolve(CoreToken_1.CoreToken.Logger);
30
27
  }
31
28
  async execute(data, messageProperties) {
32
29
  const taskStartTimestamp = new Date().getTime();
33
- const now = MpvMessageTransformation_1.MpvMessageTransformation.currentTimeInPrague();
34
- const nowFormatted = MpvMessageTransformation_1.MpvMessageTransformation.currentTimeInPragueFormatted(now);
35
- const { trips, positions, stops, tripsWithCisStops } = await this.messageTransformation.transform(data.m.spoj);
30
+ const { trips, positions, stops } = await this.messageTransformation.transform(data.m.spoj);
36
31
  const tripEntities = await this.tripsRepository.bulkSave(trips,
37
32
  // Ignore incoming start_timestamp for existing trips to avoid overwriting existing computed timestamp
38
33
  // TODO this is a workaround, dedicated column (gtfs_start_timestamp) will be added
@@ -40,13 +35,11 @@ class SaveDataToDBTask extends workers_1.AbstractTask {
40
35
  .filter((key) => key !== "start_timestamp")
41
36
  .concat("updated_at"), true);
42
37
  const { inserted, updated } = TripsMapper_1.default.mapTripEntitiesToUpdateDto(tripEntities, taskStartTimestamp);
43
- const positionsToAppend = await this.preparePositionsFromCisStops(tripsWithCisStops, nowFormatted, now);
44
- positions.push(...positionsToAppend);
45
- // Save cis stops first to later propagate platform codes to departure boards
46
- await this.saveStops(stops);
47
38
  // At this point we want to send ACK to rabbit and let the rest of the processing to be done in the background
48
39
  await this.sendDataToUpdateGtfsTripId(inserted, positions, messageProperties?.timestamp);
49
40
  await this.sendDataToUpdateDelay(updated, positions, messageProperties?.timestamp);
41
+ // Save cis stops to later propagate platform codes to departure boards
42
+ await this.saveStops(stops);
50
43
  }
51
44
  async saveStops(stops) {
52
45
  try {
@@ -125,35 +118,6 @@ class SaveDataToDBTask extends workers_1.AbstractTask {
125
118
  }
126
119
  }
127
120
  }
128
- async preparePositionsFromCisStops(tripsWithCisStops, tsText, ts) {
129
- if (!tripsWithCisStops?.size) {
130
- return [];
131
- }
132
- const newPositions = [];
133
- const cisList = new Set();
134
- const cisToTrips = new Map();
135
- for (const [tripId, cisStop] of tripsWithCisStops.entries()) {
136
- cisList.add(cisStop);
137
- cisToTrips.set(cisStop, (cisToTrips.get(cisStop) ?? []).concat([tripId]));
138
- }
139
- const rawCisStops = await this.ropidGTFSCisStopsModel.find({
140
- where: {
141
- cis: { [sequelize_1.Op.in]: Array.from(cisList) },
142
- id: { [sequelize_1.Op.like]: `%/301` }, // We want only asw-code like XYZ/301
143
- },
144
- attributes: ["cis", "lat", "lon"],
145
- raw: true,
146
- });
147
- for (const cisStop of rawCisStops) {
148
- if (cisList.has(cisStop.cis) && cisToTrips.has(cisStop.cis)) {
149
- cisList.delete(cisStop.cis); // prevents to create positions for the same cis stop returning multiple rows
150
- for (const tripId of cisToTrips.get(cisStop.cis)) {
151
- newPositions.push(this.messageTransformation.positionWithCisStopCoords(tripId, cisStop.lat, cisStop.lon, tsText, ts));
152
- }
153
- }
154
- }
155
- return newPositions;
156
- }
157
121
  async getTripDataAndSendToUpdateDelay(chunk, positions, firstMessageCreatedAt) {
158
122
  try {
159
123
  const updatedTrips = await this.tripsRepository.findAllAssocTripIds(chunk);
@@ -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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"}
@@ -1,20 +1,18 @@
1
1
  import { IMpvPositionContent } from "../../../../../schema-definitions/vehicle-positions/interfaces/IMpvMessageInterfaces";
2
2
  import { BaseTransformation, ITransformation } from "@golemio/core/dist/integration-engine/transformations";
3
- import moment, { Moment } from "@golemio/core/dist/shared/moment-timezone";
4
- import { IPositionTransformationResult, ITransformationElement, ITransformationResult } from "../interfaces/TransformationInterfaces";
3
+ import { Moment } from "@golemio/core/dist/shared/moment-timezone";
4
+ import { ITransformationElement, ITransformationResult } from "../interfaces/TransformationInterfaces";
5
5
  export declare class MpvMessageTransformation extends BaseTransformation implements ITransformation {
6
6
  private static ORIGIN_TIME_FORMAT;
7
- private static readonly CIS_PLATFORM_ELIGIBLE;
7
+ name: string;
8
8
  private config;
9
9
  private skipAgencyNames;
10
- private trainBeforeTrackMinutesInterval;
11
- name: string;
12
10
  constructor();
13
11
  /**
14
12
  * Overrides BaseTransformation::transform
15
13
  */
16
14
  transform: (data: IMpvPositionContent | IMpvPositionContent[]) => Promise<ITransformationResult>;
17
- protected transformElement: (element: IMpvPositionContent) => ITransformationElement | null;
15
+ protected transformElement: (element: IMpvPositionContent) => Promise<ITransformationElement | null>;
18
16
  /**
19
17
  * Deduce UTC timestamp of start of trip and UTC timestamp of current position
20
18
  *
@@ -22,13 +20,10 @@ export declare class MpvMessageTransformation extends BaseTransformation impleme
22
20
  * @param {string} positionTimestampXML - XML attribute of local timestamp of position (HH:mm:ss)
23
21
  * @returns {{ startTimestamp: Moment; positionTimestamp: Moment }}
24
22
  */
25
- protected deduceTimestamps(firstStopXML: any, positionTimestampXML: string | null): {
23
+ protected deduceTimestamps: (firstStopXML: any, positionTimestampXML: string) => Promise<{
26
24
  startTimestamp: Moment;
27
25
  positionTimestamp: Moment;
28
- };
29
- static currentTimeInPrague(): moment.Moment;
30
- static currentTimeInPragueFormatted(now?: moment.Moment): string;
31
- private isCisPlatformEligible;
26
+ }>;
32
27
  /**
33
28
  * Returns -1 if start hour is 12-23 and now is 0-12, 1 if start hour is 18-23 and now 0-6, else 0
34
29
  *
@@ -38,8 +33,6 @@ export declare class MpvMessageTransformation extends BaseTransformation impleme
38
33
  */
39
34
  private checkMidnight;
40
35
  private isBlacklistedAgency;
41
- private isTrainBeforeTrackWithPlatforms;
42
- private determinePrimaryKey;
43
36
  /**
44
37
  * Fix source negative bearing value due to overflow by adding 256
45
38
  *
@@ -47,8 +40,11 @@ export declare class MpvMessageTransformation extends BaseTransformation impleme
47
40
  * @returns {number}
48
41
  */
49
42
  private fixSourceNegativeBearing;
50
- private extractStopsForTrain;
51
- positionWithCisStopCoords(id: string, lat: string, lng: string, cpoz: string, positionTimestamp: moment.Moment): IPositionTransformationResult;
52
- private determinePosition;
53
- private determineTrip;
43
+ /**
44
+ * Format input stop id from DPP agency (XXX000Y to XXX/Y) to ASW id
45
+ *
46
+ * @param {string} stopId
47
+ * @returns {stringList}
48
+ */
49
+ private formatASWStopId;
54
50
  }
@@ -23,7 +23,6 @@ class MpvMessageTransformation extends transformations_1.BaseTransformation {
23
23
  constructor() {
24
24
  super();
25
25
  this.skipAgencyNames = [];
26
- this.trainBeforeTrackMinutesInterval = [-5, 20];
27
26
  /**
28
27
  * Overrides BaseTransformation::transform
29
28
  */
@@ -34,71 +33,51 @@ class MpvMessageTransformation extends transformations_1.BaseTransformation {
34
33
  positions: [],
35
34
  stops: [],
36
35
  trips: [],
37
- tripsWithCisStops: new Map(),
38
36
  };
39
37
  if (!Array.isArray(data))
40
38
  data = [data];
41
39
  for (const element of data) {
42
- const elemRes = this.transformElement(element);
43
- if (!elemRes) {
44
- continue;
45
- }
46
- if (elemRes.position) {
40
+ const elemRes = await this.transformElement(element);
41
+ if (elemRes) {
47
42
  res.positions.push(elemRes.position);
48
- }
49
- if (elemRes.trip) {
50
43
  trips.set(elemRes.trip.id, elemRes.trip);
51
- }
52
- if (elemRes.tripToCis && elemRes.trip) {
53
- res.tripsWithCisStops.set(elemRes.trip.id, elemRes.tripToCis);
54
- }
55
- for (const [key, value] of elemRes.stops) {
56
- stops.set(key, value);
44
+ for (const [key, value] of elemRes.stops) {
45
+ stops.set(key, value);
46
+ }
57
47
  }
58
48
  }
59
49
  res.trips = Array.from(trips.values());
60
50
  res.stops = Array.from(stops.values());
61
51
  return res;
62
52
  };
63
- this.transformElement = (element) => {
53
+ this.transformElement = async (element) => {
64
54
  const attributes = element.$;
65
- if (this.isBlacklistedAgency(attributes.dopr)) {
66
- return null;
67
- }
68
- if (this.isTrainBeforeTrackWithPlatforms(attributes, element.zast)) {
69
- const { startTimestamp } = this.deduceTimestamps(element.zast[0], null);
70
- const id = this.determinePrimaryKey(attributes, startTimestamp.utc().format());
71
- const stops = this.extractStopsForTrain(id, element.zast);
72
- const firstStop = Array.from(stops.values()).at(0);
73
- return {
74
- position: null,
75
- stops,
76
- trip: this.determineTrip(attributes, parseInt(attributes.spoj, 10), id, startTimestamp, element.zast[0]),
77
- tripToCis: firstStop?.cis_stop_group_id ?? null,
78
- };
79
- }
80
55
  // Trips with null cpoz (origin time) and falsy or "false" zrus (cancellation) attributes are excluded
81
56
  let hasInvalidAttributes = !attributes.cpoz && (!attributes.zrus || attributes.zrus === "false");
82
57
  // Trips without the CIS trip number are excluded
83
58
  hasInvalidAttributes ||= typeof attributes.spoj === "undefined" || attributes.spoj === "";
84
59
  // Canceled trips with no lat or lng are accepted because we try to later get the coords from the context if possible
85
60
  hasInvalidAttributes ||= attributes.zrus !== "true" && (!attributes.lat || !attributes.lng);
86
- const cisTripNumber = parseInt(attributes.spoj, 10);
87
- // wrong spoj number, no chance to continue
88
- hasInvalidAttributes ||= isNaN(cisTripNumber);
89
- if (hasInvalidAttributes) {
61
+ if (this.isBlacklistedAgency(attributes.dopr) || hasInvalidAttributes) {
90
62
  return null;
91
63
  }
92
64
  attributes.lin = attributes.lin || "none";
93
65
  attributes.alias = attributes.alias || "none";
94
- attributes.cpoz = attributes.cpoz || MpvMessageTransformation.currentTimeInPragueFormatted();
66
+ attributes.cpoz = attributes.cpoz || moment_timezone_1.default.tz("Europe/Prague").format(MpvMessageTransformation.ORIGIN_TIME_FORMAT);
67
+ const cisTripNumber = parseInt(attributes.spoj, 10);
68
+ if (isNaN(cisTripNumber)) {
69
+ return null;
70
+ }
95
71
  const stops = element.zast;
96
- const { startTimestamp, positionTimestamp } = this.deduceTimestamps(stops[0], attributes.cpoz);
72
+ const { startTimestamp, positionTimestamp } = await this.deduceTimestamps(stops[0], attributes.cpoz);
97
73
  // filter out position with future time (set to be far than 5 minutes from now)
98
74
  if ((0, moment_timezone_1.default)(positionTimestamp).isAfter((0, moment_timezone_1.default)().add(5, "minutes"))) {
99
75
  return null;
100
76
  }
101
- const primaryKey = this.determinePrimaryKey(attributes, startTimestamp.utc().format());
77
+ // primary key for t = 0 (vehicle type is train) -> start_timestamp, cis_number
78
+ // primary key for t != 0 -> start_timestamp, cis_id, cis_short_name, cis_number
79
+ const primaryKeySuffix = attributes.t === "0" ? `_${attributes.spoj}` : `_${attributes.lin}` + `_${attributes.alias}` + `_${attributes.spoj}`;
80
+ const primaryKey = startTimestamp.utc().format() + primaryKeySuffix;
102
81
  /*
103
82
  MPV route types:
104
83
 
@@ -121,11 +100,50 @@ class MpvMessageTransformation extends transformations_1.BaseTransformation {
121
100
  Ostatní: 17
122
101
  Trolejbus: 18
123
102
  */
124
- const res = {
125
- position: this.determinePosition(attributes, primaryKey, positionTimestamp),
103
+ const bearing = attributes.azimut;
104
+ const speed = attributes.rychl;
105
+ const aswLastStopId = null;
106
+ const cisLastStopId = attributes.zast;
107
+ let res = {
108
+ position: {
109
+ asw_last_stop_id: aswLastStopId ? this.formatASWStopId(aswLastStopId) : null,
110
+ bearing: bearing ? this.fixSourceNegativeBearing(parseInt(bearing, 10)) : null,
111
+ cis_last_stop_id: cisLastStopId ? parseInt(cisLastStopId, 10) : null,
112
+ cis_last_stop_sequence: null,
113
+ delay_stop_arrival: attributes.zpoz_prij ? parseInt(attributes.zpoz_prij, 10) : null,
114
+ delay_stop_departure: attributes.zpoz_odj ? parseInt(attributes.zpoz_odj, 10) : null,
115
+ is_canceled: attributes.zrus === "true",
116
+ lat: attributes.lat ? parseFloat(attributes.lat) : null,
117
+ lng: attributes.lng ? parseFloat(attributes.lng) : null,
118
+ origin_time: attributes.cpoz,
119
+ origin_timestamp: positionTimestamp.toDate(),
120
+ speed: speed ? parseInt(speed, 10) : null,
121
+ state_position: const_1.StatePositionEnum.UNKNOWN,
122
+ state_process: const_1.StateProcessEnum.INPUT,
123
+ is_tracked: attributes.sled === PositionTrackingEnum.TRACKING && !!attributes.lat && !!attributes.lng,
124
+ trips_id: primaryKey,
125
+ },
126
126
  stops: new Map(),
127
- trip: this.determineTrip(attributes, cisTripNumber, primaryKey, startTimestamp, element.zast[0]),
128
- tripToCis: null,
127
+ trip: {
128
+ agency_name_real: attributes.doprSkut ? attributes.doprSkut : null,
129
+ agency_name_scheduled: attributes.dopr ? attributes.dopr : null,
130
+ cis_line_id: attributes.lin,
131
+ cis_line_short_name: attributes.alias,
132
+ cis_trip_number: cisTripNumber,
133
+ id: primaryKey,
134
+ is_canceled: attributes.zrus === "true",
135
+ origin_route_name: attributes.kmenl ?? null,
136
+ run_number: attributes.po !== undefined ? parseInt(attributes.po, 10) : null,
137
+ start_asw_stop_id: stops[0].$.asw ?? null,
138
+ start_cis_stop_id: stops[0].$.zast ? parseInt(stops[0].$.zast, 10) : null,
139
+ start_cis_stop_platform_code: stops[0].$.stan ?? null,
140
+ start_time: startTimestamp.tz("Europe/Prague").format("HH:mm"),
141
+ start_timestamp: startTimestamp.toDate(),
142
+ vehicle_registration_number: attributes.vuzevc ? parseInt(attributes.vuzevc, 10) : null,
143
+ vehicle_type_id: attributes.t ? parseInt(attributes.t, 10) : null,
144
+ wheelchair_accessible: attributes.np === "true",
145
+ provider_source_type: ProviderSourceTypeEnum_1.ProviderSourceTypeEnum.Http,
146
+ },
129
147
  };
130
148
  for (let i = 0; i < stops.length; i++) {
131
149
  const stop = stops[i];
@@ -139,7 +157,7 @@ class MpvMessageTransformation extends transformations_1.BaseTransformation {
139
157
  (stop.$.zpoz_typ_prij && parseInt(stop.$.zpoz_typ_prij, 10) === 3))) {
140
158
  res.position.cis_last_stop_sequence = cisStopSequence;
141
159
  }
142
- if (this.isCisPlatformEligible(res.trip)) {
160
+ if (res.trip.vehicle_type_id === RouteTypeEnums_1.MPVRouteTypesEnum.UNKNOWN || res.trip.vehicle_type_id === RouteTypeEnums_1.MPVRouteTypesEnum.TRAIN) {
143
161
  res.stops.set(`${primaryKey}_${stop.$.zast}`, {
144
162
  rt_trip_id: primaryKey,
145
163
  cis_stop_group_id: parseInt(stop.$.zast, 10),
@@ -149,6 +167,40 @@ class MpvMessageTransformation extends transformations_1.BaseTransformation {
149
167
  }
150
168
  return res;
151
169
  };
170
+ /**
171
+ * Deduce UTC timestamp of start of trip and UTC timestamp of current position
172
+ *
173
+ * @param {any} firstStopXML - parsed object of first stop
174
+ * @param {string} positionTimestampXML - XML attribute of local timestamp of position (HH:mm:ss)
175
+ * @returns {{ startTimestamp: Moment; positionTimestamp: Moment }}
176
+ */
177
+ this.deduceTimestamps = async (firstStopXML, positionTimestampXML) => {
178
+ const now = moment_timezone_1.default.tz("Europe/Prague");
179
+ let isOverMidnight = 0;
180
+ // creating startDate and timestamp from zast[0].prij and cpoz
181
+ const startTimestamp = now.clone();
182
+ let startDatePlain = firstStopXML.$.prij || firstStopXML.$.odj;
183
+ startDatePlain = startDatePlain.split(":");
184
+ // eslint-disable-next-line prettier/prettier
185
+ startTimestamp.hour(parseInt(startDatePlain[0], 10)).minute(parseInt(startDatePlain[1], 10)).second(0).millisecond(0);
186
+ // midnight checking
187
+ isOverMidnight = this.checkMidnight(now, startTimestamp); // returns -1, 1 or 0
188
+ startTimestamp.add(isOverMidnight, "d");
189
+ const positionTimestamp = now.clone();
190
+ const timestampPlain = positionTimestampXML.split(":");
191
+ positionTimestamp
192
+ .hour(parseInt(timestampPlain[0], 10))
193
+ .minute(parseInt(timestampPlain[1], 10))
194
+ .second(parseInt(timestampPlain[2], 10))
195
+ .millisecond(0);
196
+ // midnight checking
197
+ isOverMidnight = this.checkMidnight(now, positionTimestamp); // returns -1, 1 or 0
198
+ positionTimestamp.add(isOverMidnight, "d");
199
+ return {
200
+ startTimestamp,
201
+ positionTimestamp,
202
+ };
203
+ };
152
204
  /**
153
205
  * Returns -1 if start hour is 12-23 and now is 0-12, 1 if start hour is 18-23 and now 0-6, else 0
154
206
  *
@@ -178,108 +230,10 @@ class MpvMessageTransformation extends transformations_1.BaseTransformation {
178
230
  this.skipAgencyNames = this.config
179
231
  .getValue("module.pid.vehicle-positions.mpvIntegration.skipAgencyNames", DPPUtils_1.default.DPP_AGENCY_NAME)
180
232
  .split(",");
181
- this.trainBeforeTrackMinutesInterval = this.config
182
- .getValue("module.pid.vehicle-positions.mpvIntegration.trainBeforeTrackMinutesInterval", "-5,35")
183
- .split(",")
184
- .map((s) => parseInt(s, 10));
185
- }
186
- /**
187
- * Deduce UTC timestamp of start of trip and UTC timestamp of current position
188
- *
189
- * @param {any} firstStopXML - parsed object of first stop
190
- * @param {string} positionTimestampXML - XML attribute of local timestamp of position (HH:mm:ss)
191
- * @returns {{ startTimestamp: Moment; positionTimestamp: Moment }}
192
- */
193
- deduceTimestamps(firstStopXML, positionTimestampXML) {
194
- const now = moment_timezone_1.default.tz("Europe/Prague");
195
- let isOverMidnight = 0;
196
- // creating startDate and timestamp from zast[0].prij and cpoz
197
- const startTimestamp = now.clone();
198
- let startDatePlain = firstStopXML.$.prij || firstStopXML.$.odj;
199
- startDatePlain = startDatePlain.split(":");
200
- // eslint-disable-next-line prettier/prettier
201
- startTimestamp.hour(parseInt(startDatePlain[0], 10)).minute(parseInt(startDatePlain[1], 10)).second(0).millisecond(0);
202
- // midnight checking
203
- isOverMidnight = this.checkMidnight(now, startTimestamp); // returns -1, 1 or 0
204
- startTimestamp.add(isOverMidnight, "d");
205
- if (positionTimestampXML == null) {
206
- return { startTimestamp, positionTimestamp: now.clone() };
207
- }
208
- const positionTimestamp = now.clone();
209
- const timestampPlain = positionTimestampXML.split(":");
210
- positionTimestamp
211
- .hour(parseInt(timestampPlain[0], 10))
212
- .minute(parseInt(timestampPlain[1], 10))
213
- .second(parseInt(timestampPlain[2], 10))
214
- .millisecond(0);
215
- // midnight checking
216
- isOverMidnight = this.checkMidnight(now, positionTimestamp); // returns -1, 1 or 0
217
- positionTimestamp.add(isOverMidnight, "d");
218
- return {
219
- startTimestamp,
220
- positionTimestamp,
221
- };
222
- }
223
- static currentTimeInPrague() {
224
- return moment_timezone_1.default.tz("Europe/Prague");
225
- }
226
- static currentTimeInPragueFormatted(now) {
227
- return (now ?? moment_timezone_1.default.tz("Europe/Prague")).format(MpvMessageTransformation.ORIGIN_TIME_FORMAT);
228
- }
229
- isCisPlatformEligible(trip) {
230
- if (trip?.vehicle_type_id == null) {
231
- return false;
232
- }
233
- return MpvMessageTransformation.CIS_PLATFORM_ELIGIBLE.includes(trip.vehicle_type_id);
234
233
  }
235
234
  isBlacklistedAgency(agency) {
236
235
  return agency && this.skipAgencyNames.includes(agency);
237
236
  }
238
- isTrainBeforeTrackWithPlatforms(attrs, zast) {
239
- if (attrs.lat || attrs.lng || attrs.zrus || attrs.cpoz || isNaN(parseInt(attrs.spoj, 10)) || !Array.isArray(zast)) {
240
- // Should the message has any of these, we skip it here (not processing in this specific flow):
241
- // - has lat/lng OR
242
- // - has information about being cancelled (zrus) OR
243
- // - has time of position (cpoz) OR
244
- // - has no information about what train-identifier it is (spoj)
245
- // - has not list of stops (zast)
246
- return false;
247
- }
248
- // further code accepts only unknown or train transport
249
- const isValidRouteType = this.isCisPlatformEligible({ vehicle_type_id: parseInt(attrs.t || "0") });
250
- // and accepts only <zast> XML with some "stan" (platform code) information
251
- const hasStopWithPlatform = zast.some((z) => z.$.stan?.length);
252
- // all stops have to be in CZ cis number system
253
- const wrongStopFromNonCzCis = zast.some((z) => {
254
- return Number(z.$.zast) < 5400000 || Number(z.$.zast) >= 5500000;
255
- });
256
- if (!isValidRouteType || !hasStopWithPlatform || wrongStopFromNonCzCis) {
257
- return false;
258
- }
259
- const { startTimestamp } = this.deduceTimestamps(zast[0], null);
260
- const departureInterval = [
261
- // allow planned departure X minutes in past
262
- (0, moment_timezone_1.default)().subtract(Math.abs(this.trainBeforeTrackMinutesInterval[0]), "minutes"),
263
- // allow up to Y minutes into future for valid trains
264
- (0, moment_timezone_1.default)().add(this.trainBeforeTrackMinutesInterval[1], "minutes"),
265
- ];
266
- if (startTimestamp.isBetween(departureInterval[0], departureInterval[1])) {
267
- // Seems the train has not yet departed onto the trip, probably good to make it into a position
268
- // first stop has departure time inside interval of X minutes back till now+Y minutes <now-Xminutes ... now+Ymin>
269
- return true;
270
- }
271
- // For trains that are already on the trip = due to arriving from different / far away public
272
- // transport network, and we don't receive position(s) yet, AND we won't be creating fake positions,
273
- // because the vehicle is moving in reality, but MPVNet is not sending us the messages with lat/lng of it yet
274
- return false;
275
- }
276
- determinePrimaryKey(attributes, prefix) {
277
- // primary key for t = 0 (vehicle type is train) -> start_timestamp, cis_number
278
- // primary key for t != 0 -> start_timestamp, cis_id, cis_short_name, cis_number
279
- return attributes.t === "0"
280
- ? `${prefix}_${attributes.spoj}`
281
- : `${prefix}_${attributes.lin}_${attributes.alias}_${attributes.spoj}`;
282
- }
283
237
  /**
284
238
  * Fix source negative bearing value due to overflow by adding 256
285
239
  *
@@ -289,72 +243,19 @@ class MpvMessageTransformation extends transformations_1.BaseTransformation {
289
243
  fixSourceNegativeBearing(bearing) {
290
244
  return bearing < 0 ? bearing + 256 : bearing;
291
245
  }
292
- extractStopsForTrain(id, stopsXML) {
293
- const stops = new Map();
294
- for (const stop of stopsXML) {
295
- if (!stop.$.zast || !stop.$.stan) {
296
- continue;
297
- }
298
- stops.set(`${id}_${stop.$.zast}`, {
299
- rt_trip_id: id,
300
- cis_stop_group_id: parseInt(stop.$.zast, 10),
301
- cis_stop_platform_code: MpvStopParser_1.MpvStopParser.parsePlatformCode(stop),
302
- });
303
- }
304
- return stops;
305
- }
306
- positionWithCisStopCoords(id, lat, lng, cpoz, positionTimestamp) {
307
- return this.determinePosition({ lat, lng, cpoz }, id, positionTimestamp);
308
- }
309
- determinePosition(attributes, id, positionTimestamp) {
310
- const cisLastStopId = attributes.zast;
311
- const speed = attributes.rychl;
312
- const bearing = attributes.azimut;
313
- return {
314
- asw_last_stop_id: null,
315
- bearing: bearing ? this.fixSourceNegativeBearing(parseInt(bearing, 10)) : null,
316
- cis_last_stop_id: cisLastStopId ? parseInt(cisLastStopId, 10) : null,
317
- cis_last_stop_sequence: null,
318
- delay_stop_arrival: attributes.zpoz_prij ? parseInt(attributes.zpoz_prij, 10) : null,
319
- delay_stop_departure: attributes.zpoz_odj ? parseInt(attributes.zpoz_odj, 10) : null,
320
- is_canceled: attributes.zrus === "true",
321
- lat: attributes.lat ? parseFloat(attributes.lat) : null,
322
- lng: attributes.lng ? parseFloat(attributes.lng) : null,
323
- origin_time: attributes.cpoz || positionTimestamp.format(MpvMessageTransformation.ORIGIN_TIME_FORMAT),
324
- origin_timestamp: positionTimestamp.toDate(),
325
- speed: speed ? parseInt(speed, 10) : null,
326
- state_position: const_1.StatePositionEnum.UNKNOWN,
327
- state_process: const_1.StateProcessEnum.INPUT,
328
- is_tracked: attributes.sled === PositionTrackingEnum.TRACKING && !!attributes.lat && !!attributes.lng,
329
- trips_id: id,
330
- };
331
- }
332
- determineTrip(attributes, cisTripNumber, id, start, zastXML) {
333
- if (isNaN(cisTripNumber))
334
- return null;
335
- return {
336
- agency_name_real: attributes.doprSkut ? attributes.doprSkut : null,
337
- agency_name_scheduled: attributes.dopr ? attributes.dopr : null,
338
- cis_line_id: attributes.lin || "none",
339
- cis_line_short_name: attributes.alias || "none",
340
- cis_trip_number: cisTripNumber,
341
- id,
342
- is_canceled: attributes.zrus === "true",
343
- origin_route_name: attributes.kmenl ?? null,
344
- run_number: attributes.po !== undefined ? parseInt(attributes.po, 10) : null,
345
- start_asw_stop_id: zastXML.$.asw ?? null,
346
- start_cis_stop_id: zastXML.$.zast ? parseInt(zastXML.$.zast, 10) : null,
347
- start_cis_stop_platform_code: zastXML.$.stan ?? null,
348
- start_time: start.tz("Europe/Prague").format("HH:mm"),
349
- start_timestamp: start.toDate(),
350
- vehicle_registration_number: attributes.vuzevc ? parseInt(attributes.vuzevc, 10) : null,
351
- vehicle_type_id: attributes.t ? parseInt(attributes.t, 10) : null,
352
- wheelchair_accessible: attributes.np === "true",
353
- provider_source_type: ProviderSourceTypeEnum_1.ProviderSourceTypeEnum.Http,
354
- };
246
+ /**
247
+ * Format input stop id from DPP agency (XXX000Y to XXX/Y) to ASW id
248
+ *
249
+ * @param {string} stopId
250
+ * @returns {stringList}
251
+ */
252
+ formatASWStopId(stopId) {
253
+ const fixedRightPadFactor = 10000;
254
+ const aswParsedStopNodeId = Math.floor(parseInt(stopId, 10) / fixedRightPadFactor);
255
+ const aswParsedStopPostId = parseInt(stopId, 10) - aswParsedStopNodeId * fixedRightPadFactor;
256
+ return aswParsedStopNodeId + "/" + aswParsedStopPostId;
355
257
  }
356
258
  }
357
259
  exports.MpvMessageTransformation = MpvMessageTransformation;
358
260
  MpvMessageTransformation.ORIGIN_TIME_FORMAT = "HH:mm:ss";
359
- MpvMessageTransformation.CIS_PLATFORM_ELIGIBLE = [RouteTypeEnums_1.MPVRouteTypesEnum.UNKNOWN, RouteTypeEnums_1.MPVRouteTypesEnum.TRAIN];
360
261
  //# sourceMappingURL=MpvMessageTransformation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MpvMessageTransformation.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/transformations/MpvMessageTransformation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MpvMessageTransformation.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/transformations/MpvMessageTransformation.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@golemio/pid",
3
- "version": "5.2.2-dev.2226879090",
3
+ "version": "5.3.0-rc.2228022903",
4
4
  "description": "Golemio PID Module",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -38,7 +38,7 @@
38
38
  "@commitlint/cli": "^11.0.0",
39
39
  "@commitlint/config-conventional": "^11.0.0",
40
40
  "@golemio/cli": "1.11.0",
41
- "@golemio/core": "3.0.0",
41
+ "@golemio/core": "3.0.1",
42
42
  "@golemio/db-common": "1.2.1",
43
43
  "@golemio/eslint-config": "1.1.2",
44
44
  "@types/chai": "4.2.3",
@@ -77,7 +77,7 @@
77
77
  "@golemio/core": "^3.0.1-dev.2 || ^3.0.0 || ^2.0.1"
78
78
  },
79
79
  "dependencies": {
80
- "@golemio/ovapi-gtfs-realtime-bindings": "1.2.6-dev.2214778812",
80
+ "@golemio/ovapi-gtfs-realtime-bindings": "1.2.5",
81
81
  "@turf/turf": "^6.5.0",
82
82
  "cheap-ruler": "^3.0.2",
83
83
  "csv-parser": "^3.0.0",