#!/usr/bin/env bash
# onx-postfix-test — postfix check + postconf -n
# stdin: {}
# stdout: {"ok":true,"check_ok":true,"postconf_n":"…"}

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

require_root
require_cmd postfix
require_cmd postconf

INPUT=$(cat)

# postfix check
CHECK_OUT=$(postfix check 2>&1) && CHECK_OK=true || CHECK_OK=false

if [[ "$CHECK_OK" == "false" ]]; then
    json_fail 3 "postfix check başarısız: ${CHECK_OUT}"
fi

# postconf -n çıktısını tek satır JSON string olarak encode et
POSTCONF_N=$(postconf -n 2>/dev/null | head -100)

# Güvenli JSON encode
POSTCONF_ESCAPED=$(echo "$POSTCONF_N" | python3 -c "import sys,json; print(json.dumps(sys.stdin.read()))" 2>/dev/null \
    || echo "\"(python3 bulunamadı)\"")

echo "{\"ok\":true,\"check_ok\":true,\"postconf_n\":${POSTCONF_ESCAPED}}"
exit 0
