Files
whatsapp/api/update_admin_user.php
2026-02-03 21:30:55 -05:00

62 lines
1.6 KiB
PHP

<?php
/**
* API - Actualizar usuario administrador
* Fecha: 3 de febrero de 2026
*/
require_once '../config/config.php';
// Verificar autenticación
requireAuthentication();
header('Content-Type: application/json; charset=utf-8');
header('Cache-Control: no-cache, no-store, must-revalidate');
try {
$db = Database::getInstance();
// Leer datos del request
$input = json_decode(file_get_contents('php://input'), true);
$userId = $input['user_id'] ?? null;
$username = trim($input['username'] ?? '');
$fullName = trim($input['full_name'] ?? '');
$email = trim($input['email'] ?? '');
if (!$userId) {
throw new Exception('ID de usuario requerido');
}
if (empty($username)) {
throw new Exception('El nombre de usuario es requerido');
}
// Verificar si el username ya existe (excepto para el usuario actual)
$existing = $db->fetch(
"SELECT id FROM admin_users WHERE username = ? AND id != ?",
[$username, $userId]
);
if ($existing) {
throw new Exception('El nombre de usuario ya está en uso');
}
// Actualizar usuario
$db->execute(
"UPDATE admin_users SET username = ?, full_name = ?, email = ? WHERE id = ?",
[$username, $fullName, $email, $userId]
);
echo json_encode([
'success' => true,
'message' => 'Usuario actualizado correctamente'
]);
} catch (Exception $e) {
error_log('Error updating admin user: ' . $e->getMessage());
http_response_code(500);
echo json_encode([
'success' => false,
'error' => $e->getMessage()
]);
}