refactor
This commit is contained in:
+21
-4
@@ -6,6 +6,7 @@
|
||||
#include <QJsonObject>
|
||||
#include <QDateTime>
|
||||
#include <QDebug>
|
||||
#include <QRandomGenerator>
|
||||
|
||||
UserManager::UserManager(QObject *parent)
|
||||
: QObject(parent)
|
||||
@@ -295,16 +296,32 @@ QVector<User*> UserManager::findUsersByLogin(const QString &login)
|
||||
return result;
|
||||
}
|
||||
|
||||
User* UserManager::getUserByIndex(int index)
|
||||
User* UserManager::getUserByIndex(const QString& userID)
|
||||
{
|
||||
if (index >= 0 && index < m_users.size()) {
|
||||
auto it = m_users.begin();
|
||||
std::advance(it, index);
|
||||
auto it = m_users.find(userID);
|
||||
if (it != m_users.end()) {
|
||||
return &it.value();
|
||||
}
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
const User* UserManager::getRandomUser() const {
|
||||
if (m_users.isEmpty()) {
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
QList<QString> keys = m_users.keys();
|
||||
int randomIndex = QRandomGenerator::global()->bounded(keys.size());
|
||||
|
||||
// Возвращаем указатель на существующий объект в контейнере
|
||||
const auto it = m_users.constFind(keys[randomIndex]);
|
||||
if (it != m_users.constEnd()) {
|
||||
return &(it.value()); // Указатель на существующий объект
|
||||
}
|
||||
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
const QMap<QString, User>& UserManager::getAllUsers() const
|
||||
{
|
||||
return m_users;
|
||||
|
||||
Reference in New Issue
Block a user