This commit is contained in:
2026-02-07 08:28:56 +03:00
parent eff857a55e
commit 451ddd9ae0
30 changed files with 3993 additions and 1233 deletions
+21 -4
View File
@@ -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;