File indexing completed on 2024-05-12 05:04:11

0001 // SPDX-FileCopyrightText: 2023 Rishi Kumar <rsi.dev17@gmail.com>
0002 // SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
0003 
0004 #include "federationinfo.h"
0005 
0006 #include <QJsonObject>
0007 
0008 using namespace Qt::Literals::StringLiterals;
0009 
0010 QString FederationInfo::id() const
0011 {
0012     return m_id;
0013 }
0014 
0015 QString FederationInfo::domain() const
0016 {
0017     return m_domain;
0018 }
0019 
0020 QDateTime FederationInfo::createdAt() const
0021 {
0022     return m_createdAt;
0023 }
0024 
0025 QString FederationInfo::severity() const
0026 {
0027     return m_severity;
0028 }
0029 
0030 void FederationInfo::setSeverity(const QString &severity)
0031 {
0032     m_severity = severity;
0033 }
0034 
0035 bool FederationInfo::rejectMedia() const
0036 {
0037     return m_rejectMedia;
0038 }
0039 
0040 void FederationInfo::setRejectMedia(const bool &rejectMedia)
0041 {
0042     m_rejectMedia = rejectMedia;
0043 }
0044 
0045 bool FederationInfo::rejectReports() const
0046 {
0047     return m_rejectReports;
0048 }
0049 
0050 void FederationInfo::setRejectReports(const bool &rejectReports)
0051 {
0052     m_rejectReports = rejectReports;
0053 }
0054 
0055 QString FederationInfo::privateComment() const
0056 {
0057     return m_privateComment;
0058 }
0059 
0060 void FederationInfo::setPrivateComment(const QString &privateComment)
0061 {
0062     m_privateComment = privateComment;
0063 }
0064 
0065 QString FederationInfo::publicComment() const
0066 {
0067     return m_publicComment;
0068 }
0069 
0070 void FederationInfo::setPublicComment(const QString &publicComment)
0071 {
0072     m_publicComment = publicComment;
0073 }
0074 
0075 bool FederationInfo::obfuscate() const
0076 {
0077     return m_obfuscate;
0078 }
0079 
0080 void FederationInfo::setObfuscate(const bool &obfuscate)
0081 {
0082     m_obfuscate = obfuscate;
0083 }
0084 
0085 FederationInfo FederationInfo::fromSourceData(const QJsonObject &doc)
0086 {
0087     FederationInfo info;
0088     info.m_id = doc["id"_L1].toString();
0089     info.m_domain = doc["domain"_L1].toString();
0090     info.m_createdAt = QDateTime::fromString(doc["created_at"_L1].toString(), Qt::ISODate).toLocalTime();
0091     info.m_severity = doc["severity"_L1].toString();
0092     info.m_rejectMedia = doc["reject_media"_L1].toBool();
0093     info.m_rejectReports = doc["reject_reports"_L1].toBool();
0094     info.m_privateComment = doc["private_comment"_L1].toString();
0095     info.m_publicComment = doc["public_comment"_L1].toString();
0096     info.m_obfuscate = doc["obfuscate"_L1].toBool();
0097     return info;
0098 }