Banking_System_Client  1.0.0
Qt-based banking app for user/admin account management, transactions, secure server communication via PostgreSQL/Supabase.
RequestManager.h
Go to the documentation of this file.
1 
8 #ifndef REQUESTMANAGER_H
9 #define REQUESTMANAGER_H
10 
11 #include <QJsonObject>
12 #include <QString>
13 #include <QMap>
14 #include <QVariantMap>
15 #include <QVariant>
16 #include <QObject>
17 
30 class RequestManager : public QObject
31 {
32  Q_OBJECT
33 
34 private:
40  explicit RequestManager(QObject* parent = nullptr);
41 
42 signals:
48  void makeRequest(QJsonObject Data);
49 
50 public:
51  // Delete the copy constructor and assignment operator to prevent copying
52  RequestManager(const RequestManager&) = delete;
53  void operator=(const RequestManager&) = delete;
54 
61  static RequestManager* getInstance(QObject* parent = nullptr);
62 
68  {
69  Login = 1,
79  // Special requests
83  JsonParseError = -1
84  };
85 
92  void createRequest(AvailableRequests requestType, QVariantMap data);
93 };
94 
95 #endif // REQUESTMANAGER_H
Manages the creation and dispatching of requests in the system.
Definition: RequestManager.h:31
static RequestManager * getInstance(QObject *parent=nullptr)
Get the singleton instance of RequestManager.
Definition: RequestManager.cpp:7
void createRequest(AvailableRequests requestType, QVariantMap data)
Creates a request based on the provided type and data.
Definition: RequestManager.cpp:13
void makeRequest(QJsonObject Data)
Signal emitted when a request is made.
AvailableRequests
Defines the types of requests that can be created.
Definition: RequestManager.h:68
@ MakeTransaction
Request to make a transaction.
Definition: RequestManager.h:73
@ CreateNewUser
Request to create a new user.
Definition: RequestManager.h:76
@ JsonParseError
Indicates a JSON parse error.
Definition: RequestManager.h:83
@ GetAccountnumber
Request to get account number.
Definition: RequestManager.h:70
@ UserInit
Request to initialize user.
Definition: RequestManager.h:80
@ GetBalance
Request to get account balance.
Definition: RequestManager.h:71
@ Login
User login request.
Definition: RequestManager.h:69
@ UpdatePassword
Request to update user password.
Definition: RequestManager.h:82
@ TransferAmount
Request to transfer an amount (not used for now)
Definition: RequestManager.h:74
@ GetDatabase
Request to get the database.
Definition: RequestManager.h:75
@ DeleteUser
Request to delete a user.
Definition: RequestManager.h:77
@ UpdateUser
Request to update user information.
Definition: RequestManager.h:78
@ UpdateEmail
Request to update user email.
Definition: RequestManager.h:81
@ GetTransactionsHistory
Request to get transaction history.
Definition: RequestManager.h:72