Warning, file /network/ruqola/src/rocketchatrestapi-qt/channelgroupbasejob.cpp was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).

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 "channelgroupbasejob.h"
0008 #include "rocketchatqtrestapi_debug.h"
0009 #include <QUrlQuery>
0010 using namespace RocketChatRestApi;
0011 ChannelGroupBaseJob::ChannelGroupBaseJob(QObject *parent)
0012     : RestApiAbstractJob(parent)
0013 {
0014 }
0015 
0016 ChannelGroupBaseJob::~ChannelGroupBaseJob() = default;
0017 
0018 bool ChannelGroupBaseJob::hasIdentifier() const
0019 {
0020     return !mChannelGroupInfo.identifier.isEmpty() && (mChannelGroupInfo.channelGroupInfoType != ChannelGroupBaseJob::ChannelGroupInfoType::Unknown);
0021 }
0022 
0023 void ChannelGroupBaseJob::addQueryItem(QUrl &url) const
0024 {
0025     QUrlQuery queryUrl;
0026     switch (mChannelGroupInfo.channelGroupInfoType) {
0027     case ChannelGroupBaseJob::ChannelGroupInfoType::Unknown:
0028         qCWarning(ROCKETCHATQTRESTAPI_LOG) << "Type is unknown. It's a bug!";
0029         return;
0030     case ChannelGroupBaseJob::ChannelGroupInfoType::Identifier:
0031         queryUrl.addQueryItem(QStringLiteral("roomId"), mChannelGroupInfo.identifier);
0032         break;
0033     case ChannelGroupBaseJob::ChannelGroupInfoType::Name:
0034         queryUrl.addQueryItem(QStringLiteral("roomName"), mChannelGroupInfo.identifier);
0035         break;
0036     }
0037     addQueryParameter(queryUrl);
0038     url.setQuery(queryUrl);
0039 }
0040 
0041 void ChannelGroupBaseJob::generateJson(QJsonObject &jsonObj) const
0042 {
0043     switch (mChannelGroupInfo.channelGroupInfoType) {
0044     case ChannelGroupBaseJob::ChannelGroupInfoType::Unknown:
0045         qCWarning(ROCKETCHATQTRESTAPI_LOG) << "Type is unknown. It's a bug!";
0046         return;
0047     case ChannelGroupBaseJob::ChannelGroupInfoType::Identifier:
0048         jsonObj[QLatin1String("roomId")] = mChannelGroupInfo.identifier;
0049         break;
0050     case ChannelGroupBaseJob::ChannelGroupInfoType::Name:
0051         jsonObj[QLatin1String("roomName")] = mChannelGroupInfo.identifier;
0052         break;
0053     }
0054 }
0055 
0056 ChannelGroupBaseJob::ChannelGroupInfo ChannelGroupBaseJob::channelGroupInfo() const
0057 {
0058     return mChannelGroupInfo;
0059 }
0060 
0061 void ChannelGroupBaseJob::setChannelGroupInfo(const ChannelGroupInfo &channelInfo)
0062 {
0063     mChannelGroupInfo = channelInfo;
0064 }
0065 
0066 QDebug operator<<(QDebug d, const RocketChatRestApi::ChannelGroupBaseJob::ChannelGroupInfo &t)
0067 {
0068     d << "channelInfoIdentifier " << t.identifier;
0069     d << "channelInfoType " << t.channelGroupInfoType;
0070     return d;
0071 }
0072 
0073 #include "moc_channelgroupbasejob.cpp"