forked from ondra/colnod-connector
37 lines
1.1 KiB
C++
37 lines
1.1 KiB
C++
#pragma once
|
|
|
|
#include <QDateTime>
|
|
#include <qjsondocument.h>
|
|
#include <QJsonObject>
|
|
|
|
#include <serversdk/databasetable.h>
|
|
|
|
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;
|
|
};
|