<?php
declare(strict_types=1);

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

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

if (!function_exists('respond')) {
  function respond(array $payload, int $code = 200): void { json_response($payload, $code); }
}
if (!function_exists('respond_error')) {
  function respond_error(string $msg, int $code = 400): void { json_response(['ok'=>false,'message'=>$msg], $code); }
}

$id  = trim((string)($_GET['id'] ?? ''));
$cod = trim((string)($_GET['cod'] ?? ''));

if ($id === '' && $cod === '') {
  respond_error("ID o código requerido", 400);
}

try {
  if ($id !== '') {
    $st = $pdo->prepare("DELETE FROM vivienda WHERE id = :id");
    $st->execute([':id'=>$id]);
  } else {
    $st = $pdo->prepare("DELETE FROM vivienda WHERE cod_vivienda = :cod");
    $st->execute([':cod'=>$cod]);
  }

  fp_log_activity($pdo, $u, 'Vivienda', 'Eliminar vivienda', 'Se eliminó la vivienda ' . ($id !== '' ? ('ID ' . $id) : ('código ' . $cod)), 'vivienda', ($id !== '' ? $id : $cod));

  respond(['ok'=>true, 'message'=>'Vivienda eliminada']);
} catch (Throwable $e) {
  error_log("VIVIENDA delete ERROR: ".$e->getMessage());
  respond_error("Error de servidor", 500);
}
