#!/usr/bin/env bash
set -euo pipefail

ROOT_DIR="$(cd "$(dirname "$0")" && pwd)"
DEFAULT_DB="$ROOT_DIR/vanlocaluk.db"
DEFAULT_APP_URL="/"
DEFAULT_PY_VER="3.11"

echo "VanLocalUK cPanel Install Wizard"
echo "Project root: $ROOT_DIR"
echo

read -r -p "cPanel Application URL path (example: /portal) [$DEFAULT_APP_URL]: " APP_URL
APP_URL="${APP_URL:-$DEFAULT_APP_URL}"

read -r -p "Python version shown in cPanel (example: 3.11) [$DEFAULT_PY_VER]: " PY_VER
PY_VER="${PY_VER:-$DEFAULT_PY_VER}"

read -r -p "SQLite DB full path [$DEFAULT_DB]: " DB_PATH
DB_PATH="${DB_PATH:-$DEFAULT_DB}"

mkdir -p "$(dirname "$DB_PATH")"
touch "$DB_PATH"

cat > "$ROOT_DIR/.env.cpanel" <<EOF
VANLOCALUK_DB=$DB_PATH
VANLOCALUK_HOST=127.0.0.1
VANLOCALUK_PORT=8000
VANLOCALUK_VERTICAL=removals
EOF

mkdir -p "$ROOT_DIR/tmp"
touch "$ROOT_DIR/tmp/restart.txt"

echo
echo "Wizard prepared local files:"
echo "  - .env.cpanel"
echo "  - tmp/restart.txt"
echo
echo "Now complete these cPanel settings in Setup Python App:"
echo "  1) Python version: $PY_VER"
echo "  2) Application root: $ROOT_DIR"
echo "  3) Application URL: $APP_URL"
echo "  4) Application startup file: passenger_wsgi.py"
echo "  5) Application Entry point: application"
echo
echo "Then in cPanel terminal run:"
echo "  cd $ROOT_DIR"
echo "  export \$(cat .env.cpanel | xargs)"
echo "  python3 - <<'PY'"
echo "  import app; app.init_db(); print('DB initialized')"
echo "  PY"
echo "  touch tmp/restart.txt"
echo
echo "Done. Open your app URL and login."
