Presupuestador_web/server/src/config/environments/e2e.ts

41 lines
1.4 KiB
TypeScript

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: {} },
};