From be2e28cc536eae05434a3b31aece75173f4f354e Mon Sep 17 00:00:00 2001 From: Tobias Fella Date: Sat, 4 May 2024 11:17:45 +0200 Subject: [PATCH] Cleanup API --- src/controller.cpp | 15 ++++++++------- src/controller.h | 5 ++--- src/login.cpp | 3 ++- src/registration.cpp | 2 +- 4 files changed, 13 insertions(+), 12 deletions(-) diff --git a/src/controller.cpp b/src/controller.cpp index 0682b145f..ea9cea91f 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -23,6 +23,7 @@ #include #include #include +#include #include "neochatconfig.h" #include "neochatconnection.h" @@ -189,7 +190,7 @@ void Controller::invokeLogin() m_accountsLoading += accountId; Q_EMIT accountsLoadingChanged(); if (!account.homeserver().isEmpty()) { - auto accessTokenLoadingJob = loadAccessTokenFromKeyChain(account); + auto accessTokenLoadingJob = loadAccessTokenFromKeyChain(account.userId()); connect(accessTokenLoadingJob, &QKeychain::Job::finished, this, [accountId, this, accessTokenLoadingJob](QKeychain::Job *) { AccountSettings account{accountId}; QString accessToken; @@ -217,11 +218,11 @@ void Controller::invokeLogin() } } -QKeychain::ReadPasswordJob *Controller::loadAccessTokenFromKeyChain(const AccountSettings &account) +QKeychain::ReadPasswordJob *Controller::loadAccessTokenFromKeyChain(const QString &userId) { - qDebug() << "Reading access token from the keychain for" << account.userId(); + qDebug() << "Reading access token from the keychain for" << userId; auto job = new QKeychain::ReadPasswordJob(qAppName(), this); - job->setKey(account.userId()); + job->setKey(userId); // Handling of errors connect(job, &QKeychain::Job::finished, this, [this, job]() { @@ -252,12 +253,12 @@ QKeychain::ReadPasswordJob *Controller::loadAccessTokenFromKeyChain(const Accoun return job; } -bool Controller::saveAccessTokenToKeyChain(const AccountSettings &account, const QByteArray &accessToken) +bool Controller::saveAccessTokenToKeyChain(const QString &userId, const QByteArray &accessToken) { - qDebug() << "Save the access token to the keychain for " << account.userId(); + qDebug() << "Save the access token to the keychain for " << userId; QKeychain::WritePasswordJob job(qAppName()); job.setAutoDelete(false); - job.setKey(account.userId()); + job.setKey(userId); job.setBinaryData(accessToken); QEventLoop loop; QKeychain::WritePasswordJob::connect(&job, &QKeychain::Job::finished, &loop, &QEventLoop::quit); diff --git a/src/controller.h b/src/controller.h index d99d65305..7820717aa 100644 --- a/src/controller.h +++ b/src/controller.h @@ -8,7 +8,6 @@ #include "neochatconnection.h" #include -#include #ifdef HAVE_KUNIFIEDPUSH #include @@ -81,7 +80,7 @@ public: /** * @brief Save an access token to the keychain for the given account. */ - bool saveAccessTokenToKeyChain(const Quotient::AccountSettings &account, const QByteArray &accessToken); + bool saveAccessTokenToKeyChain(const QString &userId, const QByteArray &accessToken); [[nodiscard]] bool supportSystemTray() const; @@ -109,7 +108,7 @@ private: QPointer m_connection; TrayIcon *m_trayIcon = nullptr; - QKeychain::ReadPasswordJob *loadAccessTokenFromKeyChain(const Quotient::AccountSettings &account); + QKeychain::ReadPasswordJob *loadAccessTokenFromKeyChain(const QString &account); void loadSettings(); void saveSettings() const; diff --git a/src/login.cpp b/src/login.cpp index 8855ea1b7..576fe848f 100644 --- a/src/login.cpp +++ b/src/login.cpp @@ -5,6 +5,7 @@ #include #include +#include #include "controller.h" @@ -72,7 +73,7 @@ void LoginHelper::init() account.setHomeserver(m_connection->homeserver()); account.setDeviceId(m_connection->deviceId()); account.setDeviceName(m_deviceName); - if (!Controller::instance().saveAccessTokenToKeyChain(account, m_connection->accessToken())) { + if (!Controller::instance().saveAccessTokenToKeyChain(account.userId(), m_connection->accessToken())) { qWarning() << "Couldn't save access token"; } account.sync(); diff --git a/src/registration.cpp b/src/registration.cpp index 9907eb345..e20d44d26 100644 --- a/src/registration.cpp +++ b/src/registration.cpp @@ -106,7 +106,7 @@ void Registration::registerAccount() account.setHomeserver(connection->homeserver()); account.setDeviceId(connection->deviceId()); account.setDeviceName(displayName); - if (!Controller::instance().saveAccessTokenToKeyChain(account, connection->accessToken())) { + if (!Controller::instance().saveAccessTokenToKeyChain(account.userId(), connection->accessToken())) { qWarning() << "Couldn't save access token"; } account.sync();