#!/usr/bin/env bash
# onx-zone-remove — PowerDNS'ten zone ve kayitlarini sil
# Input:  {"zone":"example.com"}
# Output: {"zone":...,"removed":true}

SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
source "${SCRIPT_DIR}/_lib/common.sh"

require_root
require_cmd mysql
onx_json_input

ZONE="$(onx_json_field zone)"
[[ -z "$ZONE" ]] && onx_die 1 "zone zorunlu"
onx_validate_domain "$ZONE"

ZONE_LOWER="${ZONE,,}"
onx_log "zone-remove: zone=${ZONE_LOWER}"

# mysql_exec_stdin: DB adına göre doğru credentials family seçer (PDNS_DB_*).
# Bare `mysql --defaults-extra-file=$_MYCNF_TMP` çağrısı subshell tmpfile leak
# + MAIL credentials kullanma bug'ı verir.
mysql_exec_stdin "${ONX_PDNS_DB}" <<SQL
DELETE r FROM records r
  INNER JOIN domains d ON r.domain_id = d.id
  WHERE d.name = '${ZONE_LOWER}';
DELETE FROM domains WHERE name = '${ZONE_LOWER}';
SQL
[[ $? -ne 0 ]] && onx_die 3 "Zone silme basarisiz: ${ZONE_LOWER}"

json_ok "{\"zone\":\"${ZONE_LOWER}\",\"removed\":true}"
