#!/usr/bin/env bash
# ============================================================
# reset-and-seed-db.sh : Réinitialise la BDD et injecte les données de test
# Usage : depuis la racine du projet ptitspas-app
#   ./scripts/reset-and-seed-db.sh
# ============================================================

set -e

SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
PROJECT_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)"
cd "$PROJECT_ROOT"

echo "=== Réinitialisation BDD + seed données de test ==="
echo "Projet : $PROJECT_ROOT"
echo ""

# 1) Arrêter les conteneurs et supprimer le volume Postgres
echo "[1/4] Arrêt des conteneurs et suppression du volume Postgres..."
docker compose down -v 2>/dev/null || docker-compose down -v 2>/dev/null || true

# 2) Démarrer uniquement la base
echo "[2/4] Démarrage du conteneur database..."
docker compose up -d database 2>/dev/null || docker-compose up -d database 2>/dev/null

# 3) Attendre que Postgres soit prêt
echo "[3/4] Attente du démarrage de Postgres..."
for i in {1..30}; do
  if docker exec ptitspas-postgres pg_isready -U admin -d ptitpas_db 2>/dev/null; then
    echo "    Postgres prêt."
    break
  fi
  if [ "$i" -eq 30 ]; then
    echo "Erreur : Postgres ne répond pas après 30 tentatives."
    exit 1
  fi
  sleep 1
done

# Petit délai supplémentaire pour la fin de l'init (BDD.sql)
sleep 2

# 4) Exécuter le seed des données de test
echo "[4/4] Exécution du seed (03_seed_test_data.sql)..."
docker exec -i ptitspas-postgres psql -U admin -d ptitpas_db < database/seed/03_seed_test_data.sql

echo ""
echo "=== Terminé ==="
echo "Comptes de test (mot de passe : password) :"
echo "  - admin@ptits-pas.fr          (super_admin, créé par BDD.sql)"
echo "  - sophie.bernard@ptits-pas.fr (administrateur)"
echo "  - lucas.moreau@ptits-pas.fr   (gestionnaire)"
echo "  - marie.dubois@ptits-pas.fr   (assistante maternelle)"
echo "  - fatima.elmansouri@ptits-pas.fr (assistante maternelle)"
echo "  - claire.martin@ptits-pas.fr  (parent)"
echo "  - thomas.martin@ptits-pas.fr  (parent)"
echo "  - amelie.durand@ptits-pas.fr  (parent)"
echo "  - julien.rousseau@ptits-pas.fr (parent)"
echo "  - david.lecomte@ptits-pas.fr  (parent)"
echo ""
echo "Tu peux redémarrer le backend/frontend si besoin : docker compose up -d"
