From 3b625db2247d462a201b4ed1becbfdf5ca14b2df Mon Sep 17 00:00:00 2001 From: aelassas Date: Fri, 24 Jan 2025 12:25:00 +0100 Subject: [PATCH] Add timezone setting to api --- api/.env.docker.example | 1 + api/.env.example | 1 + api/src/config/env.config.ts | 9 +++++++++ api/src/controllers/bookingController.ts | 1 + api/src/lang/en.ts | 2 +- api/src/lang/fr.ts | 2 +- 6 files changed, 14 insertions(+), 2 deletions(-) diff --git a/api/.env.docker.example b/api/.env.docker.example index 5504f242..2f43cb97 100644 --- a/api/.env.docker.example +++ b/api/.env.docker.example @@ -35,3 +35,4 @@ MI_STRIPE_SESSION_EXPIRE_AT=82800 MI_ADMIN_EMAIL=admin@movinin.io MI_RECAPTCHA_SECRET=RECAPTCHA_SECRET MI_WEBSITE_NAME="Movin' In" +MI_TIMEZONE=UTC diff --git a/api/.env.example b/api/.env.example index d306e2a6..345b1b1f 100644 --- a/api/.env.example +++ b/api/.env.example @@ -35,3 +35,4 @@ MI_STRIPE_SESSION_EXPIRE_AT=82800 MI_ADMIN_EMAIL=admin@movinin.io MI_RECAPTCHA_SECRET=RECAPTCHA_SECRET MI_WEBSITE_NAME="Movin' In" +MI_TIMEZONE=UTC diff --git a/api/src/config/env.config.ts b/api/src/config/env.config.ts index c645fb4f..687faf07 100644 --- a/api/src/config/env.config.ts +++ b/api/src/config/env.config.ts @@ -293,6 +293,15 @@ export const MINIMUM_AGE = Number.parseInt(__env__('MI_MINIMUM_AGE', false, '21' */ export const EXPO_ACCESS_TOKEN = __env__('MI_EXPO_ACCESS_TOKEN', false) +/** + * Timezone for cenverting dates from UTC to local time. + * Must be a valid TZ idenfidier: https://en.wikipedia.org/wiki/List_of_tz_database_time_zones + * Default is UTC. + * + * @type {string} + */ +export const TIMEZONE = __env__('MI_TIMEZONE', false, 'UTC') + /** * Stripe secret key. * diff --git a/api/src/controllers/bookingController.ts b/api/src/controllers/bookingController.ts index 45fb633d..a59140cc 100644 --- a/api/src/controllers/bookingController.ts +++ b/api/src/controllers/bookingController.ts @@ -109,6 +109,7 @@ export const confirm = async (user: env.User, booking: env.Booking, payLater: bo day: 'numeric', hour: 'numeric', minute: 'numeric', + timeZone: env.TIMEZONE, } const from = booking.from.toLocaleString(locale, options) const to = booking.to.toLocaleString(locale, options) diff --git a/api/src/lang/en.ts b/api/src/lang/en.ts index 19424848..f28840cf 100644 --- a/api/src/lang/en.ts +++ b/api/src/lang/en.ts @@ -25,7 +25,7 @@ export const en = { BOOKING_CONFIRMED_PART3: ' Please present yourself to our agency ', BOOKING_CONFIRMED_PART4: ' ', BOOKING_CONFIRMED_PART5: ' on ', - BOOKING_CONFIRMED_PART6: ' (local time) to pick up your keys ', + BOOKING_CONFIRMED_PART6: ` (${env.TIMEZONE}) to pick up your keys `, BOOKING_CONFIRMED_PART7: '.', BOOKING_CONFIRMED_ADDRESS: 'Property Address: ', BOOKING_CONFIRMED_MAP_PART1: 'Map Link: ', diff --git a/api/src/lang/fr.ts b/api/src/lang/fr.ts index 4d5b347d..be469e74 100644 --- a/api/src/lang/fr.ts +++ b/api/src/lang/fr.ts @@ -25,7 +25,7 @@ export const fr = { BOOKING_CONFIRMED_PART3: ' Veuillez vous rendre à notre agence ', BOOKING_CONFIRMED_PART4: ' ', BOOKING_CONFIRMED_PART5: ' le ', - BOOKING_CONFIRMED_PART6: ' (heure locale) pour récupérer vos clés ', + BOOKING_CONFIRMED_PART6: ` (${env.TIMEZONE}) pour récupérer vos clés `, BOOKING_CONFIRMED_PART7: '.', BOOKING_CONFIRMED_ADDRESS: 'Adresse de la propriété: ', BOOKING_CONFIRMED_MAP_PART1: 'Lien sur la carte : ',