From f525b7e6a99d97b73591de392878ea87ca2ab9fb Mon Sep 17 00:00:00 2001 From: Konstantinos Sideris Date: Fri, 23 Feb 2018 22:27:59 +0200 Subject: [PATCH] Replace login request with the one from matrix-structs --- CMakeLists.txt | 1 - include/Login.h | 38 ----------------------------------- include/Register.h | 3 +-- src/Login.cc | 49 --------------------------------------------- src/MatrixClient.cc | 19 +++++++++++++++--- src/Register.cc | 2 -- 6 files changed, 17 insertions(+), 95 deletions(-) delete mode 100644 include/Login.h delete mode 100644 src/Login.cc diff --git a/CMakeLists.txt b/CMakeLists.txt index 7c1355de..1fd460b2 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -196,7 +196,6 @@ set(SRC_FILES src/Deserializable.cc src/InviteeItem.cc src/InputValidator.cc - src/Login.cc src/LoginPage.cc src/MainWindow.cc src/MatrixClient.cc diff --git a/include/Login.h b/include/Login.h deleted file mode 100644 index 1c8b7898..00000000 --- a/include/Login.h +++ /dev/null @@ -1,38 +0,0 @@ -/* - * nheko Copyright (C) 2017 Konstantinos Sideris - * - * 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 . - */ - -#pragma once - -#include - -#include "Deserializable.h" - -class LoginRequest -{ -public: - LoginRequest(); - LoginRequest(QString username, QString password); - - QByteArray serialize() noexcept; - - void setPassword(QString password) { password_ = password; }; - void setUser(QString username) { user_ = username; }; - -private: - QString user_; - QString password_; -}; diff --git a/include/Register.h b/include/Register.h index fc4a49e6..ed903172 100644 --- a/include/Register.h +++ b/include/Register.h @@ -17,10 +17,9 @@ #pragma once +#include "Deserializable.h" #include -class Deserializable; - class RegisterRequest { public: 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 - * - * 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 . - */ - -#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 #include -#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 . */ -#include "Deserializable.h" - #include "Register.h" RegisterRequest::RegisterRequest(const QString &username, const QString &password)