/
breton75
/
modus2
Обзор
Документация
Войти
/
breton75
/
modus2
Код
Запросы
0
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
libs/auth/netAuth/src/net_auth.cpp
213 строк
5 KB
breton75
Update fileAuth.pro, file_auth.cpp, and 6 more files...
30 май 2025, 11:29
30 май 2025, 11:29
5daaf1e
Код
Авторство
О чём код?
#include "net_auth.h" NetAuth::NetAuth(QObject* parent): AuthPluginInterface(parent) { } NetAuth::~NetAuth() { if(userStorage) delete userStorage; } bool NetAuth::init(const QString& params) { if(!parseParams(params)) return false; NetUsersStorage* us = new NetUsersStorage(m_host, m_port); setUserStorage(us); connect(this, &NetAuth::authError, this, &NetAuth::setLastError); connect(this, &NetAuth::getUserDataError, this, &NetAuth::setLastError); connect(this, &NetAuth::verifyPasswordError, this, &NetAuth::setLastError); return true; } UserData NetAuth::getUserData(const QString &username, const QString &password) { if (!userStorage) { emit getUserDataError("Хранилище пользователей не установлено"); return UserData(); } if (userStorage->verifyPassword(username, password)) { UserData userData = userStorage->loadUserData(username); if(userData.username.isEmpty()) { emit getUserDataError("Не получилось загрузить данные пользователя"); return UserData(); } else { emit getUserDataSucceeded(); return userData; } } else { emit getUserDataError("Неправильный логин или пароль"); return UserData(); } } void NetAuth::setUserStorage(IUserStorage *storage) { userStorage = storage; if(userStorage) connect(userStorage, &IUserStorage::message, this, &NetAuth::authError); } bool NetAuth::createUser(const QString& username, const QString& password, UserData& userData) { if (!userStorage) { emit authError("Хранилище пользователей не установлено"); return false; } return userStorage->createUser(username, password, userData); } bool NetAuth::updateUser(const QString& username, const UserData& userData) { if (!userStorage) { emit authError("Хранилище пользователей не установлено"); return false; } return userStorage->updateUser(username, userData); } bool NetAuth::updateUserPass(const QString& username, const QString& pass) { if (!userStorage) { emit authError("Хранилище пользователей не установлено"); return false; } return userStorage->updateUserPass(username, pass); } bool NetAuth::deleteUser(const QString& username) { if (!userStorage) { emit authError("Хранилище пользователей не установлено"); return false; } return userStorage->deleteUser(username); } bool NetAuth::containsUser(const QString& username) { if (!userStorage) { emit authError("Хранилище пользователей не установлено"); return false; } return userStorage->containsUser(username); } const QString NetAuth::lastError() { return m_lastError; } void NetAuth::getAllUserData(QList<UserData>& userDataList) { if (!userStorage) { emit authError("Хранилище пользователей не установлено"); return; } userStorage->loadAllUserData(userDataList); } void NetAuth::getAllUsernames(QSet<QString>& usernamesSet) { if (!userStorage) { emit authError("Хранилище пользователей не установлено"); return; } userStorage->getAllUsernames(usernamesSet); } UserData NetAuth::loadUserData(const QString& username) { if (!userStorage) { emit authError("Хранилище пользователей не установлено"); return UserData(); } return userStorage->loadUserData(username); } JWT* NetAuth::createToken(const QString& username, const QString& password) { if (!userStorage) { emit authError("Хранилище пользователей не установлено"); return 0; } return JWT::fromString(userStorage->createToken(username, password)); } //JWT* Auth::loadToken(const QString& username) //{ // if (!userStorage) { // emit authError("Хранилище пользователей не установлено"); // return 0; // } // return JWT::fromString(userStorage->loadToken(username)); //} void NetAuth::setLastError(const QString& error) { m_lastError = error; } bool NetAuth::verifyPassword(const QString& username, const QString& password) { if (!userStorage) { emit authError("Хранилище пользователей не установлено"); return false; } return userStorage->verifyPassword(username, password); } bool NetAuth::parseParams(const QString& params) { QJsonParseError parseError; QJsonObject obj = QJsonDocument::fromJson(params.toUtf8(), &parseError).object(); if(parseError.error != QJsonParseError::NoError) { m_lastError = parseError.errorString(); return false; } QString P = P_HOST; if(!obj.contains(P)) { m_lastError = QString("Не задан обязательный параметр %1").arg(P); return false; } else m_host = obj.value(P).toString(); P = P_PORT; if(!obj.contains(P)) { m_lastError = QString("Не задан обязательный параметр %1").arg(P); return false; } else m_port = obj.value(P_PORT).toInt(); return true; }