#pragma once #include "databasetable.h" #include #include 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> 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