2019-11-19 16:53:38 +01:00

58 lines
1.3 KiB
C++

#include <utility>
#include "subject.h"
#include <QJsonArray>
Subject::Subject(const QString &name)
{
setName(name);
}
bool Subject::fromJson(const QByteArray &data)
{
QJsonDocument doc = QJsonDocument::fromJson(data);
QJsonObject attr = doc.object()["attributes"].toObject()["items"].toObject();
auto id = doc.object()["id"].toString();
for (auto key : attr.keys()) {
auto newAtr = std::make_shared<SubjectAttribute>();
newAtr->setSubjectId(id);
newAtr->setAttributeKey(key);
newAtr->setAttributeValue(attr.value(key).toString());
attributes.append(newAtr);
}
QVariantMap variant = qvariant_cast<QVariantMap>(doc.toVariant());
// Populate this object data
bool res = fromVariantMap(variant);
return res;
}
//const QSet<QString> &Subject::getTokenFlags() const {
// return tokenFlags;
//}
//void Subject::setTokenFlags(const QSet<QString> &tokenFlags) {
// Subject::tokenFlags = tokenFlags;
//}
//const QSet<QString> &Subject::getPinFlags() const {
// return pinFlags;
//}
//void Subject::setPinFlags(const QSet<QString> &pinFlags) {
// Subject::pinFlags = pinFlags;
//}
//const QList<QPair<QString, QString>> &Subject::getAtr() const {
// return atr;
//}
//void Subject::setAtr(const QList<QPair<QString, QString>> &atr) {
// this->atr = atr;
//}