#ifndef REQUESTMANAGER_H #define REQUESTMANAGER_H #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include class RequestManager : public QObject { Q_OBJECT public: RequestManager(); void login(QString endpoint, QString username, QString password); void getRequest(QString endpoint); void fetchSubjects(QString endpoint); const QJsonDocument &getConfig() const {return config;} const QString &getResponse() const {return jsonResponse;} QString getToken(){return token;} private: QString getFromJson(QString json, 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; QString tenant; }; #endif // REQUESTMANAGER_H