#!/bin/bash
# start-activity-watcher.sh - activity-watcher 데몬 관리 스크립트

WORKSPACE_ROOT="/home/jay/workspace"
PID_FILE="$WORKSPACE_ROOT/logs/activity-watcher.pid"
LOG_FILE="$WORKSPACE_ROOT/logs/activity-watcher.log"

case "$1" in
    start)
        # 이미 실행 중인지 확인
        if [ -f "$PID_FILE" ]; then
            pid=$(cat "$PID_FILE" 2>/dev/null)
            if [ -n "$pid" ] && kill -0 "$pid" 2>/dev/null; then
                echo "activity-watcher already running (PID $pid)"
                exit 0
            fi
        fi
        
        # 환경변수 로드
        source "$WORKSPACE_ROOT/.env.keys" 2>/dev/null || true
        
        # 데몬 시작
        nohup python3 "$WORKSPACE_ROOT/scripts/activity-watcher.py" \
            >> "$LOG_FILE" 2>&1 &
        
        # PID 파일 생성 대기
        sleep 1
        
        if [ -f "$PID_FILE" ]; then
            pid=$(cat "$PID_FILE" 2>/dev/null)
            echo "activity-watcher started (PID $pid)"
        else
            echo "ERROR: Failed to start activity-watcher"
            exit 1
        fi
        ;;
    
    stop)
        if [ -f "$PID_FILE" ]; then
            pid=$(cat "$PID_FILE" 2>/dev/null)
            if [ -n "$pid" ]; then
                kill "$pid" 2>/dev/null && echo "activity-watcher stopped (PID $pid)" || echo "Failed to stop activity-watcher"
                rm -f "$PID_FILE"
            fi
        else
            echo "activity-watcher not running (no PID file)"
        fi
        ;;
    
    restart)
        $0 stop
        sleep 1
        $0 start
        ;;
    
    status)
        if [ -f "$PID_FILE" ]; then
            pid=$(cat "$PID_FILE" 2>/dev/null)
            if [ -n "$pid" ] && kill -0 "$pid" 2>/dev/null; then
                echo "running (PID $pid)"
                exit 0
            else
                echo "stopped (stale PID file)"
                exit 1
            fi
        else
            echo "stopped"
            exit 1
        fi
        ;;
    
    logs)
        if [ -f "$LOG_FILE" ]; then
            tail -f "$LOG_FILE"
        else
            echo "No log file found: $LOG_FILE"
        fi
        ;;
    
    *)
        echo "Usage: $0 {start|stop|restart|status|logs}"
        exit 1
        ;;
esac
