Build system changed to Cmake, ORM changed to QxORM, Qt6 compatibility.

This commit is contained in:
2023-04-28 22:25:29 +02:00
parent 30e6180c82
commit d699ce79f7
481 changed files with 2310 additions and 130206 deletions
+26 -32
View File
@@ -1,21 +1,9 @@
#include "core-odb.hxx"
#include "permissionservice.h"
#include <QCryptographicHash>
typedef odb::query<Permission> permQuery;
typedef odb::result<Permission> permResult;
PermissionService::PermissionService()
{
}
PermissionService::~PermissionService()
{
}
QList<QSharedPointer<Permission> > PermissionService::forPlugin(const QString &pluginId)
{
Transaction tr;
/*Transaction tr;
odb::database *db = Context::instance().db();
permQuery q(permQuery::pluginId == pluginId);
permResult result = db->query<Permission>(q);
@@ -27,18 +15,25 @@ QList<QSharedPointer<Permission> > PermissionService::forPlugin(const QString &p
}
tr.commit();
return ret;
return ret;*/
return {};
}
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);
qx::QxSqlQuery q;
q.where("permissionName").isEqualTo(name)
.and_("pluginId").isEqualTo(pluginId);
tr.commit();
return p;
QList<QSharedPointer<Permission>> ret;
auto err = qx::dao::fetch_by_query(q, ret);
if (err.isValid()) {
qDebug() << err.text();
// ToDo - log error
}
return ret.count() > 0 ? ret[0] : QSharedPointer<Permission>();
}
bool PermissionService::checkLogin(const QString &login, const QString &password)
@@ -55,21 +50,22 @@ bool PermissionService::checkLogin(const QString &login, const QString &password
QSharedPointer<User> PermissionService::loadUser(const QString &login)
{
odb::database *db = Context::instance().db();
Service<User> srvUser;
auto admin = srvUser.all("login = '" + login + "'");
Transaction tr;
return db->query_one<User>("login = " + odb::query<User>::_ref(login));
if (admin.count() == 1) {
return admin[0];
}
return {};
}
void PermissionService::checkForAdmin()
{
odb::database *db = Context::instance().db();
Service<User> srvUser;
auto admUser = srvUser.all("isAdmin = 1");
Transaction tr;
odb::query<User> q(odb::query<User>::isAdmin == true);
odb::result<User> r = db->query<User>(q);
if (r.empty())
if (admUser.isEmpty())
{
QSharedPointer<User> admin(new User);
admin->setLogin("admin");
@@ -78,10 +74,8 @@ void PermissionService::checkForAdmin()
admin->setPassword(encryptPassword("admin"));
admin->setActive(true);
db->persist(admin);
srvUser.save(admin);
}
tr.commit();
}
QString PermissionService::encryptPassword(const QString &plainPasswd)