#!/bin/bash
# postrm: truenas-proxmox v3.x removal script
set -e

PLUGIN_DST="/usr/share/perl5/PVE/Storage/Custom/TrueNAS.pm"
JS_DST="/usr/share/pve-manager/js/truenas-storage.js"
HELP_DST="/usr/share/pve-docs/truenas-storage.html"
TPL="/usr/share/pve-manager/index.html.tpl"
LOG_FILE="/var/log/truenas-proxmox-install.log"

log() {
    echo "[truenas-proxmox] $*" | tee -a "$LOG_FILE"
}

remove_ui() {
    rm -f "$JS_DST"   && log "Removed ${JS_DST}"
    rm -f "$HELP_DST" && log "Removed ${HELP_DST}"

    if [ -f "$TPL" ] && grep -qF 'truenas-storage.js' "$TPL"; then
        log "Removing <script> tag from ${TPL}"
        sed -i '/truenas-storage\.js/d' "$TPL"
    fi
}

restart_pve_services() {
    log "Restarting Proxmox VE services ..."
    pvedaemon restart && log "pvedaemon restarted"
    pveproxy restart  && log "pveproxy restarted"
}

case "$1" in
    remove)
        log "Removing truenas-proxmox ..."
        rm -f "$PLUGIN_DST" && log "Removed ${PLUGIN_DST}"
        remove_ui
        restart_pve_services
        log "truenas-proxmox removed. Refresh your Proxmox browser tab."
        ;;
    purge)
        log "Purging truenas-proxmox ..."
        rm -f "$PLUGIN_DST" "$JS_DST" "$HELP_DST" "$LOG_FILE"
        [ -f "$TPL" ] && sed -i '/truenas-storage\.js/d' "$TPL"
        ;;
    upgrade|failed-upgrade|disappear|abort-upgrade|abort-remove|abort-deconfigure)
        ;;
    *)
        echo "$0: called with unknown argument '$1'" >&2
        exit 0
        ;;
esac

exit 0
