#!/usr/bin/env pwsh

# Script de démarrage du serveur UnionFlow en mode minimal
# Ce script démarre le serveur avec seulement les modules de base

Write-Host "🚀 Démarrage du serveur UnionFlow en mode minimal..." -ForegroundColor Green
Write-Host ""

# Vérifier que Java est installé
try {
    $javaVersion = java -version 2>&1 | Select-String "version"
    Write-Host "✅ Java détecté: $javaVersion" -ForegroundColor Green
} catch {
    Write-Host "❌ Java n'est pas installé ou accessible" -ForegroundColor Red
    exit 1
}

# Vérifier que Maven est installé
try {
    $mavenVersion = mvn --version 2>&1 | Select-String "Apache Maven"
    Write-Host "✅ Maven détecté: $mavenVersion" -ForegroundColor Green
} catch {
    Write-Host "❌ Maven n'est pas installé ou accessible" -ForegroundColor Red
    exit 1
}

Write-Host ""
Write-Host "📦 Compilation du module API..." -ForegroundColor Yellow

# Compiler le module API
Set-Location "unionflow-server-api"
$apiResult = mvn clean install -DskipTests -q
if ($LASTEXITCODE -ne 0) {
    Write-Host "❌ Erreur lors de la compilation du module API" -ForegroundColor Red
    exit 1
}
Write-Host "✅ Module API compilé avec succès" -ForegroundColor Green

# Retourner au répertoire racine
Set-Location ".."

Write-Host ""
Write-Host "🔧 Démarrage du serveur en mode minimal..." -ForegroundColor Yellow
Write-Host "   - Base de données: H2 en mémoire" -ForegroundColor Cyan
Write-Host "   - Authentification: Désactivée" -ForegroundColor Cyan
Write-Host "   - Modules: Membres, Organisations, Événements, Cotisations" -ForegroundColor Cyan
Write-Host "   - URL: http://192.168.1.11:8080" -ForegroundColor Cyan
Write-Host "   - Swagger: http://192.168.1.11:8080/swagger-ui" -ForegroundColor Cyan
Write-Host ""

# Démarrer le serveur
Set-Location "unionflow-server-impl-quarkus"
mvn quarkus:dev -Dquarkus.profile=minimal -Dquarkus.http.host=0.0.0.0

Write-Host ""
Write-Host "🛑 Serveur arrêté" -ForegroundColor Yellow
