#!/bin/bash
# Création des organisations MUKEFI et MESKA via l'API REST

BACKEND_URL="http://localhost:8085"
KEYCLOAK_URL="http://localhost:8180"
REALM="unionflow"
CLIENT_ID="unionflow-server"

echo "========================================================================"
echo "Création des organisations MUKEFI et MESKA via l'API"
echo "========================================================================"

# 1. Obtenir un token JWT avec le compte superadmin
echo ""
echo "📡 Obtention du token JWT..."
TOKEN_RESPONSE=$(curl -s -X POST "$KEYCLOAK_URL/realms/$REALM/protocol/openid-connect/token" \
  -d "client_id=$CLIENT_ID" \
  -d "username=superadmin" \
  -d "password=Test@123" \
  -d "grant_type=password")

ACCESS_TOKEN=$(echo $TOKEN_RESPONSE | grep -o '"access_token":"[^"]*' | cut -d'"' -f4)

if [ -z "$ACCESS_TOKEN" ]; then
    echo "❌ Erreur: Impossible d'obtenir le token JWT"
    echo "   Vérifiez que le backend est démarré sur $BACKEND_URL"
    exit 1
fi

echo "✅ Token JWT obtenu"

# 2. Créer MUKEFI (Mutuelle)
echo ""
echo "🏦 Création de MUKEFI (Mutuelle)..."

MUKEFI_JSON='{
  "nom": "Mutuelle d'\''Épargne et de Crédit des Fonctionnaires et Indépendants",
  "nomCourt": "MUKEFI",
  "description": "Mutuelle d'\''épargne et de crédit dédiée aux fonctionnaires et travailleurs indépendants de Côte d'\''Ivoire",
  "email": "contact@mukefi.org",
  "telephone": "+225 07 00 00 00 01",
  "siteWeb": "https://mukefi.org",
  "typeOrganisation": "MUTUELLE_EPARGNE_CREDIT",
  "statut": "ACTIVE",
  "dateFondation": "2020-01-15",
  "numeroEnregistrement": "MUT-CI-2020-001",
  "devise": "XOF",
  "budgetAnnuel": 500000000,
  "cotisationObligatoire": true,
  "montantCotisationAnnuelle": 50000,
  "objectifs": "Favoriser l'\''épargne et l'\''accès au crédit pour les membres",
  "activitesPrincipales": "Épargne, crédit, micro-crédit, formation financière",
  "partenaires": "Banque Centrale des États de l'\''Afrique de l'\''Ouest (BCEAO)",
  "latitude": 5.3364,
  "longitude": -4.0267
}'

MUKEFI_RESPONSE=$(curl -s -X POST "$BACKEND_URL/api/organisations" \
  -H "Authorization: Bearer $ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d "$MUKEFI_JSON")

if echo "$MUKEFI_RESPONSE" | grep -q '"id"'; then
    echo "✅ MUKEFI créée avec succès"
    MUKEFI_ID=$(echo $MUKEFI_RESPONSE | grep -o '"id":"[^"]*' | cut -d'"' -f4)
    echo "   ID: $MUKEFI_ID"
else
    echo "⚠️  MUKEFI: $(echo $MUKEFI_RESPONSE | head -c 200)"
fi

# 3. Créer MESKA (Association)
echo ""
echo "🤝 Création de MESKA (Association)..."

MESKA_JSON='{
  "nom": "Mouvement d'\''Entraide et de Solidarité de Koumassi et Adjamé",
  "nomCourt": "MESKA",
  "description": "Association communautaire d'\''entraide et de solidarité basée à Abidjan",
  "email": "contact@meska.org",
  "telephone": "+225 07 00 00 00 02",
  "siteWeb": "https://meska.org",
  "typeOrganisation": "ASSOCIATION",
  "statut": "ACTIVE",
  "dateFondation": "2018-06-20",
  "numeroEnregistrement": "ASSO-CI-2018-045",
  "devise": "XOF",
  "budgetAnnuel": 25000000,
  "cotisationObligatoire": true,
  "montantCotisationAnnuelle": 25000,
  "objectifs": "Promouvoir la solidarité et l'\''entraide entre les membres des communes de Koumassi et Adjamé",
  "activitesPrincipales": "Aide sociale, événements communautaires, formations, projets collectifs",
  "partenaires": "Mairie de Koumassi, Mairie d'\''Adjamé",
  "latitude": 5.2931,
  "longitude": -3.9468
}'

MESKA_RESPONSE=$(curl -s -X POST "$BACKEND_URL/api/organisations" \
  -H "Authorization: Bearer $ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d "$MESKA_JSON")

if echo "$MESKA_RESPONSE" | grep -q '"id"'; then
    echo "✅ MESKA créée avec succès"
    MESKA_ID=$(echo $MESKA_RESPONSE | grep -o '"id":"[^"]*' | cut -d'"' -f4)
    echo "   ID: $MESKA_ID"
else
    echo "⚠️  MESKA: $(echo $MESKA_RESPONSE | head -c 200)"
fi

# 4. Vérifier les organisations créées
echo ""
echo "📋 Vérification des organisations créées..."

ORGS_LIST=$(curl -s -X GET "$BACKEND_URL/api/organisations" \
  -H "Authorization: Bearer $ACCESS_TOKEN")

echo "$ORGS_LIST" | grep -o '"nom":"[^"]*' | cut -d'"' -f4

echo ""
echo "========================================================================"
echo "✅ Création des organisations terminée"
echo "========================================================================"
echo ""
echo "🏦 MUKEFI:"
echo "   → Type: Mutuelle d'épargne et de crédit"
echo "   → Email: contact@mukefi.org"
echo "   → Modules: Cotisations, Épargne/Crédit, Comptabilité, Documents"
echo ""
echo "🤝 MESKA:"
echo "   → Type: Association"
echo "   → Email: contact@meska.org"
echo "   → Modules: Cotisations, Événements, Solidarité, Documents"
echo ""
