#!/usr/bin/env bash
# onx-webmail-version — Webmail driver versiyon tespiti
#
# Input: {"driver":"roundcube|snappymail|rainloop","install_path":"/usr/share/..."}
# Output: {"ok":true,"driver":"...","version":"...","installed":true|false}

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"

VERSION=""
INSTALLED="false"

case "${DRIVER}" in
    roundcube)
        if rpm -q roundcubemail >/dev/null 2>&1; then
            VERSION=$(rpm -q --queryformat '%{VERSION}' roundcubemail 2>/dev/null || echo "?")
            INSTALLED="true"
        fi
        ;;
    snappymail)
        if [[ -f "${INSTALL_PATH}/index.php" ]]; then
            VERSION=$(grep -oP "VERSION', '\K[^']+" "${INSTALL_PATH}/index.php" 2>/dev/null | head -1 || echo "?")
            INSTALLED="true"
        fi
        ;;
    rainloop)
        if [[ -f "${INSTALL_PATH}/index.php" ]]; then
            VERSION=$(grep -oP "'APP_VERSION', '\K[^']+" "${INSTALL_PATH}/index.php" 2>/dev/null | head -1 || echo "?")
            INSTALLED="true"
        fi
        ;;
    *)
        onx_die 1 "Bilinmeyen driver: ${DRIVER}"
        ;;
esac

onx_json_out \
    "driver"    "${DRIVER}" \
    "version"   "${VERSION:-not_installed}" \
    "installed" "${INSTALLED}"
