Created data sructures for user and permissions support

This commit is contained in:
Zdenek Jonak
2015-11-10 22:53:55 +01:00
parent 6bc7fd8762
commit 2fc1090ed3
7 changed files with 411 additions and 25 deletions
+66
View File
@@ -0,0 +1,66 @@
#ifndef ROLE_H
#define ROLE_H
#include <QObject>
#include "user.h"
#include "permission.h"
#include <QSharedPointer>
#include <QList>
#include <QWeakPointer>
#include <QDateTime>
#include <odb/core.hxx>
class Permission;
class User;
#pragma db object
class Role : public QObject
{
Q_OBJECT
Q_PROPERTY(QString name READ name WRITE setName)
Q_PROPERTY(QDateTime lastModDate READ lastModDate WRITE setLastModDate)
Q_PROPERTY(QDateTime createDate READ createDate WRITE setCreateDate)
Q_PROPERTY(bool active READ active WRITE setActive)
public:
explicit Role(QObject *parent = 0);
int id() const;
void setId(int id);
QString name() const;
void setName(const QString &name);
QDateTime lastModDate() const;
void setLastModDate(const QDateTime &lastModDate);
QDateTime createDate() const;
void setCreateDate(const QDateTime &createDate);
bool active() const;
void setActive(bool active);
QList<QWeakPointer<User> > listUsers() const;
void setListUsers(const QList<QWeakPointer<User> > &listUsers);
QList<QSharedPointer<Permission> > listPermissions() const;
void setListPermissions(const QList<QSharedPointer<Permission> > &listPermissions);
private:
friend class odb::access;
#pragma db id auto
int m_id;
QString m_name;
QDateTime m_lastModDate;
QDateTime m_createDate;
bool m_active;
#pragma db value_not_null inverse(m_listRoles)
QList<QWeakPointer<User> > m_listUsers;
#pragma db value_not_null unordered
QList<QSharedPointer<Permission> > m_listPermissions;
};
#endif // ROLE_H