#!/usr/bin/env bash
# Release öncesi doğrulama — proje kökünden çalıştırın. Secret yazdırmaz.
set -euo pipefail
ROOT="$(cd "$(dirname "$0")/.." && pwd)"
cd "$ROOT"

DB_ENV="${FAUNAMIX_ENV_FILE:-api/.env.railway}"
APP_ENV="${FAUNAMIX_ENV_OVERLAY:-api/.env.railway.app}"

echo "==> Faunamix release checks (cwd=$ROOT)"
echo "    DB env:     $DB_ENV"
echo "    App overlay: $APP_ENV"
echo ""

run() {
  echo "==> $1"
  shift
  "$@"
  echo ""
}

export FAUNAMIX_ENV_FILE="$DB_ENV"
export FAUNAMIX_ENV_OVERLAY="$APP_ENV"

run "iyzico" php scripts/verify-iyzico-production-ready.php || true
run "legal (DB + Vercel uyarı)" php scripts/verify-legal-readiness.php || true
run "catalog" env FAUNAMIX_LAUNCH_MIN_PRODUCTS="${FAUNAMIX_LAUNCH_MIN_PRODUCTS:-1}" FAUNAMIX_LAUNCH_MIN_TOTAL_STOCK="${FAUNAMIX_LAUNCH_MIN_TOTAL_STOCK:-8}" php scripts/verify-catalog-launch-ready.php || true
run "smoke" env FAUNAMIX_ENV_FILE="$APP_ENV" ./scripts/run-production-smoke.sh
run "release gate" env FAUNAMIX_ENV_FILE="$DB_ENV" FAUNAMIX_ENV_OVERLAY="$APP_ENV" npm run release:gate --prefix frontend

echo "Bitti. Blocker varsa yukarıdaki çıktıyı inceleyin."
