#!/usr/bin/env bash
# onx-webmail-uninstall — Webmail driver kaldırma
#
# Input: {"driver":"roundcube|snappymail|rainloop","install_path":"/usr/share/..."}
# Output: {"ok":true,"removed":true,"driver":"...","message":"..."}

set -euo pipefail

SCRIPT_DIR="$(dirname "$(readlink -f "$0")")"
source "${SCRIPT_DIR}/_lib/common.sh"

INPUT=$(cat)
onx_require_json "${INPUT}"

DRIVER=$(onx_json_get "${INPUT}" "driver")
INSTALL_PATH=$(onx_json_get "${INPUT}" "install_path")

[[ -z "${DRIVER}" ]] && onx_die 1 "driver required"
[[ -z "${INSTALL_PATH}" ]] && onx_die 1 "install_path required"

# Path traversal koruması
case "${INSTALL_PATH}" in
    /usr/share/*|/opt/*) ;;
    *) onx_die 1 "install_path izinli dizinler dışında" ;;
esac

case "${DRIVER}" in
    roundcube)
        # EPEL paket — dnf remove + config korunur
        dnf remove -y roundcubemail >/dev/null 2>&1 || true
        MESSAGE="Roundcube paket kaldırıldı (/etc/roundcubemail config korundu)"
        ;;
    snappymail|rainloop)
        # Manuel kurulum — install_path sil
        if [[ -d "${INSTALL_PATH}" ]]; then
            # Veri yedeği
            BACKUP="/var/backups/onoxsoft/webmail-${DRIVER}-$(date +%Y%m%d-%H%M%S).tar.gz"
            mkdir -p "$(dirname "${BACKUP}")"
            tar czf "${BACKUP}" -C "$(dirname "${INSTALL_PATH}")" "$(basename "${INSTALL_PATH}")" 2>/dev/null || true
            rm -rf "${INSTALL_PATH}"
            MESSAGE="${DRIVER} silindi (backup: ${BACKUP})"
        else
            MESSAGE="${DRIVER} zaten kurulu değil"
        fi
        ;;
    *)
        onx_die 1 "Bilinmeyen driver: ${DRIVER}"
        ;;
esac

onx_json_out \
    "removed" "true" \
    "driver"  "${DRIVER}" \
    "message" "${MESSAGE}"
