43 lines
1.4 KiB
JavaScript
43 lines
1.4 KiB
JavaScript
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
|
|
};
|