8 #ifndef USERINITREQUEST_H
9 #define USERINITREQUEST_H
48 QJsonObject
execute(
const QJsonObject& jsonObj, QMutex& m)
override
50 QMutexLocker locker(&m);
58 response.insert(
"Response", 11);
61 if (jsonObj.contains(
"Data"))
63 QJsonObject dataObj = jsonObj[
"Data"].toObject();
65 if (dataObj.contains(
"email"))
67 email = dataObj.value(
"email").toString();
70 if (dataObj.contains(
"password"))
72 password = dataObj.value(
"password").toString();
77 qCritical() <<
"Data not found";
89 int user_id = result.
first().value(
"id").toInt();
90 QJsonObject userObj = result.
first();
98 if (result.
first().value(
"password").toString() != password)
103 QString role = userObj.value(
"role").toString();
105 data.insert(
"status",
int(
true));
106 data.insert(
"first_name", userObj.value(
"first_name").toString());
107 data.insert(
"role", role);
108 data.insert(
"email", email);
115 ->
where(
"user_id =", userObj.value(
"id").toInt())
118 QJsonObject accountObj = accountResult.
first();
120 int accountNumber = accountObj.value(
"account_number").toInt();
121 double currentBalance = accountObj.value(
"balance").toDouble();
123 data.insert(
"account_number", accountNumber);
124 data.insert(
"current_balance", currentBalance);
127 response.insert(
"Data", data);
131 QJsonDocument responseDoc(response);
132 QByteArray responseData = responseDoc.toJson();
135 qDebug().noquote() <<
"<-- InitRequest::Response :\n" << responseDoc.toJson(QJsonDocument::Indented);
This file contains the declaration of the Request class, which is an abstract base class for handling...
Manages database connections and SQL operations.
Definition: db.h:80
DatabaseManager * table(const QString &value)
Sets the table for the query.
Definition: db.cpp:115
DatabaseManager * where(const QString &value, const QVariant &val=QVariant())
Adds a WHERE clause to the query.
Definition: db.cpp:121
DbResult exec()
Executes the built query.
Definition: db.cpp:266
DatabaseManager * select(const QString &value)
Selects columns for the query.
Definition: db.cpp:107
The DbResult class represents a result set returned from a database query.
Definition: dbresult.h:24
QJsonObject first() const
Retrieves the first item in the result set.
Definition: dbresult.cpp:25
bool isEmpty() const
Checks if the result set is empty.
Definition: dbresult.cpp:20
The Request class is an abstract base class for handling different types of requests.
Definition: Request.h:25
QJsonObject CreateErrorResponse(QJsonObject &response, QJsonObject &dataObj, QString message)
Creates a generic error JSON response.
Definition: Request.h:90
QJsonObject CreateDBConnectionError(QJsonObject &response, QJsonObject &dataObj)
Creates a JSON response indicating a database connection error.
Definition: Request.h:65
bool isDBConnectionValid(DB::DatabaseManager *dbManager)
Checks if the database connection is valid.
Definition: Request.h:36
The UserInitRequest class handles user initialization requests for User Widget and Admin Widget.
Definition: UserInitRequest.h:22
QJsonObject execute(const QJsonObject &jsonObj, QMutex &m) override
Executes the user initialization request.
Definition: UserInitRequest.h:48
UserInitRequest()
Constructor for the UserInitRequest class.
Definition: UserInitRequest.h:32
Database management classes for handling database connections and operations.