Files
whatsapp/api/lab/get_lab_users.php
Lizandro GuarnizoandClaude Sonnet 4.6 233144c017 feat(usuarios): gestión de firma por profesional desde perfil de usuario
Botón firma en tabla de usuarios (verde si ya tiene, gris si no).
Modal con canvas para dibujar o subir imagen, vista previa de firma
actual y opción de eliminar. APIs get/save_firma_usuario.php para admins.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-07 23:16:26 -05:00

44 lines
1.1 KiB
PHP

<?php
/**
* GET /api/lab/get_lab_users.php
* Devuelve todos los usuarios del sistema con información de rol.
* Solo admins.
*/
require_once __DIR__ . '/_helpers.php';
requireAdmin();
$db = Database::getInstance();
$users = $db->fetchAll("
SELECT
u.id,
u.username,
u.full_name,
u.email,
u.is_active,
u.role,
u.role_id,
u.enfermera_id,
u.last_login,
u.created_at,
(u.firma_svg IS NOT NULL) AS tiene_firma,
r.name AS role_name,
r.color AS role_color,
r.slug AS role_slug,
e.nombre_completo AS enfermera_nombre
FROM admin_users u
LEFT JOIN roles r ON r.id = u.role_id
LEFT JOIN lab_enfermeras e ON e.id = u.enfermera_id
ORDER BY u.id ASC
");
foreach ($users as &$u) {
$u['is_active'] = (bool)$u['is_active'];
$u['tiene_firma'] = (bool)$u['tiene_firma'];
$u['role_name'] = $u['role_name'] ?? ucfirst($u['role'] ?? 'admin');
$u['role_color'] = $u['role_color'] ?? '#0d6efd';
}
unset($u);
jsonOk(['users' => $users]);