@golemio/pid 5.2.2-dev.2224364329 → 5.3.0-rc.2227989785

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,8 +35,6 @@ 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
38
  // At this point we want to send ACK to rabbit and let the rest of the processing to be done in the background
46
39
  await this.sendDataToUpdateGtfsTripId(inserted, positions, messageProperties?.timestamp);
47
40
  await this.sendDataToUpdateDelay(updated, positions, messageProperties?.timestamp);
@@ -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":";;;;;;AAIA,wEAAqE;AACrE,mEAAuF;AACvF,2FAAqF;AACrF,2EAA6E;AAC7E,6EAA8F;AAE9F,wEAAqE;AACrE,oEAAiE;AACjE,qFAA6D;AAG7D,qEAA4E;AAC5E,0FAAuF;AACvF,0FAA+E;AAC/E,mEAAyD;AAEzD,MAAa,gBAAiB,SAAQ,sBAA8B;IAWhE,YAAY,WAAmB;QAC3B,KAAK,CAAC,WAAW,CAAC,CAAC;QAXP,cAAS,GAAG,cAAc,CAAC;QAC3B,aAAQ,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,YAAY;QACtC,WAAM,GAAG,iDAA4B,CAAC;QAUlD,IAAI,CAAC,eAAe,GAAG,IAAI,iCAAe,EAAE,CAAC;QAC7C,IAAI,CAAC,iBAAiB,GAAG,IAAI,qCAAiB,EAAE,CAAC;QACjD,IAAI,CAAC,qBAAqB,GAAG,IAAI,mDAAwB,EAAE,CAAC;QAC5D,IAAI,CAAC,sBAAsB,GAAG,IAAI,+CAAsB,EAAE,CAAC;QAC3D,IAAI,CAAC,MAAM,GAAG,gCAA0B,CAAC,OAAO,CAAU,qBAAS,CAAC,MAAM,CAAC,CAAC;IAChF,CAAC;IAES,KAAK,CAAC,OAAO,CAAC,IAAsB,EAAE,iBAAqC;QACjF,MAAM,kBAAkB,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;QAEhD,MAAM,GAAG,GAAG,mDAAwB,CAAC,mBAAmB,EAAE,CAAC;QAC3D,MAAM,YAAY,GAAG,mDAAwB,CAAC,4BAA4B,CAAC,GAAG,CAAC,CAAC;QAEhF,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,iBAAiB,EAAE,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC/G,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,QAAQ,CACpD,KAAK;QACL,sGAAsG;QACtG,mFAAmF;QACnF,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;aACtB,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,iBAAiB,CAAC;aAC1C,MAAM,CAAC,YAAY,CAAC,EACzB,IAAI,CACP,CAAC;QAEF,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,qBAAW,CAAC,0BAA0B,CAAC,YAAY,EAAE,kBAAkB,CAAC,CAAC;QAEvG,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,4BAA4B,CAAC,iBAAiB,EAAE,YAAY,EAAE,GAAG,CAAC,CAAC;QACxG,SAAS,CAAC,IAAI,CAAC,GAAG,iBAAiB,CAAC,CAAC;QAErC,8GAA8G;QAC9G,MAAM,IAAI,CAAC,0BAA0B,CAAC,QAAQ,EAAE,SAAS,EAAE,iBAAiB,EAAE,SAAS,CAAC,CAAC;QACzF,MAAM,IAAI,CAAC,qBAAqB,CAAC,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,SAAS,CAAC,CAAC;QAEnF,uEAAuE;QACvE,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;IAEO,KAAK,CAAC,SAAS,CAAC,KAAoB;QACxC,IAAI,CAAC;YACD,MAAM,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACjD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,IAAI,KAAK,YAAY,qCAAoB,EAAE,CAAC;gBACxC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC7B,CAAC;iBAAM,CAAC;gBACJ,IAAI,CAAC,MAAM,CAAC,KAAK,CACb,IAAI,6BAAY,CAAC,0BAA0B,EAAE,gBAAgB,CAAC,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,CAC/G,CAAC;YACN,CAAC;QACL,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,0BAA0B,CACpC,aAA4C,EAC5C,SAA0C,EAC1C,qBAA8B;QAE9B,IAAI,CAAC;YACD,sCAAsC;YACtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,SAAS,GAAG,EAAE,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,IAAI,SAAS,EAAE,CAAC;gBACvE,MAAM,aAAa,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC;gBAC5D,MAAM,WAAW,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;oBAC1C,OAAO,GAAG,CAAC,EAAE,CAAC;gBAClB,CAAC,CAAC,CAAC;gBAEH,MAAM,8BAAY,CAAC,qBAAqB,CACpC,IAAI,CAAC,WAAW,EAChB,kBAAkB,EAClB;oBACI,KAAK,EAAE,aAAa;oBACpB,SAAS,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;iBACrF,EACD;oBACI,SAAS,EAAE,qBAAqB;iBACnC,CACJ,CAAC;YACN,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,IAAI,KAAK,YAAY,qCAAoB,EAAE,CAAC;gBACxC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC7B,CAAC;iBAAM,CAAC;gBACJ,IAAI,CAAC,MAAM,CAAC,KAAK,CACb,IAAI,6BAAY,CACZ,iDAAiD,EACjD,gBAAgB,CAAC,IAAI,EACrB,KAAK,EACL,SAAS,EACT,KAAK,EACL,IAAI,CAAC,SAAS,CACjB,CACJ,CAAC;YACN,CAAC;QACL,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,qBAAqB,CAC/B,YAA0C,EAC1C,SAA0C,EAC1C,qBAA8B;QAE9B,IAAI,CAAC;YACD,yFAAyF;YACzF,MAAM,UAAU,GAA6B,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAExF,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;gBAC9B,IAAI,CAAC,IAAI,CAAC,iBAAiB,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;oBAC9C,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACrC,CAAC;qBAAM,CAAC;oBACJ,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;oBAC3D,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;gBACpF,CAAC;YACL,CAAC;YAED,MAAM,MAAM,GAAe,EAAE,CAAC;YAC9B,IAAI,GAAG,GAAG,CAAC,CAAC;YACZ,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;gBAC3B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;oBACf,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;gBACrB,CAAC;gBACD,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;gBAClD,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;oBAC3B,GAAG,EAAE,CAAC;gBACV,CAAC;YACL,CAAC;YACD,MAAM,QAAQ,GAAG,EAAE,CAAC;YAEpB,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;gBACvB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,+BAA+B,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,SAAS,EAAE,qBAAqB,CAAC,CAAC,CAAC;YACvG,CAAC;YAED,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAChC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,IAAI,KAAK,YAAY,qCAAoB,EAAE,CAAC;gBACxC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC7B,CAAC;iBAAM,CAAC;gBACJ,IAAI,CAAC,MAAM,CAAC,KAAK,CACb,IAAI,6BAAY,CACZ,0CAA0C,EAC1C,gBAAgB,CAAC,IAAI,EACrB,KAAK,EACL,SAAS,EACT,KAAK,EACL,IAAI,CAAC,SAAS,CACjB,CACJ,CAAC;YACN,CAAC;QACL,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,4BAA4B,CACtC,iBAAsC,EACtC,MAAc,EACd,EAAiB;QAEjB,IAAI,CAAC,iBAAiB,EAAE,IAAI,EAAE,CAAC;YAC3B,OAAO,EAAE,CAAC;QACd,CAAC;QACD,MAAM,YAAY,GAAoC,EAAE,CAAC;QAEzD,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;QAClC,MAAM,UAAU,GAAG,IAAI,GAAG,EAAoB,CAAC;QAC/C,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,iBAAiB,CAAC,OAAO,EAAE,EAAE,CAAC;YAC1D,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACrB,UAAU,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAC9E,CAAC;QAED,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC;YACvD,KAAK,EAAE;gBACH,GAAG,EAAE,EAAE,CAAC,cAAE,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;gBACrC,EAAE,EAAE,EAAE,CAAC,cAAE,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,EAAE,qCAAqC;aACpE;YACD,UAAU,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC;YACjC,GAAG,EAAE,IAAI;SACZ,CAAC,CAAC;QACH,KAAK,MAAM,OAAO,IAAI,WAAW,EAAE,CAAC;YAChC,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC1D,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,6EAA6E;gBAC1G,KAAK,MAAM,MAAM,IAAI,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAE,EAAE,CAAC;oBAChD,YAAY,CAAC,IAAI,CACb,IAAI,CAAC,qBAAqB,CAAC,yBAAyB,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,CACrG,CAAC;gBACN,CAAC;YACL,CAAC;QACL,CAAC;QACD,OAAO,YAAY,CAAC;IACxB,CAAC;IAEO,KAAK,CAAC,+BAA+B,CACzC,KAAe,EACf,SAA0C,EAC1C,qBAA8B;QAE9B,IAAI,CAAC;YACD,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;YAC3E,MAAM,8BAAY,CAAC,qBAAqB,CACpC,IAAI,CAAC,WAAW,EAChB,aAAa,EACb;gBACI,YAAY;gBACZ,SAAS,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;aAC/E,EACD;gBACI,SAAS,EAAE,qBAAqB;aACnC,CACJ,CAAC;QACN,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,IAAI,KAAK,YAAY,qCAAoB,EAAE,CAAC;gBACxC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC7B,CAAC;iBAAM,CAAC;gBACJ,IAAI,CAAC,MAAM,CAAC,KAAK,CACb,IAAI,6BAAY,CACZ,0CAA0C,EAC1C,gBAAgB,CAAC,IAAI,EACrB,KAAK,EACL,SAAS,EACT,KAAK,EACL,IAAI,CAAC,SAAS,CACjB,CACJ,CAAC;YACN,CAAC;QACL,CAAC;IACL,CAAC;CACJ;AA1OD,4CA0OC"}
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,19 +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
- name: string;
11
10
  constructor();
