@golemio/pid 3.9.5-dev.1738105452 → 3.9.5-dev.1740291889

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.
@@ -1 +1 @@
1
- DROP function get_ropidgtfs_stops_by_asw(int, int)
1
+ DROP function get_ropidgtfs_stops_by_asw(int, varchar)
@@ -1,4 +1,4 @@
1
- CREATE OR REPLACE FUNCTION get_ropidgtfs_stops_by_asw(aswnodeid INT, aswstopid INT)
1
+ CREATE OR REPLACE FUNCTION get_ropidgtfs_stops_by_asw(aswnodeid INT, platformcode varchar)
2
2
  RETURNS TEXT AS $$
3
3
  DECLARE
4
4
  stop_ids TEXT;
@@ -6,7 +6,7 @@ BEGIN
6
6
  SELECT STRING_AGG(stop_id::TEXT, ', ') INTO stop_ids
7
7
  FROM ropidgtfs_stops
8
8
  WHERE asw_node_id = aswnodeid
9
- AND asw_stop_id = aswstopid;
9
+ AND platform_code = platformcode;
10
10
 
11
11
  RETURN stop_ids;
12
12
  END;
@@ -50,7 +50,7 @@ class RawQueryProvider {
50
50
  LEFT JOIN ropidgtfs_precomputed_minmax_stop_sequences
51
51
  ON ropidgtfs_trips.trip_id = ropidgtfs_precomputed_minmax_stop_sequences.trip_id
52
52
  WHERE ropidgtfs_routes.route_short_name LIKE :cisLineShortName
53
- AND ropidgtfs_stop_times.stop_id = ANY(STRING_TO_ARRAY(get_ropidgtfs_stops_by_asw(:startAswNodeID, :startAswStopId), ','))
53
+ AND ropidgtfs_stop_times.stop_id = ANY(STRING_TO_ARRAY(get_ropidgtfs_stops_by_asw(:startAswNodeID, :startCisStopPlatformCode), ','))
54
54
  AND stop_sequence = '1'
55
55
  AND normalize_departure_time(ropidgtfs_stop_times.departure_time) = TO_CHAR(
56
56
  (:startDateFormatted at time zone 'Europe/Prague'), 'FMHH24:MI:SS'
@@ -7,4 +7,6 @@ export declare class VehicleDescriptorTripScopeHandler extends AbstractDetailedT
7
7
  private vehicleDescriptorTransformation;
8
8
  constructor(vehicleDescriptorRepository: VehicleDescriptorCachedRepository);
9
9
  handle(output: IPublicApiDetailedTrip, vehiclePosition: IPublicApiCacheDto): Promise<IPublicApiDetailedTrip>;
10
+ private getVehicleType;
11
+ private getAprilVehicleType;
10
12
  }
@@ -13,6 +13,7 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
13
13
  };
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.VehicleDescriptorTripScopeHandler = void 0;
16
+ const RouteTypeEnums_1 = require("../../../../../../helpers/RouteTypeEnums");
16
17
  const VehicleDescriptorCachedRepository_1 = require("../../../../data-access/VehicleDescriptorCachedRepository");
17
18
  const OgModuleToken_1 = require("../../../../ioc/OgModuleToken");
18
19
  const PublicVPVehicleDescriptorTransformation_1 = require("../../../transformations/scopes/PublicVPVehicleDescriptorTransformation");
@@ -35,13 +36,84 @@ let VehicleDescriptorTripScopeHandler = exports.VehicleDescriptorTripScopeHandle
35
36
  }
36
37
  output.vehicle_descriptor = {
37
38
  ...output.vehicle_descriptor,
38
- vehicle_type: `${descriptor.manufacturer} ${descriptor.type}`,
39
+ vehicle_type: this.getVehicleType(descriptor, vehiclePosition),
39
40
  is_air_conditioned: descriptor.is_air_conditioned,
40
41
  has_usb_chargers: descriptor.has_usb_chargers,
41
42
  };
42
43
  }
43
44
  return output;
44
45
  }
