#!/bin/bash

# Resolving the absolute path of the script directory
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"

echo "=================================================="
echo "   🛑 Stopping Trainings24x7 Platform            "
echo "=================================================="

# --- Stop Backend ---
if [ -f "$DIR/.backend.pid" ]; then
    PID=$(cat "$DIR/.backend.pid")
    echo -n "Stopping Backend (PID: $PID)... "
    kill $PID 2>/dev/null
    # Wait for process to exit
    sleep 1
    if ps -p $PID > /dev/null; then
        echo "Force killing..."
        kill -9 $PID 2>/dev/null
    fi
    rm "$DIR/.backend.pid"
    echo "Done."
else
    echo "Backend PID file not found. Checking process name..."
    pkill -f "mock_server.py" && echo "Killed via name."
fi

# --- Stop Frontend ---
if [ -f "$DIR/.frontend.pid" ]; then
    PID=$(cat "$DIR/.frontend.pid")
    echo -n "Stopping Frontend (PID: $PID)... "
    # Try to kill the whole process group
    kill -- -$PID 2>/dev/null || kill $PID 2>/dev/null
    sleep 1
    if ps -p $PID > /dev/null; then
        echo "Force killing..."
        kill -9 $PID 2>/dev/null
    fi
    rm "$DIR/.frontend.pid"
    echo "Done."
else
    echo "Frontend PID file not found."
    # Fallback cleanup
    pkill -f "node" && echo "Killed node processes via name."
fi

echo "=================================================="
echo "✅ All services stopped."
echo "=================================================="
