[network/ruqola] src/rocketchatrestapi-qt: Implement setroomkeyidjob
Laurent Montel <[email protected]> Wed, 5 Aug 2026 06:11:21 +0000 (UTC)
| Newsgroups | gmane.comp.kde.cvs |
|---|---|
| Message-ID | <[email protected]> |
Git commit fa3c17c3e4eab9f9296020c4f503cf309d46f80e by Laurent Montel.
Committed on 05/08/2026 at 05:56.
Pushed by mlaurent into branch 'master'.
Implement setroomkeyidjob
M +16 -21 src/rocketchatrestapi-qt/autotests/setroomkeyidjobtest.cpp
M +11 -12 src/rocketchatrestapi-qt/e2e/setroomkeyidjob.cpp
M +6 -8 src/rocketchatrestapi-qt/e2e/setroomkeyidjob.h
https://invent.kde.org/network/ruqola/-/commit/fa3c17c3e4eab9f9296020c4f503cf309d46f80e
diff --git a/src/rocketchatrestapi-qt/autotests/setroomkeyidjobtest.cpp b/src/rocketchatrestapi-qt/autotests/setroomkeyidjobtest.cpp
index 665a2b3423..cbaf14aea4 100644
--- a/src/rocketchatrestapi-qt/autotests/setroomkeyidjobtest.cpp
+++ b/src/rocketchatrestapi-qt/autotests/setroomkeyidjobtest.cpp
@@ -27,7 +27,7 @@ void SetRoomKeyIDJobTest::shouldHaveDefaultValue()
RuqolaRestApiHelper::verifyDefaultValue(&job);
QVERIFY(job.requireHttpAuthentication());
- QVERIFY(!job.setUserPublicAndPrivateKeysInfo().isValid());
+ QVERIFY(!job.roomKeyIDInfo().isValid());
QVERIFY(!job.hasQueryParameterSupport());
}
@@ -36,26 +36,21 @@ void SetRoomKeyIDJobTest::shouldGenerateRequest()
SetRoomKeyIDJob job;
QNetworkRequest request = QNetworkRequest(QUrl());
RuqolaRestApiHelper::verifyAuthentication(&job, request);
- QCOMPARE(request.url(), QUrl(u"http://www.kde.org/api/v1/e2e.setUserPublicAndPrivateKeys"_s));
+ QCOMPARE(request.url(), QUrl(u"http://www.kde.org/api/v1/e2e.setRoomKeyID"_s));
QCOMPARE(request.header(QNetworkRequest::ContentTypeHeader).toString(), u"application/json"_s);
}
void SetRoomKeyIDJobTest::shouldGenerateJson()
{
SetRoomKeyIDJob job;
- SetRoomKeyIDJob::SetUserPublicAndPrivateKeysInfo info;
- const QString rsapublic = u"foo1"_s;
- const QString rsaprivate = u"private"_s;
- info.rsaPrivateKey = rsaprivate;
- info.rsaPublicKey = rsapublic;
- job.setSetUserPublicAndPrivateKeysInfo(info);
+ SetRoomKeyIDJob::RoomKeyIDInfo info;
+ const QByteArray roomId = "foo1"_ba;
+ const QByteArray keyId = "key1"_ba;
+ info.roomId = roomId;
+ info.keyId = keyId;
+ job.setRoomKeyIDInfo(info);
QCOMPARE(job.json().toJson(QJsonDocument::Compact),
- QStringLiteral(R"({"force":false,"private_key":"%2","public_key":"%1"})").arg(rsapublic, rsaprivate).toLatin1());
-
- info.force = true;
- job.setSetUserPublicAndPrivateKeysInfo(info);
- QCOMPARE(job.json().toJson(QJsonDocument::Compact),
- QStringLiteral(R"({"force":true,"private_key":"%2","public_key":"%1"})").arg(rsapublic, rsaprivate).toLatin1());
+ QStringLiteral(R"({"keyID":"%2","rid":"%1"})").arg(QString::fromLatin1(roomId), QString::fromLatin1(keyId)).toLatin1());
}
void SetRoomKeyIDJobTest::shouldNotStarting()
@@ -76,14 +71,14 @@ void SetRoomKeyIDJobTest::shouldNotStarting()
job.setUserId(userId);
QVERIFY(!job.canStart());
- SetRoomKeyIDJob::SetUserPublicAndPrivateKeysInfo info;
- const QString rsapublic = u"foo1"_s;
- const QString rsaprivate = u"private"_s;
- info.rsaPrivateKey = rsaprivate;
- job.setSetUserPublicAndPrivateKeysInfo(info);
+ SetRoomKeyIDJob::RoomKeyIDInfo info;
+ const QByteArray roomId = "foo1"_ba;
+ const QByteArray keyId = "key1"_ba;
+ info.roomId = roomId;
+ job.setRoomKeyIDInfo(info);
QVERIFY(!job.canStart());
- info.rsaPublicKey = rsapublic;
- job.setSetUserPublicAndPrivateKeysInfo(info);
+ info.keyId = keyId;
+ job.setRoomKeyIDInfo(info);
QVERIFY(job.canStart());
}
diff --git a/src/rocketchatrestapi-qt/e2e/setroomkeyidjob.cpp b/src/rocketchatrestapi-qt/e2e/setroomkeyidjob.cpp
index 8c91a5c5cc..86227b13a2 100644
--- a/src/rocketchatrestapi-qt/e2e/setroomkeyidjob.cpp
+++ b/src/rocketchatrestapi-qt/e2e/setroomkeyidjob.cpp
@@ -47,14 +47,14 @@ void SetRoomKeyIDJob::onPostRequestResponse(const QString &replyErrorString, con
}
}
-SetRoomKeyIDJob::SetUserPublicAndPrivateKeysInfo SetRoomKeyIDJob::setUserPublicAndPrivateKeysInfo() const
+SetRoomKeyIDJob::RoomKeyIDInfo SetRoomKeyIDJob::roomKeyIDInfo() const
{
- return mSetUserPublicAndPrivateKeysInfo;
+ return mSetRoomKeyIDInfo;
}
-void SetRoomKeyIDJob::setSetUserPublicAndPrivateKeysInfo(const SetUserPublicAndPrivateKeysInfo &newSetUserPublicAndPrivateKeysInfo)
+void SetRoomKeyIDJob::setRoomKeyIDInfo(const RoomKeyIDInfo &newSetRoomKeyIDInfo)
{
- mSetUserPublicAndPrivateKeysInfo = newSetUserPublicAndPrivateKeysInfo;
+ mSetRoomKeyIDInfo = newSetRoomKeyIDInfo;
}
bool SetRoomKeyIDJob::requireHttpAuthentication() const
@@ -67,8 +67,8 @@ bool SetRoomKeyIDJob::canStart() const
if (!RestApiAbstractJob::canStart()) {
return false;
}
- if (!mSetUserPublicAndPrivateKeysInfo.isValid()) {
- qCWarning(ROCKETCHATQTRESTAPI_LOG) << "SetRoomKeyIDJob: mSetUserPublicAndPrivateKeysInfo is invalid";
+ if (!mSetRoomKeyIDInfo.isValid()) {
+ qCWarning(ROCKETCHATQTRESTAPI_LOG) << "SetRoomKeyIDJob: mSetRoomKeyIDInfo is invalid";
return false;
}
return true;
@@ -76,7 +76,7 @@ bool SetRoomKeyIDJob::canStart() const
QNetworkRequest SetRoomKeyIDJob::request() const
{
- const QUrl url = mRestApiMethod->generateUrl(RestApiUtil::RestApiUrlType::E2ESetUserPublicAndPrivateKeys);
+ const QUrl url = mRestApiMethod->generateUrl(RestApiUtil::RestApiUrlType::E2ESetRoomKeyID);
QNetworkRequest request(url);
addAuthRawHeader(request);
addRequestAttribute(request);
@@ -86,17 +86,16 @@ QNetworkRequest SetRoomKeyIDJob::request() const
QJsonDocument SetRoomKeyIDJob::json() const
{
QJsonObject jsonObj;
- jsonObj["public_key"_L1] = mSetUserPublicAndPrivateKeysInfo.rsaPublicKey;
- jsonObj["private_key"_L1] = mSetUserPublicAndPrivateKeysInfo.rsaPrivateKey;
- jsonObj["force"_L1] = mSetUserPublicAndPrivateKeysInfo.force;
+ jsonObj["rid"_L1] = QString::fromLatin1(mSetRoomKeyIDInfo.roomId);
+ jsonObj["keyID"_L1] = QString::fromLatin1(mSetRoomKeyIDInfo.keyId);
const QJsonDocument postData = QJsonDocument(jsonObj);
return postData;
}
-bool SetRoomKeyIDJob::SetUserPublicAndPrivateKeysInfo::isValid() const
+bool SetRoomKeyIDJob::RoomKeyIDInfo::isValid() const
{
- return !rsaPublicKey.isEmpty() && !rsaPrivateKey.isEmpty();
+ return !roomId.isEmpty() && !keyId.isEmpty();
}
#include "moc_setroomkeyidjob.cpp"
diff --git a/src/rocketchatrestapi-qt/e2e/setroomkeyidjob.h b/src/rocketchatrestapi-qt/e2e/setroomkeyidjob.h
index 242f74a74a..38f8a4f0c5 100644
--- a/src/rocketchatrestapi-qt/e2e/setroomkeyidjob.h
+++ b/src/rocketchatrestapi-qt/e2e/setroomkeyidjob.h
@@ -14,12 +14,10 @@ class LIBROCKETCHATRESTAPI_QT_EXPORT SetRoomKeyIDJob : public RestApiAbstractJob
{
Q_OBJECT
- // Since rocketchat 0.70
public:
- struct LIBROCKETCHATRESTAPI_QT_EXPORT SetUserPublicAndPrivateKeysInfo {
- QString rsaPublicKey;
- QString rsaPrivateKey;
- bool force = false;
+ struct LIBROCKETCHATRESTAPI_QT_EXPORT RoomKeyIDInfo {
+ QByteArray roomId;
+ QByteArray keyId;
[[nodiscard]] bool isValid() const;
};
@@ -33,14 +31,14 @@ public:
[[nodiscard]] QJsonDocument json() const;
- [[nodiscard]] SetUserPublicAndPrivateKeysInfo setUserPublicAndPrivateKeysInfo() const;
- void setSetUserPublicAndPrivateKeysInfo(const SetUserPublicAndPrivateKeysInfo &newSetUserPublicAndPrivateKeysInfo);
+ [[nodiscard]] RoomKeyIDInfo roomKeyIDInfo() const;
+ void setRoomKeyIDInfo(const RoomKeyIDInfo &newSetRoomKeyIDInfo);
Q_SIGNALS:
void setUserPublicAndPrivateKeysDone();
private:
LIBROCKETCHATRESTAPI_QT_NO_EXPORT void onPostRequestResponse(const QString &replyErrorString, const QJsonDocument &replyJson) override;
- SetUserPublicAndPrivateKeysInfo mSetUserPublicAndPrivateKeysInfo;
+ RoomKeyIDInfo mSetRoomKeyIDInfo;
};
}