#ifndef REQUESTMANAGER_H #define REQUESTMANAGER_H #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include "databasemanager.h" #include "token.h" #include "subject.h" class RequestManager : public QObject { Q_OBJECT public: RequestManager(); void getSubjects(); void login(QString endpoint, QString username, QString password); void getRequest(QString endpoint); void loadSubjectsFromColnodToDB(); const QJsonDocument &getConfig() const {return config;} const QString &getResponse() const {return jsonResponse;} QString getToken(){return token;} private: QString getFromJson(QString json, const QString &member); QString encryptedPassword(QString password); QString getLoginHeader(QString username, QString hash); void prepareAuthHeader(); private slots: void onSSLError(QNetworkReply *reply, const QList &errors); signals: void successLogin(); void responseReady(); private: QNetworkAccessManager* manager; QJsonDocument config; QString authHeader; QString host; QString token; QString jsonResponse; bool loginStatus; }; #endif // REQUESTMANAGER_H