12
11
  /**
13
12
  * Overrides BaseTransformation::transform
14
13
  */
15
14
  transform: (data: IMpvPositionContent | IMpvPositionContent[]) => Promise<ITransformationResult>;
16
- protected transformElement: (element: IMpvPositionContent) => ITransformationElement | null;
15
+ protected transformElement: (element: IMpvPositionContent) => Promise<ITransformationElement | null>;
17
16
  /**
18
17
  * Deduce UTC timestamp of start of trip and UTC timestamp of current position
19
18
  *
@@ -21,13 +20,10 @@ export declare class MpvMessageTransformation extends BaseTransformation impleme
21
20
  * @param {string} positionTimestampXML - XML attribute of local timestamp of position (HH:mm:ss)
22
21
  * @returns {{ startTimestamp: Moment; positionTimestamp: Moment }}
23
22
  */
24
- protected deduceTimestamps(firstStopXML: any, positionTimestampXML: string | null): {
23
+ protected deduceTimestamps: (firstStopXML: any, positionTimestampXML: string) => Promise<{
25
24
  startTimestamp: Moment;
26
25
  positionTimestamp: Moment;
27
- };
28
- static currentTimeInPrague(): moment.Moment;
29
- static currentTimeInPragueFormatted(now?: moment.Moment): string;
30
- private isCisPlatformEligible;
26
+ }>;
31
27
  /**
32
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
33
29
  *
@@ -37,8 +33,6 @@ export declare class MpvMessageTransformation extends BaseTransformation impleme
37
33
  */