46
+ getVehicleType(descriptor, vehiclePosition) {
47
+ const date = new Date();
48
+ // getMonth() returns 0-based index, unlike getDate()
49
+ if (date.getDate() === 1 && date.getMonth() === 3) {
50
+ return this.getAprilVehicleType(descriptor, vehiclePosition);
51
+ }
52
+ return `${descriptor.manufacturer} ${descriptor.type}`;
53
+ }
54
+ getAprilVehicleType(descriptor, vehiclePosition) {
55
+ switch (vehiclePosition.route_type) {
56
+ case RouteTypeEnums_1.GTFSRouteTypeEnum.TRAM:
57
+ switch (descriptor.type) {
58
+ case "T3R.P":
59
+ case "T3R.PLF":
60
+ case "T3R.PV":
61
+ case "T3M.2":
62
+ return "Mašinka Tomáš";
63
+ case "KT8D5.RN2P":
64
+ return "Orient Express";
65
+ case "14T":
66
+ return "Polární expres";
67
+ case "15T1":
68
+ case "15T2":
69
+ case "15T3":
70
+ case "15T4":
71
+ case "15T5":
72
+ case "15T6":
73
+ case "15T7":
74
+ return "Snowpiercer";
75
+ default:
76
+ return "Trainy McTrainface";
77
+ }
78
+ case RouteTypeEnums_1.GTFSRouteTypeEnum.METRO:
79
+ case RouteTypeEnums_1.GTFSRouteTypeEnum.TRAIN:
80
+ return "Trainy McTrainface";
81
+ case RouteTypeEnums_1.GTFSRouteTypeEnum.BUS:
82
+ switch (descriptor.manufacturer) {
83
+ case "Iveco":
84
+ return "Batmobile";
85
+ case "SOR":
86
+ return "Ectomobile";
87
+ case "Setra":
88
+ return "KITT";
89
+ case "Otokar":
90
+ return "Formule";
91
+ case "Irisbus":
92
+ return "DeLorean time machine";
93
+ case "Scania":
94
+ return "Mr. Slowly";
95
+ case "MAN":
96
+ return "Tatra T815 aka The War Rig";
97
+ case "Solaris":
98
+ return "Citroën DS Fantomas";
99
+ case "ROŠERO - P":
100
+ return "The Mystery Machine";
101
+ default:
102
+ return "Bussy McBusface";
103
+ }
104
+ case RouteTypeEnums_1.GTFSRouteTypeEnum.FERRY:
105
+ return "RMS Titanic";
106
+ case RouteTypeEnums_1.GTFSRouteTypeEnum.TROLLEYBUS:
107
+ switch (descriptor.manufacturer) {
108
+ case "Škoda-Solaris":
109
+ return "Lightning McQueen";
110
+ default:
111
+ return "Bussy McBusface";
112
+ }
113
+ default:
114
+ return `${descriptor.manufacturer} ${descriptor.type}`;
115
+ }
116
+ }
45
117
  };
46
118
  exports.VehicleDescriptorTripScopeHandler = VehicleDescriptorTripScopeHandler = __decorate([
47
119
  (0, tsyringe_1.injectable)(),
@@ -1 +1 @@
1
- {"version":3,"file":"VehicleDescriptorTripScopeHandler.js","sourceRoot":"","sources":["../../../../../../../src/output-gateway/public/service/helpers/trip-scope/strategy/VehicleDescriptorTripScopeHandler.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,iHAA6G;AAE7G,iEAA6D;AAC7D,qIAA4I;AAE5I,iEAAwE;AACxE,yFAAsF;AAG/E,IAAM,iCAAiC,+CAAvC,MAAM,iCAAkC,SAAQ,mEAAgC;IAGnF,YAEY,2BAA8D;QAEtE,KAAK,EAAE,CAAC;QAFA,gCAA2B,GAA3B,2BAA2B,CAAmC;QAGtE,IAAI,CAAC,+BAA+B,GAAG,IAAI,iFAAuC,EAAE,CAAC;IACzF,CAAC;IAEM,KAAK,CAAC,MAAM,CAAC,MAA8B,EAAE,eAAmC;QACnF,MAAM,CAAC,kBAAkB,GAAG,IAAI,CAAC,+BAA+B,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC;QAEnG,MAAM,kBAAkB,GAAG,eAAe,CAAC,aAAa,CAAC,mBAAmB,CAAC;QAC7E,IAAI,kBAAkB,EAAE;YACpB,MAAM,SAAS,GAAG,eAAe,CAAC,UAAU,CAAC;YAC7C,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,2BAA2B,CAAC,iBAAiB,CAAC,SAAS,EAAE,kBAAkB,CAAC,CAAC;YAE3G,IAAI,CAAC,UAAU,EAAE;gBACb,OAAO,MAAM,CAAC;aACjB;YAED,MAAM,CAAC,kBAAkB,GAAG;gBACxB,GAAG,MAAM,CAAC,kBAAkB;gBAC5B,YAAY,EAAE,GAAG,UAAU,CAAC,YAAY,IAAI,UAAU,CAAC,IAAI,EAAE;gBAC7D,kBAAkB,EAAE,UAAU,CAAC,kBAAkB;gBACjD,gBAAgB,EAAE,UAAU,CAAC,gBAAgB;aAChD,CAAC;SACL;QAED,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ,CAAA;4CAjCY,iCAAiC;IAD7C,IAAA,qBAAU,GAAE;IAKJ,WAAA,IAAA,iBAAM,EAAC,6BAAa,CAAC,iCAAiC,CAAC,CAAA;qCACnB,qEAAiC;GALjE,iCAAiC,CAiC7C"}
1
+ {"version":3,"file":"VehicleDescriptorTripScopeHandler.js","sourceRoot":"","sources":["../../../../../../../src/output-gateway/public/service/helpers/trip-scope/strategy/VehicleDescriptorTripScopeHandler.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@golemio/pid",
3
- "version": "3.9.5-dev.1738105452",
3
+ "version": "3.9.5-dev.1740291889",
4
4
  "description": "Golemio PID Module",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",