@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.
- package/db/migrations/postgresql/sqls/20250320145302-create-get-stops-by-asw-fnc-down.sql +1 -1
- package/db/migrations/postgresql/sqls/20250320145302-create-get-stops-by-asw-fnc-up.sql +2 -2
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/helpers/RawQueryProvider.js +1 -1
- package/dist/output-gateway/public/service/helpers/trip-scope/strategy/VehicleDescriptorTripScopeHandler.d.ts +2 -0
- package/dist/output-gateway/public/service/helpers/trip-scope/strategy/VehicleDescriptorTripScopeHandler.js +73 -1
- package/dist/output-gateway/public/service/helpers/trip-scope/strategy/VehicleDescriptorTripScopeHandler.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
DROP function get_ropidgtfs_stops_by_asw(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,
|
|
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
|
|
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, :
|
|
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:
|
|
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;
|
|
1
|
+
{"version":3,"file":"VehicleDescriptorTripScopeHandler.js","sourceRoot":"","sources":["../../../../../../../src/output-gateway/public/service/helpers/trip-scope/strategy/VehicleDescriptorTripScopeHandler.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,6EAA4D;AAC5D,iHAA6G;AAE7G,iEAA6D;AAC7D,qIAA4I;AAG5I,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,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,eAAe,CAAC;gBAC9D,kBAAkB,EAAE,UAAU,CAAC,kBAAkB;gBACjD,gBAAgB,EAAE,UAAU,CAAC,gBAAgB;aAChD,CAAC;SACL;QAED,OAAO,MAAM,CAAC;IAClB,CAAC;IAEO,cAAc,CAAC,UAAgC,EAAE,eAAmC;QACxF,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QACxB,qDAAqD;QACrD,IAAI,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE;YAC/C,OAAO,IAAI,CAAC,mBAAmB,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;SAChE;QACD,OAAO,GAAG,UAAU,CAAC,YAAY,IAAI,UAAU,CAAC,IAAI,EAAE,CAAC;IAC3D,CAAC;IAEO,mBAAmB,CAAC,UAAgC,EAAE,eAAmC;QAC7F,QAAQ,eAAe,CAAC,UAAU,EAAE;YAChC,KAAK,kCAAiB,CAAC,IAAI;gBACvB,QAAQ,UAAU,CAAC,IAAI,EAAE;oBACrB,KAAK,OAAO,CAAC;oBACb,KAAK,SAAS,CAAC;oBACf,KAAK,QAAQ,CAAC;oBACd,KAAK,OAAO;wBACR,OAAO,eAAe,CAAC;oBAC3B,KAAK,YAAY;wBACb,OAAO,gBAAgB,CAAC;oBAC5B,KAAK,KAAK;wBACN,OAAO,gBAAgB,CAAC;oBAC5B,KAAK,MAAM,CAAC;oBACZ,KAAK,MAAM,CAAC;oBACZ,KAAK,MAAM,CAAC;oBACZ,KAAK,MAAM,CAAC;oBACZ,KAAK,MAAM,CAAC;oBACZ,KAAK,MAAM,CAAC;oBACZ,KAAK,MAAM;wBACP,OAAO,aAAa,CAAC;oBACzB;wBACI,OAAO,oBAAoB,CAAC;iBACnC;YACL,KAAK,kCAAiB,CAAC,KAAK,CAAC;YAC7B,KAAK,kCAAiB,CAAC,KAAK;gBACxB,OAAO,oBAAoB,CAAC;YAChC,KAAK,kCAAiB,CAAC,GAAG;gBACtB,QAAQ,UAAU,CAAC,YAAY,EAAE;oBAC7B,KAAK,OAAO;wBACR,OAAO,WAAW,CAAC;oBACvB,KAAK,KAAK;wBACN,OAAO,YAAY,CAAC;oBACxB,KAAK,OAAO;wBACR,OAAO,MAAM,CAAC;oBAClB,KAAK,QAAQ;wBACT,OAAO,SAAS,CAAC;oBACrB,KAAK,SAAS;wBACV,OAAO,uBAAuB,CAAC;oBACnC,KAAK,QAAQ;wBACT,OAAO,YAAY,CAAC;oBACxB,KAAK,KAAK;wBACN,OAAO,4BAA4B,CAAC;oBACxC,KAAK,SAAS;wBACV,OAAO,qBAAqB,CAAC;oBACjC,KAAK,YAAY;wBACb,OAAO,qBAAqB,CAAC;oBACjC;wBACI,OAAO,iBAAiB,CAAC;iBAChC;YACL,KAAK,kCAAiB,CAAC,KAAK;gBACxB,OAAO,aAAa,CAAC;YACzB,KAAK,kCAAiB,CAAC,UAAU;gBAC7B,QAAQ,UAAU,CAAC,YAAY,EAAE;oBAC7B,KAAK,eAAe;wBAChB,OAAO,mBAAmB,CAAC;oBAC/B;wBACI,OAAO,iBAAiB,CAAC;iBAChC;YACL;gBACI,OAAO,GAAG,UAAU,CAAC,YAAY,IAAI,UAAU,CAAC,IAAI,EAAE,CAAC;SAC9D;IACL,CAAC;CACJ,CAAA;4CA1GY,iCAAiC;IAD7C,IAAA,qBAAU,GAAE;IAKJ,WAAA,IAAA,iBAAM,EAAC,6BAAa,CAAC,iCAAiC,CAAC,CAAA;qCACnB,qEAAiC;GALjE,iCAAiC,CA0G7C"}
|