38
34
  private checkMidnight;
39
35
  private isBlacklistedAgency;
40
- private isTrainBeforeTrackWithPlatforms;
41
- private determinePrimaryKey;
42
36
  /**
43
37
  * Fix source negative bearing value due to overflow by adding 256
44
38
  *
@@ -46,8 +40,11 @@ export declare class MpvMessageTransformation extends BaseTransformation impleme
46
40
  * @returns {number}
47
41
  */
48
42
  private fixSourceNegativeBearing;
49
- private extractStopsForTrain;
50
- positionWithCisStopCoords(id: string, lat: string, lng: string, cpoz: string, positionTimestamp: moment.Moment): IPositionTransformationResult;
51
- private determinePosition;
52
- 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;
53
50
  }
@@ -33,71 +33,51 @@ class MpvMessageTransformation extends transformations_1.BaseTransformation {
33
33
  positions: [],
34
34
  stops: [],
35
35
  trips: [],
36
- tripsWithCisStops: new Map(),
37
36
  };
38
37
  if (!Array.isArray(data))
39
38
  data = [data];
40
39
  for (const element of data) {
41
- const elemRes = this.transformElement(element);
42
- if (!elemRes) {
43
- continue;
44
- }
45
- if (elemRes.position) {
40
+ const elemRes = await this.transformElement(element);
41
+ if (elemRes) {
46
42
  res.positions.push(elemRes.position);
47
- }
48
- if (elemRes.trip) {
49
43
  trips.set(elemRes.trip.id, elemRes.trip);
50
- }
51
- if (elemRes.tripToCis && elemRes.trip) {
52
- res.tripsWithCisStops.set(elemRes.trip.id, elemRes.tripToCis);
53
- }
54
- for (const [key, value] of elemRes.stops) {
55
- stops.set(key, value);
44
+ for (const [key, value] of elemRes.stops) {
45
+ stops.set(key, value);
46
+ }
56
47
  }
57
48
  }
58
49
  res.trips = Array.from(trips.values());
59
50
  res.stops = Array.from(stops.values());
60
51
  return res;
61
52
  };
