#pragma once #include #include "entity.h" #include #include #include // TODO: make it inherited from serversdk::databaseTable class Subject : public Entity { // TODO: add all properties public: using Entity::Entity; Subject() = default; explicit Subject(const QString& name); QString getEmail() const; const QJsonObject &getAttributes() const; void setAttributes(const QJsonObject &attributes); const QSet &getTokenFlags() const; void setTokenFlags(const QSet &tokenFlags); const QString &getPin() const; void setPin(const QString &pin); const QSet &getPinFlags() const; void setPinFlags(const QSet &pinFlags); const QList> &getAtr() const; void setAtr(const QList> &atr); void fromJSON(const QJsonObject &json) override; QJsonObject toJSON() const override; private: QJsonObject attributes; QSet tokenFlags; QString pin; QSet pinFlags; QList> atr; const QList attributeTypes = {"Jmeno", "Prijmeni", "ProfilParking", "Spolecnost", "Profil", "spz"}; };