From a2356608fedeb8817f30476930e0ac7aa90d2a14 Mon Sep 17 00:00:00 2001 From: RainbowBird Date: Tue, 3 Mar 2026 17:35:06 +0800 Subject: [PATCH] refactor(server): api server url env --- apps/server/src/libs/auth.ts | 4 +--- apps/server/src/libs/env.ts | 5 ++++- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/apps/server/src/libs/auth.ts b/apps/server/src/libs/auth.ts index 5b370d15b..6101b14c6 100644 --- a/apps/server/src/libs/auth.ts +++ b/apps/server/src/libs/auth.ts @@ -1,8 +1,6 @@ import type { Database } from './db' import type { Env } from './env' -import process from 'node:process' - import { betterAuth } from 'better-auth' import { drizzleAdapter } from 'better-auth/adapters/drizzle' import { bearer } from 'better-auth/plugins' @@ -26,7 +24,7 @@ export function createAuth(db: Database, env: Env) { enabled: true, }, - baseURL: process.env.API_SERVER_URL || 'http://localhost:3000', + baseURL: env.API_SERVER_URL, trustedOrigins: ['*'], // To skip state-mismatch errors diff --git a/apps/server/src/libs/env.ts b/apps/server/src/libs/env.ts index b92343e93..f7cc9d428 100644 --- a/apps/server/src/libs/env.ts +++ b/apps/server/src/libs/env.ts @@ -4,10 +4,13 @@ import { env, exit } from 'node:process' import { useLogger } from '@guiiai/logg' import { injeca } from 'injeca' -import { nonEmpty, object, parse, pipe, string } from 'valibot' +import { nonEmpty, object, optional, parse, pipe, string } from 'valibot' const EnvSchema = object({ + API_SERVER_URL: optional(string(), 'http://localhost:3000'), + DATABASE_URL: pipe(string(), nonEmpty('DATABASE_URL is required')), + AUTH_GOOGLE_CLIENT_ID: pipe(string(), nonEmpty('AUTH_GOOGLE_CLIENT_ID is required')), AUTH_GOOGLE_CLIENT_SECRET: pipe(string(), nonEmpty('AUTH_GOOGLE_CLIENT_SECRET is required')), AUTH_GITHUB_CLIENT_ID: pipe(string(), nonEmpty('AUTH_GITHUB_CLIENT_ID is required')),