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

ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
cd "$ROOT_DIR"

source "$ROOT_DIR/scripts/load-node.sh"

NODE_BIN="$(command -v node)"
APP_MATCH=".output/server/index.mjs"
APP_LOG_FILE="${APP_LOG_FILE:-/tmp/comp_autos_server.log}"
APP_URL="${APP_URL:-http://127.0.0.1:3000/}"

echo "Reiniciando servidor local..."
pkill -f "$APP_MATCH" >/dev/null 2>&1 || true

nohup "$NODE_BIN" --env-file-if-exists=.env .output/server/index.mjs > "$APP_LOG_FILE" 2>&1 &

for _ in {1..20}; do
  if curl -fsS --max-time 5 "$APP_URL" >/dev/null 2>&1; then
    echo "Servidor listo en $APP_URL"
    echo "Log: $APP_LOG_FILE"
    exit 0
  fi

  sleep 1
done

echo "No pude confirmar que el servidor haya quedado arriba."
echo "Revisa el log en $APP_LOG_FILE"
exit 1
