# =================================================================
# CONFIGURATION SERVEUR VEZA CHAT
# =================================================================

# Environnement (development, staging, production)
RUST_ENV=development
RUST_LOG=debug

# =================================================================
# BASE DE DONNÉES
# =================================================================
DATABASE_URL=postgresql://veza_user:veza_password@localhost:5432/veza_chat
DB_MAX_CONNECTIONS=10
DB_CONNECT_TIMEOUT=10
DB_AUTO_MIGRATE=true

# =================================================================
# SÉCURITÉ ET AUTHENTIFICATION
# =================================================================
JWT_SECRET=your-super-secret-jwt-key-change-this-in-production
JWT_ACCESS_DURATION=15m
JWT_REFRESH_DURATION=7d
JWT_ALGORITHM=HS256
JWT_AUDIENCE=veza-chat
JWT_ISSUER=veza-chat-server

# Authentification 2FA
ENABLE_2FA=false
TOTP_WINDOW=30

# Sécurité des mots de passe
PASSWORD_MIN_LENGTH=8
BCRYPT_COST=12

# =================================================================
# SERVEUR ET RÉSEAU
# =================================================================
SERVER_BIND_ADDR=127.0.0.1:8080
SERVER_WORKERS=0
CONNECTION_TIMEOUT=30
HEARTBEAT_INTERVAL=30
SHUTDOWN_TIMEOUT=10

# =================================================================
# CACHE REDIS (OPTIONNEL)
# =================================================================
REDIS_URL=redis://localhost:6379
REDIS_POOL_SIZE=10
REDIS_CONNECT_TIMEOUT=5
REDIS_DEFAULT_TTL=3600
REDIS_KEY_PREFIX=veza_chat:
REDIS_ENABLED=true

# =================================================================
# LIMITES ET QUOTAS
# =================================================================
MAX_MESSAGE_LENGTH=2000
MAX_CONNECTIONS_PER_USER=5
MAX_MESSAGES_PER_MINUTE=60
MAX_FILE_SIZE=10485760
MAX_FILES_PER_USER=100
MAX_ROOMS_PER_USER=50
MAX_MEMBERS_PER_ROOM=1000

# =================================================================
# FONCTIONNALITÉS
# =================================================================
ENABLE_FILE_UPLOADS=true
ENABLE_MESSAGE_REACTIONS=true
ENABLE_USER_MENTIONS=true
ENABLE_PINNED_MESSAGES=true
ENABLE_MESSAGE_THREADS=true
ENABLE_WEBHOOKS=true
ENABLE_PUSH_NOTIFICATIONS=false
ENABLE_MESSAGE_HISTORY=true

# =================================================================
# LOGGING
# =================================================================
LOG_LEVEL=info
LOG_FORMAT=json
LOG_FILE=logs/chat-server.log
LOG_ROTATION_SIZE=100MB
LOG_ROTATION_FILES=10
LOG_COMPRESSION=true

# =================================================================
# INTÉGRATIONS EXTERNES
# =================================================================

# Email (optionnel)
SMTP_HOST=smtp.gmail.com
SMTP_PORT=587
SMTP_USERNAME=your-email@gmail.com
SMTP_PASSWORD=your-app-password
EMAIL_FROM_ADDRESS=noreply@veza-chat.com
EMAIL_FROM_NAME=Veza Chat

# Prometheus métriques (optionnel)
PROMETHEUS_BIND_ADDR=127.0.0.1:9090
PROMETHEUS_PATH=/metrics

# Webhooks sortants (optionnel)
WEBHOOK_USER_EVENTS=https://api.yourapp.com/webhooks/user-events
WEBHOOK_MESSAGE_EVENTS=https://api.yourapp.com/webhooks/message-events
WEBHOOK_SECRET=your-webhook-secret

# =================================================================
# DÉVELOPPEMENT
# =================================================================

# Base de données de test
TEST_DATABASE_URL=postgresql://veza_test:veza_test@localhost:5432/veza_chat_test

# Debug et développement
ENABLE_DEBUG_ENDPOINTS=true
ENABLE_CORS=true
CORS_ALLOWED_ORIGINS=http://localhost:3000,http://localhost:3001

# =================================================================
# PRODUCTION
# =================================================================

# SSL/TLS (production uniquement)
ENABLE_TLS=false
TLS_CERT_PATH=/path/to/cert.pem
TLS_KEY_PATH=/path/to/key.pem

# Performance (production)
ENABLE_COMPRESSION=true
ENABLE_METRICS=true
ENABLE_HEALTH_CHECK=true 