#!/bin/bash

# UniSASE Agent Post-uninstallation Script
# Executed after uninstallation to perform post-cleanup operations

echo "Executing UniSASE Agent post-uninstallation cleanup..."

# Environment Variables
SCRIPT_DIR=$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)
. "${SCRIPT_DIR}/appenv.conf"

# Clean up Web files from ramdisk
echo "Cleaning up Web files from ramdisk..."
if [ -d "${RAM_WEB_ROOT}/html/App/${APP_NAME}" ]; then
  rm -rf "${RAM_WEB_ROOT}/html/App/${APP_NAME}"
fi

if [ -d "${RAM_WEB_ROOT}/cgi-bin/App/${APP_NAME}" ]; then
  rm -rf "${RAM_WEB_ROOT}/cgi-bin/App/${APP_NAME}"
fi

# Clean up ramdisk files
echo "Cleaning up ramdisk files..."
if [ -d "${RAM_ROOT_DIR}" ]; then
    rm -rf "${RAM_ROOT_DIR}"
fi

# Clean up Web files from panabit web directory
echo "Cleaning up Web files from panabit web directory..."
if [ -d "${PA_WEB_ROOT}/html/App/${APP_NAME}" ]; then
  rm -rf "${PA_WEB_ROOT}/html/App/${APP_NAME}"
fi

if [ -d "${PA_WEB_ROOT}/cgi-bin/App/${APP_NAME}" ]; then
  rm -rf "${PA_WEB_ROOT}/cgi-bin/App/${APP_NAME}"
fi

# Clean up panabit app files
echo "Cleaning up panabit app files..."
if [ -d "${APP_ROOT_DIR}" ]; then
    rm -rf "${APP_ROOT_DIR}"
fi

# Clean up unisase-agent binary file
echo "Cleaning up unisase-agent binary file..."
if [ -f "${AGENT_BIN_DIR}/unisase-agent" ]; then
    rm -f "${AGENT_BIN_DIR}/unisase-agent"
fi

# Clean up unisase-agent-debug-client binary file (Only for debug version)
echo "Cleaning up unisase-agent-debug-client binary file..."
if [ -f "${AGENT_BIN_DIR}/unisase-agent-debug-client" ]; then
    rm -f "${AGENT_BIN_DIR}/unisase-agent-debug-client"
fi

# Clean up unisase-agent-updater script file
echo "Cleaning up unisase-agent-updater script file..."
if [ -f "${AGENT_BIN_DIR}/unisase-agent-updater" ]; then
    rm -f "${AGENT_BIN_DIR}/unisase-agent-updater"
fi

# Clean up unisase-xrpc binary file
echo "Cleaning up unisase-xrpc binary file..."
if [ -f "${AGENT_BIN_DIR}/unisase-xrpc" ]; then
    rm -f "${AGENT_BIN_DIR}/unisase-xrpc"
fi

# Clean up unisase-ttyd binary file
echo "Cleaning up unisase-ttyd binary file..."
if [ -f "${AGENT_BIN_DIR}/unisase-ttyd" ]; then
    rm -f "${AGENT_BIN_DIR}/unisase-ttyd"
fi

# Clean up unisase-xrpc-ctl script file
echo "Cleaning up unisase-xrpc-ctl script file..."
if [ -f "${AGENT_BIN_DIR}/unisase-xrpc-ctl" ]; then
    rm -f "${AGENT_BIN_DIR}/unisase-xrpc-ctl"
fi

# Clean up unisase-ttyd-ctl script file
echo "Cleaning up unisase-ttyd-ctl script file..."
if [ -f "${AGENT_BIN_DIR}/unisase-ttyd-ctl" ]; then
    rm -f "${AGENT_BIN_DIR}/unisase-ttyd-ctl"
fi

# Clean up agent configuration files
echo "Cleaning up agent configuration files..."
if [ -d "${AGENT_CONF_DIR}" ]; then
    rm -rf "${AGENT_CONF_DIR}"
fi

# Clean up xrpc configuration files
echo "Cleaning up xrpc configuration files..."
if [ -d "${XRPC_CONF_DIR}" ]; then
    rm -rf "${XRPC_CONF_DIR}"
fi

# Clean up certificate files
echo "Cleaning up certificate files..."
if [ -d "${AGENT_CERTS_DIR}" ]; then
    rm -rf "${AGENT_CERTS_DIR}"
fi

# Clean up app log files
echo "Cleaning up app log files..."
# Don't remove the agent log files, just remove the panabit log files
# rm -f "${AGENT_DEFAULT_LOG_DIR}"
if [ -d "${APP_LOG_DIR}" ]; then
    rm -rf "${APP_LOG_DIR}"
fi

# Clean up xrpc log files
echo "Cleaning up xrpc log files..."
if [ -d "${XRPC_LOG_DIR}" ]; then
    rm -rf "${XRPC_LOG_DIR}"
fi

# Clean up ttyd log files
echo "Cleaning up ttyd log files..."
if [ -d "${TTYD_LOG_DIR}" ]; then
    rm -rf "${TTYD_LOG_DIR}"
fi

# Clean up agent runtime files
echo "Cleaning up agent runtime files..."
if [ -d "${AGENT_RUNTIME_DIR}" ]; then
    rm -rf "${AGENT_RUNTIME_DIR}"
fi

# Clean up xrpc runtime files
echo "Cleaning up xrpc runtime files..."
if [ -d "${XRPC_RUNTIME_DIR}" ]; then
    rm -rf "${XRPC_RUNTIME_DIR}"
fi

# Clean up ttyd runtime files
echo "Cleaning up ttyd runtime files..."
if [ -d "${TTYD_RUNTIME_DIR}" ]; then
    rm -rf "${TTYD_RUNTIME_DIR}"
fi

# Clean up unisase version file
echo "Cleaning up unisase version file..."
if [ -f "${UNISASE_VERSION_FILE}" ]; then
    rm -f "${UNISASE_VERSION_FILE}"
fi

echo "Post-uninstallation cleanup completed."
echo "UniSASE Agent has been completely uninstalled."
exit 0