#!/bin/bash
# =============================================================================
# StarCustomPrinting — Script instalasi VPS (Ubuntu/Debian)
# Jalankan SETELAH upload & extract zip ke server.
#
# Cara pakai:
#   cd /var/www/namadomain.com
#   chmod +x scripts/install-vps.sh
#   sudo bash scripts/install-vps.sh
#
# Script ini HANYA set permission & cek PHP.
# Instalasi database & admin tetap lewat wizard: https://domain-anda.com/install
# =============================================================================

set -e

RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
NC='\033[0m'

echo ""
echo "=========================================="
echo " StarCustomPrinting — Setup VPS"
echo "=========================================="
echo ""

# Must run from project root
if [ ! -f "artisan" ]; then
    echo -e "${RED}Error: Jalankan script ini dari folder root project (yang ada file artisan).${NC}"
    echo "Contoh: cd /var/www/namadomain.com && sudo bash scripts/install-vps.sh"
    exit 1
fi

WEB_USER="${WEB_USER:-www-data}"

echo "→ Cek PHP..."
PHPV=$(php -r 'echo PHP_VERSION;')
echo "  PHP $PHPV"
if ! php -r 'exit(version_compare(PHP_VERSION,"8.2.0",">=")?0:1);'; then
    echo -e "${RED}  PHP 8.2+ diperlukan. Install: sudo apt install php8.3-fpm php8.3-cli php8.3-sqlite3 php8.3-mysql php8.3-mbstring php8.3-xml php8.3-curl php8.3-bcmath${NC}"
    exit 1
fi
echo -e "${GREEN}  OK${NC}"

echo "→ Cek folder vendor..."
if [ ! -d "vendor" ]; then
    echo -e "${YELLOW}  Folder vendor tidak ada. Jalankan: composer install --no-dev${NC}"
else
    echo -e "${GREEN}  vendor/ sudah ada (paket full)${NC}"
fi

echo "→ Set permission..."
mkdir -p storage/framework/{cache,sessions,views} storage/logs storage/app/public bootstrap/cache database
touch database/database.sqlite 2>/dev/null || true

chown -R "$WEB_USER":$(whoami) storage bootstrap/cache database 2>/dev/null || chown -R "$WEB_USER":"$WEB_USER" storage bootstrap/cache database 2>/dev/null || true
chmod -R ug+rwx storage bootstrap/cache
chmod 664 database/database.sqlite 2>/dev/null || true

if [ ! -f ".env" ]; then
    cp .env.example .env 2>/dev/null || true
    echo "  File .env dibuat dari .env.example (wizard akan mengisinya)"
fi

echo -e "${GREEN}  Permission OK${NC}"

echo ""
echo "=========================================="
echo -e "${GREEN} Setup VPS selesai!${NC}"
echo "=========================================="
echo ""
echo "Langkah berikutnya (TANPA terminal lagi):"
echo ""
echo "  1. Pastikan Nginx/Apache document root → folder public/"
echo "     (lihat docs/04-INSTAL-VPS.md)"
echo ""
echo "  2. Buka browser:"
echo "     https://domain-anda.com/install"
echo ""
echo "  3. Ikuti wizard instalasi (SQLite atau MySQL)"
echo ""
echo "  4. Setup cron (lihat docs/05-CRON-JOB.md):"
echo "     * * * * * cd $(pwd) && php artisan schedule:run >> /dev/null 2>&1"
echo ""
