#!/usr/bin/env bash
# iyzico Başvuruyu Güncelle öncesi birleşik gate (G + I + J + yasal yüzey).
# Kullanım:
#   FAUNAMIX_SITE_URL=https://www.faunamix.com \
#   FAUNAMIX_ENV_FILE=api/.env.railway \
#   FAUNAMIX_ENV_OVERLAY=api/.env.railway.app \
#   ./scripts/run-iyzico-preapply-gate.sh
set -euo pipefail

ROOT="$(cd "$(dirname "$0")/.." && pwd)"
cd "$ROOT"

EXIT=0

run_step() {
  local label="$1"
  shift
  echo ""
  echo "========== $label =========="
  if "$@"; then
    echo "[GATE OK] $label"
  else
    local code=$?
    echo "[GATE FAIL] $label (exit $code)"
    EXIT=1
  fi
}

export FAUNAMIX_LAUNCH_MIN_PRODUCTS="${FAUNAMIX_LAUNCH_MIN_PRODUCTS:-5}"

run_step "Katalog kalite (I+J)" php scripts/verify-catalog-launch-ready.php || true

run_step "Yasal sayfa DB" bash -c '
  FAUNAMIX_ENV_FILE="${FAUNAMIX_ENV_FILE:-api/.env.railway}" \
  FAUNAMIX_ENV_OVERLAY="${FAUNAMIX_ENV_OVERLAY:-}" \
  php scripts/verify-legal-readiness.php
' || true

run_step "Yasal URL yüzey" bash -c '
  FAUNAMIX_SITE_URL="${FAUNAMIX_SITE_URL:-https://www.faunamix.com}" \
  ./scripts/verify-iyzico-site-checklist.sh
' || true

run_step "İnceleme simülasyonu (G+H)" bash -c '
  FAUNAMIX_SITE_URL="${FAUNAMIX_SITE_URL:-https://www.faunamix.com}" \
  FAUNAMIX_ENV_FILE="${FAUNAMIX_ENV_FILE:-api/.env.railway}" \
  ./scripts/verify-iyzico-review-simulation.sh
' || true

run_step "Ticari bilgiler altyapısı" bash -c '
  FAUNAMIX_ENV_FILE="${FAUNAMIX_ENV_FILE:-api/.env.railway}" \
  php scripts/verify-company-legal-readiness.php
  code=$?
  if [[ "$code" -eq 2 ]]; then exit 0; fi
  exit "$code"
' || true

echo ""
if [[ "$EXIT" -eq 0 ]]; then
  echo "Preapply gate: TÜM kontroller yeşil. Sepet→iyzico manuel test sonrası Başvuruyu Güncelle."
else
  echo "Preapply gate: Eksikler var — yukarıdaki BLOCKER satırlarını giderin."
fi

exit "$EXIT"
