summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorKonstantinos Sideris <sideris.konstantin@gmail.com>2018-02-23 22:27:59 +0200
committerKonstantinos Sideris <sideris.konstantin@gmail.com>2018-02-23 22:27:59 +0200
commitf525b7e6a99d97b73591de392878ea87ca2ab9fb (patch)
tree7dd452c7ab0090eb1fcedc0f35b424407e1f5f14 /src
parentRelax matrix identifier parsing (diff)
downloadnheko-f525b7e6a99d97b73591de392878ea87ca2ab9fb.tar.xz
Replace login request with the one from matrix-structs
Diffstat (limited to 'src')
-rw-r--r--src/Login.cc49
-rw-r--r--src/MatrixClient.cc19
-rw-r--r--src/Register.cc2
3 files changed, 16 insertions, 54 deletions
diff --git a/src/Login.cc b/src/Login.cc
deleted file mode 100644

index 3e681a76..00000000 --- a/src/Login.cc +++ /dev/null
@@ -1,49 +0,0 @@ -/* - * nheko Copyright (C) 2017 Konstantinos Sideris <siderisk@auth.gr> - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - */ - -#include "Login.h" -#include "Deserializable.h" - -LoginRequest::LoginRequest() {} - -LoginRequest::LoginRequest(QString username, QString password) - : user_(username) - , password_(password) -{} - -QByteArray -LoginRequest::serialize() noexcept -{ -#if defined(Q_OS_MAC) - QString initialDeviceName("nheko on Mac OS"); -#elif defined(Q_OS_LINUX) - QString initialDeviceName("nheko on Linux"); -#elif defined(Q_OS_WIN) - QString initialDeviceName("nheko on Windows"); -#else - QString initialDeviceName("nheko"); -#endif - - QJsonObject body{ - {"type", "m.login.password"}, - {"user", user_}, - {"password", password_}, - {"initial_device_display_name", initialDeviceName}, - }; - - return QJsonDocument(body).toJson(QJsonDocument::Compact); -} diff --git a/src/MatrixClient.cc b/src/MatrixClient.cc
index 929a070f..af50e5b9 100644 --- a/src/MatrixClient.cc +++ b/src/MatrixClient.cc
@@ -28,7 +28,6 @@ #include <QSettings> #include <QUrlQuery> -#include "Login.h" #include "MatrixClient.h" #include "Register.h" @@ -101,9 +100,23 @@ MatrixClient::login(const QString &username, const QString &password) noexcept QNetworkRequest request(endpoint); request.setHeader(QNetworkRequest::ContentTypeHeader, "application/json"); - LoginRequest body(username, password); + mtx::requests::Login login; + login.user = username.toStdString(); + login.password = password.toStdString(); + login.initial_device_display_name = "nheko"; - auto reply = post(request, body.serialize()); +#if defined(Q_OS_MAC) + login.initial_device_display_name = "nheko on Mac OS"; +#elif defined(Q_OS_LINUX) + login.initial_device_display_name = "nheko on Linux"; +#elif defined(Q_OS_WIN) + login.initial_device_display_name = "nheko on Windows"; +#endif + + json j = login; + + auto data = QByteArray::fromStdString(j.dump()); + auto reply = post(request, data); connect(reply, &QNetworkReply::finished, this, [this, reply]() { reply->deleteLater(); diff --git a/src/Register.cc b/src/Register.cc
index 84ba82e7..d63f9229 100644 --- a/src/Register.cc +++ b/src/Register.cc
@@ -15,8 +15,6 @@ * along with this program. If not, see <http://www.gnu.org/licenses/>. */ -#include "Deserializable.h" - #include "Register.h" RegisterRequest::RegisterRequest(const QString &username, const QString &password)