File indexing completed on 2024-04-21 04:44:33

0001 #pragma once
0002 #include <QObject>
0003 
0004 #include <QDebug>
0005 #include <QDir>
0006 #include <QFileInfo>
0007 #include <QList>
0008 #include <QObject>
0009 #include <QSqlDatabase>
0010 #include <QSqlDriver>
0011 #include <QSqlError>
0012 #include <QSqlQuery>
0013 #include <QSqlRecord>
0014 #include <QString>
0015 #include <QStringList>
0016 #include <QVariantMap>
0017 
0018 #if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
0019 #include <MauiKit3/Core/fmh.h>
0020 #else
0021 #include <MauiKit4/Core/fmh.h>
0022 #endif
0023 
0024 class AccountsDB : public QObject
0025 {
0026     Q_OBJECT
0027 
0028 private:
0029     QString name;
0030     QSqlDatabase m_db;
0031 
0032 public:
0033     /* utils*/
0034     explicit AccountsDB(QObject *parent = nullptr);
0035     ~AccountsDB();
0036     bool checkExistance(const QString &tableName, const QString &searchId, const QString &search);
0037     bool checkExistance(const QString &queryStr);
0038     QSqlQuery getQuery(const QString &queryTxt);
0039     void openDB(const QString &name);
0040     void prepareCollectionDB() const;
0041 
0042     bool insert(const QString &tableName, const QVariantMap &insertData);
0043     bool update(const QString &tableName, const FMH::MODEL &updateData, const QVariantMap &where);
0044     bool update(const QString &table, const QString &column, const QVariant &newValue, const QVariant &op, const QString &id);
0045     bool remove(const QString &tableName, const FMH::MODEL &removeData);
0046 };