1 /* 2 SPDX-FileCopyrightText: 2021 Laurent Montel <montel@kde.org> 3 4 SPDX-License-Identifier: LGPL-2.0-or-later 5 */ 6 7 #include "emojicustomalljob.h" 8 #include "restapimethod.h" 9 #include "rocketchatqtrestapi_debug.h" 10 #include <QJsonDocument> 11 #include <QJsonObject> 12 #include <QNetworkReply> 13 #include <QUrlQuery> 14 using namespace RocketChatRestApi; EmojiCustomAllJob(QObject * parent)15EmojiCustomAllJob::EmojiCustomAllJob(QObject *parent) 16 : RestApiAbstractJob(parent) 17 { 18 } 19 20 EmojiCustomAllJob::~EmojiCustomAllJob() = default; 21 start()22bool EmojiCustomAllJob::start() 23 { 24 if (!canStart()) { 25 qCWarning(ROCKETCHATQTRESTAPI_LOG) << "Impossible to start EmojiCustomAllJob job"; 26 deleteLater(); 27 return false; 28 } 29 submitGetRequest(); 30 addStartRestApiInfo(QByteArrayLiteral("EmojiCustomAllJob: Load Emoji custom")); 31 32 return true; 33 } 34 onGetRequestResponse(const QJsonDocument & replyJson)35void EmojiCustomAllJob::onGetRequestResponse(const QJsonDocument &replyJson) 36 { 37 const QJsonObject replyObject = replyJson.object(); 38 39 if (replyObject[QStringLiteral("success")].toBool()) { 40 addLoggerInfo(QByteArrayLiteral("EmojiCustomAllJob done: ") + replyJson.toJson(QJsonDocument::Indented)); 41 Q_EMIT emojiCustomAllDone(replyObject); 42 } else { 43 emitFailedMessage(replyObject); 44 addLoggerWarning(QByteArrayLiteral("EmojiCustomAllJob: Problem: ") + replyJson.toJson(QJsonDocument::Indented)); 45 } 46 } 47 requireHttpAuthentication() const48bool EmojiCustomAllJob::requireHttpAuthentication() const 49 { 50 return true; 51 } 52 hasQueryParameterSupport() const53bool EmojiCustomAllJob::hasQueryParameterSupport() const 54 { 55 return true; 56 } 57 request() const58QNetworkRequest EmojiCustomAllJob::request() const 59 { 60 QUrl url = mRestApiMethod->generateUrl(RestApiUtil::RestApiUrlType::EmojiCustomAll); 61 62 QUrlQuery queryUrl; 63 addQueryParameter(queryUrl); 64 url.setQuery(queryUrl); 65 QNetworkRequest req(url); 66 addAuthRawHeader(req); 67 return req; 68 } 69