mirror of
https://gitlab.com/spaceti-app/integrations/common/server-sdk.git
synced 2026-07-12 15:00:38 +02:00
58 lines
1.4 KiB
C++
58 lines
1.4 KiB
C++
#pragma once
|
|
|
|
#include <QSql>
|
|
#include <QSqlDatabase>
|
|
#include <QSqlQuery>
|
|
#include <QSqlError>
|
|
|
|
#include <QVariant>
|
|
#include <QDebug>
|
|
#include <QDateTime>
|
|
//#include "logger.h"
|
|
|
|
namespace serversdk {
|
|
|
|
class DatabaseManager : public QObject
|
|
{
|
|
Q_OBJECT
|
|
friend class Logger;
|
|
public:
|
|
DatabaseManager();
|
|
DatabaseManager(const QString& host, const QString& dbName, const QString& user, const QString& password, bool mDryMode = false);
|
|
~DatabaseManager();
|
|
|
|
// Attributes
|
|
bool dryMode() const;
|
|
void setDryMode(bool dryMode);
|
|
|
|
|
|
bool openSQLite(const QString &path, const QString &connectionName = QStringLiteral("qt_sql_default_connection"));
|
|
bool openPostgres(const QString& host, const QString& dbName, const QString& user, const QString& password, const QString &connectionName = QStringLiteral("qt_sql_default_connection"));
|
|
bool isValid() const;
|
|
bool isOpen() const;
|
|
void close();
|
|
|
|
// SQL handling
|
|
QSqlQuery execPlainSql(const QString &sqlText);
|
|
QSqlQuery executeQuery(QSqlQuery &query, const QString &sqlText = QString());
|
|
QSqlDatabase database() const;
|
|
|
|
|
|
private:
|
|
QSqlQuery processResult(int res, const QSqlQuery &query) const;
|
|
QString getLastQuery(const QSqlQuery &query) const;
|
|
|
|
void log(const QString &msg) const;
|
|
|
|
signals:
|
|
void error();
|
|
|
|
private:
|
|
QString mConnectionName;
|
|
QSqlDatabase mDatabase;
|
|
QSqlQuery query;
|
|
bool mDryMode = false;
|
|
};
|
|
|
|
} // core
|