From 1a219f85b0718ab82beb167bc147648305e2bd61 Mon Sep 17 00:00:00 2001 From: diogo464 Date: Wed, 13 Aug 2025 15:54:46 +0100 Subject: frontend: require FCTDRIVE_PATH env var --- frontend/lib/env.ts | 8 ++++++++ frontend/lib/storage.ts | 3 ++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/frontend/lib/env.ts b/frontend/lib/env.ts index d67fb3c..0a9e11d 100644 --- a/frontend/lib/env.ts +++ b/frontend/lib/env.ts @@ -1,3 +1,11 @@ export function Env_is_development(): boolean { return process.env.NODE_ENV == "development"; } + +export function Env_get_required(key: string): string { + const value = process.env[key]; + if (!value) { + throw new Error(`Required environment variable ${key} is not defined`); + } + return value; +} diff --git a/frontend/lib/storage.ts b/frontend/lib/storage.ts index 57b2429..a1b2949 100644 --- a/frontend/lib/storage.ts +++ b/frontend/lib/storage.ts @@ -1,5 +1,6 @@ import { exec } from 'child_process' import { promisify } from 'util' +import { Env_get_required } from './env' const execAsync = promisify(exec) @@ -28,7 +29,7 @@ export async function fetchStorageData(): Promise { const activeDriveUsage = parseInt(driveSize.trim()) || 0 // Get disk usage in bytes - const fctdrivePath = process.env.FCTDRIVE_PATH || '/home/diogo464/dev/fctdrive' + const fctdrivePath = Env_get_required('FCTDRIVE_PATH') const { stdout: dfOutput } = await execAsync(`df -B1 "${fctdrivePath}"`) // Parse df output - second line contains the data -- cgit