require('dotenv').config(); const TURNSTILE_KEY_MATCH = /[0-9]x[0-9A-Za-z_-]{20,}/; const normalizeTurnstileValue = (value) => { if (typeof value !== 'string') return ''; const trimmedValue = value.trim(); const keyMatch = trimmedValue.match(TURNSTILE_KEY_MATCH); if (keyMatch) return keyMatch[0]; return trimmedValue.replace(/^[\s"'`{[]+|[\s"'`}\]]+$/g, ''); }; const firstEnvValue = (...values) => values .map(normalizeTurnstileValue) .find(Boolean) || ''; const TURNSTILE_SITE_KEY = firstEnvValue( process.env.TURNSTILE_SITE_KEY, process.env.TURNSTILE_SITEKEY, process.env.VITE_TURNSTILE_SITE_KEY, process.env.CLOUDFLARE_TURNSTILE_SITE_KEY ); const TURNSTILE_SECRET = firstEnvValue( process.env.TURNSTILE_SECRET, process.env.TURNSTILE_SECRET_KEY, process.env.CLOUDFLARE_TURNSTILE_SECRET ); module.exports = { PORT: process.env.PORT || 3004, API_KEY: process.env.API_KEY || 'nexstar_secret_key_123', ADMIN_EMAIL: process.env.ADMIN_EMAIL || 'admin@admin.com', ADMIN_PASSWORD: process.env.ADMIN_PASSWORD || 'admin123', JWT_SECRET: process.env.JWT_SECRET || 'super_secret_jwt_key_123', DATABASE_URL: process.env.DATABASE_URL || 'postgres://graphuser:graphpassword@localhost:5432/graphdb', N8N_WHATSAPP_TRIGGER_URL: process.env.N8N_WHATSAPP_TRIGGER_URL || 'http://localhost:5678/webhook/whatsapp', TURNSTILE_SITE_KEY, TURNSTILE_SECRET };