const required = (name: string) => { const value = process.env[name]; if (!value) throw new Error(`Missing required E2E environment variable: ${name}`); return value; }; const database = required("MYSQL_DATABASE"); if (!database.toLowerCase().includes("e2e")) { throw new Error(`Refusing E2E startup for a non-E2E database: ${database}`); } module.exports = { jwt: { secret_key: required("E2E_JWT_SECRET"), refresh_secret_key: required("E2E_JWT_REFRESH_SECRET"), token_expiration: "1h", refresh_token_expiration: "1h", }, database: { host: required("MYSQL_HOST"), port: Number(required("MYSQL_PORT")), dialect: "mysql", database, username: required("MYSQL_USER"), password: required("MYSQL_USER_PASSWORD"), }, server: { hostname: "127.0.0.1", port: Number(required("PORT")), cors_origin: "http://127.0.0.1" }, defaults: { dealer_logos_upload_path: "/tmp/uecko-e2e/dealer-logos", dealer_logo_placeholder: "/tmp/uecko-e2e/logo-placeholder.png", support: { from: "e2e@example.test", subject: "E2E" }, }, admin: { name: "E2E Admin", email: "e2e-admin@example.test", password: required("E2E_USER_PASSWORD"), language: "es", }, sample_dealer: { name: required("E2E_USER_NAME"), email: required("E2E_USER_EMAIL"), password: required("E2E_USER_PASSWORD"), language: "es", }, nodemailer: { brevo: {} }, };