diff --git a/.env b/.env index 7e775ed28..dfdd53d2c 100644 --- a/.env +++ b/.env @@ -2,15 +2,5 @@ NEXTAUTH_DEBUG="false" DEBUG_QUERIES="false" SEAMLESS_ENVIRONMENT_SUBDOMAIN="www" -SEAMLESS_LOGIN_DA="https://${SEAMLESS_ENVIRONMENT_SUBDOMAIN}.scandichotels.dk/updatelogin" -SEAMLESS_LOGIN_DE="https://${SEAMLESS_ENVIRONMENT_SUBDOMAIN}.scandichotels.de/updatelogin" -SEAMLESS_LOGIN_EN="https://${SEAMLESS_ENVIRONMENT_SUBDOMAIN}.scandichotels.com/updatelogin" -SEAMLESS_LOGIN_FI="https://${SEAMLESS_ENVIRONMENT_SUBDOMAIN}.scandichotels.fi/updatelogin" -SEAMLESS_LOGIN_NO="https://${SEAMLESS_ENVIRONMENT_SUBDOMAIN}.scandichotels.no/updatelogin" -SEAMLESS_LOGIN_SV="https://${SEAMLESS_ENVIRONMENT_SUBDOMAIN}.scandichotels.sv/updatelogin" -SEAMLESS_LOGOUT_DA="https://${SEAMLESS_ENVIRONMENT_SUBDOMAIN}.scandichotels.dk/updatelogout?newweb=1" -SEAMLESS_LOGOUT_DE="https://${SEAMLESS_ENVIRONMENT_SUBDOMAIN}.scandichotels.de/updatelogout?newweb=1" -SEAMLESS_LOGOUT_EN="https://${SEAMLESS_ENVIRONMENT_SUBDOMAIN}.scandichotels.com/updatelogout?newweb=1" -SEAMLESS_LOGOUT_FI="https://${SEAMLESS_ENVIRONMENT_SUBDOMAIN}.scandichotels.fi/updatelogout?newweb=1" -SEAMLESS_LOGOUT_NO="https://${SEAMLESS_ENVIRONMENT_SUBDOMAIN}.scandichotels.no/updatelogout?newweb=1" -SEAMLESS_LOGOUT_SV="https://${SEAMLESS_ENVIRONMENT_SUBDOMAIN}.scandichotels.sv/updatelogout?newweb=1" +SEAMLESS_LOGIN="https://${SEAMLESS_ENVIRONMENT_SUBDOMAIN}.scandichotels.{topleveldomain}/updatelogin" +SEAMLESS_LOGOUT="https://${SEAMLESS_ENVIRONMENT_SUBDOMAIN}.scandichotels.{topleveldomain}/updatelogout?newweb=1" diff --git a/env/server.ts b/env/server.ts index e416ebf04..cb6add00e 100644 --- a/env/server.ts +++ b/env/server.ts @@ -30,8 +30,8 @@ export const env = createEnv({ CMS_PREVIEW_URL: z.string(), CMS_URL: z.string(), CMS_BRANCH: z.enum(["development", "production"]), - CURITY_CLIENT_ID_USER: z.string(), - CURITY_CLIENT_ID_SERVICE: z.string(), + CURITY_CLIENT_ID_USER: z.string().default("scandichotels-web"), + CURITY_CLIENT_ID_SERVICE: z.string().default("scandichotels-web-backend"), CURITY_CLIENT_SECRET_SERVICE: z.string(), CURITY_CLIENT_SECRET_USER: z.string(), CURITY_ISSUER_USER: z.string(), @@ -58,18 +58,42 @@ export const env = createEnv({ PUBLIC_URL: z.string().default(""), REVALIDATE_SECRET: z.string(), SALESFORCE_PREFERENCE_BASE_URL: z.string(), - SEAMLESS_LOGIN_DA: z.string(), - SEAMLESS_LOGIN_DE: z.string(), - SEAMLESS_LOGIN_EN: z.string(), - SEAMLESS_LOGIN_FI: z.string(), - SEAMLESS_LOGIN_NO: z.string(), - SEAMLESS_LOGIN_SV: z.string(), - SEAMLESS_LOGOUT_DA: z.string(), - SEAMLESS_LOGOUT_DE: z.string(), - SEAMLESS_LOGOUT_EN: z.string(), - SEAMLESS_LOGOUT_FI: z.string(), - SEAMLESS_LOGOUT_NO: z.string(), - SEAMLESS_LOGOUT_SV: z.string(), + SEAMLESS_LOGIN_DA: z + .string() + .transform((s) => replaceTopLevelDomain(s, "dk")), + SEAMLESS_LOGIN_DE: z + .string() + .transform((s) => replaceTopLevelDomain(s, "de")), + SEAMLESS_LOGIN_EN: z + .string() + .transform((s) => replaceTopLevelDomain(s, "com")), + SEAMLESS_LOGIN_FI: z + .string() + .transform((s) => replaceTopLevelDomain(s, "fi")), + SEAMLESS_LOGIN_NO: z + .string() + .transform((s) => replaceTopLevelDomain(s, "no")), + SEAMLESS_LOGIN_SV: z + .string() + .transform((s) => replaceTopLevelDomain(s, "se")), + SEAMLESS_LOGOUT_DA: z + .string() + .transform((s) => replaceTopLevelDomain(s, "dk")), + SEAMLESS_LOGOUT_DE: z + .string() + .transform((s) => replaceTopLevelDomain(s, "de")), + SEAMLESS_LOGOUT_EN: z + .string() + .transform((s) => replaceTopLevelDomain(s, "com")), + SEAMLESS_LOGOUT_FI: z + .string() + .transform((s) => replaceTopLevelDomain(s, "fi")), + SEAMLESS_LOGOUT_NO: z + .string() + .transform((s) => replaceTopLevelDomain(s, "no")), + SEAMLESS_LOGOUT_SV: z + .string() + .transform((s) => replaceTopLevelDomain(s, "se")), SHOW_SIGNUP_FLOW: z .string() // only allow "true" or "false" @@ -181,18 +205,30 @@ export const env = createEnv({ PUBLIC_URL: process.env.PUBLIC_URL, REVALIDATE_SECRET: process.env.REVALIDATE_SECRET, SALESFORCE_PREFERENCE_BASE_URL: process.env.SALESFORCE_PREFERENCE_BASE_URL, - SEAMLESS_LOGIN_DA: process.env.SEAMLESS_LOGIN_DA, - SEAMLESS_LOGIN_DE: process.env.SEAMLESS_LOGIN_DE, - SEAMLESS_LOGIN_EN: process.env.SEAMLESS_LOGIN_EN, - SEAMLESS_LOGIN_FI: process.env.SEAMLESS_LOGIN_FI, - SEAMLESS_LOGIN_NO: process.env.SEAMLESS_LOGIN_NO, - SEAMLESS_LOGIN_SV: process.env.SEAMLESS_LOGIN_SV, - SEAMLESS_LOGOUT_DA: process.env.SEAMLESS_LOGOUT_DA, - SEAMLESS_LOGOUT_DE: process.env.SEAMLESS_LOGOUT_DE, - SEAMLESS_LOGOUT_EN: process.env.SEAMLESS_LOGOUT_EN, - SEAMLESS_LOGOUT_FI: process.env.SEAMLESS_LOGOUT_FI, - SEAMLESS_LOGOUT_NO: process.env.SEAMLESS_LOGOUT_NO, - SEAMLESS_LOGOUT_SV: process.env.SEAMLESS_LOGOUT_SV, + SEAMLESS_LOGIN_DA: + process.env.SEAMLESS_LOGIN || process.env.SEAMLESS_LOGIN_DA, + SEAMLESS_LOGIN_DE: + process.env.SEAMLESS_LOGIN || process.env.SEAMLESS_LOGIN_DE, + SEAMLESS_LOGIN_EN: + process.env.SEAMLESS_LOGIN || process.env.SEAMLESS_LOGIN_EN, + SEAMLESS_LOGIN_FI: + process.env.SEAMLESS_LOGIN || process.env.SEAMLESS_LOGIN_FI, + SEAMLESS_LOGIN_NO: + process.env.SEAMLESS_LOGIN || process.env.SEAMLESS_LOGIN_NO, + SEAMLESS_LOGIN_SV: + process.env.SEAMLESS_LOGIN || process.env.SEAMLESS_LOGIN_SV, + SEAMLESS_LOGOUT_DA: + process.env.SEAMLESS_LOGOUT || process.env.SEAMLESS_LOGOUT_DA, + SEAMLESS_LOGOUT_DE: + process.env.SEAMLESS_LOGOUT || process.env.SEAMLESS_LOGOUT_DE, + SEAMLESS_LOGOUT_EN: + process.env.SEAMLESS_LOGOUT || process.env.SEAMLESS_LOGOUT_EN, + SEAMLESS_LOGOUT_FI: + process.env.SEAMLESS_LOGOUT || process.env.SEAMLESS_LOGOUT_FI, + SEAMLESS_LOGOUT_NO: + process.env.SEAMLESS_LOGOUT || process.env.SEAMLESS_LOGOUT_NO, + SEAMLESS_LOGOUT_SV: + process.env.SEAMLESS_LOGOUT || process.env.SEAMLESS_LOGOUT_SV, SHOW_SIGNUP_FLOW: process.env.SHOW_SIGNUP_FLOW, WEBVIEW_ENCRYPTION_KEY: process.env.WEBVIEW_ENCRYPTION_KEY, BOOKING_ENCRYPTION_KEY: process.env.BOOKING_ENCRYPTION_KEY, @@ -215,3 +251,7 @@ export const env = createEnv({ CACHE_TIME_HOTELS: process.env.CACHE_TIME_HOTELS, }, }) + +function replaceTopLevelDomain(url: string, domain: string) { + return url.replaceAll("{topleveldomain}", domain) +}