<?php
// php/geolocalizacion_comunitaria/delete.php
declare(strict_types=1);
require_once __DIR__ . '/_bootstrap.php';

$u = gcomm_user();
gcomm_require_write($u);

try {
  gcomm_ensure_tables($pdo);
  $in = read_json_body();
  $id = gcomm_int_or_null($in['id'] ?? ($_GET['id'] ?? null));
  if ($id === null) {
    json_response(['ok' => false, 'message' => 'ID obligatorio.'], 400);
  }

  $st = $pdo->prepare("SELECT nombre FROM geo_comunitaria_puntos WHERE id = ? LIMIT 1");
  $st->execute([$id]);
  $nombre = $st->fetchColumn();
  if (!$nombre) {
    json_response(['ok' => false, 'message' => 'El punto comunitario no existe.'], 404);
  }

  $del = $pdo->prepare("DELETE FROM geo_comunitaria_puntos WHERE id = ? LIMIT 1");
  $del->execute([$id]);

  fp_log_activity($pdo, $u, 'Geolocalización Comunitaria', 'Eliminar punto', 'Se eliminó el punto comunitario: ' . $nombre, 'geo_comunitaria_puntos', (string)$id);

  json_response(['ok' => true, 'message' => 'Punto comunitario eliminado.']);
} catch (Throwable $e) {
  error_log('GEO COM DELETE ERROR: ' . $e->getMessage());
  json_response(['ok' => false, 'message' => 'Error eliminando punto comunitario.'], 500);
}
