@echo off
REM Script de démarrage pour UnionFlow Client - Développement Local (Windows)
REM Usage: start-local.bat

echo.
echo ========================================================
echo 🚀 Démarrage de UnionFlow Client en mode développement
echo ========================================================
echo.

REM Vérification Java
echo 📋 Vérification des prérequis...
java -version >nul 2>&1
if errorlevel 1 (
    echo ❌ Java n'est pas installé. Veuillez installer Java 17+
    pause
    exit /b 1
)
echo ✅ Java détecté

REM Vérification Maven
mvn --version >nul 2>&1
if errorlevel 1 (
    echo ❌ Maven n'est pas installé. Veuillez installer Maven 3.8+
    pause
    exit /b 1
)
echo ✅ Maven détecté

REM Vérifier Keycloak
echo.
echo 🔍 Vérification de Keycloak sur http://localhost:8180...
curl -s http://localhost:8180 >nul 2>&1
if errorlevel 1 (
    echo ⚠️  Keycloak ne répond pas sur http://localhost:8180
    echo    Assurez-vous que Keycloak est démarré avant de continuer.
    echo.
    set /p CONTINUE="   Voulez-vous continuer quand même? (y/N) "
    if /i not "%CONTINUE%"=="y" exit /b 1
) else (
    echo ✅ Keycloak est accessible
)

REM Vérifier le backend
echo.
echo 🔍 Vérification du backend sur http://localhost:8085...
curl -s http://localhost:8085 >nul 2>&1
if errorlevel 1 (
    echo ⚠️  Backend ne répond pas sur http://localhost:8085
    echo    L'application fonctionnera mais les appels API échoueront.
) else (
    echo ✅ Backend est accessible
)

REM Charger .env si présent
if exist .env (
    echo.
    echo 📄 Chargement des variables d'environnement depuis .env...
    for /f "tokens=*" %%a in (.env) do (
        set "line=%%a"
        setlocal enabledelayedexpansion
        if not "!line:~0,1!"=="#" (
            set "%%a"
        )
        endlocal
    )
    echo ✅ Variables chargées
) else (
    echo.
    echo ⚠️  Fichier .env non trouvé
    echo    Créez un fichier .env depuis .env.example si nécessaire
)

REM Afficher la configuration
echo.
echo ⚙️  Configuration actuelle:
echo    - Port application: 8086
echo    - Keycloak: http://localhost:8180
echo    - Backend: %UNIONFLOW_BACKEND_URL%
if defined KEYCLOAK_CLIENT_SECRET (
    echo    - Client Secret: [défini]
) else (
    echo    - Client Secret: [non défini, utilise valeur par défaut]
)

REM Démarrer l'application
echo.
echo 🚀 Démarrage de l'application...
echo.
echo ========================================================
echo Une fois démarré, accédez à: http://localhost:8086
echo Pour arrêter: Ctrl+C
echo ========================================================
echo.

REM Démarrer avec Quarkus dev mode
mvnw.cmd quarkus:dev
