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 #pragma once
0005 
0006 #include <QDateTime>
0007 
0008 class FederationInfo
0009 {
0010 public:
0011     QString id() const;
0012     QString domain() const;
0013     QDateTime createdAt() const;
0014     QString severity() const;
0015     void setSeverity(const QString &severity);
0016     bool rejectMedia() const;
0017     void setRejectMedia(const bool &rejectMedia);
0018     bool rejectReports() const;
0019     void setRejectReports(const bool &rejectReports);
0020     QString privateComment() const;
0021     void setPrivateComment(const QString &privateComment);
0022     QString publicComment() const;
0023     void setPublicComment(const QString &publicComment);
0024     bool obfuscate() const;
0025     void setObfuscate(const bool &obfuscate);
0026 
0027     static FederationInfo fromSourceData(const QJsonObject &doc);
0028 
0029 private:
0030     QString m_id;
0031     QString m_domain;
0032     QString m_severity = QStringLiteral("silence");
0033     QString m_privateComment;
0034     QString m_publicComment;
0035     QDateTime m_createdAt;
0036     bool m_rejectMedia = false;
0037     bool m_rejectReports = false;
0038     bool m_obfuscate = false;
0039 };