From 5900fddb2df40ae028dd463193bd2b1d7bd75542 Mon Sep 17 00:00:00 2001 From: Daniel Volz Date: Thu, 25 Dec 2025 14:54:38 +0100 Subject: [PATCH] feat: simplify environment configuration by hardcoding token TTLs and removing unnecessary variables --- .env.example | 4 ---- backend/package.json | 3 +-- backend/src/db/client.ts | 2 +- backend/src/db/migrate.ts | 2 +- backend/src/index.ts | 5 +++-- backend/src/plugins/env.ts | 5 +---- 6 files changed, 7 insertions(+), 14 deletions(-) diff --git a/.env.example b/.env.example index 3685082..c958635 100644 --- a/.env.example +++ b/.env.example @@ -4,9 +4,7 @@ # Copy this file to .env and adjust values for your setup # ============================================================================= -NODE_ENV=production PORT=3000 -DATABASE_URL=file:./data/medassist-ng.db CORS_ORIGINS=http://localhost:4174 LOG_LEVEL=info @@ -17,8 +15,6 @@ TZ=Europe/Berlin JWT_SECRET=CHANGE_ME_generate_with_openssl_rand_hex_32 REFRESH_SECRET=CHANGE_ME_generate_with_openssl_rand_hex_32 COOKIE_SECRET=CHANGE_ME_generate_with_openssl_rand_hex_32 -ACCESS_TOKEN_TTL_MIN=15 -REFRESH_TOKEN_TTL_DAYS=14 # SMTP (optional - for email notifications) SMTP_HOST= diff --git a/backend/package.json b/backend/package.json index 9d5c34a..d20c17b 100644 --- a/backend/package.json +++ b/backend/package.json @@ -7,8 +7,7 @@ "dev": "tsx watch src/index.ts", "build": "tsc -p tsconfig.json", "start": "node dist/index.js", - "migrate": "tsx src/db/migrate.ts", - "lint": "echo 'add lint config'" + "migrate": "tsx src/db/migrate.ts" }, "dependencies": { "@fastify/cookie": "^10.0.1", diff --git a/backend/src/db/client.ts b/backend/src/db/client.ts index ad5c646..cefc424 100644 --- a/backend/src/db/client.ts +++ b/backend/src/db/client.ts @@ -6,7 +6,7 @@ import dotenv from "dotenv"; dotenv.config({ path: process.env.DOTENV_PATH || ".env" }); -const url = process.env.DATABASE_URL || "file:./data/medassist-ng.db"; +const url = "file:./data/medassist-ng.db"; // Ensure data directory exists before creating database if (url.startsWith("file:")) { diff --git a/backend/src/db/migrate.ts b/backend/src/db/migrate.ts index 1406112..42a5a66 100644 --- a/backend/src/db/migrate.ts +++ b/backend/src/db/migrate.ts @@ -3,7 +3,7 @@ import dotenv from "dotenv"; dotenv.config({ path: process.env.DOTENV_PATH || ".env" }); -const url = process.env.DATABASE_URL || "file:./data/medassist-ng.db"; +const url = "file:./data/medassist-ng.db"; async function main() { console.log("Starting database setup..."); diff --git a/backend/src/index.ts b/backend/src/index.ts index c3814af..9c2a1c9 100644 --- a/backend/src/index.ts +++ b/backend/src/index.ts @@ -37,8 +37,9 @@ const app = Fastify({ const origins = env.CORS_ORIGINS.split(",").map((o) => o.trim()).filter(Boolean); -const accessTtlMinutes = parseInt(env.ACCESS_TOKEN_TTL_MIN, 10); -const refreshTtlDays = parseInt(env.REFRESH_TOKEN_TTL_DAYS, 10); +// Auth token TTLs (hardcoded - no need for user configuration) +const accessTtlMinutes = 15; // Access token: 15 minutes +const refreshTtlDays = 14; // Refresh token: 14 days const baseCookieOptions: CookieSerializeOptions = { httpOnly: true, diff --git a/backend/src/plugins/env.ts b/backend/src/plugins/env.ts index d37815b..de5be57 100644 --- a/backend/src/plugins/env.ts +++ b/backend/src/plugins/env.ts @@ -4,16 +4,13 @@ import dotenv from "dotenv"; dotenv.config({ path: process.env.DOTENV_PATH || ".env" }); const EnvSchema = z.object({ - NODE_ENV: z.enum(["development", "production", "test"]).default("development"), + NODE_ENV: z.enum(["development", "production", "test"]).default("production"), PORT: z.string().transform((v) => parseInt(v, 10)).default("3000"), - DATABASE_URL: z.string().default("file:./data/medassist-ng.db"), CORS_ORIGINS: z.string().default("http://localhost:5173,http://localhost:4173"), LOG_LEVEL: z.string().default("info"), JWT_SECRET: z.string().min(10), REFRESH_SECRET: z.string().min(10), COOKIE_SECRET: z.string().min(10), - ACCESS_TOKEN_TTL_MIN: z.string().default("15"), - REFRESH_TOKEN_TTL_DAYS: z.string().default("14"), }); export type Env = z.infer;