Files
aurorabot/shared/lib/env.ts
syntaxbullet 34958aa220
All checks were successful
Deploy to Production / test (push) Successful in 44s
feat: implement comprehensive item management system with admin UI, API, and asset handling utilities.
2026-02-06 12:19:14 +01:00

24 lines
867 B
TypeScript

import { z } from "zod";
const envSchema = z.object({
DISCORD_BOT_TOKEN: z.string().optional(),
DISCORD_CLIENT_ID: z.string().optional(),
DISCORD_GUILD_ID: z.string().optional(),
DATABASE_URL: z.string().min(1, "Database URL is required"),
PORT: z.coerce.number().default(3000),
HOST: z.string().default("127.0.0.1"),
ADMIN_TOKEN: z.string().min(8, "ADMIN_TOKEN must be at least 8 characters").optional(),
// Asset URL configuration (for production with custom domains)
ASSETS_BASE_URL: z.string().url().optional(),
WEB_URL: z.string().url().optional(),
});
const parsedEnv = envSchema.safeParse(process.env);
if (!parsedEnv.success) {
console.error("❌ Invalid environment variables:", parsedEnv.error.flatten().fieldErrors);
throw new Error("Invalid environment variables");
}
export const env = parsedEnv.data;