2019-12-04 18:32:57 +01:00

36 lines
1.1 KiB
C++

#pragma once
#include <QDateTime>
#include "serversdk/databasetable.h"
#include <qjsondocument.h>
#include <QJsonObject>
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);
bool fromJson(const QByteArray &data) override;
QList<std::shared_ptr <SubjectAttribute>> getAttributes();
private:
QList<std::shared_ptr <SubjectAttribute>> attributes;
};