@golemio/pid 5.6.0 → 5.6.1-dev.2318903887

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.
@@ -54,4 +54,4 @@ INSERT INTO vehiclepositions_positions (created_at,delay,delay_stop_arrival,dela
54
54
 
55
55
  -- vehiclepositions_cis_stops
56
56
  insert into vehiclepositions_cis_stops (rt_trip_id, cis_stop_group_id, cis_stop_platform_code, created_at, updated_at) VALUES
57
- (concat(CURRENT_DATE,'T10:05:00Z_2530'), 5457076, '1A/1', now(), now());
57
+ (concat(CURRENT_DATE,'T10:05:00Z_2530'), 5457076, '1A', now(), now());
@@ -2,14 +2,15 @@ import { IMpvStopContent } from "../../../../../../schema-definitions/vehicle-po
2
2
  export declare class MpvStopParser {
3
3
  /**
4
4
  * Parse and sanitize current platform code
5
- * 1/3 -> 1/3
5
+ * 1/3 -> 1
6
6
  * -/3 -> 3
7
7
  * 1/- -> 1
8
8
  * -/BUS -> BUS
9
- * 2/100V -> 2/100V
9
+ * 2/100V -> 2
10
10
  * -/5 C-F -> 5
11
- * 2/5 A -> 2/5
11
+ * 2/5 A -> 2
12
12
  * 5A/- A C -> 5A
13
13
  */
14
+ private static shortPlatformRegex;
14
15
  static parsePlatformCode(cisStop: IMpvStopContent): string | null;
15
16
  }
@@ -2,24 +2,27 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.MpvStopParser = void 0;
4
4
  class MpvStopParser {
5
- /**
6
- * Parse and sanitize current platform code
7
- * 1/3 -> 1/3
8
- * -/3 -> 3
9
- * 1/- -> 1
10
- * -/BUS -> BUS
11
- * 2/100V -> 2/100V
12
- * -/5 C-F -> 5
13
- * 2/5 A -> 2/5
14
- * 5A/- A C -> 5A
15
- */
16
5
  static parsePlatformCode(cisStop) {
17
6
  const platformCode = cisStop.$.stan;
18
7
  if (!platformCode) {
19
8
  return null;
20
9
  }
21
- return platformCode.replace(/-\/|\/-|\s+.*$/g, "");
10
+ const matches = platformCode.match(MpvStopParser.shortPlatformRegex);
11
+ const candidate = (matches ?? [platformCode])[0];
12
+ return candidate.split(/\s+/)[0].trim();
22
13
  }
23
14
  }
24
15
  exports.MpvStopParser = MpvStopParser;
16
+ /**
17
+ * Parse and sanitize current platform code
18
+ * 1/3 -> 1
19
+ * -/3 -> 3
20
+ * 1/- -> 1
21
+ * -/BUS -> BUS
22
+ * 2/100V -> 2
23
+ * -/5 C-F -> 5
24
+ * 2/5 A -> 2
25
+ * 5A/- A C -> 5A
26
+ */
27
+ MpvStopParser.shortPlatformRegex = /[^/-]+/;
25
28
  //# sourceMappingURL=MpvStopParser.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MpvStopParser.js","sourceRoot":"","sources":["../../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/mpv-net/MpvStopParser.ts"],"names":[],"mappings":";;;AAEA,MAAa,aAAa;IACtB;;;;;;;;;;OAUG;IACH,MAAM,CAAC,iBAAiB,CAAC,OAAwB;QAC7C,MAAM,YAAY,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;QACpC,IAAI,CAAC,YAAY,EAAE,CAAC;YAChB,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,OAAO,YAAY,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC;IACvD,CAAC;CACJ;AApBD,sCAoBC"}
1
+ {"version":3,"file":"MpvStopParser.js","sourceRoot":"","sources":["../../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/mpv-net/MpvStopParser.ts"],"names":[],"mappings":";;;AAEA,MAAa,aAAa;IAatB,MAAM,CAAC,iBAAiB,CAAC,OAAwB;QAC7C,MAAM,YAAY,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;QACpC,IAAI,CAAC,YAAY,EAAE,CAAC;YAChB,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC;QACrE,MAAM,SAAS,GAAG,CAAC,OAAO,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACjD,OAAO,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC5C,CAAC;;AArBL,sCAsBC;AArBG;;;;;;;;;;GAUG;AACY,gCAAkB,GAAG,QAAQ,CAAC"}
@@ -131,9 +131,18 @@ let PublicVehiclePositionsRepository = class PublicVehiclePositionsRepository {
131
131
  try {
132
132
  // TODO optimization point here - use JSON.GET once it's available in the redis/valkey server
133
133
  const allPositions = await this.getAllVehiclePositions(vehicleIds);
134
- for (let i = 0; i < allPositions.length; i++) {
135
- if (allPositions[i].delay === null) {
136
- untrackedTrips.add(allPositions[i].gtfs_trip_id);
134
+ // trips that HAVE positions
135
+ const tripsWithPositions = new Set();
136
+ for (const position of allPositions) {
137
+ tripsWithPositions.add(position.gtfs_trip_id);
138
+ if (position.delay === null) {
139
+ untrackedTrips.add(position.gtfs_trip_id);
140
+ }
141
+ }
142
+ // trips that DON'T have any position (they are also untracked )
143
+ for (const tripId of tripIds) {
144
+ if (!tripsWithPositions.has(tripId)) {
145
+ untrackedTrips.add(tripId);
137
146
  }
138
147
  }
139
148
  }
@@ -1 +1 @@
1
- {"version":3,"file":"PublicVehiclePositionsRepository.js","sourceRoot":"","sources":["../../../../../src/output-gateway/public/data-access/redis/PublicVehiclePositionsRepository.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PublicVehiclePositionsRepository.js","sourceRoot":"","sources":["../../../../../src/output-gateway/public/data-access/redis/PublicVehiclePositionsRepository.ts"],"names":[],"mappings":"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"}
@@ -15,15 +15,13 @@ export declare class PlatformCodeResolver {
15
15
  * - for other route types, the departure platform code is used (GTFS)
16
16
  * @param departure Must have `route_type` and `platform_code` properties
17
17
  * @param cisStopPlatformCode For trains - this is where the `cis_stop_platform_code` goes
18
- * @param makeItShort Applies parsing for trains to get shorter platform from 6J/26J => 6J
19
18
  */
20
- static resolveDirect(departure: MinimalDeparture, cisStopPlatformCode: string | null, makeItShort?: boolean): string | null;
19
+ static resolveDirect(departure: MinimalDeparture, cisStopPlatformCode: string | null): string | null;
21
20
  /**
22
21
  * Determine platform code based on the following rules:
23
22
  * if current stop time is known, use its RT CIS platform code (if available)
24
23
  * otherwise use GTFS schedule platform code
25
24
  */
26
25
  static fromStopTimeCisShort(departure: MinimalDeparture, stopTime: PossiblyStopTime): string | null;
27
- private static shortTrainPlatform;
28
26
  }
29
27
  export {};
@@ -10,12 +10,11 @@ class PlatformCodeResolver {
10
10
  * - for other route types, the departure platform code is used (GTFS)
11
11
  * @param departure Must have `route_type` and `platform_code` properties
12
12
  * @param cisStopPlatformCode For trains - this is where the `cis_stop_platform_code` goes
13
- * @param makeItShort Applies parsing for trains to get shorter platform from 6J/26J => 6J
14
13
  */
15
- static resolveDirect(departure, cisStopPlatformCode, makeItShort = false) {
14
+ static resolveDirect(departure, cisStopPlatformCode) {
16
15
  const { route_type, platform_code } = departure;
17
16
  if (route_type === RouteTypeEnums_1.GTFSRouteTypeEnum.TRAIN && cisStopPlatformCode != null) {
18
- return makeItShort ? PlatformCodeResolver.shortTrainPlatform(cisStopPlatformCode) : cisStopPlatformCode;
17
+ return cisStopPlatformCode;
19
18
  }
20
19
  return platform_code;
21
20
  }
@@ -25,10 +24,7 @@ class PlatformCodeResolver {
25
24
  * otherwise use GTFS schedule platform code
26
25
  */
27
26
  static fromStopTimeCisShort(departure, stopTime) {
28
- return PlatformCodeResolver.resolveDirect(departure, stopTime?.cis_stop_platform_code ?? null, true);
29
- }
30
- static shortTrainPlatform(platformCode) {
31
- return (PlatformCodeResolver.shortPlatformRegex.exec(platformCode) ?? [platformCode])[0];
27
+ return PlatformCodeResolver.resolveDirect(departure, stopTime?.cis_stop_platform_code ?? null);
32
28
  }
33
29
  }
34
30
  exports.PlatformCodeResolver = PlatformCodeResolver;
@@ -1 +1 @@
1
- {"version":3,"file":"PlatformCodeResolver.js","sourceRoot":"","sources":["../../../src/output-gateway/shared/PlatformCodeResolver.ts"],"names":[],"mappings":";;;AAAA,iEAA4D;AAU5D,MAAa,oBAAoB;IAG7B;;;;;;;;OAQG;IACI,MAAM,CAAC,aAAa,CACvB,SAA2B,EAC3B,mBAAkC,EAClC,cAAuB,KAAK;QAE5B,MAAM,EAAE,UAAU,EAAE,aAAa,EAAE,GAAG,SAAS,CAAC;QAChD,IAAI,UAAU,KAAK,kCAAiB,CAAC,KAAK,IAAI,mBAAmB,IAAI,IAAI,EAAE,CAAC;YACxE,OAAO,WAAW,CAAC,CAAC,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC;QAC5G,CAAC;QAED,OAAO,aAAa,CAAC;IACzB,CAAC;IACD;;;;OAIG;IACI,MAAM,CAAC,oBAAoB,CAAC,SAA2B,EAAE,QAA0B;QACtF,OAAO,oBAAoB,CAAC,aAAa,CAAC,SAAS,EAAE,QAAQ,EAAE,sBAAsB,IAAI,IAAI,EAAE,IAAI,CAAC,CAAC;IACzG,CAAC;IAEO,MAAM,CAAC,kBAAkB,CAAC,YAAoB;QAClD,OAAO,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7F,CAAC;;AAnCL,oDAoCC;AAnCkB,uCAAkB,GAAG,QAAQ,CAAC"}
1
+ {"version":3,"file":"PlatformCodeResolver.js","sourceRoot":"","sources":["../../../src/output-gateway/shared/PlatformCodeResolver.ts"],"names":[],"mappings":";;;AAAA,iEAA4D;AAU5D,MAAa,oBAAoB;IAG7B;;;;;;;OAOG;IACI,MAAM,CAAC,aAAa,CAAC,SAA2B,EAAE,mBAAkC;QACvF,MAAM,EAAE,UAAU,EAAE,aAAa,EAAE,GAAG,SAAS,CAAC;QAChD,IAAI,UAAU,KAAK,kCAAiB,CAAC,KAAK,IAAI,mBAAmB,IAAI,IAAI,EAAE,CAAC;YACxE,OAAO,mBAAmB,CAAC;QAC/B,CAAC;QAED,OAAO,aAAa,CAAC;IACzB,CAAC;IACD;;;;OAIG;IACI,MAAM,CAAC,oBAAoB,CAAC,SAA2B,EAAE,QAA0B;QACtF,OAAO,oBAAoB,CAAC,aAAa,CAAC,SAAS,EAAE,QAAQ,EAAE,sBAAsB,IAAI,IAAI,CAAC,CAAC;IACnG,CAAC;;AA1BL,oDA2BC;AA1BkB,uCAAkB,GAAG,QAAQ,CAAC"}
@@ -0,0 +1,110 @@
1
+ # Kdy je odjezd oznacen jako MISSING
2
+
3
+ Odjezd je oznacen jako **MISSING**, pokud vozidlo **melo jet**, ale **nejsou k dispozici zadna validni realtime data (delay / poloha)**.
4
+
5
+ Implementace: `src/output-gateway/pid/models/helpers/SkipHelper.ts` - metoda `isVehicleMissing()`
6
+
7
+ ---
8
+
9
+ ## Konstanty
10
+
11
+ | Konstanta | Hodnota | Popis |
12
+ |-----------|---------|-------|
13
+ | `START_SOON_MINUTES_THRESHOLD` | 30 min | Prah pro "brzy zacina" (non-metro) |
14
+ | `START_SOON_METRO_MINUTES_THRESHOLD` | 5 min | Prah pro "brzy zacina" (metro) |
15
+ | `DEPARTURED_MINUTES_THRESHOLD` | -2 min | Trip mel zacit pred vice nez 2 minutami |
16
+ | `TRIP_GAP_MINUTES_THRESHOLD` | 60 min | Velka mezera mezi tripy v runu |
17
+
18
+ ---
19
+
20
+ ## MISSING = true (odjezd se nezobrazuje)
21
+
22
+ Odjezd je **MISSING**, pokud plati nasledujici:
23
+
24
+ ### 1. Zakladni podminky (musi platit vsechny)
25
+
26
+ - `is_delay_available = false`
27
+ - `trip.start_timestamp` **nebo** `planned_start_timestamp` existuje
28
+ - `run_number` existuje (neni null)
29
+ - `route_id` existuje (neni null)
30
+
31
+ ### 2. Casove podminky
32
+
33
+ Trip zacina v casovem okne:
34
+ - **Non-metro:** do 30 minut
35
+ - **Metro:** do 5 minut
36
+
37
+ A zaroven:
38
+ - Trip **uz mel zacit** (`minutesToStart < -2`)
39
+
40
+ **Vysledek:** odjezd je **MISSING**
41
+
42
+ ---
43
+
44
+ ### 3. Odjezd navazuje na predchozi jizdu bez dat
45
+
46
+ Pokud trip **jeste uplne nesplnuje bod 2** (nezacal pred 2+ minutami), muze byt stale oznacen jako **MISSING**, pokud:
47
+
48
+ 1. Existuje `runSchedule` pro dany run
49
+ 2. Trip **neni prvni v runu**
50
+ 3. Mezi aktualnim a predchozim tripem **neni mezera >= 60 minut**
51
+ 4. Predchozi trip:
52
+ - **nema realtime data** (je v `untrackedTrips`)
53
+ - **uz mel zacit** (`previousMinutesToStart < -2`)
54
+
55
+ **Vysledek:** odjezd je **MISSING**
56
+
57
+ ---
58
+
59
+ ### 4. Rozsirena kontrola pres predchozi jizdu
60
+
61
+ Pokud predchozi trip sam **neni prvni v runu** (index > 0) a:
62
+
63
+ - Mezi jeho startem a koncem jeste starsi jizdy **neni mezera >= 60 minut**
64
+
65
+ Predchozi jizda je take povazovana za chybejici a **aktualni odjezd je MISSING**.
66
+
67
+ ---
68
+
69
+ ## NOT MISSING = false (odjezd se zobrazi)
70
+
71
+ Odjezd **neni MISSING**, pokud plati alespon jedna z techto podminek:
72
+
73
+ ### Chybi vstupni data
74
+
75
+ - `trip.start_timestamp` neexistuje (a `planned_start_timestamp` taky ne)
76
+ - `run_number = null`
77
+ - `route_id = null`
78
+
79
+ ### Ma realtime data
80
+
81
+ - `is_delay_available = true`
82
+
83
+ ### Je prilis brzy
84
+
85
+ Trip zacina:
86
+ - **Non-metro:** za >= 30 minut
87
+ - **Metro:** za >= 5 minut
88
+
89
+ ### Nelze overit navaznost jizd
90
+
91
+ - `runSchedule` pro dany run neexistuje
92
+ - Trip neni nalezen v run schedule
93
+ - Trip je **prvni v runu** (index = 0)
94
+
95
+ ### Mezi jizdami je velka mezera
96
+
97
+ - Mezera od predchozi jizdy >= 60 minut
98
+ - Mezera pred predchozi jizdou >= 60 minut
99
+
100
+ ### Predchozi jizda ma data nebo jeste nezacala
101
+
102
+ - Predchozi trip **ma realtime data** (neni v `untrackedTrips`)
103
+ - Predchozi trip **jeste nemel zacit** (`previousMinutesToStart >= -2`)
104
+
105
+ ---
106
+
107
+
108
+ ## Shrnnuti
109
+
110
+ > **Odjezd je MISSING, kdyz uz mel jet, nema zadna realtime data a zaroven neni duvod si myslet, ze vozidlo teprve prijede z jine jizdy.**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@golemio/pid",
3
- "version": "5.6.0",
3
+ "version": "5.6.1-dev.2318903887",
4
4
  "description": "Golemio PID Module",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",