24 lines
783 B
PHP
24 lines
783 B
PHP
<?php
|
|
/** GET /api/lab/get_pacientes.php — Lista paginada de pacientes o detalle por ID */
|
|
require_once __DIR__ . '/_helpers.php';
|
|
requireMethod('GET');
|
|
|
|
try {
|
|
$pac = new Paciente();
|
|
|
|
// Detalle de un paciente específico
|
|
if (!empty($_GET['id']) && ctype_digit($_GET['id'])) {
|
|
$row = $pac->obtener((int)$_GET['id']);
|
|
if (!$row) jsonError('Paciente no encontrado', 404);
|
|
jsonOk(['data' => [$row]]);
|
|
}
|
|
|
|
$busqueda = trim($_GET['busqueda'] ?? $_GET['search'] ?? '');
|
|
$pagina = max(1, (int)($_GET['page'] ?? $_GET['pagina'] ?? 1));
|
|
$por = max(1, min(100, (int)($_GET['limit'] ?? $_GET['por_pagina'] ?? 30)));
|
|
|
|
jsonOk($pac->listar($busqueda, $pagina, $por));
|
|
} catch (Exception $e) {
|
|
jsonError($e->getMessage(), 500);
|
|
}
|