#!/bin/bash
# ─────────────────────────────────────────────────────────────────
#  install.sh — تثبيت Game Top-up Bot على Ubuntu/Debian
#  مع Apache + MySQL
#  الاستخدام: bash install.sh
# ─────────────────────────────────────────────────────────────────
set -e

PROJECT_DIR="$(cd "$(dirname "$0")" && pwd)"
PYTHON="python3"
CURRENT_USER=$(whoami)

echo ""
echo "╔══════════════════════════════════════════════╗"
echo "║    Game Top-up Bot — Auto Installer          ║"
echo "║    Apache + MySQL Edition                    ║"
echo "╚══════════════════════════════════════════════╝"
echo ""

# ── 1. System packages ───────────────────────────────────────────
echo "[1/7] تثبيت متطلبات النظام..."
sudo apt-get update -qq
sudo apt-get install -y -qq \
    python3 python3-pip python3-venv \
    apache2 libapache2-mod-wsgi-python3 \
    mysql-client \
    wget curl gnupg

# تفعيل Apache modules
sudo a2enmod wsgi ssl headers rewrite
echo "    ✅ System packages installed"

# ── 2. Google Chrome ─────────────────────────────────────────────
echo "[2/7] تثبيت Google Chrome..."
if ! command -v google-chrome &> /dev/null; then
    wget -q -O /tmp/chrome.deb \
        https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
    sudo apt-get install -y /tmp/chrome.deb 2>/dev/null || \
        (sudo dpkg -i /tmp/chrome.deb; sudo apt-get install -f -y)
    echo "    ✅ Chrome installed"
else
    echo "    ✅ Chrome: $(google-chrome --version)"
fi

# ── 3. Python venv ───────────────────────────────────────────────
echo "[3/7] إنشاء بيئة Python..."
cd "$PROJECT_DIR"
$PYTHON -m venv venv
source venv/bin/activate
pip install --upgrade pip -q
pip install -r requirements.txt -q
echo "    ✅ Python packages installed"

# ── 4. Directories ───────────────────────────────────────────────
echo "[4/7] إنشاء المجلدات..."
mkdir -p logs
chmod 755 logs
echo "    ✅ Directories ready"

# ── 5. .env ──────────────────────────────────────────────────────
echo "[5/7] إعداد .env..."
if [ ! -f .env ]; then
    cp .env.example .env
    echo "    ⚠️  تم إنشاء .env — يجب تعديله قبل التشغيل:"
    echo "       nano $PROJECT_DIR/.env"
else
    echo "    ✅ .env موجود"
fi

# ── 6. Apache config ─────────────────────────────────────────────
echo "[6/7] إعداد Apache..."

# تحديث مسارات الـ WSGI config
WSGI_FILE="$PROJECT_DIR/topup.wsgi"
sed -i "s|PROJECT_PATH = '.*'|PROJECT_PATH = '$PROJECT_DIR'|g" "$WSGI_FILE"

# نسخ Apache config
APACHE_CONF="/etc/apache2/sites-available/topup-bot.conf"
sudo cp "$PROJECT_DIR/apache-topup.conf" "$APACHE_CONF"

# تحديث المسارات في Apache config
sudo sed -i "s|/var/www/game-topup-bot|$PROJECT_DIR|g"  "$APACHE_CONF"
sudo sed -i "s|python-home=.*venv|python-home=$PROJECT_DIR/venv|g" "$APACHE_CONF"

# تفعيل الـ site
sudo a2ensite topup-bot.conf
sudo a2dissite 000-default.conf 2>/dev/null || true

echo "    ✅ Apache configured"
echo "    ⚠️  لا تنسَ تحديث ServerName في: $APACHE_CONF"

# ── 7. MySQL init ────────────────────────────────────────────────
echo "[7/7] اختبار MySQL..."
source .env 2>/dev/null || true

if [ -n "$DB_PASSWORD" ]; then
    mysql -h"${DB_HOST:-localhost}" -u"$DB_USER" -p"$DB_PASSWORD" \
          -e "CREATE DATABASE IF NOT EXISTS \`$DB_NAME\` CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;" \
          2>/dev/null && echo "    ✅ Database '$DB_NAME' ready" \
          || echo "    ⚠️  تأكد من بيانات MySQL في .env"
else
    echo "    ⚠️  DB_PASSWORD فارغة — عدّل .env أولاً"
fi

echo ""
echo "╔══════════════════════════════════════════════╗"
echo "║           ✅ اكتمل التثبيت!                  ║"
echo "╚══════════════════════════════════════════════╝"
echo ""
echo "📝 الخطوات التالية:"
echo ""
echo "  1️⃣  عدّل .env بالبيانات الصحيحة:"
echo "       nano $PROJECT_DIR/.env"
echo ""
echo "  2️⃣  عدّل ServerName في Apache config:"
echo "       sudo nano /etc/apache2/sites-available/topup-bot.conf"
echo ""
echo "  3️⃣  اختبر النظام:"
echo "       source venv/bin/activate"
echo "       python test_system.py"
echo ""
echo "  4️⃣  شغّل Apache:"
echo "       sudo systemctl restart apache2"
echo "       sudo systemctl status apache2"
echo ""
echo "  5️⃣  تابع اللوجز:"
echo "       tail -f $PROJECT_DIR/logs/bot.log"
echo "       tail -f $PROJECT_DIR/logs/apache_error.log"
echo ""
