#!/bin/bash

# Define the absolute paths
PROJECT_DIR="/home/m1-ai/DEPLOYMENTS/AI-PHONE/ZACK-UPDATE/fixing_leaked"
PID_FILE="$PROJECT_DIR/flask_pid.txt"
LOG_FILE="$PROJECT_DIR/stop_flask.log"
DEVOPS_PID_FILE="$PROJECT_DIR/devops_pid.txt"

# Get the current time
CURRENT_TIME=$(date "+%Y-%m-%d %H:%M:%S")

# ── Stop the Flask/pipeline server ──
if [ -f "$PID_FILE" ]; then
  PID=$(cat "$PID_FILE")
  if ps -p $PID > /dev/null; then
    kill $PID
    sleep 2
    if ps -p $PID > /dev/null; then
      echo "[$CURRENT_TIME] Failed to stop Flask server with PID $PID." >> "$LOG_FILE"
      echo "Failed to stop Flask server with PID $PID."
    else
      rm "$PID_FILE"
      echo "[$CURRENT_TIME] Flask server with PID $PID stopped." >> "$LOG_FILE"
      echo "Flask server with PID $PID stopped."
    fi
  else
    echo "[$CURRENT_TIME] No process with PID $PID is running." >> "$LOG_FILE"
    echo "No process with PID $PID is running."
    rm "$PID_FILE"
  fi
else
  echo "[$CURRENT_TIME] No Flask server running." >> "$LOG_FILE"
  echo "No Flask server running."
fi

# ── Stop the DevOps API server ──
if [ -f "$DEVOPS_PID_FILE" ]; then
  PID=$(cat "$DEVOPS_PID_FILE")
  if ps -p $PID > /dev/null; then
    kill $PID
    sleep 2
    if ps -p $PID > /dev/null; then
      echo "[$CURRENT_TIME] Failed to stop DevOps API with PID $PID." >> "$LOG_FILE"
      echo "Failed to stop DevOps API with PID $PID."
    else
      rm "$DEVOPS_PID_FILE"
      echo "[$CURRENT_TIME] DevOps API with PID $PID stopped." >> "$LOG_FILE"
      echo "DevOps API with PID $PID stopped."
    fi
  else
    echo "[$CURRENT_TIME] No process with PID $PID is running." >> "$LOG_FILE"
    echo "No process with PID $PID is running."
    rm "$DEVOPS_PID_FILE"
  fi
else
  echo "[$CURRENT_TIME] No DevOps API running." >> "$LOG_FILE"
  echo "No DevOps API running."
fi
