From 45f69990045f6bd766207b0bba2eb98e55282ca7 Mon Sep 17 00:00:00 2001 From: Iain Sproat <68657+iainsproat@users.noreply.github.com> Date: Wed, 13 Dec 2023 10:58:47 +0000 Subject: [PATCH] refactor(envHelper): introduce common method for converting to boolean (#1914) --- .../modules/shared/helpers/envHelper.ts | 24 ++++++++++--------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/packages/server/modules/shared/helpers/envHelper.ts b/packages/server/modules/shared/helpers/envHelper.ts index c65de445c..106c90cc7 100644 --- a/packages/server/modules/shared/helpers/envHelper.ts +++ b/packages/server/modules/shared/helpers/envHelper.ts @@ -1,13 +1,6 @@ import { MisconfiguredEnvironmentError } from '@/modules/shared/errors' import { trimEnd } from 'lodash' -/** - * Whether the server is supposed to serve frontend 2.0 - */ -export function useNewFrontend() { - return ['1', 'true'].includes(process.env.USE_FRONTEND_2 || 'false') -} - export function isTestEnv() { return process.env.NODE_ENV === 'test' } @@ -44,6 +37,17 @@ export function getIntFromEnv(envVarKey: string, aDefault = '0'): number { return parseInt(process.env[envVarKey] || aDefault) } +export function getBooleanFromEnv(envVarKey: string, aDefault = false): boolean { + return ['1', 'true'].includes(process.env[envVarKey] || aDefault.toString()) +} + +/** + * Whether the server is supposed to serve frontend 2.0 + */ +export function useNewFrontend() { + return getBooleanFromEnv('USE_FRONTEND_2') +} + export function getRedisUrl() { if (!process.env.REDIS_URL) { throw new MisconfiguredEnvironmentError('REDIS_URL env var not configured') @@ -117,9 +121,7 @@ export function getBaseUrl() { * Whether notification job consumption & handling should be disabled */ export function shouldDisableNotificationsConsumption() { - return ['1', 'true'].includes( - process.env.DISABLE_NOTIFICATIONS_CONSUMPTION || 'false' - ) + return getBooleanFromEnv('DISABLE_NOTIFICATIONS_CONSUMPTION') } /** @@ -179,7 +181,7 @@ export function speckleAutomateUrl() { * Useful in some CLI scenarios when you aren't doing anything with the DB */ export function ignoreMissingMigrations() { - return ['1', 'true'].includes(process.env.IGNORE_MISSING_MIRATIONS || 'false') + return getBooleanFromEnv('IGNORE_MISSING_MIRATIONS') } /**