File indexing completed on 2024-05-12 16:28:06

0001 // SPDX-FileCopyrightText: 2023 Rishi Kumar <rsi.dev17@gmail.com>
0002 // SPDX-License-Identifier: GPL-3.0-or-later
0003 
0004 #pragma once
0005 
0006 #include <QDateTime>
0007 #include <QObject>
0008 
0009 class FederationInfo
0010 {
0011 public:
0012     QString id() const;
0013     QString domain() const;
0014     QDateTime createdAt() const;
0015     QString severity() const;
0016     void setSeverity(const QString &severity);
0017     bool rejectMedia() const;
0018     void setRejectMedia(const bool &rejectMedia);
0019     bool rejectReports() const;
0020     void setRejectReports(const bool &rejectReports);
0021     QString privateComment() const;
0022     void setPrivateComment(const QString &privateComment);
0023     QString publicComment() const;
0024     void setPublicComment(const QString &publicComment);
0025     bool obfuscate() const;
0026     void setObfuscate(const bool &obfuscate);
0027 
0028     static FederationInfo fromSourceData(const QJsonObject &doc);
0029 
0030 private:
0031     QString m_id;
0032     QString m_domain;
0033     QString m_severity = "silence";
0034     QString m_privateComment;
0035     QString m_publicComment;
0036     QDateTime m_createdAt;
0037     bool m_rejectMedia = false;
0038     bool m_rejectReports = false;
0039     bool m_obfuscate = false;
0040 };