From 138f2241097da3fae7b64ca2cc56289792158c12 Mon Sep 17 00:00:00 2001 From: Tobias Fella Date: Wed, 25 Dec 2024 16:01:29 +0100 Subject: [PATCH] Use Quotient's job for deleting devices --- src/CMakeLists.txt | 2 -- src/jobs/neochatdeletedevicejob.cpp | 14 -------------- src/jobs/neochatdeletedevicejob.h | 12 ------------ src/models/devicesmodel.cpp | 17 +++++++---------- 4 files changed, 7 insertions(+), 38 deletions(-) delete mode 100644 src/jobs/neochatdeletedevicejob.cpp delete mode 100644 src/jobs/neochatdeletedevicejob.h diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index e465c9705..4ba57ba42 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -128,8 +128,6 @@ add_library(neochat STATIC neochatconnection.h jobs/neochatdeactivateaccountjob.cpp jobs/neochatdeactivateaccountjob.h - jobs/neochatdeletedevicejob.cpp - jobs/neochatdeletedevicejob.h jobs/neochatgetcommonroomsjob.cpp jobs/neochatgetcommonroomsjob.h mediasizehelper.cpp diff --git a/src/jobs/neochatdeletedevicejob.cpp b/src/jobs/neochatdeletedevicejob.cpp deleted file mode 100644 index 16c726e0e..000000000 --- a/src/jobs/neochatdeletedevicejob.cpp +++ /dev/null @@ -1,14 +0,0 @@ -// SPDX-FileCopyrightText: 2023 Tobias Fella -// SPDX-License-Identifier: GPL-2.0-or-later - -#include "neochatdeletedevicejob.h" - -using namespace Quotient; - -NeochatDeleteDeviceJob::NeochatDeleteDeviceJob(const QString &deviceId, const std::optional &auth) - : BaseJob(HttpVerb::Delete, u"DeleteDeviceJob"_s, u"/_matrix/client/r0/devices/%1"_s.arg(deviceId).toLatin1()) -{ - QJsonObject _data; - addParam(_data, u"auth"_s, auth); - setRequestData(std::move(_data)); -} diff --git a/src/jobs/neochatdeletedevicejob.h b/src/jobs/neochatdeletedevicejob.h deleted file mode 100644 index 07a03f0c3..000000000 --- a/src/jobs/neochatdeletedevicejob.h +++ /dev/null @@ -1,12 +0,0 @@ -// SPDX-FileCopyrightText: 2023 Tobias Fella -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -#include - -class NeochatDeleteDeviceJob : public Quotient::BaseJob -{ -public: - explicit NeochatDeleteDeviceJob(const QString &deviceId, const std::optional &auth = {}); -}; diff --git a/src/models/devicesmodel.cpp b/src/models/devicesmodel.cpp index 610c6c645..bf5856729 100644 --- a/src/models/devicesmodel.cpp +++ b/src/models/devicesmodel.cpp @@ -3,8 +3,6 @@ #include "devicesmodel.h" -#include "jobs/neochatdeletedevicejob.h" - #include #include @@ -111,7 +109,7 @@ void DevicesModel::logout(const QString &deviceId, const QString &password) for (index = 0; m_devices[index].deviceId != deviceId; index++) ; - auto job = m_connection->callApi(m_devices[index].deviceId); + auto job = m_connection->callApi(m_devices[index].deviceId); connect(job, &BaseJob::result, this, [this, job, password, index] { auto onSuccess = [this, index]() { @@ -122,13 +120,12 @@ void DevicesModel::logout(const QString &deviceId, const QString &password) }; if (job->error() != BaseJob::Success) { QJsonObject replyData = job->jsonData(); - QJsonObject authData; - authData["session"_L1] = replyData["session"_L1]; - authData["password"_L1] = password; - authData["type"_L1] = "m.login.password"_L1; - QJsonObject identifier = {{"type"_L1, "m.id.user"_L1}, {"user"_L1, m_connection->user()->id()}}; - authData["identifier"_L1] = identifier; - auto innerJob = m_connection->callApi(m_devices[index].deviceId, authData); + AuthenticationData authData; + authData.session = replyData["session"_L1].toString(); + authData.authInfo["password"_L1] = password; + authData.type = "m.login.password"_L1; + authData.authInfo["identifier"_L1] = QJsonObject{{"type"_L1, "m.id.user"_L1}, {"user"_L1, m_connection->user()->id()}}; + auto innerJob = m_connection->callApi(m_devices[index].deviceId, authData); connect(innerJob.get(), &BaseJob::success, this, onSuccess); } else { onSuccess();