#!/bin/bash
# ================================================================
# QualiVeri — Automated Setup Script (Linux/Mac/cPanel)
# Run: bash setup.sh
# ================================================================

set -e
echo ""
echo "╔══════════════════════════════════════════════╗"
echo "║     QualiVeri — Automated Setup Script       ║"
echo "╚══════════════════════════════════════════════╝"
echo ""

# 1. Check PHP
PHP=$(command -v php8.2 || command -v php8.1 || command -v php || echo "")
if [ -z "$PHP" ]; then
    echo "❌ PHP not found. Install PHP 8.2+ first."
    exit 1
fi
echo "✅ PHP: $($PHP --version | head -1)"

# 2. Check Composer
if ! command -v composer &>/dev/null; then
    echo "📦 Installing Composer..."
    curl -sS https://getcomposer.org/installer | $PHP
    $PHP composer.phar global require composer/composer
    COMPOSER="$PHP composer.phar"
else
    COMPOSER="composer"
    echo "✅ Composer: $(composer --version | head -1)"
fi

# 3. Install dependencies
echo ""
echo "📦 Installing Laravel dependencies..."
$COMPOSER install --no-interaction --prefer-dist --optimize-autoloader

# 4. Copy .env
if [ ! -f ".env" ]; then
    cp .env.example .env
    echo "✅ Created .env from .env.example"
fi

# 5. Generate app key
$PHP artisan key:generate --ansi

# 6. Create SQLite database
if [ ! -f "database/database.sqlite" ]; then
    touch database/database.sqlite
    echo "✅ Created SQLite database"
fi

# 7. Run migrations + seed
echo ""
echo "🗄️  Running database migrations..."
$PHP artisan migrate --force --ansi

echo ""
echo "🌱 Seeding database with default data..."
$PHP artisan db:seed --force --ansi

# 8. Set storage permissions
chmod -R 775 storage bootstrap/cache 2>/dev/null || true
$PHP artisan storage:link 2>/dev/null || true

# 9. Cache config for production
$PHP artisan config:cache
$PHP artisan route:cache
$PHP artisan view:cache

echo ""
echo "╔══════════════════════════════════════════════════════════════╗"
echo "║  ✅  QualiVeri is READY!                                     ║"
echo "║                                                              ║"
echo "║  Start server:  php artisan serve                            ║"
echo "║  Website:       http://127.0.0.1:8000                        ║"
echo "║  Admin Panel:   http://127.0.0.1:8000/admin                  ║"
echo "║                                                              ║"
echo "║  Admin Login:   admin / qualiveri2024                        ║"
echo "║                                                              ║"
echo "║  ⚠️  Change admin password after first login!               ║"
echo "╚══════════════════════════════════════════════════════════════╝"
echo ""
