# shellcheck shell=bash
# preflight/google-vertex.sh — gcloud CLI + service-account JSON.

preflight_check_google_vertex() {
  if ! command -v gcloud >/dev/null 2>&1; then
    local cmd
    case "$(uname -s)" in
      Darwin) cmd="brew install --cask google-cloud-sdk" ;;
      Linux)
        echo "  ⚠ Linux установка gcloud тянет скрипт с sdk.cloud.google.com" >&2
        echo "    и выполняет его как bash — без проверки хэша." >&2
        echo "    Альтернатива: пакет из репов apt/dnf, либо ручная установка по" >&2
        echo "    https://cloud.google.com/sdk/docs/install#linux" >&2
        cmd="curl https://sdk.cloud.google.com | bash"
        ;;
      *)      cmd="см. https://cloud.google.com/sdk/docs/install" ;;
    esac
    preflight_offer_install "gcloud CLI" "$cmd" || return 1
  fi
  # Проверяем что выбран project.
  local project
  project="$(gcloud config get-value project 2>/dev/null)"
  if [ -z "$project" ] || [ "$project" = "(unset)" ]; then
    echo "" >&2
    echo "  ⚠ GCP project не выбран." >&2
    echo "  Запустите: gcloud auth login && gcloud config set project YOUR_PROJECT_ID" >&2
    echo "  Также установите GOOGLE_APPLICATION_CREDENTIALS на путь к service-account JSON." >&2
    echo "" >&2
    return 1
  fi
  echo "  ✓ gcloud CLI: $(gcloud --version 2>&1 | head -1)" >&2
  echo "  ✓ project: $project" >&2
  return 0
}
