Implemented permission settings for Roles.
parent
09f6266123
commit
94fba56dab
@ -0,0 +1,38 @@
|
|||||||
|
#include "permissionservice.h"
|
||||||
|
|
||||||
|
PermissionService::PermissionService()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
PermissionService::~PermissionService()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
QList<QSharedPointer<Permission> > PermissionService::forPlugin(const QString &pluginId)
|
||||||
|
{
|
||||||
|
Transaction tr;
|
||||||
|
odb::database *db = Context::instance().db();
|
||||||
|
permQuery q(permQuery::pluginId == pluginId);
|
||||||
|
permResult result = db->query<Permission>(q);
|
||||||
|
|
||||||
|
QList<QSharedPointer<Permission> > ret;
|
||||||
|
for (permResult::iterator it = result.begin(); it != result.end(); it++)
|
||||||
|
{
|
||||||
|
ret.append(it.load());
|
||||||
|
}
|
||||||
|
|
||||||
|
tr.commit();
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
QSharedPointer<Permission> PermissionService::forNameAndPlugin(const QString &name, const QString &pluginId)
|
||||||
|
{
|
||||||
|
Transaction tr;
|
||||||
|
odb::database *db = Context::instance().db();
|
||||||
|
permQuery q(permQuery::pluginId == pluginId && permQuery::permissionName == name);
|
||||||
|
QSharedPointer<Permission> p = db->query_one<Permission>(q);
|
||||||
|
|
||||||
|
tr.commit();
|
||||||
|
return p;
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,30 @@
|
|||||||
|
#ifndef PERMISSIONSERVICE_H
|
||||||
|
#define PERMISSIONSERVICE_H
|
||||||
|
|
||||||
|
#include "service.h"
|
||||||
|
#include "permission.h"
|
||||||
|
#include "core-odb.hxx"
|
||||||
|
#include "core_global.h"
|
||||||
|
#include <odb/core.hxx>
|
||||||
|
#include <odb/database.hxx>
|
||||||
|
#include <odb/query.hxx>
|
||||||
|
#include <odb/result.hxx>
|
||||||
|
|
||||||
|
#include <QList>
|
||||||
|
#include <QSharedPointer>
|
||||||
|
#include <QString>
|
||||||
|
|
||||||
|
typedef odb::query<Permission> permQuery;
|
||||||
|
typedef odb::result<Permission> permResult;
|
||||||
|
|
||||||
|
class CORESHARED_EXPORT PermissionService : public Service<Permission>
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
PermissionService();
|
||||||
|
~PermissionService();
|
||||||
|
|
||||||
|
QList<QSharedPointer<Permission> > forPlugin(const QString &pluginId);
|
||||||
|
QSharedPointer<Permission> forNameAndPlugin(const QString &name, const QString &pluginId);
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // PERMISSIONSERVICE_H
|
Loading…
Reference in New Issue