#pragma once #include #include "entity.h" #include #include #include #include #include "serversdk/databasetable.h" #include class SubjectAttribute : public serversdk::DatabaseTable { Q_OBJECT TABLE_PROPERTY(QString, id, setId, "") TABLE_PROPERTY(QString, attributeKey, setAttributeKey, "") TABLE_PROPERTY(QString, attributeValue, setAttributeValue, "") TABLE_PROPERTY(QString, subjectId, setSubjectId, "") }; class Subject : public serversdk::DatabaseTable { Q_OBJECT TABLE_PROPERTY(QString, id, setId, QString()) TABLE_PROPERTY(QString, description, setDescription, "") TABLE_PROPERTY(QDateTime, lastUpdate, setLastUpdate, QDateTime()) TABLE_PROPERTY(QString, name, setName, "") TABLE_PROPERTY(QString, pin, setP, "") TABLE_PROPERTY(QDateTime, lastModified, setLastModified, QDateTime()) TABLE_PROPERTY(bool, deleted, setDeleted, false) public: Subject() = default; explicit Subject(const QString& name); QByteArray jsonData() const override; bool fromJson(const QByteArray &data) override; 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); private: QList> attributes; QSet tokenFlags; QSet pinFlags; QList> atr; const QList attributeTypes = {"Jmeno", "Prijmeni", "ProfilParking", "Spolecnost", "Profil", "spz"}; };