File indexing completed on 2025-02-02 04:51:39
0001 /* 0002 SPDX-FileCopyrightText: 2020-2024 Laurent Montel <montel@kde.org> 0003 0004 SPDX-License-Identifier: LGPL-2.0-or-later 0005 */ 0006 0007 #include "customuserstatusdeletejob.h" 0008 #include "restapimethod.h" 0009 #include "rocketchatqtrestapi_debug.h" 0010 0011 #include <QJsonDocument> 0012 #include <QJsonObject> 0013 #include <QNetworkReply> 0014 using namespace RocketChatRestApi; 0015 CustomUserStatusDeleteJob::CustomUserStatusDeleteJob(QObject *parent) 0016 : RestApiAbstractJob(parent) 0017 { 0018 } 0019 0020 CustomUserStatusDeleteJob::~CustomUserStatusDeleteJob() = default; 0021 0022 bool CustomUserStatusDeleteJob::start() 0023 { 0024 if (!canStart()) { 0025 deleteLater(); 0026 return false; 0027 } 0028 addStartRestApiInfo("CustomUserStatusDeleteJob::start"); 0029 submitPostRequest(json()); 0030 0031 return true; 0032 } 0033 0034 void CustomUserStatusDeleteJob::onPostRequestResponse(const QString &replyErrorString, const QJsonDocument &replyJson) 0035 { 0036 const QJsonObject replyObject = replyJson.object(); 0037 if (replyObject[QLatin1String("success")].toBool()) { 0038 addLoggerInfo(QByteArrayLiteral("CustomUserStatusDeleteJob: success: ") + replyJson.toJson(QJsonDocument::Indented)); 0039 Q_EMIT userStatusDeletedDone(); 0040 } else { 0041 emitFailedMessage(replyErrorString, replyObject); 0042 addLoggerWarning(QByteArrayLiteral("CustomUserStatusDeleteJob: Problem: ") + replyJson.toJson(QJsonDocument::Indented)); 0043 } 0044 } 0045 0046 QString CustomUserStatusDeleteJob::customUserStatusId() const 0047 { 0048 return mCustomUserStatusId; 0049 } 0050 0051 void CustomUserStatusDeleteJob::setCustomUserStatusId(const QString &customUserStatusId) 0052 { 0053 mCustomUserStatusId = customUserStatusId; 0054 } 0055 0056 bool CustomUserStatusDeleteJob::requireHttpAuthentication() const 0057 { 0058 return true; 0059 } 0060 0061 bool CustomUserStatusDeleteJob::canStart() const 0062 { 0063 if (!RestApiAbstractJob::canStart()) { 0064 return false; 0065 } 0066 if (mCustomUserStatusId.isEmpty()) { 0067 qCWarning(ROCKETCHATQTRESTAPI_LOG) << "CustomUserStatusDeleteJob: mCustomUserStatusId is empty."; 0068 return false; 0069 } 0070 return true; 0071 } 0072 0073 QNetworkRequest CustomUserStatusDeleteJob::request() const 0074 { 0075 const QUrl url = mRestApiMethod->generateUrl(RestApiUtil::RestApiUrlType::CustomUserStatusDelete); 0076 QNetworkRequest request(url); 0077 addAuthRawHeader(request); 0078 addRequestAttribute(request); 0079 return request; 0080 } 0081 0082 QJsonDocument CustomUserStatusDeleteJob::json() const 0083 { 0084 QJsonObject jsonObj; 0085 jsonObj[QLatin1String("customUserStatusId")] = mCustomUserStatusId; 0086 0087 const QJsonDocument postData = QJsonDocument(jsonObj); 0088 return postData; 0089 } 0090 0091 #include "moc_customuserstatusdeletejob.cpp"