server-sdk/src/serversdk/databaseutils.h
2019-11-14 14:46:44 +01:00

43 lines
980 B
C++

#pragma once
#include "databasetable.h"
#include <QObject>
#include <QSqlQuery>
class DatabaseUtilsTest;
namespace serversdk {
class DatabaseManager;
class DatabaseUtils : public QObject
{
Q_OBJECT
friend class ::DatabaseUtilsTest;
public:
explicit DatabaseUtils(DatabaseManager *manager = nullptr, const QString type = "SQLITE");
QSqlQuery createTable(const DatabaseTable *table, const QString table_name) const;
QSqlQuery insertIntoTable(const DatabaseTable *table, const QString table_name) const;
QSqlQuery updateTable(const DatabaseTable *table, const QString table_name) const;
QList<QMap<QString, QVariant>> listMapFromQuery(QSqlQuery query) const;
QString sqlType() const;
void setSqlType(const QString &sqlType);
private:
QString createTableText(const DatabaseTable *table, const QString table_name) const;
private:
DatabaseManager *mDatabaseManager = nullptr;
QString mSqlType;
};
} // namespace serversdk