#!/bin/bash
set -e

echo "========================================="
echo "  El Captain ERP — Container Starting"
echo "========================================="

# ── Generate .env from environment variables ──
ENV_FILE="/var/www/html/.env"
cat > "$ENV_FILE" <<'ENDOFENV'
APP_URL=PLACEHOLDER
ENDOFENV

# Write env properly using PHP (no shell escaping issues)
php -r "
file_put_contents('/var/www/html/.env',
    'APP_URL=' . getenv('APP_URL') . \"\n\" .
    'APP_DEBUG=' . getenv('APP_DEBUG') . \"\n\" .
    'APP_ENV=' . getenv('APP_ENV') . \"\n\" .
    'APP_NAME_AR=' . (getenv('APP_NAME_AR') ?: 'الكابتن') . \"\n\" .
    'APP_NAME_EN=' . (getenv('APP_NAME_EN') ?: 'El Captain') . \"\n\" .
    'DB_HOST=' . getenv('DB_HOST') . \"\n\" .
    'DB_PORT=' . getenv('DB_PORT') . \"\n\" .
    'DB_NAME=' . getenv('DB_NAME') . \"\n\" .
    'DB_USER=' . getenv('DB_USER') . \"\n\" .
    'DB_PASS=' . getenv('DB_PASS') . \"\n\" .
    'SMS_PROVIDER=' . getenv('SMS_PROVIDER') . \"\n\" .
    'SMS_API_KEY=' . getenv('SMS_API_KEY') . \"\n\" .
    'SMS_SENDER_ID=' . getenv('SMS_SENDER_ID') . \"\n\"
);
echo 'ENV file written!';
"
chown www-data:www-data /var/www/html/.env

# ── Run boot script (MySQL wait + migrations + seeds) ──
php /var/www/html/docker/boot.php

# ── Fix permissions ──
chown -R www-data:www-data /var/www/html/storage 2>/dev/null || true
chmod -R 775 /var/www/html/storage 2>/dev/null || true

echo "========================================="
echo "Starting Apache..."
echo "========================================="
exec apache2-foreground