aboutsummaryrefslogtreecommitdiff
path: root/lib/csapi/room_send.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lib/csapi/room_send.cpp')
-rw-r--r--lib/csapi/room_send.cpp43
1 files changed, 8 insertions, 35 deletions
diff --git a/lib/csapi/room_send.cpp b/lib/csapi/room_send.cpp
index 2b39ede2..2319496f 100644
--- a/lib/csapi/room_send.cpp
+++ b/lib/csapi/room_send.cpp
@@ -4,41 +4,14 @@
#include "room_send.h"
-#include "converters.h"
+using namespace Quotient;
-#include <QtCore/QStringBuilder>
-
-using namespace QMatrixClient;
-
-static const auto basePath = QStringLiteral("/_matrix/client/r0");
-
-class SendMessageJob::Private
-{
- public:
- QString eventId;
-};
-
-static const auto SendMessageJobName = QStringLiteral("SendMessageJob");
-
-SendMessageJob::SendMessageJob(const QString& roomId, const QString& eventType, const QString& txnId, const QJsonObject& body)
- : BaseJob(HttpVerb::Put, SendMessageJobName,
- basePath % "/rooms/" % roomId % "/send/" % eventType % "/" % txnId)
- , d(new Private)
-{
- setRequestData(Data(toJson(body)));
-}
-
-SendMessageJob::~SendMessageJob() = default;
-
-const QString& SendMessageJob::eventId() const
+SendMessageJob::SendMessageJob(const QString& roomId, const QString& eventType,
+ const QString& txnId, const QJsonObject& body)
+ : BaseJob(HttpVerb::Put, QStringLiteral("SendMessageJob"),
+ makePath("/_matrix/client/v3", "/rooms/", roomId, "/send/",
+ eventType, "/", txnId))
{
- return d->eventId;
+ setRequestData({ toJson(body) });
+ addExpectedKey("event_id");
}
-
-BaseJob::Status SendMessageJob::parseJson(const QJsonDocument& data)
-{
- auto json = data.object();
- d->eventId = fromJson<QString>(json.value("event_id"_ls));
- return Success;
-}
-