Bidding round control communicating with the server.

This commit is contained in:
2026-02-13 20:24:48 +01:00
parent ba4f95eb2d
commit cfd3031cf9
8 changed files with 149 additions and 11 deletions

View File

@ -1,17 +1,22 @@
#ifndef SERVERCOMMUNICATOR_H
#define SERVERCOMMUNICATOR_H
#include <QJsonDocument>
#include <QNetworkAccessManager>
#include <QNetworkRequestFactory>
#include <QObject>
#include <QRestAccessManager>
#include "../model/metadata.h"
class GenericCore;
class ServerCommunicator : public QObject {
Q_OBJECT
public:
explicit ServerCommunicator(QObject* parent = nullptr);
explicit ServerCommunicator(GenericCore* core);
bool sslSupported();
bool sslSupported() const;
QUrl url() const;
void setUrl(const QUrl& url);
@ -19,6 +24,10 @@ class ServerCommunicator : public QObject {
void setServerConfiguration(const QString url, const QString email, const QString password);
public slots:
void onSendGetRequestTriggered(const GetRequestTypes type);
void onGetReplySuccessful(const GetRequestTypes type, const QJsonDocument doc);
void onGetReplyFailure(const GetRequestTypes type, const QString errorString);
void fetchItems();
void postItems(const QByteArray& jsonData);
void deleteItem(const QString& id);
@ -34,6 +43,8 @@ class ServerCommunicator : public QObject {
void deleteRequestFailure(const QString errorString);
private:
GenericCore* m_core = nullptr;
QNetworkAccessManager m_netManager;
std::shared_ptr<QRestAccessManager> m_restManager;
std::shared_ptr<QNetworkRequestFactory> m_serviceApi;
@ -41,6 +52,9 @@ class ServerCommunicator : public QObject {
QString m_email;
QString m_password;
// QString m_authToken;
/// reply parser
void currentBiddingRoundChangedReply(const QJsonDocument jsonDoc);
};
#endif // SERVERCOMMUNICATOR_H