#pragma once #include "entity.h" #include #include #include #include #include class Token : public Entity { public: // using Entity::Entity; Token() = default; Token(const QString& name, QString tokenData, const QString& decription = "mobile"); Token(const QString& name); ~Token() override; friend bool operator<(const Token &lToken, const Token &rToken){ return lToken.getLastModified() < rToken.getLastUpdate(); } friend bool operator>(const Token &lToken, const Token &rToken){ return lToken.getLastModified() > rToken.getLastUpdate(); } friend bool operator==(const Token &lToken, const Token &rToken){ if ( lToken.getId() == rToken.getId() && lToken.getName() == rToken.getName() && lToken.getDescription() == rToken.getDescription() && lToken.getLastUpdate() == rToken.getLastUpdate() && lToken.tokenType == rToken.tokenType && lToken.tokenBits == rToken.tokenBits && lToken.tokenData == rToken.tokenData && lToken.timeToLive == rToken.timeToLive && lToken.authErrors == rToken.authErrors && lToken.flags == rToken.flags && lToken.subjectId == rToken.subjectId) return true; return false; } const QString &getTokenType() const; void setTokenType(const QString &tokenType); int getTokenBits() const; void setTokenBits(int tokenBits); const QString &getTokenData() const; void setTokenData(const QString &tokenData); int getTimeToLive() const; void setTimeToLive(int timeToLive); int getAuthErrors() const; void setAuthErrors(int authErrors); const QSet &getFlags() const; void setFlags(const QSet &flags); const QUuid &getSubjectId() const; void setSubjectId(const QUuid &subjectId); QString subjectIdToStringWithoutBraces(); void fromSQLRecord(QSqlQuery query); void fromJSON(const QJsonObject &json) override; QJsonObject toJSON() const override; private: QString tokenType; int tokenBits{}; QString tokenData; int timeToLive{}; int authErrors{}; QSet flags; QUuid subjectId; };