File indexing completed on 2024-05-12 16:25:55

0001 /*
0002    SPDX-FileCopyrightText: 2022-2024 Laurent Montel <montel@kde.org>
0003 
0004    SPDX-License-Identifier: LGPL-2.0-or-later
0005 */
0006 
0007 #pragma once
0008 
0009 #include "libruqolacore_export.h"
0010 #include <QDateTime>
0011 #include <QDebug>
0012 
0013 class LIBRUQOLACORE_EXPORT OauthInfo
0014 {
0015 public:
0016     OauthInfo();
0017     ~OauthInfo() = default;
0018     [[nodiscard]] bool operator==(const OauthInfo &other) const;
0019     void parseOauthInfo(const QJsonObject &replyObject, bool restapi = true);
0020 
0021     [[nodiscard]] const QString &identifier() const;
0022     void setIdentifier(const QString &newIdentifier);
0023 
0024     [[nodiscard]] bool active() const;
0025     void setActive(bool newActive);
0026 
0027     [[nodiscard]] const QString &name() const;
0028     void setName(const QString &newName);
0029 
0030     [[nodiscard]] const QString &clientId() const;
0031     void setClientId(const QString &newClientId);
0032 
0033     [[nodiscard]] const QString &clientSecret() const;
0034     void setClientSecret(const QString &newClientSecret);
0035 
0036     [[nodiscard]] const QString &redirectUri() const;
0037     void setRedirectUri(const QString &newRedirectUri);
0038 
0039     [[nodiscard]] const QString &createdBy() const;
0040     void setCreatedBy(const QString &newCreatedBy);
0041 
0042     [[nodiscard]] const QDateTime &createdDateTime() const;
0043     void setCreatedDateTime(const QDateTime &newCreatedDateTime);
0044 
0045 private:
0046     QString mIdentifier;
0047     QString mName;
0048     QString mClientId;
0049     QString mClientSecret;
0050     QString mRedirectUri;
0051     QString mCreatedBy;
0052     QDateTime mCreatedDateTime;
0053     bool mActive = false;
0054 };
0055 
0056 Q_DECLARE_METATYPE(OauthInfo)
0057 Q_DECLARE_TYPEINFO(OauthInfo, Q_MOVABLE_TYPE);
0058 LIBRUQOLACORE_EXPORT QDebug operator<<(QDebug d, const OauthInfo &t);