@golemio/pid 5.7.4-dev.2392704615 → 5.7.4-dev.2396143256
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/example/20_jis_infotexts.sql +36 -0
- package/dist/helpers/DateTimeUtils.d.ts +12 -1
- package/dist/helpers/DateTimeUtils.js +23 -1
- package/dist/helpers/DateTimeUtils.js.map +1 -1
- package/dist/output-gateway/pid/data-access/JISInfotextRepository.js +13 -1
- package/dist/output-gateway/pid/data-access/JISInfotextRepository.js.map +1 -1
- package/dist/output-gateway/pid/domain/InfotextInterfaces.d.ts +4 -0
- package/dist/output-gateway/pid/service/facade/InfotextFacade.d.ts +1 -0
- package/dist/output-gateway/pid/service/facade/InfotextFacade.js +25 -7
- package/dist/output-gateway/pid/service/facade/InfotextFacade.js.map +1 -1
- package/dist/output-gateway/pid/service/transformations/JISInfotextOverviewTransformation.d.ts +4 -0
- package/dist/output-gateway/pid/service/transformations/JISInfotextOverviewTransformation.js +4 -0
- package/dist/output-gateway/pid/service/transformations/JISInfotextOverviewTransformation.js.map +1 -1
- package/dist/output-gateway/public/service/transformations/scopes/PublicVPTripStopTimesTransformation.js +2 -2
- package/dist/output-gateway/public/service/transformations/scopes/PublicVPTripStopTimesTransformation.js.map +1 -1
- package/docs/openapi-output.yaml +22 -0
- package/package.json +1 -1
|
@@ -122,3 +122,39 @@ INSERT INTO jis_infotexts(id, severity_level, display_type, active_period_start,
|
|
|
122
122
|
INSERT INTO jis_infotexts_ropidgtfs_stops(infotext_id, stop_id, created_at, updated_at)
|
|
123
123
|
VALUES ('cdcc2d15-2cdc-4205-b82a-5cc819a79738', 'U142Z301', '2024-04-19 09:00:00+02', now() + interval '1 day');
|
|
124
124
|
|
|
125
|
+
-- 16 (repeat enabled example)
|
|
126
|
+
INSERT INTO jis_infotexts(id, severity_level, display_type, active_period_start, active_period_end, repeat_enabled, repeat_time_start, repeat_time_end, description_text, created_at, updated_at)
|
|
127
|
+
VALUES ('f1a2b3c4-d5e6-4890-abcd-ef1234567890', 'INFO', 'GENERAL', '2024-04-01 00:00:00.000+02', NULL, true, '23:00:00', '04:30:00', '{"cs": "Noční omezení provozu. Část linek nejezdí mezi 23:00 a 4:30.", "en": "Night service restrictions. Some lines do not operate between 23:00 and 4:30."}', '2024-04-01 10:00:00.000', now());
|
|
128
|
+
|
|
129
|
+
INSERT INTO jis_infotexts_ropidgtfs_stops(infotext_id, stop_id, created_at, updated_at)
|
|
130
|
+
VALUES ('f1a2b3c4-d5e6-4890-abcd-ef1234567890', 'U1040Z101P', '2024-04-19 09:00:00+02', now() + interval '1 day'),
|
|
131
|
+
('f1a2b3c4-d5e6-4890-abcd-ef1234567890', 'U1040Z102P', '2024-04-19 09:00:00+02', now() + interval '1 day');
|
|
132
|
+
|
|
133
|
+
-- 17 (repeat enabled daytime - for U873Z1P; hidden at 01:36 Prague, outside 09:00–20:00)
|
|
134
|
+
INSERT INTO jis_infotexts(id, severity_level, display_type, active_period_start, active_period_end, repeat_enabled, repeat_time_start, repeat_time_end, description_text, created_at, updated_at)
|
|
135
|
+
VALUES ('a1b2c3d4-e5f6-4789-8abc-def012345678', 'SEVERE', 'INLINE', '2024-04-01 00:00:00.000+02', NULL, true, '09:00:00', '20:00:00', '{"cs": "Denní omezení provozu na lince 12.", "en": "Daytime service restriction on line 12."}', '2024-04-01 10:00:00.000', now());
|
|
136
|
+
|
|
137
|
+
INSERT INTO jis_infotexts_ropidgtfs_stops(infotext_id, stop_id, created_at, updated_at)
|
|
138
|
+
VALUES ('a1b2c3d4-e5f6-4789-8abc-def012345678', 'U873Z1P', '2024-04-19 09:00:00+02', now() + interval '1 day');
|
|
139
|
+
|
|
140
|
+
-- 18 (repeat enabled overnight - for U873Z1P; visible at 01:36 Prague, inside 23:00–05:00)
|
|
141
|
+
INSERT INTO jis_infotexts(id, severity_level, display_type, active_period_start, active_period_end, repeat_enabled, repeat_time_start, repeat_time_end, description_text, created_at, updated_at)
|
|
142
|
+
VALUES ('b2c3d4e5-f6a7-4890-9bcd-ef0123456789', 'SEVERE', 'INLINE', '2024-04-01 00:00:00.000+02', NULL, true, '23:00:00', '05:00:00', '{"cs": "Noční omezení provozu na lince 12.", "en": "Night service restriction on line 12."}', '2024-04-01 10:00:00.000', now());
|
|
143
|
+
|
|
144
|
+
INSERT INTO jis_infotexts_ropidgtfs_stops(infotext_id, stop_id, created_at, updated_at)
|
|
145
|
+
VALUES ('b2c3d4e5-f6a7-4890-9bcd-ef0123456789', 'U873Z1P', '2024-04-19 09:00:00+02', now() + interval '1 day');
|
|
146
|
+
|
|
147
|
+
-- 19 (repeat enabled overnight - for U142Z301 / Praha hl.n.; visible at 01:36 Prague, inside 23:00–05:00)
|
|
148
|
+
INSERT INTO jis_infotexts(id, severity_level, display_type, active_period_start, active_period_end, repeat_enabled, repeat_time_start, repeat_time_end, description_text, created_at, updated_at)
|
|
149
|
+
VALUES ('c3d4e5f6-a7b8-4901-acde-f01234567890', 'SEVERE', 'INLINE', '2024-04-01 00:00:00.000+02', NULL, true, '23:00:00', '05:00:00', '{"cs": "Noční omezení provozu ve stanici Praha hl.n.", "en": "Night service restriction at Praha hl.n. station."}', '2024-04-01 10:00:00.000', now());
|
|
150
|
+
|
|
151
|
+
INSERT INTO jis_infotexts_ropidgtfs_stops(infotext_id, stop_id, created_at, updated_at)
|
|
152
|
+
VALUES ('c3d4e5f6-a7b8-4901-acde-f01234567890', 'U142Z301', '2024-04-19 09:00:00+02', now() + interval '1 day');
|
|
153
|
+
|
|
154
|
+
-- 20 (repeat enabled daytime - for U142Z301 / Praha hl.n.; visible at 14:35 Prague, inside 09:00–20:00)
|
|
155
|
+
INSERT INTO jis_infotexts(id, severity_level, display_type, active_period_start, active_period_end, repeat_enabled, repeat_time_start, repeat_time_end, description_text, created_at, updated_at)
|
|
156
|
+
VALUES ('d4e5f6a7-b8c9-4012-bdef-012345678901', 'SEVERE', 'INLINE', '2024-04-01 00:00:00.000+02', NULL, true, '09:00:00', '20:00:00', '{"cs": "Denní omezení provozu ve stanici Praha hl.n.", "en": "Daytime service restriction at Praha hl.n. station."}', '2024-04-01 10:00:00.000', now());
|
|
157
|
+
|
|
158
|
+
INSERT INTO jis_infotexts_ropidgtfs_stops(infotext_id, stop_id, created_at, updated_at)
|
|
159
|
+
VALUES ('d4e5f6a7-b8c9-4012-bdef-012345678901', 'U142Z301', '2024-04-19 09:00:00+02', now() + interval '1 day');
|
|
160
|
+
|
|
@@ -48,7 +48,18 @@ export declare class DateTimeUtils {
|
|
|
48
48
|
*
|
|
49
49
|
* @param stopTime The stop time to format
|
|
50
50
|
*/
|
|
51
|
-
static
|
|
51
|
+
static toLocalTimeFormat(stopTime: Date): string;
|
|
52
|
+
/**
|
|
53
|
+
* Check whether a formatted time-of-day falls within a daily repeat time window.
|
|
54
|
+
*
|
|
55
|
+
* When start < end the window is a normal daytime range (e.g. 08:00–20:00).
|
|
56
|
+
* When start ≥ end the window wraps around midnight (e.g. 23:00–04:30).
|
|
57
|
+
*
|
|
58
|
+
* @param start Window start in HH:mm:ss (Europe/Prague); returns true when null/undefined
|
|
59
|
+
* @param end Window end in HH:mm:ss (Europe/Prague); returns true when null/undefined
|
|
60
|
+
* @param currentTime Current time of day in HH:mm:ss — obtain once via {@link toLocalTimeFormat}
|
|
61
|
+
*/
|
|
62
|
+
static isInRepeatTimeWindow(start: string | null | undefined, end: string | null | undefined, currentTime: string): boolean;
|
|
52
63
|
/**
|
|
53
64
|
* Get hours, minutes, and seconds from a given time
|
|
54
65
|
*
|
|
@@ -60,9 +60,31 @@ class DateTimeUtils {
|
|
|
60
60
|
*
|
|
61
61
|
* @param stopTime The stop time to format
|
|
62
62
|
*/
|
|
63
|
-
static
|
|
63
|
+
static toLocalTimeFormat(stopTime) {
|
|
64
64
|
return _a.stopTimeFormatter.format(stopTime);
|
|
65
65
|
}
|
|
66
|
+
/**
|
|
67
|
+
* Check whether a formatted time-of-day falls within a daily repeat time window.
|
|
68
|
+
*
|
|
69
|
+
* When start < end the window is a normal daytime range (e.g. 08:00–20:00).
|
|
70
|
+
* When start ≥ end the window wraps around midnight (e.g. 23:00–04:30).
|
|
71
|
+
*
|
|
72
|
+
* @param start Window start in HH:mm:ss (Europe/Prague); returns true when null/undefined
|
|
73
|
+
* @param end Window end in HH:mm:ss (Europe/Prague); returns true when null/undefined
|
|
74
|
+
* @param currentTime Current time of day in HH:mm:ss — obtain once via {@link toLocalTimeFormat}
|
|
75
|
+
*/
|
|
76
|
+
static isInRepeatTimeWindow(start, end, currentTime) {
|
|
77
|
+
if (!start || !end) {
|
|
78
|
+
return true;
|
|
79
|
+
}
|
|
80
|
+
if (start < end) {
|
|
81
|
+
return currentTime >= start && currentTime <= end;
|
|
82
|
+
}
|
|
83
|
+
else {
|
|
84
|
+
// Overnight: window wraps around midnight
|
|
85
|
+
return currentTime >= start || currentTime <= end;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
66
88
|
/**
|
|
67
89
|
* Get hours, minutes, and seconds from a given time
|
|
68
90
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DateTimeUtils.js","sourceRoot":"","sources":["../../src/helpers/DateTimeUtils.ts"],"names":[],"mappings":";;;;;;;AAAA,2DAA2D;AAC3D,gGAA+D;AAE/D,MAAa,aAAa;IActB;;OAEG;IACI,MAAM,CAAC,kBAAkB,CAAC,YAAoB;QACjD,OAAO,gBAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,EAAa,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,EAAa,CAAC,gBAAgB,CAAC,CAAC;IACnH,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,mBAAmB,CAAC,YAAY,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACrE,OAAO,gBAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,EAAa,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,EAAa,CAAC,WAAW,CAAC,CAAC;IAC9G,CAAC;IAsBM,MAAM,CAAC,4BAA4B,CAAC,QAAyB,EAAE,mBAA2B;QAC7F,MAAM,EACF,KAAK,EAAE,aAAa,EACpB,OAAO,EAAE,eAAe,EACxB,OAAO,EAAE,eAAe,GAC3B,GAAG,EAAa,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;QAC5C,MAAM,gBAAgB,GAAG,yBAAM,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,EAAE,CAAC,EAAa,CAAC,QAAQ,CAAC,CAAC;QACpF,MAAM,WAAW,GAAG,aAAa,IAAI,EAAE,CAAC;QACxC,MAAM,qBAAqB,GAAG,gBAAgB,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC;QAC5D,MAAM,gCAAgC,GAAG,WAAW,IAAI,qBAAqB,CAAC;QAC9E,gBAAgB,CAAC,QAAQ,CAAC,gCAAgC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;QAC5E,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACjE,gBAAgB,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QACvC,gBAAgB,CAAC,GAAG,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC,GAAG,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC,GAAG,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;QAC7G,OAAO,gBAAgB,CAAC,MAAM,EAAE,CAAC;IACrC,CAAC;IAED;;;;;;;;;OASG;IACI,MAAM,CAAC,0BAA0B,CAAC,iBAAyB,EAAE,iBAA0B;QAC1F,IAAI,cAA6B,CAAC;QAClC,IAAI,iBAAiB,EAAE,CAAC;YACpB,cAAc,GAAG,IAAA,yBAAM,EAAC,iBAAiB,CAAC,CAAC,EAAE,CAAC,EAAa,CAAC,QAAQ,CAAC,CAAC;QAC1E,CAAC;aAAM,CAAC;YACJ,cAAc,GAAG,IAAA,yBAAM,GAAE,CAAC,EAAE,CAAC,EAAa,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACxE,CAAC;QACD,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAC/D,cAAc,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QACrC,cAAc,CAAC,GAAG,CAAC,iBAAiB,EAAE,SAAS,CAAC,CAAC;QACjD,OAAO,cAAc,CAAC,MAAM,EAAE,CAAC;IACnC,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"DateTimeUtils.js","sourceRoot":"","sources":["../../src/helpers/DateTimeUtils.ts"],"names":[],"mappings":"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"}
|
|
@@ -71,7 +71,16 @@ let JISInfotextRepository = class JISInfotextRepository extends AbstractBasicRep
|
|
|
71
71
|
async findAllForDepartureBoard(stopsIds, timeFrom = new Date()) {
|
|
72
72
|
try {
|
|
73
73
|
return await this.sequelizeModel.findAll({
|
|
74
|
-
attributes: [
|
|
74
|
+
attributes: [
|
|
75
|
+
"display_type",
|
|
76
|
+
"active_period_start",
|
|
77
|
+
"active_period_end",
|
|
78
|
+
"description_text",
|
|
79
|
+
"severity_level",
|
|
80
|
+
"repeat_enabled",
|
|
81
|
+
"repeat_time_start",
|
|
82
|
+
"repeat_time_end",
|
|
83
|
+
],
|
|
75
84
|
where: {
|
|
76
85
|
active_period_start: { [sequelize_1.Op.lte]: timeFrom },
|
|
77
86
|
active_period_end: { [sequelize_1.Op.or]: [{ [sequelize_1.Op.gte]: timeFrom }, { [sequelize_1.Op.is]: null }] },
|
|
@@ -122,6 +131,9 @@ let JISInfotextRepository = class JISInfotextRepository extends AbstractBasicRep
|
|
|
122
131
|
"active_period_end",
|
|
123
132
|
"description_text",
|
|
124
133
|
"severity_level",
|
|
134
|
+
"repeat_enabled",
|
|
135
|
+
"repeat_time_start",
|
|
136
|
+
"repeat_time_end",
|
|
125
137
|
],
|
|
126
138
|
where,
|
|
127
139
|
include: [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"JISInfotextRepository.js","sourceRoot":"","sources":["../../../../src/output-gateway/pid/data-access/JISInfotextRepository.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,yEAAoE;AACpE,6DAAuC;AACvC,gGAAsE;AAGtE,kIAA+H;AAC/H,wEAAqE;AACrE,6EAAwE;AACxE,mEAAoF;AACpF,iEAAwE;AACxE,kDAA+C;AAC/C,+FAA4F;AAGrF,IAAM,qBAAqB,GAA3B,MAAM,qBAAsB,SAAQ,iDAAuB;IAM9D,YAC4D,sBAA2D,EAC9E,SAA6B,EACxC,MAAe;QAEzC,KAAK,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAVtB,WAAM,GAAG,iBAAS,CAAC;QACnB,cAAS,GAAG,qCAAiB,CAAC,SAAS,CAAC;QAU3C,IAAI,CAAC,cAAc,GAAG,SAAS;aAC1B,aAAa,EAAE;aACf,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,qCAAiB,CAAC,cAAc,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;QAE1G,IAAI,CAAC,kBAAkB,GAAG,IAAI,6BAAa,EAAE,CAAC;QAE9C,eAAe;QACf,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,IAAI,CAAC,kBAAkB,CAAC,cAAc,EAAE;YACtE,OAAO,EAAE,sBAAsB,CAAC,cAAc;YAC9C,UAAU,EAAE,aAAa;YACzB,QAAQ,EAAE,SAAS;YACnB,EAAE,EAAE,OAAO;SACd,CAAC,CAAC;QACH,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,aAAa,CAAC,IAAI,CAAC,cAAc,EAAE;YACtE,OAAO,EAAE,sBAAsB,CAAC,cAAc;YAC9C,UAAU,EAAE,SAAS;YACrB,QAAQ,EAAE,aAAa;SAC1B,CAAC,CAAC;QACH,sBAAsB,CAAC,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,EAAE;YACjE,SAAS,EAAE,IAAI;YACf,UAAU,EAAE,aAAa;SAC5B,CAAC,CAAC;QACH,sBAAsB,CAAC,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,kBAAkB,CAAC,cAAc,EAAE;YACpF,SAAS,EAAE,SAAS;YACpB,UAAU,EAAE,SAAS;SACxB,CAAC,CAAC;QACH,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,sBAAsB,CAAC,cAAc,EAAE;YAC/D,SAAS,EAAE,IAAI;YACf,UAAU,EAAE,aAAa;SAC5B,CAAC,CAAC;QACH,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,OAAO,CAAC,sBAAsB,CAAC,cAAc,EAAE;YAClF,SAAS,EAAE,SAAS;YACpB,UAAU,EAAE,SAAS;SACxB,CAAC,CAAC;IACP,CAAC;IAED;;;;;;OAMG;IACI,KAAK,CAAC,wBAAwB,CAAC,QAAkB,EAAE,QAAQ,GAAG,IAAI,IAAI,EAAE;QAC3E,IAAI,CAAC;YACD,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC;gBACrC,UAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"JISInfotextRepository.js","sourceRoot":"","sources":["../../../../src/output-gateway/pid/data-access/JISInfotextRepository.ts"],"names":[],"mappings":"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"}
|
|
@@ -21,4 +21,5 @@ export declare class InfotextFacade {
|
|
|
21
21
|
getInfotextsForTransferBoards(stopIds: string[], currentMoment: Moment, timeFrom: Moment | null): Promise<IInfotextTransferOutputDto[]>;
|
|
22
22
|
getInfotextsForOverview(includeFuture: boolean): Promise<IInfotextOverviewOutputDto[]>;
|
|
23
23
|
getInfotextsCache(stopIds: string[], currentMoment: Date, timeFrom: Date | null): Promise<IV4InfotextTransferOutputDto[]>;
|
|
24
|
+
private filterInfotexts;
|
|
24
25
|
}
|
|
@@ -17,6 +17,7 @@ const JISInfotextsRedisRepository_1 = require("../../../jis/data-access/cache/JI
|
|
|
17
17
|
const JISInfotextRepository_1 = require("../../data-access/JISInfotextRepository");
|
|
18
18
|
const JISInfotextStopSuppressionFilter_1 = require("../../helpers/JISInfotextStopSuppressionFilter");
|
|
19
19
|
const OgPidToken_1 = require("../../ioc/OgPidToken");
|
|
20
|
+
const DateTimeUtils_1 = require("../../../../helpers/DateTimeUtils");
|
|
20
21
|
const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
|
|
21
22
|
const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
|
|
22
23
|
const JISInfotextDepartureTransformation_1 = require("../transformations/JISInfotextDepartureTransformation");
|
|
@@ -35,11 +36,12 @@ let InfotextFacade = class InfotextFacade {
|
|
|
35
36
|
}
|
|
36
37
|
async getInfotextsForDepartureBoards(stopIds, currentMoment, options) {
|
|
37
38
|
try {
|
|
38
|
-
const
|
|
39
|
+
const nowDate = (options.timeFrom ?? currentMoment).toDate();
|
|
40
|
+
const infotexts = await this.infotextRepository.findAllForDepartureBoard(stopIds, nowDate);
|
|
39
41
|
if (infotexts.length === 0) {
|
|
40
42
|
return [];
|
|
41
43
|
}
|
|
42
|
-
const filteredInfotexts = this.
|
|
44
|
+
const filteredInfotexts = this.filterInfotexts(infotexts, nowDate);
|
|
43
45
|
if (filteredInfotexts.length === 0) {
|
|
44
46
|
return [];
|
|
45
47
|
}
|
|
@@ -62,11 +64,12 @@ let InfotextFacade = class InfotextFacade {
|
|
|
62
64
|
}
|
|
63
65
|
async getInfotextsForTransferBoards(stopIds, currentMoment, timeFrom) {
|
|
64
66
|
try {
|
|
65
|
-
const
|
|
67
|
+
const nowDate = (timeFrom ?? currentMoment).toDate();
|
|
68
|
+
const infotexts = await this.infotextRepository.findAllForDepartureBoard(stopIds, nowDate);
|
|
66
69
|
if (infotexts.length === 0) {
|
|
67
70
|
return [];
|
|
68
71
|
}
|
|
69
|
-
const filteredInfotexts = this.
|
|
72
|
+
const filteredInfotexts = this.filterInfotexts(infotexts, nowDate);
|
|
70
73
|
if (filteredInfotexts.length === 0) {
|
|
71
74
|
return [];
|
|
72
75
|
}
|
|
@@ -84,7 +87,7 @@ let InfotextFacade = class InfotextFacade {
|
|
|
84
87
|
if (infotexts.length === 0) {
|
|
85
88
|
return [];
|
|
86
89
|
}
|
|
87
|
-
const filteredInfotexts = this.
|
|
90
|
+
const filteredInfotexts = this.filterInfotexts(infotexts, new Date(), includeFuture);
|
|
88
91
|
if (filteredInfotexts.length === 0) {
|
|
89
92
|
return [];
|
|
90
93
|
}
|
|
@@ -99,11 +102,12 @@ let InfotextFacade = class InfotextFacade {
|
|
|
99
102
|
}
|
|
100
103
|
async getInfotextsCache(stopIds, currentMoment, timeFrom) {
|
|
101
104
|
try {
|
|
102
|
-
const
|
|
105
|
+
const nowDate = timeFrom ?? currentMoment;
|
|
106
|
+
const infotexts = await this.infotextsRedisRepository.getActiveStopsInfotexts(stopIds, nowDate);
|
|
103
107
|
if (infotexts.length === 0) {
|
|
104
108
|
return [];
|
|
105
109
|
}
|
|
106
|
-
const filteredInfotexts = this.
|
|
110
|
+
const filteredInfotexts = this.filterInfotexts(infotexts, nowDate);
|
|
107
111
|
if (filteredInfotexts.length === 0) {
|
|
108
112
|
return [];
|
|
109
113
|
}
|
|
@@ -115,6 +119,20 @@ let InfotextFacade = class InfotextFacade {
|
|
|
115
119
|
throw new golemio_errors_1.GeneralError("Failed to retrieve infotexts for V4 transfer boards", this.constructor.name, error, 500);
|
|
116
120
|
}
|
|
117
121
|
}
|
|
122
|
+
filterInfotexts(list, now, includeFuture = false) {
|
|
123
|
+
const currentTime = DateTimeUtils_1.DateTimeUtils.toLocalTimeFormat(now);
|
|
124
|
+
const repeatFiltered = list.filter((infotext) => {
|
|
125
|
+
if (!infotext.repeat_enabled) {
|
|
126
|
+
return true;
|
|
127
|
+
}
|
|
128
|
+
if (includeFuture) {
|
|
129
|
+
// With includeFuture=true the infotext will be shown at some point in its repeat window
|
|
130
|
+
return true;
|
|
131
|
+
}
|
|
132
|
+
return DateTimeUtils_1.DateTimeUtils.isInRepeatTimeWindow(infotext.repeat_time_start, infotext.repeat_time_end, currentTime);
|
|
133
|
+
});
|
|
134
|
+
return this.infotextStopFilter.filterBySeverityLevel(repeatFiltered);
|
|
135
|
+
}
|
|
118
136
|
};
|
|
119
137
|
exports.InfotextFacade = InfotextFacade;
|
|
120
138
|
exports.InfotextFacade = InfotextFacade = __decorate([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InfotextFacade.js","sourceRoot":"","sources":["../../../../../src/output-gateway/pid/service/facade/InfotextFacade.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,4GAAoG;AACpG,mFAAkF;AAOlF,qGAAoG;AACpG,qDAAoD;AAEpD,6EAA8F;AAE9F,iEAAwE;AACxE,8GAA2G;AAC3G,4GAAyG;AACzG,4GAAyG;AACzG,sHAAmH;AAG5G,IAAM,cAAc,GAApB,MAAM,cAAc;IACvB,YACsD,kBAAyC,EAEnF,+BAAmE,EAEnE,8BAAiE,EAEjE,8BAAiE,EACZ,kBAAoD,EACzD,wBAAqD,EAErG,2BAAmE;QAVzB,uBAAkB,GAAlB,kBAAkB,CAAuB;QAEnF,oCAA+B,GAA/B,+BAA+B,CAAoC;QAEnE,mCAA8B,GAA9B,8BAA8B,CAAmC;QAEjE,mCAA8B,GAA9B,8BAA8B,CAAmC;QACZ,uBAAkB,GAAlB,kBAAkB,CAAkC;QACzD,6BAAwB,GAAxB,wBAAwB,CAA6B;QAErG,gCAA2B,GAA3B,2BAA2B,CAAwC;IAC5E,CAAC;IAEG,KAAK,CAAC,8BAA8B,CACvC,OAAiB,EACjB,aAAqB,EACrB,OAA8B;QAE9B,IAAI,CAAC;YACD,MAAM,
|
|
1
|
+
{"version":3,"file":"InfotextFacade.js","sourceRoot":"","sources":["../../../../../src/output-gateway/pid/service/facade/InfotextFacade.ts"],"names":[],"mappings":"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"}
|
package/dist/output-gateway/pid/service/transformations/JISInfotextOverviewTransformation.js
CHANGED
|
@@ -30,6 +30,10 @@ let JISInfotextOverviewTransformation = class JISInfotextOverviewTransformation
|
|
|
30
30
|
})),
|
|
31
31
|
valid_from: shared_1.RopidRouterUtils.formatTimestamp(inputDto.active_period_start) ?? inputDto.active_period_start.toISOString(),
|
|
32
32
|
valid_to: shared_1.RopidRouterUtils.formatTimestamp(inputDto.active_period_end),
|
|
33
|
+
repeat: {
|
|
34
|
+
time_start: inputDto.repeat_enabled ? inputDto.repeat_time_start ?? null : null,
|
|
35
|
+
time_end: inputDto.repeat_enabled ? inputDto.repeat_time_end ?? null : null,
|
|
36
|
+
},
|
|
33
37
|
id: inputDto.id,
|
|
34
38
|
};
|
|
35
39
|
};
|
package/dist/output-gateway/pid/service/transformations/JISInfotextOverviewTransformation.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"JISInfotextOverviewTransformation.js","sourceRoot":"","sources":["../../../../../src/output-gateway/pid/service/transformations/JISInfotextOverviewTransformation.ts"],"names":[],"mappings":";;;;;;;;;AACA,4CAA8C;AAE9C,6GAA0G;AAC1G,iEAAgE;AAChE,oEAAiE;AACjE,8DAA2D;AAGpD,IAAM,iCAAiC,GAAvC,MAAM,iCAAkC,SAAQ,+CAAqE;IAArH;;QACI,SAAI,GAAG,mCAAmC,CAAC;QAExC,sBAAiB,GAAG,CAAC,QAA2B,EAAE,EAAE;YAC1D,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,IAAI,EAAE,CAAC;YACnC,OAAO;gBACH,QAAQ,EAAE,+BAAc,CAAC,wBAAwB,CAAC,QAAQ,CAAC,cAAc,CAAC;gBAC1E,YAAY,EAAE,qCAAiB,CAAC,2BAA2B,CAAC,QAAQ,CAAC,YAAY,CAAC;gBAClF,IAAI,EAAE,QAAQ,CAAC,gBAAgB,CAAC,EAAE;gBAClC,OAAO,EAAE,QAAQ,CAAC,gBAAgB,CAAC,EAAE,IAAI,IAAI;gBAC7C,aAAa,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;oBAChC,EAAE,EAAE,IAAI,CAAC,OAAO;oBAChB,IAAI,EAAE,IAAI,CAAC,SAAS;oBACpB,aAAa,EAAE,IAAI,CAAC,aAAa,IAAI,IAAI;iBAC5C,CAAC,CAAC;gBACH,UAAU,EACN,yBAAgB,CAAC,eAAe,CAAC,QAAQ,CAAC,mBAAmB,CAAC,IAAI,QAAQ,CAAC,mBAAmB,CAAC,WAAW,EAAE;gBAChH,QAAQ,EAAE,yBAAgB,CAAC,eAAe,CAAC,QAAQ,CAAC,iBAAiB,CAAC;gBACtE,EAAE,EAAE,QAAQ,CAAC,EAAE;aAClB,CAAC;QACN,CAAC,CAAC;IACN,CAAC;CAAA,CAAA;
|
|
1
|
+
{"version":3,"file":"JISInfotextOverviewTransformation.js","sourceRoot":"","sources":["../../../../../src/output-gateway/pid/service/transformations/JISInfotextOverviewTransformation.ts"],"names":[],"mappings":";;;;;;;;;AACA,4CAA8C;AAE9C,6GAA0G;AAC1G,iEAAgE;AAChE,oEAAiE;AACjE,8DAA2D;AAGpD,IAAM,iCAAiC,GAAvC,MAAM,iCAAkC,SAAQ,+CAAqE;IAArH;;QACI,SAAI,GAAG,mCAAmC,CAAC;QAExC,sBAAiB,GAAG,CAAC,QAA2B,EAAE,EAAE;YAC1D,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,IAAI,EAAE,CAAC;YACnC,OAAO;gBACH,QAAQ,EAAE,+BAAc,CAAC,wBAAwB,CAAC,QAAQ,CAAC,cAAc,CAAC;gBAC1E,YAAY,EAAE,qCAAiB,CAAC,2BAA2B,CAAC,QAAQ,CAAC,YAAY,CAAC;gBAClF,IAAI,EAAE,QAAQ,CAAC,gBAAgB,CAAC,EAAE;gBAClC,OAAO,EAAE,QAAQ,CAAC,gBAAgB,CAAC,EAAE,IAAI,IAAI;gBAC7C,aAAa,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;oBAChC,EAAE,EAAE,IAAI,CAAC,OAAO;oBAChB,IAAI,EAAE,IAAI,CAAC,SAAS;oBACpB,aAAa,EAAE,IAAI,CAAC,aAAa,IAAI,IAAI;iBAC5C,CAAC,CAAC;gBACH,UAAU,EACN,yBAAgB,CAAC,eAAe,CAAC,QAAQ,CAAC,mBAAmB,CAAC,IAAI,QAAQ,CAAC,mBAAmB,CAAC,WAAW,EAAE;gBAChH,QAAQ,EAAE,yBAAgB,CAAC,eAAe,CAAC,QAAQ,CAAC,iBAAiB,CAAC;gBACtE,MAAM,EAAE;oBACJ,UAAU,EAAE,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,QAAQ,CAAC,iBAAiB,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI;oBAC/E,QAAQ,EAAE,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,QAAQ,CAAC,eAAe,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI;iBAC9E;gBACD,EAAE,EAAE,QAAQ,CAAC,EAAE;aAClB,CAAC;QACN,CAAC,CAAC;IACN,CAAC;CAAA,CAAA;AAzBY,8EAAiC;4CAAjC,iCAAiC;IAD7C,IAAA,qBAAU,GAAE;GACA,iCAAiC,CAyB7C"}
|
|
@@ -17,8 +17,8 @@ class PublicVPTripStopTimesTransformation extends AbstractTransformation_1.Abstr
|
|
|
17
17
|
zone_id: stop.zone_id,
|
|
18
18
|
is_wheelchair_accessible: this.isStopWheelchairAccessible(stop),
|
|
19
19
|
shape_dist_traveled: stopTime.shape_dist_traveled,
|
|
20
|
-
arrival_time: DateTimeUtils_1.DateTimeUtils.
|
|
21
|
-
departure_time: DateTimeUtils_1.DateTimeUtils.
|
|
20
|
+
arrival_time: DateTimeUtils_1.DateTimeUtils.toLocalTimeFormat(DateTimeUtils_1.DateTimeUtils.getStopDateTimeForTripOrigin(stopTime.arrival_time_seconds, vehiclePosition.detailed_info.origin_timestamp)),
|
|
21
|
+
departure_time: DateTimeUtils_1.DateTimeUtils.toLocalTimeFormat(DateTimeUtils_1.DateTimeUtils.getStopDateTimeForTripOrigin(stopTime.departure_time_seconds, vehiclePosition.detailed_info.origin_timestamp)),
|
|
22
22
|
realtime_arrival_time: null, // later filled by realtime data
|
|
23
23
|
realtime_departure_time: null, // later filled by realtime data
|
|
24
24
|
lng: stop.stop_lon,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PublicVPTripStopTimesTransformation.js","sourceRoot":"","sources":["../../../../../../src/output-gateway/public/service/transformations/scopes/PublicVPTripStopTimesTransformation.ts"],"names":[],"mappings":";;;AAAA,kFAA6E;AAC7E,wEAAuD;AAIvD,6GAA0G;AAC1G,sEAAyF;AAOzF,MAAa,mCAAoC,SAAQ,+CAAoD;IAA7G;;QACW,SAAI,GAAG,6BAA6B,CAAC;QAElC,sBAAiB,GAAG,CAAC,EAAE,QAAQ,EAAE,eAAe,EAAe,EAAE,EAAE;YACzE,MAAM,EAAE,IAAI,EAAE,GAAG,QAAQ,CAAC;YAC1B,MAAM,UAAU,GAA6E;gBACzF,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,aAAa,EAAE,QAAQ,CAAC,aAAa;gBACrC,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,wBAAwB,EAAE,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC;gBAC/D,mBAAmB,EAAE,QAAQ,CAAC,mBAAmB;gBACjD,YAAY,EAAE,6BAAa,CAAC,
|
|
1
|
+
{"version":3,"file":"PublicVPTripStopTimesTransformation.js","sourceRoot":"","sources":["../../../../../../src/output-gateway/public/service/transformations/scopes/PublicVPTripStopTimesTransformation.ts"],"names":[],"mappings":";;;AAAA,kFAA6E;AAC7E,wEAAuD;AAIvD,6GAA0G;AAC1G,sEAAyF;AAOzF,MAAa,mCAAoC,SAAQ,+CAAoD;IAA7G;;QACW,SAAI,GAAG,6BAA6B,CAAC;QAElC,sBAAiB,GAAG,CAAC,EAAE,QAAQ,EAAE,eAAe,EAAe,EAAE,EAAE;YACzE,MAAM,EAAE,IAAI,EAAE,GAAG,QAAQ,CAAC;YAC1B,MAAM,UAAU,GAA6E;gBACzF,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,aAAa,EAAE,QAAQ,CAAC,aAAa;gBACrC,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,wBAAwB,EAAE,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC;gBAC/D,mBAAmB,EAAE,QAAQ,CAAC,mBAAmB;gBACjD,YAAY,EAAE,6BAAa,CAAC,iBAAiB,CACzC,6BAAa,CAAC,4BAA4B,CACtC,QAAQ,CAAC,oBAAoB,EAC7B,eAAe,CAAC,aAAa,CAAC,gBAAgB,CACjD,CACJ;gBACD,cAAc,EAAE,6BAAa,CAAC,iBAAiB,CAC3C,6BAAa,CAAC,4BAA4B,CACtC,QAAQ,CAAC,sBAAsB,EAC/B,eAAe,CAAC,aAAa,CAAC,gBAAgB,CACjD,CACJ;gBAED,qBAAqB,EAAE,IAAI,EAAE,gCAAgC;gBAC7D,uBAAuB,EAAE,IAAI,EAAE,gCAAgC;gBAC/D,GAAG,EAAE,IAAI,CAAC,QAAQ;gBAClB,GAAG,EAAE,IAAI,CAAC,QAAQ;aACrB,CAAC;YAEF,OAAO,IAAA,oCAAmB,EAAC,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;QAC/D,CAAC,CAAC;QAEM,+BAA0B,GAAG,CAAC,EAAE,mBAAmB,EAAS,EAAkB,EAAE;YACpF,IAAI,mBAAmB,KAAK,IAAI,IAAI,mBAAmB,KAAK,mDAA8B,CAAC,aAAa,EAAE,CAAC;gBACvG,OAAO,IAAI,CAAC;YAChB,CAAC;YAED,OAAO,mBAAmB,KAAK,mDAA8B,CAAC,iBAAiB,CAAC;QACpF,CAAC,CAAC;IACN,CAAC;CAAA;AAxCD,kFAwCC"}
|
package/docs/openapi-output.yaml
CHANGED
|
@@ -1232,6 +1232,7 @@ paths:
|
|
|
1232
1232
|
- priority
|
|
1233
1233
|
- related_stops
|
|
1234
1234
|
- id
|
|
1235
|
+
- repeat
|
|
1235
1236
|
properties:
|
|
1236
1237
|
priority:
|
|
1237
1238
|
type: string
|
|
@@ -1274,6 +1275,8 @@ paths:
|
|
|
1274
1275
|
format: uuid
|
|
1275
1276
|
description: VYMI (JIS) Infotexts identifier.
|
|
1276
1277
|
example: 40507cee-6468-488e-ba78-e36d9c20e67c
|
|
1278
|
+
repeat:
|
|
1279
|
+
$ref: "#/components/schemas/RepeatOnlyTimes"
|
|
1277
1280
|
"401":
|
|
1278
1281
|
$ref: "#/components/responses/UnauthorizedError"
|
|
1279
1282
|
"404":
|
|
@@ -2059,6 +2062,25 @@ components:
|
|
|
2059
2062
|
|
|
2060
2063
|
|
|
2061
2064
|
schemas:
|
|
2065
|
+
RepeatOnlyTimes:
|
|
2066
|
+
title: Repeat Only Times
|
|
2067
|
+
type: object
|
|
2068
|
+
description: Daily repeat schedule for the infotext.
|
|
2069
|
+
required:
|
|
2070
|
+
- time_start
|
|
2071
|
+
- time_end
|
|
2072
|
+
properties:
|
|
2073
|
+
time_start:
|
|
2074
|
+
type: string
|
|
2075
|
+
nullable: true
|
|
2076
|
+
description: Daily repeat window start time (HH:MM:SS, Europe/Prague). Null when repeat is disabled.
|
|
2077
|
+
example: "23:00:00"
|
|
2078
|
+
time_end:
|
|
2079
|
+
type: string
|
|
2080
|
+
nullable: true
|
|
2081
|
+
description: Daily repeat window end time (HH:MM:SS, Europe/Prague). When start >= end the window wraps around midnight. Null when repeat is disabled.
|
|
2082
|
+
example: "04:30:00"
|
|
2083
|
+
|
|
2062
2084
|
GTFSService:
|
|
2063
2085
|
title: GTFS Service
|
|
2064
2086
|
type: object
|