#!/usr/bin/env bash
# Test vitrin verisi temizliği — database/optional_vitrin_test_data_purge.sql
# Kullanım (proje kökü):
#   FAUNAMIX_ENV_FILE=api/.env.railway ./scripts/run-vitrin-test-data-purge.sh
# Onay:
#   FAUNAMIX_PURGE_CONFIRM=1 FAUNAMIX_ENV_FILE=api/.env.railway ./scripts/run-vitrin-test-data-purge.sh
set -euo pipefail

ROOT="$(cd "$(dirname "$0")/.." && pwd)"
ENV_FILE="${FAUNAMIX_ENV_FILE:-$ROOT/api/.env}"
SQL_FILE="$ROOT/database/optional_vitrin_test_data_purge.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 ürünler, kategoriler, menüler, siparişler ve shop müşterileri silinecek."
echo "==> KORUNUR: admin_users, site_settings, yasal site_pages."
echo ""
echo "==> Önizleme (demo ürünler + sayılar):"

mysql --connect-timeout=30 \
  -h "$DB_HOST" -P "${DB_PORT:-3306}" -u "$DB_USER" -p"$DB_PASS" --protocol=TCP "$DB_NAME" -e "
SELECT id, slug, title FROM products
WHERE COALESCE(is_active, 1) = 1
  AND (
    LOWER(title) REGEXP 'test|demo|deneme|veysel|lorem'
    OR LOWER(COALESCE(description, '')) REGEXP 'test tr|demo|deneme|lorem'
    OR LOWER(slug) REGEXP 'test|demo|veyse|veysel'
  )
ORDER BY id
LIMIT 30;
SELECT COUNT(*) AS active_products FROM products WHERE COALESCE(is_active, 1) = 1;
SELECT COUNT(*) AS orders FROM ecommerce_orders;
"

if [[ "${FAUNAMIX_PURGE_CONFIRM:-}" != "1" ]]; then
  echo ""
  echo "Silme işlemi için onay gerekli:"
  echo "  FAUNAMIX_PURGE_CONFIRM=1 FAUNAMIX_ENV_FILE=$ENV_FILE $0"
  echo ""
  echo "Önce yedek: FAUNAMIX_ENV_FILE=$ENV_FILE ./scripts/backup-database.sh"
  exit 0
fi

echo ""
echo "==> Purge 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. Hemen ardından seed çalıştırın:"
echo "  FAUNAMIX_ENV_FILE=$ENV_FILE ./scripts/run-vitrin-production-seed.sh"