62
- this.transformElement = (element) => {
53
+ this.transformElement = async (element) => {
63
54
  const attributes = element.$;
64
- if (this.isBlacklistedAgency(attributes.dopr)) {
65
- return null;
66
- }
67
- if (this.isTrainBeforeTrackWithPlatforms(attributes, element.zast)) {
68
- const { startTimestamp } = this.deduceTimestamps(element.zast[0], null);
69
- const id = this.determinePrimaryKey(attributes, startTimestamp.utc().format());
70
- const stops = this.extractStopsForTrain(id, element.zast);
71
- const firstStop = Array.from(stops.values()).at(0);
72
- return {
73
- position: null,
74
- stops,
75
- trip: this.determineTrip(attributes, parseInt(attributes.spoj, 10), id, startTimestamp, element.zast[0]),
76
- tripToCis: firstStop?.cis_stop_group_id ?? null,
77
- };
78
- }
79
55
  // Trips with null cpoz (origin time) and falsy or "false" zrus (cancellation) attributes are excluded
80
56
  let hasInvalidAttributes = !attributes.cpoz && (!attributes.zrus || attributes.zrus === "false");
81
57
  // Trips without the CIS trip number are excluded
82
58
  hasInvalidAttributes ||= typeof attributes.spoj === "undefined" || attributes.spoj === "";
83
59
  // Canceled trips with no lat or lng are accepted because we try to later get the coords from the context if possible
84
60
  hasInvalidAttributes ||= attributes.zrus !== "true" && (!attributes.lat || !attributes.lng);
85
- const cisTripNumber = parseInt(attributes.spoj, 10);
86
- // wrong spoj number, no chance to continue
87
- hasInvalidAttributes ||= isNaN(cisTripNumber);
88
- if (hasInvalidAttributes) {
61
+ if (this.isBlacklistedAgency(attributes.dopr) || hasInvalidAttributes) {
89
62
  return null;
90
63
  }
91
64
  attributes.lin = attributes.lin || "none";
92
65
  attributes.alias = attributes.alias || "none";
93
- 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
+ }
94
71
  const stops = element.zast;
95
- const { startTimestamp, positionTimestamp } = this.deduceTimestamps(stops[0], attributes.cpoz);
72
+ const { startTimestamp, positionTimestamp } = await this.deduceTimestamps(stops[0], attributes.cpoz);
96
73
  // filter out position with future time (set to be far than 5 minutes from now)
97
74
  if ((0, moment_timezone_1.default)(positionTimestamp).isAfter((0, moment_timezone_1.default)().add(5, "minutes"))) {
98
75
  return null;
99
76
  }
100
- 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;
101
81
  /*
102
82
  MPV route types:
103
83
 
@@ -120,11 +100,50 @@ class MpvMessageTransformation extends transformations_1.BaseTransformation {
120
100
  Ostatní: 17
121
101
  Trolejbus: 18
122
102
  */
123
- const res = {
124
- 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
+ },
125
126
  stops: new Map(),
126
- trip: this.determineTrip(attributes, cisTripNumber, primaryKey, startTimestamp, element.zast[0]),
127
- 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
+ },
128
147
  };
