Files
whatsapp/api/lab/get_enfermeras.php
T
2026-03-10 18:42:51 -05:00

48 lines
1.4 KiB
PHP

<?php
/** GET /api/lab/get_enfermeras.php — Lista de enfermeras */
require_once __DIR__ . '/_helpers.php';
requireMethod('GET');
try {
$enf = new Enfermera();
// Perfil + agenda de una sola enfermera
if (!empty($_GET['id'])) {
$id = (int)$_GET['id'];
$e = $enf->obtener($id);
if (!$e) {
jsonError('Enfermera no encontrada', 404);
}
$fecha = $_GET['fecha'] ?? date('Y-m-d');
$e['agenda'] = $enf->agenda($id, $fecha);
// Incluir info de acceso al sistema (si tiene usuario creado)
$db = Database::getInstance();
$u = $db->fetch(
'SELECT id, username FROM admin_users WHERE enfermera_id = ? AND role = "enfermero" LIMIT 1',
[$id]
);
$e['usuario_acceso'] = $u ?: null;
jsonOk(['enfermera' => $e]);
}
$soloActivas = !isset($_GET['todas']) || $_GET['todas'] !== '1';
$lista = $enf->listar($soloActivas);
// Enriquecer con username de acceso para cada enfermera
$db = Database::getInstance();
foreach ($lista as &$item) {
$u = $db->fetch(
'SELECT username FROM admin_users WHERE enfermera_id = ? AND is_active = 1 LIMIT 1',
[$item['id']]
);
$item['username_acceso'] = $u['username'] ?? null;
}
unset($item);
jsonOk(['data' => $lista, 'total' => count($lista)]);
} catch (Exception $e) {
jsonError($e->getMessage(), 500);
}