import fs from "node:fs";
import path from "node:path";
import { fileURLToPath } from "node:url";
import dotenv from "dotenv";

const backendRoot = path.resolve(path.dirname(fileURLToPath(import.meta.url)), "..");
dotenv.config({ path: path.join(backendRoot, ".env") });

fs.mkdirSync(path.join(backendRoot, "data"), { recursive: true });

export const config = {
  backendRoot,
  port: Number(process.env.PORT ?? ((process.env.NODE_ENV ?? "development") === "production" ? 3000 : 3001)),
  host: process.env.HOST ?? "0.0.0.0",
  nodeEnv: process.env.NODE_ENV ?? "development",
  jwtSecret: process.env.JWT_SECRET ?? "dev-only-secret",
  jwtExpiresIn: process.env.JWT_EXPIRES_IN ?? "16h",
  isProd: (process.env.NODE_ENV ?? "development") === "production",
  /** Optional Postgres URL for post-event archives. Leave empty for local JSON only. */
  archiveDatabaseUrl: (process.env.ARCHIVE_DATABASE_URL ?? "").trim(),
};