129
148
  for (let i = 0; i < stops.length; i++) {
130
149
  const stop = stops[i];
@@ -138,7 +157,7 @@ class MpvMessageTransformation extends transformations_1.BaseTransformation {
138
157
  (stop.$.zpoz_typ_prij && parseInt(stop.$.zpoz_typ_prij, 10) === 3))) {
139
158
  res.position.cis_last_stop_sequence = cisStopSequence;
140
159
  }
141
- 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) {
142
161
  res.stops.set(`${primaryKey}_${stop.$.zast}`, {
143
162
  rt_trip_id: primaryKey,
144
163
  cis_stop_group_id: parseInt(stop.$.zast, 10),
@@ -148,6 +167,40 @@ class MpvMessageTransformation extends transformations_1.BaseTransformation {
148
167
  }
149
168
  return res;
150
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
+ };
151
204
  /**
152
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
153
206
  *
@@ -178,101 +231,9 @@ class MpvMessageTransformation extends transformations_1.BaseTransformation {
178
231
  .getValue("module.pid.vehicle-positions.mpvIntegration.skipAgencyNames", DPPUtils_1.default.DPP_AGENCY_NAME)
179
232
  .split(",");
180
233
  }
181
- /**
182
- * Deduce UTC timestamp of start of trip and UTC timestamp of current position
183
- *
184
- * @param {any} firstStopXML - parsed object of first stop
185
- * @param {string} positionTimestampXML - XML attribute of local timestamp of position (HH:mm:ss)
186
- * @returns {{ startTimestamp: Moment; positionTimestamp: Moment }}
187
- */
188
- deduceTimestamps(firstStopXML, positionTimestampXML) {
189
- const now = moment_timezone_1.default.tz("Europe/Prague");
190
- let isOverMidnight = 0;
191
- // creating startDate and timestamp from zast[0].prij and cpoz
192
- const startTimestamp = now.clone();
193
- let startDatePlain = firstStopXML.$.prij || firstStopXML.$.odj;
194
- startDatePlain = startDatePlain.split(":");
195
- // eslint-disable-next-line prettier/prettier
196
- startTimestamp.hour(parseInt(startDatePlain[0], 10)).minute(parseInt(startDatePlain[1], 10)).second(0).millisecond(0);
197
- // midnight checking
198
- isOverMidnight = this.checkMidnight(now, startTimestamp); // returns -1, 1 or 0
199
- startTimestamp.add(isOverMidnight, "d");
200
- if (positionTimestampXML == null) {
201
- return { startTimestamp, positionTimestamp: now.clone() };
202
- }
203
- const positionTimestamp = now.clone();
204
- const timestampPlain = positionTimestampXML.split(":");
205
- positionTimestamp
206
- .hour(parseInt(timestampPlain[0], 10))
207
- .minute(parseInt(timestampPlain[1], 10))
208
- .second(parseInt(timestampPlain[2], 10))
209
- .millisecond(0);
210
- // midnight checking
211
- isOverMidnight = this.checkMidnight(now, positionTimestamp); // returns -1, 1 or 0
212
- positionTimestamp.add(isOverMidnight, "d");
213
- return {
214
- startTimestamp,
215
- positionTimestamp,
216
- };
217
- }
218
- static currentTimeInPrague() {
219
- return moment_timezone_1.default.tz("Europe/Prague");
220
- }
221
- static currentTimeInPragueFormatted(now) {
222
- return (now ?? moment_timezone_1.default.tz("Europe/Prague")).format(MpvMessageTransformation.ORIGIN_TIME_FORMAT);
223
- }
224
- isCisPlatformEligible(trip) {
225
- if (trip?.vehicle_type_id == null) {
226
- return false;
227
- }
228
- return MpvMessageTransformation.CIS_PLATFORM_ELIGIBLE.includes(trip.vehicle_type_id);
229
- }
230
234
  isBlacklistedAgency(agency) {
231
235
  return agency && this.skipAgencyNames.includes(agency);
232
236
  }
233
- isTrainBeforeTrackWithPlatforms(attrs, zast) {
234
- if (attrs.lat || attrs.lng || attrs.zrus || attrs.cpoz || isNaN(parseInt(attrs.spoj, 10)) || !Array.isArray(zast)) {
235
- // Should the message has any of these, we skip it here (not processing in this specific flow):
236
- // - has lat/lng OR
237
- // - has information about being cancelled (zrus) OR
238
- // - has time of position (cpoz) OR
239
- // - has no information about what train-identifier it is (spoj)
240
- // - has not list of stops (zast)
241
- return false;
242
- }
243
- // further code accepts only unknown or train transport
244
- const isValidRouteType = this.isCisPlatformEligible({ vehicle_type_id: parseInt(attrs.t || "0") });
245
- // and accepts only <zast> XML with some "stan" (platform code) information
246
- const hasStopWithPlatform = zast.some((z) => z.$.stan?.length);
247
- // all stops have to be in CZ cis number system
248
- const wrongStopFromNonCzCis = zast.some((z) => {
249
- return Number(z.$.zast) < 5400000 || Number(z.$.zast) >= 5500000;
250
- });
251
- if (!isValidRouteType || !hasStopWithPlatform || wrongStopFromNonCzCis) {
252
- return false;
253
- }
254
- const { startTimestamp } = this.deduceTimestamps(zast[0], null);
255
- const departureInterval = [
256
- (0, moment_timezone_1.default)().subtract(5, "minutes"), // allow planned departure 5 minutes in past
257
- (0, moment_timezone_1.default)().add(20, "minutes"), // allow up to 20 minutes into future for valid trains
258
- ];
259
- if (startTimestamp.isBetween(departureInterval[0], departureInterval[1])) {
260
- // Seems the train has not yet departed onto the trip, probably good to make it into a position
261
- // first stop has departure time inside interval of 5 minutes back till now+20 minutes <now-5minutes ... now+20min>
262
- return true;
263
- }
264
- // For trains that are already on the trip = due to arriving from different / far away public
265
- // transport network, and we don't receive position(s) yet, AND we won't be creating fake positions,
266
- // because the vehicle is moving in reality, but MPVNet is not sending us the messages with lat/lng of it yet
267
- return false;
268
- }
269
- determinePrimaryKey(attributes, prefix) {
270
- // primary key for t = 0 (vehicle type is train) -> start_timestamp, cis_number
271
- // primary key for t != 0 -> start_timestamp, cis_id, cis_short_name, cis_number
272
- return attributes.t === "0"
273
- ? `${prefix}_${attributes.spoj}`
274
- : `${prefix}_${attributes.lin}_${attributes.alias}_${attributes.spoj}`;
275
- }
276
237
  /**
277
238
  * Fix source negative bearing value due to overflow by adding 256
278
239
  *
@@ -282,72 +243,19 @@ class MpvMessageTransformation extends transformations_1.BaseTransformation {
282
243
  fixSourceNegativeBearing(bearing) {
283
244
  return bearing < 0 ? bearing + 256 : bearing;
284
245
  }
285
- extractStopsForTrain(id, stopsXML) {
286
- const stops = new Map();
287
- for (const stop of stopsXML) {
288
- if (!stop.$.zast || !stop.$.stan) {
289
- continue;
290
- }
291
- stops.set(`${id}_${stop.$.zast}`, {
292
- rt_trip_id: id,
293
- cis_stop_group_id: parseInt(stop.$.zast, 10),
294
- cis_stop_platform_code: MpvStopParser_1.MpvStopParser.parsePlatformCode(stop),
295
- });
296
- }
297
- return stops;
298
- }
299
- positionWithCisStopCoords(id, lat, lng, cpoz, positionTimestamp) {
300
- return this.determinePosition({ lat, lng, cpoz }, id, positionTimestamp);
301
- }
302
- determinePosition(attributes, id, positionTimestamp) {
303
- const cisLastStopId = attributes.zast;
304
- const speed = attributes.rychl;
305
- const bearing = attributes.azimut;
306
- return {
307
- asw_last_stop_id: null,
308
- bearing: bearing ? this.fixSourceNegativeBearing(parseInt(bearing, 10)) : null,
309
- cis_last_stop_id: cisLastStopId ? parseInt(cisLastStopId, 10) : null,
310
- cis_last_stop_sequence: null,
311
- delay_stop_arrival: attributes.zpoz_prij ? parseInt(attributes.zpoz_prij, 10) : null,
312
- delay_stop_departure: attributes.zpoz_odj ? parseInt(attributes.zpoz_odj, 10) : null,
313
- is_canceled: attributes.zrus === "true",
314
- lat: attributes.lat ? parseFloat(attributes.lat) : null,
315
- lng: attributes.lng ? parseFloat(attributes.lng) : null,
316
- origin_time: attributes.cpoz || positionTimestamp.format(MpvMessageTransformation.ORIGIN_TIME_FORMAT),
317
- origin_timestamp: positionTimestamp.toDate(),
318
- speed: speed ? parseInt(speed, 10) : null,
319
- state_position: const_1.StatePositionEnum.UNKNOWN,
320
- state_process: const_1.StateProcessEnum.INPUT,
321
- is_tracked: attributes.sled === PositionTrackingEnum.TRACKING && !!attributes.lat && !!attributes.lng,
322
- trips_id: id,
323
- };
324
- }
325
- determineTrip(attributes, cisTripNumber, id, start, zastXML) {
326
- if (isNaN(cisTripNumber))
327
- return null;
328
- return {
329
- agency_name_real: attributes.doprSkut ? attributes.doprSkut : null,
330
- agency_name_scheduled: attributes.dopr ? attributes.dopr : null,
331
- cis_line_id: attributes.lin || "none",
332
- cis_line_short_name: attributes.alias || "none",
333
- cis_trip_number: cisTripNumber,
334
- id,
335
- is_canceled: attributes.zrus === "true",
336
- origin_route_name: attributes.kmenl ?? null,
337
- run_number: attributes.po !== undefined ? parseInt(attributes.po, 10) : null,
338
- start_asw_stop_id: zastXML.$.asw ?? null,
339
- start_cis_stop_id: zastXML.$.zast ? parseInt(zastXML.$.zast, 10) : null,
340
- start_cis_stop_platform_code: zastXML.$.stan ?? null,
341
- start_time: start.tz("Europe/Prague").format("HH:mm"),
342
- start_timestamp: start.toDate(),
343
- vehicle_registration_number: attributes.vuzevc ? parseInt(attributes.vuzevc, 10) : null,
344
- vehicle_type_id: attributes.t ? parseInt(attributes.t, 10) : null,
345
- wheelchair_accessible: attributes.np === "true",
346
- provider_source_type: ProviderSourceTypeEnum_1.ProviderSourceTypeEnum.Http,
347
- };
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;
348
257
  }
349
258
  }
350
259
  exports.MpvMessageTransformation = MpvMessageTransformation;
351
260
  MpvMessageTransformation.ORIGIN_TIME_FORMAT = "HH:mm:ss";
352
- MpvMessageTransformation.CIS_PLATFORM_ELIGIBLE = [RouteTypeEnums_1.MPVRouteTypesEnum.UNKNOWN, RouteTypeEnums_1.MPVRouteTypesEnum.TRAIN];
353
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.2224364329",
3
+ "version": "5.3.0-rc.2227989785",
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",