#!/usr/bin/env bash
#
# onx-webserver-uninstall — driver paketini kaldır (config'ler korunur)
#
# Input: {"driver":"...","package":"...","service":"..."}
# Output: {"ok":true,"uninstalled":true}
#
# Güvenlik: aktif (running + sites-serving) driver kaldırılamaz — önce switch zorunlu.

set -uo pipefail
input="$(cat 2>/dev/null || echo '{}')"
driver="$(echo "$input" | jq -r '.driver // empty')"
package="$(echo "$input" | jq -r '.package // empty')"
service="$(echo "$input" | jq -r '.service // empty')"

[[ -z "$driver" || -z "$package" ]] && { jq -nc '{ok:false,error:"driver+package required"}' >&2; exit 1; }

# Aktif servis kaldırılamaz
if [[ -n "$service" ]] && systemctl is-active --quiet "$service" 2>/dev/null; then
    jq -nc --arg s "$service" '{ok:false,error:"servis aktif — önce stop edip diğer driver'\''e switch yapın",service:$s}' >&2
    exit 2
fi

# Stop + disable
[[ -n "$service" ]] && systemctl disable --now "$service" >/dev/null 2>&1 || true

# Paket kaldır
if [[ -f /etc/debian_version ]]; then
    DEBIAN_FRONTEND=noninteractive apt-get remove -y "$package" >/dev/null 2>&1
else
    dnf remove -y "$package" >/dev/null 2>&1
fi

jq -nc --arg driver "$driver" --arg package "$package" \
    '{ok:true, uninstalled:true, driver:$driver, package:$package,
      message:"Paket kaldırıldı. Config dosyaları korundu."}'
