From db3b7bc73f1c37bac40797964ed37c50ecedbfb1 Mon Sep 17 00:00:00 2001 From: Daniel Langbein Date: Mon, 10 Apr 2023 10:44:51 +0200 Subject: [PATCH] feat: specify timezone by name without timezone-data --- app/component/DatetimepickerContainer.js | 2 +- app/configurations/config.default.js | 4 +--- app/util/configure-moment.js | 5 ++--- app/util/oldParamParser.js | 4 ++-- server/reittiopasParameterMiddleware.js | 2 +- test/unit/component/DateSelect.test.js | 4 +--- 6 files changed, 8 insertions(+), 13 deletions(-) diff --git a/app/component/DatetimepickerContainer.js b/app/component/DatetimepickerContainer.js index f08867ffc4..83024325cd 100644 --- a/app/component/DatetimepickerContainer.js +++ b/app/component/DatetimepickerContainer.js @@ -98,7 +98,7 @@ function DatetimepickerContainer( embedWhenOpen={embedWhenOpen} lang={lang} color={color} - timeZone={config.timezoneData.split('|')[0]} + timeZone={config.timezone} serviceTimeRange={context.config.itinerary.serviceTimeRange} fontWeights={config.fontWeights} onOpen={onOpen} diff --git a/app/configurations/config.default.js b/app/configurations/config.default.js index 809b526e38..ed91e8425f 100644 --- a/app/configurations/config.default.js +++ b/app/configurations/config.default.js @@ -226,9 +226,7 @@ export default { transferPenalty: 0, availableLanguages: ['fi', 'sv', 'en', 'fr', 'nb', 'de', 'da', 'es', 'ro'], defaultLanguage: 'en', - // This timezone data will expire in 2037 - timezoneData: - 'Europe/Helsinki|EET EEST|-20 -30|0101010101010101010101010101010101010|22k10 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|12e5', + timezone: 'Europe/Helsinki', allowLogin: false, allowFavouritesFromLocalstorage: true, diff --git a/app/util/configure-moment.js b/app/util/configure-moment.js index 9115b36fc6..82c84f55f4 100644 --- a/app/util/configure-moment.js +++ b/app/util/configure-moment.js @@ -5,9 +5,8 @@ import moment from 'moment-timezone/moment-timezone'; export default function configureMoment(language, config) { moment.locale(language); - if (config.timezoneData) { - moment.tz.add(config.timezoneData); - moment.tz.setDefault(config.timezoneData.split('|')[0]); + if (config.timezone) { + moment.tz.setDefault(config.timezone); } if (language !== 'en') { diff --git a/app/util/oldParamParser.js b/app/util/oldParamParser.js index f66c154b36..b1d59a3e3c 100644 --- a/app/util/oldParamParser.js +++ b/app/util/oldParamParser.js @@ -64,7 +64,7 @@ function parseLocation(location, input, config) { } function parseTime(query, config) { - const time = moment.tz(config.timezoneData.split('|')[0]); + const time = moment.tz(config.timezone); let hasTime; let timeStr = ''; @@ -100,7 +100,7 @@ function parseTime(query, config) { if (hasTime) { if (config.queryMaxAgeDays) { - const now = moment.tz(config.timezoneData.split('|')[0]); + const now = moment.tz(config.timezone); if (now.diff(time, 'days') < config.queryMaxAgeDays) { timeStr = `time=${time.unix()}`; } diff --git a/server/reittiopasParameterMiddleware.js b/server/reittiopasParameterMiddleware.js index 1ef44d0417..942786fcb8 100644 --- a/server/reittiopasParameterMiddleware.js +++ b/server/reittiopasParameterMiddleware.js @@ -28,7 +28,7 @@ export function validateParams(req, config) { let url; if (config.queryMaxAgeDays && req.query.time) { - const now = moment.tz(config.timezoneData.split('|')[0]).unix(); + const now = moment.tz(config.timezone).unix(); if (now - req.query.time > config.queryMaxAgeDays * 24 * 3600) { url = removeUrlParam(req, 'time'); } diff --git a/test/unit/component/DateSelect.test.js b/test/unit/component/DateSelect.test.js index 687e6960b5..114cfba952 100644 --- a/test/unit/component/DateSelect.test.js +++ b/test/unit/component/DateSelect.test.js @@ -47,9 +47,7 @@ describe('', () => { months: 11, }, }, - timezoneData: - 'Europe/Helsinki|EET EEST|-20 -30|01010101010101010101010|1BWp0 1qM0 WM0 1qM0 ' + - 'WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|35e5', + timezone: 'Europe/Helsinki', }; configureMoment('fi', configWithMoment);