#!/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}"

_mycnf_tmp

# Records ON DELETE CASCADE varsa sadece domain silmek yeterli.
# Yok ise once records, sonra domain silinir.
mysql --defaults-extra-file="$_MYCNF_TMP" --batch --silent "${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}"
