############################################
# POSTRM (POSIX /bin/sh)
############################################
#!/bin/sh
set -e

SERVICE="vpnclient.service"

DB_DIR="/var/lib/nacxwan/VpnClient"
LOG_DIR="/var/log/nacxwan/VpnClient"
BACKUP_DIR="/var/lib/nacxwan/VpnClient/.upgrade-backup"

log() {
  echo "POSTRM: $*"
  if command -v logger >/dev/null 2>&1; then
    logger -t vpnclient-installer "POSTRM: $*"
  fi
}

is_systemd() {
  command -v systemctl >/dev/null 2>&1 && [ -d /run/systemd/system ]
}

svc_stop_only() {
  if is_systemd; then
    if command -v deb-systemd-invoke >/dev/null 2>&1; then
      deb-systemd-invoke stop "$SERVICE" >/dev/null 2>&1 || true
    else
      systemctl stop "$SERVICE" >/dev/null 2>&1 || true
      systemctl reset-failed "$SERVICE" >/dev/null 2>&1 || true
      systemctl daemon-reload >/dev/null 2>&1 || true
    fi
  fi
}

svc_disable_and_purge() {
  if is_systemd; then
    if command -v deb-systemd-helper >/dev/null 2>&1; then
      deb-systemd-helper disable "$SERVICE" >/dev/null 2>&1 || true
      deb-systemd-helper purge "$SERVICE" >/dev/null 2>&1 || true
    else
      systemctl disable "$SERVICE" >/dev/null 2>&1 || true
    fi

    if command -v deb-systemd-invoke >/dev/null 2>&1; then
      deb-systemd-invoke stop "$SERVICE" >/dev/null 2>&1 || true
    else
      systemctl stop "$SERVICE" >/dev/null 2>&1 || true
    fi

    systemctl reset-failed "$SERVICE" >/dev/null 2>&1 || true
    systemctl daemon-reload >/dev/null 2>&1 || true
  fi
}

purge_user_configs() {
  # Purge ciblé par appli (évite d’effacer d’autres apps nacxwan)
  getent passwd | while IFS=: read -r user _ uid _ _ home _; do
    [ "$uid" -ge 1000 ] 2>/dev/null || continue
    [ -n "$home" ] || continue
    [ -d "$home" ] || continue

    rm -rf "$home/.vpnclient" 2>/dev/null || true
    rm -rf "$home/.config/nacxwan/VpnClient" 2>/dev/null || true
    rm -rf "$home/.config/autostart/nacXwan-VpnClient.desktop" 2>/dev/null || true
    rm -rf "$home/.local/state/nacxwan/VpnClient" 2>/dev/null || true
    rm -rf "$home/.cache/nacxwan/VpnClient" 2>/dev/null || true
  done
}

log "$1 ${2:-}"

case "$1" in
  remove)
    # remove : stop sans désactiver (dpkg gère les fichiers)
    svc_stop_only
    ;;

  purge)
    svc_disable_and_purge
    purge_user_configs

    rm -rf "$DB_DIR" 2>/dev/null || true
    rm -rf "$LOG_DIR" 2>/dev/null || true
    rm -rf "$BACKUP_DIR" 2>/dev/null || true
    
    rm -f /etc/logrotate.d/vpnclient.dpkg-old /etc/logrotate.d/vpnclient.dpkg-dist 2>/dev/null || true
    ;;

  upgrade|failed-upgrade|abort-install|abort-upgrade|disappear)
    ;;
esac

exit 0
