@golemio/pid 5.4.4-dev.2288959879 → 5.4.4-dev.2293779456
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/dist/output-gateway/pid/controllers/v2/V2DepartureBoardsController.js +1 -0
- package/dist/output-gateway/pid/controllers/v2/V2DepartureBoardsController.js.map +1 -1
- package/dist/output-gateway/pid/controllers/v4/V4TransferBoardsController.d.ts +2 -1
- package/dist/output-gateway/pid/controllers/v4/V4TransferBoardsController.js +33 -5
- package/dist/output-gateway/pid/controllers/v4/V4TransferBoardsController.js.map +1 -1
- package/dist/output-gateway/pid/helpers/TransferBoardFilter.d.ts +5 -2
- package/dist/output-gateway/pid/helpers/TransferBoardFilter.js +23 -3
- package/dist/output-gateway/pid/helpers/TransferBoardFilter.js.map +1 -1
- package/dist/output-gateway/pid/interfaces/IDepartureWithPosition.d.ts +1 -0
- package/dist/output-gateway/pid/interfaces/IV4TransferDepartureOutputDto.d.ts +1 -0
- package/dist/output-gateway/pid/service/transformations/TransferDepartureCacheTransformation.d.ts +1 -0
- package/dist/output-gateway/pid/service/transformations/TransferDepartureCacheTransformation.js +1 -0
- package/dist/output-gateway/pid/service/transformations/TransferDepartureCacheTransformation.js.map +1 -1
- package/docs/cache/types/redis.md +1 -0
- package/docs/openapi-output.yaml +22 -5
- package/package.json +1 -1
|
@@ -16,6 +16,7 @@ class V2DepartureBoardsController {
|
|
|
16
16
|
const queryData = (0, express_validator_1.matchedData)(req);
|
|
17
17
|
const query = shared_1.RopidRouterUtils.mapObjectToDTOInstance(dto_1.DepartureBoardsQueryDTO, queryData);
|
|
18
18
|
const preferredTimezone = shared_1.RopidRouterUtils.getPreferredTimezone(query.preferredTimezone);
|
|
19
|
+
res.setHeader("X-Golemio-Preset-Metadata", `airConditionPossible=${query.airCondition ? 1 : 0}`);
|
|
19
20
|
// datetime is valid ISO 8601 (by express validator)
|
|
20
21
|
// it matches:
|
|
21
22
|
// 2020-10-10T10:00:00Z
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"V2DepartureBoardsController.js","sourceRoot":"","sources":["../../../../../src/output-gateway/pid/controllers/v2/V2DepartureBoardsController.ts"],"names":[],"mappings":";;;;;;AAAA,mCAAkF;AAClF,kFAAiF;AACjF,4CAA8C;AAC9C,+FAA6F;AAE7F,mFAA0E;AAC1E,gGAA2E;AAE3E,MAAa,2BAA2B;IAGpC;QAIO,sBAAiB,GAAmB,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;YAChE,MAAM,SAAS,GAAG,IAAA,+BAAW,EAAC,GAAG,CAAC,CAAC;YACnC,MAAM,KAAK,GAAG,yBAAgB,CAAC,sBAAsB,CAAC,6BAAuB,EAAE,SAAS,CAAC,CAAC;YAC1F,MAAM,iBAAiB,GAAG,yBAAgB,CAAC,oBAAoB,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"V2DepartureBoardsController.js","sourceRoot":"","sources":["../../../../../src/output-gateway/pid/controllers/v2/V2DepartureBoardsController.ts"],"names":[],"mappings":";;;;;;AAAA,mCAAkF;AAClF,kFAAiF;AACjF,4CAA8C;AAC9C,+FAA6F;AAE7F,mFAA0E;AAC1E,gGAA2E;AAE3E,MAAa,2BAA2B;IAGpC;QAIO,sBAAiB,GAAmB,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;YAChE,MAAM,SAAS,GAAG,IAAA,+BAAW,EAAC,GAAG,CAAC,CAAC;YACnC,MAAM,KAAK,GAAG,yBAAgB,CAAC,sBAAsB,CAAC,6BAAuB,EAAE,SAAS,CAAC,CAAC;YAC1F,MAAM,iBAAiB,GAAG,yBAAgB,CAAC,oBAAoB,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;YACzF,GAAG,CAAC,SAAS,CAAC,2BAA2B,EAAE,wBAAwB,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAEjG,oDAAoD;YACpD,cAAc;YACd,uBAAuB;YACvB,0BAA0B;YAC1B,yBAAyB;YACzB,4BAA4B;YAC5B,MAAM,qBAAqB,GAAW,uDAAuD,CAAC;YAC9F,+DAA+D;YAC/D,MAAM,QAAQ,GAAuB,KAAK,CAAC,QAAQ;gBAC/C,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,qBAAqB,CAAC;oBACzC,CAAC,CAAC,IAAA,yBAAM,EAAC,KAAK,CAAC,QAAQ,CAAC;oBACxB,CAAC,CAAC,yBAAM,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,EAAE,iBAAiB,CAAC;gBAClD,CAAC,CAAC,SAAS,CAAC;YAEhB,MAAM,IAAI,GAAG,IAAA,gCAAe,EAAC,+CAA+C,CAAC,CAAC;YAC9E,IAAI,CAAC;gBACD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC;oBAChD,MAAM,EAAE,KAAK,CAAC,MAAM;oBACpB,MAAM,EAAE,KAAK,CAAC,MAAM;oBACpB,OAAO,EAAE,KAAK,CAAC,GAAG;oBAClB,KAAK,EAAE,KAAK,CAAC,KAAK;oBAClB,YAAY,EAAE,KAAK,CAAC,YAAY;oBAChC,aAAa,EAAE,KAAK,CAAC,aAAa;oBAClC,QAAQ;oBACR,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,KAAK,EAAE,KAAK,CAAC,KAAK;oBAClB,MAAM,EAAE,KAAK,CAAC,MAAM;oBACpB,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,KAAK,EAAE,KAAK,CAAC,KAAK;oBAClB,MAAM,EAAE,KAAK,CAAC,MAAM;oBACpB,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK;oBACjC,QAAQ,EAAE,iBAAiB;oBAC3B,kBAAkB,EAAE,KAAK,CAAC,kBAAkB;oBAC5C,YAAY,EAAE,KAAK,CAAC,YAAY;iBACnC,CAAC,CAAC;gBACH,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,yBAAgB,CAAC,sBAAsB,CAAC,gCAA0B,EAAE,IAAI,CAAC,CAAC,CAAC;YACpG,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACX,IAAI,CAAC,GAAG,CAAC,CAAC;YACd,CAAC;oBAAS,CAAC;gBACP,IAAI,EAAE,GAAG,EAAE,CAAC;YAChB,CAAC;QACL,CAAC,CAAC;QAlDE,IAAI,CAAC,oBAAoB,GAAG,IAAI,iDAAuB,EAAE,CAAC;IAC9D,CAAC;CAkDJ;AAvDD,kEAuDC"}
|
|
@@ -16,6 +16,7 @@ export declare class V4TransferBoardsController {
|
|
|
16
16
|
constructor(config: ISimpleConfig, stopFacade: StopFacade, infotextFacade: InfotextFacade, transferFacade: TransferFacade, transformation: TransferDepartureCacheTransformation);
|
|
17
17
|
getTransferBoardData: RequestHandler;
|
|
18
18
|
private accessibilityForStops;
|
|
19
|
-
private
|
|
19
|
+
private enhanceInPlaceWithTimeAndInfo;
|
|
20
|
+
private enhanceInPlaceWithGuaranteedTransfers;
|
|
20
21
|
private parseTransferBoardsParams;
|
|
21
22
|
}
|
|
@@ -111,19 +111,32 @@ let V4TransferBoardsController = V4TransferBoardsController_1 = class V4Transfer
|
|
|
111
111
|
const sameNameStopIds = stopsInfo.filter((stop) => stop.stop_name === transferStopName).map((stop) => stop.stop_id);
|
|
112
112
|
// add predictedDeparture date/timestamp to transfers
|
|
113
113
|
// compute accessibility for available transfers
|
|
114
|
-
|
|
115
|
-
|
|
114
|
+
this.enhanceInPlaceWithTimeAndInfo(transferCacheDto, stopsInfo);
|
|
115
|
+
const guaranteedTransferTripIds = new Set(TransferBoardFilter_1.TransferBoardFilter.havingConnectionFromTripId(transferCacheDto.currentTripId, transferCacheDto.transfers, transferCacheDto.delayedTimeFrom).flatMap((t) => t.departure.trip_id));
|
|
116
|
+
transferCacheDto.transfers = TransferBoardFilter_1.TransferBoardFilter.minimalTransferTime(transferCacheDto.transfers, transferCacheDto.delayedTimeFrom, guaranteedTransferTripIds);
|
|
116
117
|
TransferBoardSorter_1.TransferBoardSorter.sortDepartures(transferCacheDto.transfers);
|
|
117
118
|
transferCacheDto.transfers = TransferBoardFilter_1.TransferBoardFilter.sameStopNameTransfer(transferCacheDto.transfers, transferStop, sameNameStopIds);
|
|
118
119
|
const tripIdsToReadStopsUsingDelay = new Set(TransferBoardFilter_1.TransferBoardFilter.filterOutKeepAlwaysTransfer(transferCacheDto.transfers).map((transfer) => transfer.departure.trip_id));
|
|
120
|
+
for (const guaranteedTripId of guaranteedTransferTripIds) {
|
|
121
|
+
// No need to search stopTime / delayComputation Caches of guaranteed transfers,
|
|
122
|
+
// we consider them as "show always" (as long as max waiting time permits)
|
|
123
|
+
tripIdsToReadStopsUsingDelay.delete(guaranteedTripId);
|
|
124
|
+
}
|
|
125
|
+
this.enhanceInPlaceWithGuaranteedTransfers(transferCacheDto, guaranteedTransferTripIds);
|
|
126
|
+
// As long as we have position (with vehicle_id), we can read from stopTime Cache (cheap & fast)
|
|
127
|
+
// but otherwise we fallback to reading from delayComputation Cache (a bit costly JSON traverse) by trip_id(s)
|
|
119
128
|
const stopTimeIdsTuples = transferCacheDto.transfers.reduce((prev, t) => {
|
|
120
129
|
if (tripIdsToReadStopsUsingDelay.has(t.departure.trip_id) && t.position?.vehicle_id != null) {
|
|
121
130
|
tripIdsToReadStopsUsingDelay.delete(t.departure.trip_id);
|
|
131
|
+
// tuples are for stopTime Cache
|
|
122
132
|
prev.push([t.position.vehicle_id, t.departure.trip_id]);
|
|
123
133
|
}
|
|
124
134
|
return prev;
|
|
125
135
|
}, []);
|
|
126
136
|
const tripIdsToKeep = new Set(await this.transferFacade.findRelevantTripIdsFromLines(tripIdsToReadStopsUsingDelay, transferCacheDto.currentStop, transferCacheDto.currentTripId, stopTimeIdsTuples, this.countPreviousStopsToAllow));
|
|
137
|
+
guaranteedTransferTripIds.forEach((guaranteedTripId) => {
|
|
138
|
+
tripIdsToKeep.add(guaranteedTripId);
|
|
139
|
+
});
|
|
127
140
|
transferCacheDto.transfers = TransferBoardFilter_1.TransferBoardFilter.keepAlwaysLinesAndTripIds(transferCacheDto.transfers, tripIdsToKeep);
|
|
128
141
|
const transformedData = this.transformation.transformArray(transferCacheDto.transfers);
|
|
129
142
|
const filteredData = TransferBoardFilter_1.TransferBoardFilter.filterDepartures(transformedData, params.limit, transferCacheDto.delayedTimeFrom.getTime(), now.getTime());
|
|
@@ -153,9 +166,9 @@ let V4TransferBoardsController = V4TransferBoardsController_1 = class V4Transfer
|
|
|
153
166
|
}
|
|
154
167
|
return accessibilityStopIdsMap;
|
|
155
168
|
}
|
|
156
|
-
|
|
169
|
+
enhanceInPlaceWithTimeAndInfo(transferCacheDto, stopsInfo) {
|
|
157
170
|
const accessibilityStopIdsMap = this.accessibilityForStops(stopsInfo);
|
|
158
|
-
|
|
171
|
+
transferCacheDto.transfers.forEach((t) => {
|
|
159
172
|
const accessibility = {
|
|
160
173
|
route_type: t.departure.route_type,
|
|
161
174
|
wheelchair_accessible: null,
|
|
@@ -174,7 +187,22 @@ let V4TransferBoardsController = V4TransferBoardsController_1 = class V4Transfer
|
|
|
174
187
|
t.departure.is_wheelchair_accessible = DepartureBoardMapper_1.default.resolveAccessibility(accessibility);
|
|
175
188
|
t.departure.predictedDepartureDate = shared_1.DepartureCalculator.getPredictedDepartureTime(new Date(t.departure.departure_datetime), t.departure.arrival_datetime ? new Date(t.departure.arrival_datetime) : null, t.position?.delay ?? null);
|
|
176
189
|
t.departure.predictedDepartureTimestamp = t.departure.predictedDepartureDate.getTime();
|
|
177
|
-
|
|
190
|
+
});
|
|
191
|
+
}
|
|
192
|
+
enhanceInPlaceWithGuaranteedTransfers(transferCacheDto, tripIds) {
|
|
193
|
+
// guaranteed transfers will show minutes as if they are departing at the time of current trip arrival
|
|
194
|
+
const predictedArrivalDate = new Date(transferCacheDto.delayedTimeFrom);
|
|
195
|
+
const predictedArrivalTimestamp = predictedArrivalDate.getTime();
|
|
196
|
+
transferCacheDto.transfers.forEach((t) => {
|
|
197
|
+
t.departure.is_guaranteed_transfer = tripIds.has(t.departure.trip_id);
|
|
198
|
+
if (t.departure.is_guaranteed_transfer) {
|
|
199
|
+
// Move predicted departure date to current-trip's, so we show minutes as
|
|
200
|
+
// if the vehicle is already there = people should exit the current trip's vehicle
|
|
201
|
+
if (predictedArrivalTimestamp < t.departure.predictedDepartureTimestamp) {
|
|
202
|
+
t.departure.predictedDepartureDate = predictedArrivalDate;
|
|
203
|
+
t.departure.predictedDepartureTimestamp = predictedArrivalTimestamp;
|
|
204
|
+
}
|
|
205
|
+
}
|
|
178
206
|
});
|
|
179
207
|
}
|
|
180
208
|
parseTransferBoardsParams(query) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"V4TransferBoardsController.js","sourceRoot":"","sources":["../../../../../src/output-gateway/pid/controllers/v4/V4TransferBoardsController.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"V4TransferBoardsController.js","sourceRoot":"","sources":["../../../../../src/output-gateway/pid/controllers/v4/V4TransferBoardsController.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,10 +3,13 @@ import { IDepartureWithPosition } from "../interfaces/IDepartureWithPosition";
|
|
|
3
3
|
import { IV4TransferDepartureOutputDto } from "../interfaces/IV4TransferDepartureOutputDto";
|
|
4
4
|
export declare class TransferBoardFilter {
|
|
5
5
|
static filterDepartures(transfers: IV4TransferDepartureOutputDto[], limit: number, arrivalTimeMs: number, requestTimeFromMs: number): IV4TransferDepartureOutputDto[];
|
|
6
|
+
static havingConnectionFromTripId(fromTripId: string, transfers: IDepartureWithPosition[], delayedTimeFrom: Date): IDepartureWithPosition[];
|
|
7
|
+
private static hasConnectionWaitingTimeBeforeArrival;
|
|
8
|
+
private static shiftedDeparture;
|
|
6
9
|
private static shouldKeepTransferAlways;
|
|
7
10
|
static filterOutKeepAlwaysTransfer(transfers: IDepartureWithPosition[]): IDepartureWithPosition[];
|
|
8
11
|
static keepAlwaysLinesAndTripIds(transfers: IDepartureWithPosition[], tripIdsToKeep: Set<string>): IDepartureWithPosition[];
|
|
9
|
-
static minimalTransferTime(transfers: IDepartureWithPosition[], delayedTimeFrom: Date): IDepartureWithPosition[];
|
|
12
|
+
static minimalTransferTime(transfers: IDepartureWithPosition[], delayedTimeFrom: Date, keepTripIds: Set<string>): IDepartureWithPosition[];
|
|
10
13
|
static sameStopNameTransfer(transfers: IDepartureWithPosition[], currentStop: IStopCacheDto, allowedStopIds: string[]): IDepartureWithPosition[];
|
|
11
|
-
private static
|
|
14
|
+
private static isInRangeOrGuaranteed;
|
|
12
15
|
}
|
|
@@ -45,7 +45,7 @@ class TransferBoardFilter {
|
|
|
45
45
|
if (seenTripIds.has(transfer.trip.id)) {
|
|
46
46
|
continue;
|
|
47
47
|
}
|
|
48
|
-
if (!TransferBoardFilter.
|
|
48
|
+
if (!TransferBoardFilter.isInRangeOrGuaranteed(transfer, requestTimeFromMs, timeEndMs)) {
|
|
49
49
|
continue;
|
|
50
50
|
}
|
|
51
51
|
seenTripIds.add(transfer.trip.id);
|
|
@@ -54,6 +54,20 @@ class TransferBoardFilter {
|
|
|
54
54
|
// Departures are already sorted so that metro ones are first
|
|
55
55
|
return filteredDepartures;
|
|
56
56
|
}
|
|
57
|
+
static havingConnectionFromTripId(fromTripId, transfers, delayedTimeFrom) {
|
|
58
|
+
const delayedTimeFromMs = delayedTimeFrom.getTime();
|
|
59
|
+
return transfers.filter((t) => TransferBoardFilter.hasConnectionWaitingTimeBeforeArrival(t.departure, fromTripId, delayedTimeFromMs));
|
|
60
|
+
}
|
|
61
|
+
static hasConnectionWaitingTimeBeforeArrival(departure, tripId, arrivalTimeMs) {
|
|
62
|
+
return !!departure.connections?.some((con) => {
|
|
63
|
+
return (con.from_trip_id === tripId &&
|
|
64
|
+
arrivalTimeMs < TransferBoardFilter.shiftedDeparture(departure, con.max_wait_sec).getTime());
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
static shiftedDeparture(departure, maxWaitSec) {
|
|
68
|
+
const shiftedDeparture = new Date(new Date(departure.departure_datetime).getTime() + maxWaitSec * 1000);
|
|
69
|
+
return shiftedDeparture;
|
|
70
|
+
}
|
|
57
71
|
static shouldKeepTransferAlways(transfer) {
|
|
58
72
|
return TRANSFER_LINE_TYPES_TO_KEEP.has(transfer.departure.route_type);
|
|
59
73
|
}
|
|
@@ -65,9 +79,12 @@ class TransferBoardFilter {
|
|
|
65
79
|
return TransferBoardFilter.shouldKeepTransferAlways(t) || tripIdsToKeep.has(t.departure.trip_id);
|
|
66
80
|
});
|
|
67
81
|
}
|
|
68
|
-
static minimalTransferTime(transfers, delayedTimeFrom) {
|
|
82
|
+
static minimalTransferTime(transfers, delayedTimeFrom, keepTripIds) {
|
|
69
83
|
const arrivalTime = delayedTimeFrom.getTime();
|
|
70
84
|
return transfers.filter((t) => {
|
|
85
|
+
if (keepTripIds.has(t.departure.trip_id)) {
|
|
86
|
+
return true;
|
|
87
|
+
}
|
|
71
88
|
const transferTimeMs = TRANSFER_TIMES_MS.get(t.departure.route_type) || DEFAULT_TRANSFER_TIME_MS;
|
|
72
89
|
if (t.departure.predictedDepartureTimestamp == null) {
|
|
73
90
|
return false;
|
|
@@ -89,7 +106,10 @@ class TransferBoardFilter {
|
|
|
89
106
|
return allowedStopIdsAsws.includes(departureStopAsw);
|
|
90
107
|
});
|
|
91
108
|
}
|
|
92
|
-
static
|
|
109
|
+
static isInRangeOrGuaranteed(departure, timeRangeStart, timeRangeEnd) {
|
|
110
|
+
if (departure.trip.is_guaranteed_transfer) {
|
|
111
|
+
return true;
|
|
112
|
+
}
|
|
93
113
|
// departureMinutes are relative to timeFrom request parameter
|
|
94
114
|
const departureMinutes = departure.departure_timestamp.minutes[0] === "<1" ? 1 : Number(departure.departure_timestamp.minutes[0]);
|
|
95
115
|
if (isNaN(departureMinutes))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TransferBoardFilter.js","sourceRoot":"","sources":["../../../../src/output-gateway/pid/helpers/TransferBoardFilter.ts"],"names":[],"mappings":";;;AAAA,oEAAyD;AACzD,oEAA4D;AAK5D,MAAM,wBAAwB,GAAG,EAAE,GAAG,IAAI,CAAC;AAE3C,MAAM,iBAAiB,GAAmC,IAAI,GAAG,CAAC;IAC9D,CAAC,kCAAiB,CAAC,GAAG,EAAE,MAAM,CAAC;IAC/B,CAAC,kCAAiB,CAAC,iBAAiB,EAAE,MAAM,CAAC;IAC7C,CAAC,kCAAiB,CAAC,KAAK,EAAE,OAAO,CAAC;IAClC,CAAC,kCAAiB,CAAC,SAAS,EAAE,OAAO,CAAC;IACtC,CAAC,kCAAiB,CAAC,KAAK,EAAE,OAAO,CAAC;IAClC,CAAC,kCAAiB,CAAC,KAAK,EAAE,OAAO,CAAC;IAClC,CAAC,kCAAiB,CAAC,IAAI,EAAE,MAAM,CAAC;IAChC,CAAC,kCAAiB,CAAC,UAAU,EAAE,MAAM,CAAC;CACzC,CAAC,CAAC;AAEH,MAAM,2BAA2B,GAAoC,IAAI,GAAG,CAAC;IACzE,CAAC,kCAAiB,CAAC,GAAG,EAAE,KAAK,CAAC;IAC9B,CAAC,kCAAiB,CAAC,iBAAiB,EAAE,IAAI,CAAC;IAC3C,CAAC,kCAAiB,CAAC,KAAK,EAAE,IAAI,CAAC;IAC/B,CAAC,kCAAiB,CAAC,SAAS,EAAE,IAAI,CAAC;IACnC,CAAC,kCAAiB,CAAC,KAAK,EAAE,IAAI,CAAC;IAC/B,CAAC,kCAAiB,CAAC,KAAK,EAAE,IAAI,CAAC;IAC/B,CAAC,kCAAiB,CAAC,IAAI,EAAE,KAAK,CAAC;IAC/B,CAAC,kCAAiB,CAAC,UAAU,EAAE,KAAK,CAAC;CACxC,CAAC,CAAC;AAEH,MAAM,2BAA2B,GAA2B,IAAI,GAAG,CAAC;IAChE,kCAAiB,CAAC,KAAK;IACvB,kCAAiB,CAAC,SAAS;IAC3B,kCAAiB,CAAC,KAAK;IACvB,kCAAiB,CAAC,KAAK;CAC1B,CAAC,CAAC;AAEH,MAAM,cAAc,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAEtC,MAAa,mBAAmB;IACrB,MAAM,CAAC,gBAAgB,CAC1B,SAA0C,EAC1C,KAAa,EACb,aAAqB,EACrB,iBAAyB;QAEzB,MAAM,kBAAkB,GAAoC,EAAE,CAAC;QAE/D,oEAAoE;QACpE,MAAM,0BAA0B,GAAG,aAAa,GAAG,iBAAiB,CAAC;QACrE,MAAM,SAAS,GAAG,iBAAiB,GAAG,0BAA0B,GAAG,cAAc,CAAC;QAElF,MAAM,WAAW,GAAgB,IAAI,GAAG,EAAE,CAAC;QAC3C,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YAC/B,IAAI,kBAAkB,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;gBACtC,MAAM;YACV,CAAC;YACD,IAAI,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;gBACpC,SAAS;YACb,CAAC;YACD,IAAI,CAAC,mBAAmB,CAAC,
|
|
1
|
+
{"version":3,"file":"TransferBoardFilter.js","sourceRoot":"","sources":["../../../../src/output-gateway/pid/helpers/TransferBoardFilter.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,6 +6,7 @@ export interface IDepartureWithPosition {
|
|
|
6
6
|
predictedDepartureDate?: Date;
|
|
7
7
|
predictedDepartureTimestamp?: number;
|
|
8
8
|
is_wheelchair_accessible?: boolean | null;
|
|
9
|
+
is_guaranteed_transfer?: boolean | null;
|
|
9
10
|
};
|
|
10
11
|
position: IPublicApiCacheDto | null;
|
|
11
12
|
stopTime: IPublicStopTimeCacheDto | null;
|
package/dist/output-gateway/pid/service/transformations/TransferDepartureCacheTransformation.js
CHANGED
|
@@ -66,6 +66,7 @@ let TransferDepartureCacheTransformation = class TransferDepartureCacheTransform
|
|
|
66
66
|
headsign: HeadsignFormatter_1.HeadsignFormatter.format(departure.trip_headsign),
|
|
67
67
|
id: departure.trip_id,
|
|
68
68
|
is_wheelchair_accessible: departure.is_wheelchair_accessible ?? null,
|
|
69
|
+
is_guaranteed_transfer: departure.is_guaranteed_transfer ?? false,
|
|
69
70
|
},
|
|
70
71
|
icons: TransferBoardIconsResolver_1.TransferBoardIconsResolver.headsignToIconsList(data.departure.trip_headsign_icons, departure.route_type, null),
|
|
71
72
|
substitution_text: null,
|
package/dist/output-gateway/pid/service/transformations/TransferDepartureCacheTransformation.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TransferDepartureCacheTransformation.js","sourceRoot":"","sources":["../../../../../src/output-gateway/pid/service/transformations/TransferDepartureCacheTransformation.ts"],"names":[],"mappings":";;;;;;;;;AAAA,uEAA4D;AAC5D,yFAAwF;AAGxF,4CAAuE;AACvE,6GAA0G;AAC1G,iEAAgE;AAChE,oEAAiE;AAG1D,IAAM,oCAAoC,GAA1C,MAAM,oCAAqC,SAAQ,+CAGzD;IAHM;;QAII,SAAI,GAAG,sCAAsC,CAAC;QAE9C,mBAAc,GAAG,CAAC,IAA8B,EAAmC,EAAE;YACxF,MAAM,UAAU,GAA+C,IAAI,GAAG,EAAE,CAAC;YACzE,MAAM,mBAAmB,GAAwB,IAAI,GAAG,EAAE,CAAC;YAC3D,MAAM,gBAAgB,GAAwB,IAAI,GAAG,EAAE,CAAC;YACxD,MAAM,GAAG,GAAoC,EAAE,CAAC;YAEhD,KAAK,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,IAAI,EAAE,CAAC;gBACnD,IAAI,SAAS,CAAC,UAAU,KAAK,kCAAiB,CAAC,KAAK,EAAE,CAAC;oBACnD,MAAM,wBAAwB,GAAG,GAAG,SAAS,CAAC,gBAAgB,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC;oBACtF,MAAM,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;oBACrD,IAAI,GAAG,EAAE,CAAC;wBACN,IAAI,GAAG,CAAC,mBAAmB,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;4BAC9C,SAAS;wBACb,CAAC;wBACD,GAAG,CAAC,mBAAmB,CAAC,OAAO,CAAC,IAAI,CAChC,IAAI,CAAC,yBAAyB,CAAC,SAAS,CAAC,sBAA8B,CAAC,CAC3E,CAAC;wBACF,UAAU,CAAC,GAAG,CAAC,wBAAwB,EAAE,GAAG,CAAC,CAAC;oBAClD,CAAC;yBAAM,CAAC;wBACJ,UAAU,CAAC,GAAG,CAAC,wBAAwB,EAAE,IAAI,CAAC,iBAAiB,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;oBACxG,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACJ,MAAM,iBAAiB,GAAG,IAAI,CAAC,oBAAoB,CAAC,SAAS,EAAE,QAAQ,EAAE,gBAAgB,CAAC,CAAC;oBAC3F,MAAM,YAAY,GAAG,mBAAmB,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;oBAErE,IAAI,YAAY,IAAI,CAAC,EAAE,CAAC;wBACpB,SAAS;oBACb,CAAC;oBAED,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;oBACpE,mBAAmB,CAAC,GAAG,CAAC,iBAAiB,EAAE,YAAY,GAAG,CAAC,CAAC,CAAC;gBACjE,CAAC;YACL,CAAC;YAED,OAAO,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC;QACxD,CAAC,CAAC;QAEQ,sBAAiB,GAAG,CAAC,IAA4B,EAAE,EAAE;YAC3D,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;YAC3B,OAAO;gBACH,mBAAmB,EAAE;oBACjB,OAAO,EAAE,CAAC,IAAI,CAAC,yBAAyB,CAAC,SAAS,CAAC,sBAA8B,CAAC,CAAC;iBACtF;gBACD,KAAK,EAAE;oBACH,UAAU,EAAE,SAAS,CAAC,gBAAgB;oBACtC,IAAI,EAAE,SAAS,CAAC,UAAU;iBAC7B;gBACD,IAAI,EAAE;oBACF,aAAa,EAAE,6BAAoB,CAAC,oBAAoB,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC;iBAC1F;gBACD,IAAI,EAAE;oBACF,QAAQ,EAAE,qCAAiB,CAAC,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC;oBAC3D,EAAE,EAAE,SAAS,CAAC,OAAO;oBACrB,wBAAwB,EAAE,SAAS,CAAC,wBAAwB,IAAI,IAAI;
|
|
1
|
+
{"version":3,"file":"TransferDepartureCacheTransformation.js","sourceRoot":"","sources":["../../../../../src/output-gateway/pid/service/transformations/TransferDepartureCacheTransformation.ts"],"names":[],"mappings":"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"}
|
|
@@ -301,6 +301,7 @@ flowchart TD
|
|
|
301
301
|
- Jednou za hodinu se vygenerují nové odjezdy pro všechny zastávky v intervalu +5 hodin až +7 hodin, po přenačtení JŘ se přegenerují všechny odjezdy v interval -3 hodiny až +7 hodin
|
|
302
302
|
- Ukládá se pomocí `ZADD`, čte se pomocí `ZRANGEBYSCORE` (-inf, now + `minutesAfter`)
|
|
303
303
|
- Využití v public odjezdech
|
|
304
|
+
- Využití v endpointu přestupních tabulí
|
|
304
305
|
|
|
305
306
|
### Flowchart (refresh)
|
|
306
307
|
|
package/docs/openapi-output.yaml
CHANGED
|
@@ -1032,6 +1032,11 @@ paths:
|
|
|
1032
1032
|
schema:
|
|
1033
1033
|
type: string
|
|
1034
1034
|
example: public, s-maxage=5, stale-while-revalidate=5
|
|
1035
|
+
X-Golemio-Preset-Metadata:
|
|
1036
|
+
description: Preset metadata indicating air condition possibility (1=possible, 0=not possible)
|
|
1037
|
+
schema:
|
|
1038
|
+
type: string
|
|
1039
|
+
example: airConditionPossible=1
|
|
1035
1040
|
content:
|
|
1036
1041
|
application/json:
|
|
1037
1042
|
schema:
|
|
@@ -1457,6 +1462,7 @@ paths:
|
|
|
1457
1462
|
- stop_name
|
|
1458
1463
|
- departures
|
|
1459
1464
|
- infotexts
|
|
1465
|
+
- icons
|
|
1460
1466
|
properties:
|
|
1461
1467
|
platform_code:
|
|
1462
1468
|
type: string
|
|
@@ -1482,7 +1488,9 @@ paths:
|
|
|
1482
1488
|
required:
|
|
1483
1489
|
- departure_timestamp
|
|
1484
1490
|
- route
|
|
1491
|
+
- stop
|
|
1485
1492
|
- trip
|
|
1493
|
+
- icons
|
|
1486
1494
|
properties:
|
|
1487
1495
|
departure_timestamp:
|
|
1488
1496
|
type: object
|
|
@@ -1493,8 +1501,9 @@ paths:
|
|
|
1493
1501
|
type: array
|
|
1494
1502
|
items:
|
|
1495
1503
|
type: string
|
|
1496
|
-
nullable:
|
|
1504
|
+
nullable: false
|
|
1497
1505
|
example: ["<1", "8"]
|
|
1506
|
+
minItems: 1
|
|
1498
1507
|
route:
|
|
1499
1508
|
type: object
|
|
1500
1509
|
required:
|
|
@@ -1504,11 +1513,11 @@ paths:
|
|
|
1504
1513
|
short_name:
|
|
1505
1514
|
type: string
|
|
1506
1515
|
example: "B"
|
|
1507
|
-
nullable:
|
|
1516
|
+
nullable: false
|
|
1508
1517
|
type:
|
|
1509
1518
|
type: number
|
|
1510
1519
|
example: 1
|
|
1511
|
-
nullable:
|
|
1520
|
+
nullable: false
|
|
1512
1521
|
stop:
|
|
1513
1522
|
type: object
|
|
1514
1523
|
required:
|
|
@@ -1524,6 +1533,7 @@ paths:
|
|
|
1524
1533
|
- headsign
|
|
1525
1534
|
- id
|
|
1526
1535
|
- is_wheelchair_accessible
|
|
1536
|
+
- is_guaranteed_transfer
|
|
1527
1537
|
properties:
|
|
1528
1538
|
headsign:
|
|
1529
1539
|
type: string
|
|
@@ -1538,6 +1548,12 @@ paths:
|
|
|
1538
1548
|
is_wheelchair_accessible:
|
|
1539
1549
|
type: boolean
|
|
1540
1550
|
description: True if the vehicle being used on this trip is wheelchair accessible. Metro trips are deemed accessible if the station is accessible.
|
|
1551
|
+
nullable: true
|
|
1552
|
+
example: false
|
|
1553
|
+
is_guaranteed_transfer:
|
|
1554
|
+
type: boolean
|
|
1555
|
+
nullable: false
|
|
1556
|
+
description: True if the transfer is marked as guaranteed and it can be waiting for current arriving trip identified in request query parameters.
|
|
1541
1557
|
example: false
|
|
1542
1558
|
icons:
|
|
1543
1559
|
$ref: "#/components/schemas/Icons"
|
|
@@ -2951,10 +2967,11 @@ components:
|
|
|
2951
2967
|
|
|
2952
2968
|
Icons:
|
|
2953
2969
|
type: array
|
|
2954
|
-
example: ["metro"]
|
|
2970
|
+
example: ["metro", "c"]
|
|
2971
|
+
minItems: 0
|
|
2955
2972
|
items:
|
|
2956
2973
|
type: string
|
|
2957
|
-
nullable:
|
|
2974
|
+
nullable: false
|
|
2958
2975
|
enum:
|
|
2959
2976
|
- metro
|
|
2960
2977
|
- tram
|