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

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 #include "libruqola_private_export.h"
0009 #include <QDebug>
0010 #include <QVector>
0011 
0012 class LIBRUQOLACORE_TESTS_EXPORT PersonalAccessTokenInfo
0013 {
0014 public:
0015     PersonalAccessTokenInfo();
0016     [[nodiscard]] bool bypassTwoFactor() const;
0017     void setBypassTwoFactor(bool newBypassTwoFactor);
0018 
0019     [[nodiscard]] const QString &name() const;
0020     void setName(const QString &newName);
0021 
0022     [[nodiscard]] const QString &lastTokenPart() const;
0023     void setLastTokenPart(const QString &newLastTokenPart);
0024 
0025     [[nodiscard]] bool isValid() const;
0026 
0027     void parsePersonalAccessTokenInfo(const QJsonObject &replyObject);
0028 
0029     [[nodiscard]] qint64 createdAt() const;
0030     void setCreatedAt(qint64 newCreatedAt);
0031 
0032     const QString &createAtDisplayDateTime() const;
0033 
0034 private:
0035     qint64 mCreatedAt = -1;
0036     QString mLastTokenPart;
0037     QString mName;
0038     QString mCreateAtDisplayDateTime;
0039     bool mBypassTwoFactor = false;
0040 };
0041 
0042 Q_DECLARE_METATYPE(PersonalAccessTokenInfo)
0043 Q_DECLARE_TYPEINFO(PersonalAccessTokenInfo, Q_MOVABLE_TYPE);
0044 LIBRUQOLACORE_EXPORT QDebug operator<<(QDebug d, const PersonalAccessTokenInfo &t);