1
0
forked from BRT/arc
arc/database/dao/BankProfileDAO.h

63 lines
2.2 KiB
C++

#pragma once
#include "db/BankProfileInfo.h"
class BankProfileDAO {
public:
[[nodiscard]] static bool upsertApplication(const BankProfileInfo &info);
[[nodiscard]] static bool updatePinCode(const QString &appId, const QString &pinCode);
[[nodiscard]] static bool update(
const int &appId,
const QString &pinCode,
const QString &comment,
const QString &status
);
[[nodiscard]] static bool updatePinCodeStatus(
const int &appId,
const QString &pinCodeStatus,
const QString &comment
);
[[nodiscard]] static bool updateComment(int appId, const QString &comment);
[[nodiscard]] static bool updateProfileInfo(
const int &appId,
const QString &fullName,
const QString &phone,
const QString &email = ""
);
[[nodiscard]] static bool updateBankProfileId(int appId, const QString &bankProfileId);
[[nodiscard]] static QList<BankProfileInfo> findAllByBankProfileId(const QString &bankProfileId);
[[nodiscard]] static bool updateAmount(int appId, double amount);
// Атомарно вычитает delta из bank_profiles.amount.
// delta > 0 — расход, delta < 0 — пополнение.
[[nodiscard]] static bool adjustAmount(int appId, double delta);
[[nodiscard]] static bool updateAppVersion(int appId, const QString &appVersion);
[[nodiscard]] static BankProfileInfo getApplication(const QString &deviceId, const QString &appCode);
[[nodiscard]] static QList<BankProfileInfo> getApplicationsByDeviceId(const QString &deviceId);
[[nodiscard]] static QList<BankProfileInfo> getAllApplicationsByDeviceId(const QString &deviceId);
[[nodiscard]] static bool checkInstalledApps(const QString &deviceId, const QSet<QString> &apps);
[[nodiscard]] static QStringList getActiveBankProfileIds();
[[nodiscard]] static bool activateAppsForDevice(const QString &deviceId);
[[nodiscard]] static bool deactivateAppsForDevice(const QString &deviceId);
[[nodiscard]] static bool migrateDeviceId(const QString &oldDeviceId, const QString &newDeviceId);
[[nodiscard]] static bool deleteProfile(const QString &deviceId, const QString &appCode);
};