2019-11-04 11:07:11 +01:00

45 lines
1.3 KiB
C++

#pragma once
#include <QSet>
#include "entity.h"
#include <QDebug>
#include <QPointer>
#include <QPair>
class Subject : public Entity {
public:
using Entity::Entity;
Subject() = default;
Subject(const QString& name);
QString getEmail() const;
const QJsonObject &getAttributes() const;
void setAttributes(const QJsonObject &attributes);
const QSet<QString> &getTokenFlags() const;
void setTokenFlags(const QSet<QString> &tokenFlags);
const QString &getPin() const;
void setPin(const QString &pin);
const QSet<QString> &getPinFlags() const;
void setPinFlags(const QSet<QString> &pinFlags);
// const QList<QPointer<Attribute>> &getAtr() const;
// void setAtr(const QList<QPointer<Attribute>> &atr);
const QList<QPair<QString, QString>> &getAtr() const;
void setAtr(const QList<QPair<QString, QString>> &atr);
void fromJSON(const QJsonObject &json) override;
QJsonObject toJSON() const override;
private:
QJsonObject attributes;
QSet<QString> tokenFlags;
QString pin;
QSet<QString> pinFlags;
//QList<QPointer<Attribute>> atr;
QList<QPair<QString, QString>> atr;
const QList<QString> attributeTypes = {"Jmeno", "Prijmeni", "ProfilParking", "Spolecnost", "Profil", "spz"};
};