2019-10-03 13:35:44 +02:00

75 lines
1.8 KiB
C++

#include <utility>
#include "subject.h"
#include <QJsonArray>
QString Subject::getEmail() const {
return attributes["email"].toString();
}
void Subject::fromJSON(const QJsonObject &json) {
Entity::fromJSON(json);
//attributes = json["attributes"]["items"].toObject();
attributes = json.value("attributes").toObject().value("items").toObject();
const auto &tokenFlagsArray = json.value("tokenFlags").toArray();
for(const auto &flag : tokenFlagsArray){
tokenFlags.insert(flag.toString());
}
pin = json.value("pin").toString();
const auto &pinFlagsArray = json.value("pinFlags").toArray();
for(const auto &flag : pinFlagsArray){
pinFlags.insert(flag.toString());
}
}
QJsonObject Subject::toJSON() const {
QJsonObject json = Entity::toJSON();
QJsonObject items({{"items", attributes}});
json.value("atributes") = items;
json.value("tokenFlags") = QJsonArray::fromStringList(tokenFlags.toList());
json.value("pin") = pin;
json.value("pinFlags") = QJsonArray::fromStringList(pinFlags.toList());
return json;
}
const QJsonObject &Subject::getAttributes() const {
return attributes;
}
void Subject::setAttributes(const QJsonObject &attributes) {
Subject::attributes = attributes;
}
const QSet<QString> &Subject::getTokenFlags() const {
return tokenFlags;
}
void Subject::setTokenFlags(const QSet<QString> &tokenFlags) {
Subject::tokenFlags = tokenFlags;
}
const QString &Subject::getPin() const {
return pin;
}
void Subject::setPin(const QString &pin) {
Subject::pin = pin;
}
const QSet<QString> &Subject::getPinFlags() const {
return pinFlags;
}
void Subject::setPinFlags(const QSet<QString> &pinFlags) {
Subject::pinFlags = pinFlags;
}