#!/bin/bash

# Script de vérification du statut des applications Sherlook

echo "🔍 Vérification du statut des applications Sherlook..."
echo ""

# Couleurs pour les messages
RED='\033[0;31m'
GREEN='\033[0;32m'
BLUE='\033[0;34m'
YELLOW='\033[1;33m'
NC='\033[0m' # No Color

# Fonction pour vérifier le statut d'une application
check_app() {
    local name=$1
    local port=$2
    local url=$3
    
    echo -e "${BLUE}📱 $name (Port $port)${NC}"
    
    # Vérifier si le port est utilisé
    if lsof -Pi :$port -sTCP:LISTEN -t >/dev/null 2>&1; then
        echo -e "   ${GREEN}✅ Port $port actif${NC}"
        
        # Tester l'accès HTTP
        if curl -s -o /dev/null -w "%{http_code}" "$url" | grep -q "200\|404"; then
            echo -e "   ${GREEN}✅ Application accessible${NC}"
            echo -e "   ${YELLOW}   URL: $url${NC}"
        else
            echo -e "   ${RED}❌ Application non accessible${NC}"
        fi
    else
        echo -e "   ${RED}❌ Port $port inactif${NC}"
    fi
    echo ""
}

# Vérification des applications
check_app "Backend API" "8000" "http://localhost:8000"
check_app "Frontend Next.js" "3000" "http://localhost:3000"
check_app "Super Admin" "3001" "http://localhost:3001"

echo -e "${BLUE}📊 Résumé des processus actifs:${NC}"
echo ""

# Afficher les processus actifs
for port in 8000 3000 3001; do
    PIDS=$(lsof -ti:$port 2>/dev/null)
    if [ ! -z "$PIDS" ]; then
        echo -e "${GREEN}Port $port:${NC}"
        ps -p $PIDS | sed 's/^/  /'
        echo ""
    fi
done

echo -e "${YELLOW}💡 Commandes utiles:${NC}"
echo "  ./start-all.sh  - Démarrer toutes les applications"
echo "  ./stop-all.sh   - Arrêter toutes les applications"
echo "  ./status.sh     - Vérifier le statut (ce script)"
