2026-01-25 10:47:19 +01:00
|
|
|
#ifndef SERVERCOMMUNICATOR_H
|
|
|
|
|
#define SERVERCOMMUNICATOR_H
|
|
|
|
|
|
|
|
|
|
#include <QNetworkAccessManager>
|
|
|
|
|
#include <QNetworkRequestFactory>
|
|
|
|
|
#include <QObject>
|
|
|
|
|
#include <QRestAccessManager>
|
|
|
|
|
|
|
|
|
|
class ServerCommunicator : public QObject {
|
|
|
|
|
Q_OBJECT
|
|
|
|
|
public:
|
|
|
|
|
explicit ServerCommunicator(QObject* parent = nullptr);
|
|
|
|
|
|
|
|
|
|
bool sslSupported();
|
|
|
|
|
|
|
|
|
|
QUrl url() const;
|
|
|
|
|
void setUrl(const QUrl& url);
|
|
|
|
|
|
2026-04-27 08:02:17 +02:00
|
|
|
void setServerConfiguration(const QString url,
|
|
|
|
|
const QString email,
|
|
|
|
|
const QString password,
|
|
|
|
|
const QString authToken);
|
2026-02-03 11:17:26 +01:00
|
|
|
|
2026-01-29 08:54:47 +01:00
|
|
|
public slots:
|
2026-01-25 10:47:19 +01:00
|
|
|
void fetchItems();
|
2026-01-29 13:13:32 +01:00
|
|
|
void postItems(const QByteArray& jsonData);
|
2026-02-02 16:15:20 +01:00
|
|
|
void deleteItem(const QString& id);
|
2026-01-25 10:47:19 +01:00
|
|
|
|
|
|
|
|
signals:
|
|
|
|
|
void urlChanged();
|
|
|
|
|
|
|
|
|
|
void itemsFetched(const QByteArray jsonDoc);
|
|
|
|
|
void itemsFetchFailure(const QString errorString);
|
2026-02-02 16:13:44 +01:00
|
|
|
void postRequestSuccessful(const QByteArray responseData);
|
2026-01-29 08:54:47 +01:00
|
|
|
void postRequestFailure(const QString errorString);
|
2026-02-02 16:15:20 +01:00
|
|
|
void deleteRequestSuccessful(const QByteArray responseData);
|
|
|
|
|
void deleteRequestFailure(const QString errorString);
|
2026-01-25 10:47:19 +01:00
|
|
|
|
|
|
|
|
private:
|
|
|
|
|
QNetworkAccessManager m_netManager;
|
|
|
|
|
std::shared_ptr<QRestAccessManager> m_restManager;
|
|
|
|
|
std::shared_ptr<QNetworkRequestFactory> m_serviceApi;
|
2026-02-03 11:17:26 +01:00
|
|
|
|
|
|
|
|
QString m_email;
|
|
|
|
|
QString m_password;
|
2026-04-27 08:02:17 +02:00
|
|
|
QString m_authToken;
|
2026-05-03 09:44:32 +02:00
|
|
|
|
|
|
|
|
void sendGetRequest(const QString& path);
|
|
|
|
|
void onGetReplySuccessful(const QString& path, const QJsonDocument doc);
|
|
|
|
|
void onGetReplyFailure(const QString& path, const QString errorString);
|
2026-01-25 10:47:19 +01:00
|
|
|
};
|
|
|
|
|
|
|
|
|
|
#endif // SERVERCOMMUNICATOR_H
|