#!/bin/bash

APP_NAME="one-ai-gateway"
BIN_PATH="./${APP_NAME}"
ARGS="-c config.yml"
LOG_FILE="./logs/app.log"
PID_FILE="./${APP_NAME}.pid"

case "$1" in
    start)
        echo "Starting ${APP_NAME}"
        # shellcheck disable=SC2086
        ${BIN_PATH} ${ARGS} > ${LOG_FILE} 2>&1 &
        echo $! > ${PID_FILE}  # 记录真实PID
        echo "$APP_NAME Stated， PID $(cat ${PID_FILE})"
        tail -f ${LOG_FILE}
        ;;
    stop)
        echo "Stopping ${APP_NAME}"
        if [ -f ${PID_FILE} ]; then
            # shellcheck disable=SC2046
            kill $(cat ${PID_FILE}) && rm -f ${PID_FILE}
        else
            echo "PID file not found, attempting to find PID using pgrep"
            pgrep -f "${BIN_PATH}" | xargs kill || true
        fi
        echo "$APP_NAME Stopped"
        ;;
    restart)
        $0 stop
        sleep 1
        $0 start
        ;;
    status)
        if pgrep -q -f "${BIN_PATH}"; then
            echo "$APP_NAME running"
        else
            echo "$APP_NAME not running"
        fi
        ;;
    *)
        echo "Usage: $0 {start|stop|restart|status}"
        exit 1
        ;;
esac
