#!/usr/bin/env bash
# onx-record-remove — PowerDNS kaydını ID ile sil
# Input:  {"record_id":42}
# Output: {"record_id":42,"removed":true}

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

require_root
require_cmd mysql
onx_json_input

RECORD_ID="$(onx_json_field record_id)"
[[ -z "$RECORD_ID" ]] && onx_die 1 "record_id zorunlu"
[[ "$RECORD_ID" =~ ^[0-9]+$ ]] || onx_die 1 "Gecersiz record_id: '${RECORD_ID}'"

onx_log "record-remove: record_id=${RECORD_ID}"

_mycnf_tmp

# Zone adini al (serial bump icin)
ZONE_NAME="$(mysql_exec "${ONX_PDNS_DB}" \
    "SELECT d.name FROM records r JOIN domains d ON r.domain_id=d.id WHERE r.id=${RECORD_ID} LIMIT 1;" \
    2>/dev/null | tail -1)"

mysql_exec "${ONX_PDNS_DB}" "DELETE FROM records WHERE id=${RECORD_ID};" \
    || onx_die 3 "Kayit silme basarisiz: id=${RECORD_ID}"

# Serial bump
if [[ -n "$ZONE_NAME" ]]; then
    mysql_exec "${ONX_PDNS_DB}" \
        "UPDATE records r JOIN domains d ON r.domain_id=d.id SET r.content=REGEXP_REPLACE(r.content,'([^ ]+ [^ ]+ )([0-9]+)(.*)',CONCAT(SUBSTRING_INDEX(r.content,' ',2),' ',DATE_FORMAT(NOW(),'%Y%m%d01'),SUBSTRING_INDEX(r.content,' ',-3))) WHERE d.name='${ZONE_NAME}' AND r.type='SOA';" \
        2>/dev/null || true
    pdns_control notify "${ZONE_NAME}" 2>/dev/null || true
fi

json_ok "{\"record_id\":${RECORD_ID},\"removed\":true}"
