fetch("SELECT id FROM users WHERE id = :user_id", ['user_id' => $user_id]); if (!$checkUser) { throw new Exception('Usuario no encontrado'); } // Actualizar usuario usando el método de la clase Database $updateData = [ 'name' => $name, 'status' => $status ]; $result = $db->update('users', $updateData, 'id = :user_id', ['user_id' => $user_id]); } else { // Buscar por teléfono y crear/actualizar $existing = $db->fetch('SELECT id FROM users WHERE phone_number = :p LIMIT 1', ['p' => $phone]); if ($existing) { $result = $db->update('users', ['name' => $name, 'status' => $status], 'id = :id', ['id' => $existing['id']]); $user_id = $existing['id']; } else { $user_id = $db->insert('users', ['phone_number' => $phone, 'name' => $name, 'status' => $status, 'created_at' => date('Y-m-d H:i:s')]); $result = $user_id ? true : false; } } if ($result === false) { throw new Exception('No se pudo actualizar el usuario'); } // Respuesta exitosa echo json_encode([ 'success' => true, 'message' => 'Usuario actualizado correctamente', 'user_id' => $user_id, 'data' => [ 'name' => $name, 'status' => $status ] ]); } catch (Exception $e) { http_response_code(400); echo json_encode([ 'success' => false, 'error' => $e->getMessage(), 'debug_info' => [ 'file' => basename(__FILE__), 'line' => $e->getLine(), 'trace' => $e->getTraceAsString() ] ]); } catch (Error $e) { http_response_code(500); echo json_encode([ 'success' => false, 'error' => 'Error interno del servidor: ' . $e->getMessage(), 'debug_info' => [ 'file' => basename(__FILE__), 'line' => $e->getLine() ] ]); } ?>