#!/usr/bin/env bash
# Sandbox sipariş temizliği — database/optional_sandbox_commerce_reset.sql
# Kullanım (proje kökü):
#   FAUNAMIX_ENV_FILE=api/.env.railway ./scripts/run-sandbox-commerce-reset.sh
# Onay:
#   FAUNAMIX_RESET_CONFIRM=1 FAUNAMIX_ENV_FILE=api/.env.railway ./scripts/run-sandbox-commerce-reset.sh
set -euo pipefail

ROOT="$(cd "$(dirname "$0")/.." && pwd)"
ENV_FILE="${FAUNAMIX_ENV_FILE:-$ROOT/api/.env}"
SQL_FILE="$ROOT/database/optional_sandbox_commerce_reset.sql"

if [[ ! -f "$ENV_FILE" ]]; then
  echo "Env dosyası yok: $ENV_FILE" >&2
  exit 1
fi
if [[ ! -f "$SQL_FILE" ]]; then
  echo "SQL dosyası yok: $SQL_FILE" >&2
  exit 1
fi

set -a
# shellcheck disable=SC1090
source "$ENV_FILE"
set +a

: "${DB_HOST:?DB_HOST}"
: "${DB_USER:?DB_USER}"
: "${DB_PASS:?DB_PASS}"
: "${DB_NAME:?DB_NAME}"

echo "==> Hedef: $DB_NAME @ $DB_HOST:${DB_PORT:-3306}"
echo "==> UYARI: TÜM siparişler silinecek (tarih filtresi yok)."
echo "==> Önizleme (silinecek liste):"
mysql --connect-timeout=30 \
  -h "$DB_HOST" -P "${DB_PORT:-3306}" -u "$DB_USER" -p"$DB_PASS" --protocol=TCP "$DB_NAME" -e "
SELECT COUNT(*) AS total_orders FROM ecommerce_orders;
SELECT id, order_number, status, payment_status, total_try, customer_name, created_at
FROM ecommerce_orders
ORDER BY created_at DESC
LIMIT 50;
"

if [[ "${FAUNAMIX_RESET_CONFIRM:-}" != "1" ]]; then
  echo ""
  echo "Silme işlemi için onay gerekli:"
  echo "  FAUNAMIX_RESET_CONFIRM=1 FAUNAMIX_ENV_FILE=$ENV_FILE $0"
  exit 0
fi

echo ""
echo "==> Sipariş temizliği uygulanıyor..."
mysql --connect-timeout=30 \
  -h "$DB_HOST" -P "${DB_PORT:-3306}" -u "$DB_USER" -p"$DB_PASS" --protocol=TCP "$DB_NAME" \
  --init-command="SET SESSION net_read_timeout=600; SET SESSION net_write_timeout=600;" \
  < "$SQL_FILE"

echo "==> Tamam. Admin'de sipariş listesini yenileyin; iyzico sandbox paneli ayrı (manuel)."
