<?php
declare(strict_types=1);

require_once __DIR__ . '/../conexion.php';
require_once __DIR__ . '/../_helpers.php';
require_once __DIR__ . '/../auth/guard.php';

$u = require_login();
require_module_write($u, "usuarios");

$in = read_json_body();
$rut = normalize_rut((string)($in['rut'] ?? ''));

if ($rut === '') {
  json_response(["ok" => false, "message" => "RUT requerido."], 400);
}

try {
  $stmt = $pdo->prepare("DELETE FROM usuarios WHERE rut = ?");
  $stmt->execute([$rut]);

  fp_log_activity($pdo, $u, 'Personas', 'Eliminar persona', 'Se eliminó la persona RUT ' . $rut, 'persona', $rut);

  json_response(["ok" => true]);
} catch (Throwable $e) {
  // FK en uso
  if ((int)($e->errorInfo[1] ?? 0) === 1451) {
    json_response(["ok" => false, "message" => "No se puede eliminar: la persona está relacionada a otras tablas."], 409);
  }
  error_log("PERSONAS DELETE ERROR: " . $e->getMessage());
  json_response(["ok" => false, "message" => "Error eliminando persona."], 500);
}
