import dotenv from "dotenv";
import path from "path";

export const rootDir = path.resolve(__dirname, "..");

dotenv.config({ path: path.join(rootDir, ".env"), quiet: true });

export function appUrl(): string {
  return (process.env.APP_URL || "http://localhost:4100").replace(/\/+$/, "");
}

export function port(): number {
  const value = Number(process.env.PORT || 4100);
  return Number.isFinite(value) && value > 0 ? value : 4100;
}

export function nodeEnv(): string {
  return process.env.NODE_ENV || "development";
}

export function adminKey(): string {
  return (process.env.ADMIN_KEY || "").trim();
}

export function productsFile(): string {
  return process.env.PRODUCTS_FILE || path.join(rootDir, "config", "products.json");
}

export function databaseUrl(): string {
  return (process.env.DATABASE_URL || "file:../data/payments.db").trim();
}
