#!/usr/bin/env bash
# ────────────────────────────────────────────────────────────────────────────
#  Toggle V2 production ↔ V3 research
#  Uso:
#    ./switch_v2_v3.sh status    → muestra cual está corriendo
#    ./switch_v2_v3.sh v2         → para V3 si activo, lanza V2
#    ./switch_v2_v3.sh v3         → para V2 si activo, lanza V3 (research)
#    ./switch_v2_v3.sh stop       → para ambos
# ────────────────────────────────────────────────────────────────────────────
set -u

V2_DIR=/Users/danicosta/Desktop/Evony/evony-scout-dual
V3_DIR=/Users/danicosta/Desktop/Evony/evony-scout-v3-research
PY=/Applications/Xcode.app/Contents/Developer/usr/bin/python3

case "${1:-status}" in
  status)
    P2=$(lsof -ti :8771 2>/dev/null)
    P3=$(lsof -ti :8772 2>/dev/null)
    echo "V2 (8771): ${P2:-stopped}"
    echo "V3 (8772): ${P3:-stopped}"
    ;;

  v2)
    echo "[..] Switching to V2 production"
    P3=$(lsof -ti :8772 2>/dev/null)
    if [ -n "$P3" ]; then echo "  killing V3 pid=$P3"; kill -9 $P3; sleep 3; fi
    P2=$(lsof -ti :8771 2>/dev/null)
    if [ -n "$P2" ]; then echo "  V2 already running pid=$P2"; exit 0; fi
    cd "$V2_DIR" && nohup "$PY" iscout_web.py >/tmp/evony_dual.log 2>&1 &
    sleep 15
    if lsof -ti :8771 >/dev/null 2>&1; then
      echo "[ok] V2 launched → http://127.0.0.1:8771"
    else
      echo "[!] V2 fail to start, check /tmp/evony_dual.log"
    fi
    ;;

  v3)
    echo "[..] Switching to V3 RESEARCH"
    P2=$(lsof -ti :8771 2>/dev/null)
    if [ -n "$P2" ]; then echo "  killing V2 pid=$P2"; kill -9 $P2; sleep 3; fi
    P3=$(lsof -ti :8772 2>/dev/null)
    if [ -n "$P3" ]; then echo "  V3 already running pid=$P3"; exit 0; fi
    cd "$V3_DIR" && nohup "$PY" iscout_web.py >/tmp/evony_v3.log 2>&1 &
    sleep 15
    if lsof -ti :8772 >/dev/null 2>&1; then
      echo "[ok] V3 launched → http://127.0.0.1:8772"
      echo "    log: tail -f /tmp/evony_v3.log"
      echo "    stats: curl -s http://127.0.0.1:8772/api/protocol_stats | python3 -m json.tool"
    else
      echo "[!] V3 fail to start, check /tmp/evony_v3.log"
    fi
    ;;

  stop)
    echo "[..] Stopping both"
    lsof -ti :8771 2>/dev/null | xargs -I{} kill -9 {} 2>/dev/null
    lsof -ti :8772 2>/dev/null | xargs -I{} kill -9 {} 2>/dev/null
    echo "[ok] all stopped"
    ;;

  *)
    echo "Usage: $0 {status|v2|v3|stop}"
    exit 1
    ;;
esac
