#!/bin/bash
# SamCloud Home Lab Dashboard Management Script

DASHBOARD_PATH="/Volumes/SamMgmt/CF DDClient/homelab_dashboard.py"
PLIST_PATH="/Library/LaunchDaemons/ca.samcloud.homelab-dashboard.plist"

case "$1" in
    start)
        echo "🚀 Starting home lab dashboard..."
        python3 "$DASHBOARD_PATH" --host 0.0.0.0 --port 8080
        ;;
    status)
        echo "📊 Checking home lab dashboard status..."
        if pgrep -f "homelab_dashboard.py" > /dev/null; then
            echo "✅ Dashboard is running"
            echo "🌐 Available at: http://localhost:8080"
        else
            echo "❌ Dashboard is not running"
        fi
        ;;
    install-service)
        echo "📦 Installing dashboard service..."
        if [[ "$OSTYPE" == "darwin"* ]]; then
            sudo cp homelab_dashboard.plist "$PLIST_PATH"
            sudo launchctl load "$PLIST_PATH"
            echo "✅ macOS LaunchDaemon installed and started"
        else
            sudo cp homelab-dashboard.service /etc/systemd/system/
            sudo systemctl enable homelab-dashboard
            sudo systemctl start homelab-dashboard
            echo "✅ Systemd service installed and started"
        fi
        ;;
    stop-service)
        echo "🛑 Stopping dashboard service..."
        if [[ "$OSTYPE" == "darwin"* ]]; then
            sudo launchctl unload "$PLIST_PATH" 2>/dev/null || true
        else
            sudo systemctl stop homelab-dashboard
        fi
        echo "✅ Service stopped"
        ;;
    logs)
        echo "📋 Dashboard logs:"
        if [[ "$OSTYPE" == "darwin"* ]]; then
            tail -f /var/log/homelab_dashboard.log
        else
            sudo journalctl -u homelab-dashboard -f
        fi
        ;;
    open)
        echo "🌐 Opening dashboard in browser..."
        if command -v open &> /dev/null; then
            open http://localhost:8080
        elif command -v xdg-open &> /dev/null; then
            xdg-open http://localhost:8080
        else
            echo "Please open http://localhost:8080 in your browser"
        fi
        ;;
    test)
        echo "🧪 Testing dashboard components..."
        python3 -c "
from homelab_dashboard import HomeLabDashboard
import json

dashboard = HomeLabDashboard()
print('🔍 Testing DDNS status...')
ddns_status = dashboard.get_ddns_status()
print('DDNS Status:', ddns_status.get('status', 'unknown'))

print('💻 Testing system info...')
system_info = dashboard.get_system_info()
print('CPU Usage:', system_info['cpu']['usage'], '%')

print('✅ All components working')
"
        ;;
    *)
        echo "SamCloud Home Lab Dashboard Management"
        echo ""
        echo "Usage: $0 {start|status|install-service|stop-service|logs|open|test}"
        echo ""
        echo "Commands:"
        echo "  start           - Start dashboard in foreground"
        echo "  status          - Check if dashboard is running"
        echo "  install-service - Install as system service"
        echo "  stop-service    - Stop system service"
        echo "  logs            - Show dashboard logs"
        echo "  open            - Open dashboard in browser"
        echo "  test            - Test dashboard components"
        ;;
esac
