diff --git a/src/app/main.cpp b/src/app/main.cpp index 836491d..ea5b298 100644 --- a/src/app/main.cpp +++ b/src/app/main.cpp @@ -3,6 +3,8 @@ #include "datamanager.h" #include "syncmanager.h" #include +#include "serversdk/requestmanager.h" +#include "serversdk/request.h" int main(int argc, char *argv[]) { @@ -20,27 +22,54 @@ int main(int argc, char *argv[]) parser.addOption(createTablesOption); parser.process(app); SyncManager api(parser.isSet(dryModeOption)); - QObject::connect(&api, &SyncManager::error, &app, [](){ - qDebug() << "error"; - QCoreApplication::exit(1); - }, Qt::QueuedConnection); - if (parser.isSet(dropTablesOption)){ - api.dropTables(); - return 0; - } - if (parser.isSet(createTablesOption)){ - api.createTables(); - return 0; - } - api.loadDataFromDB(); - api.loadDataFromColnod(); - QObject::connect(&api, &SyncManager::dataDownloaded, [&](){ - QObject::connect(&api, &SyncManager::syncFinished, [](){ - qDebug() << "Quit"; - QCoreApplication::exit(); - }); - api.syncDataFromColnodToDB(); - api.syncDataFromDBToColnod(); + + // + serversdk::RequestManager reqMan; + QJsonObject reqBody; + QByteArray hash(QCryptographicHash::hash(QString("spaceti1").toLocal8Bit(), QCryptographicHash::Sha512).toHex().toUpper()); + reqBody.insert("password", QJsonValue::fromVariant(hash)); + reqBody.insert("username", "spaceti"); + QJsonDocument doc(reqBody); + auto loginRequest = std::make_shared("POST", "https://192.168.1.3:8443/AaaManager/authSession", doc.toJson()); + loginRequest->setUserName("spaceti"); + loginRequest->setPassword(hash); + reqMan.processRequest(loginRequest); + QObject::connect(loginRequest.get(), &serversdk::Request::finished, [=](){ + if (loginRequest->networkReply()->error()) { + qDebug() << loginRequest->networkReply()->errorString(); + qDebug() << "response data:" << loginRequest->responseData(); + if (!loginRequest->responseData().isEmpty() && !loginRequest->responseData().contains("error")){ + auto jsonDoc = QJsonDocument::fromJson(loginRequest->responseData()); + QString token = jsonDoc.object()["id"].toString(); + } + else { + qDebug() << "Login failed."; + } + } }); + // + +// QObject::connect(&api, &SyncManager::error, &app, [](){ +// qDebug() << "error"; +// QCoreApplication::exit(1); +// }, Qt::QueuedConnection); +// if (parser.isSet(dropTablesOption)){ +// api.dropTables(); +// return 0; +// } +// if (parser.isSet(createTablesOption)){ +// api.createTables(); +// return 0; +// } +// api.loadDataFromDB(); +// api.loadDataFromColnod(); +// QObject::connect(&api, &SyncManager::dataDownloaded, [&](){ +// QObject::connect(&api, &SyncManager::syncFinished, [](){ +// qDebug() << "Quit"; +// QCoreApplication::exit(); +// }); +// api.syncDataFromColnodToDB(); +// api.syncDataFromDBToColnod(); +// }); return QCoreApplication::exec(); } diff --git a/src/colnod/colnod.pri b/src/colnod/colnod.pri index 2929196..c6a45af 100644 --- a/src/colnod/colnod.pri +++ b/src/colnod/colnod.pri @@ -4,6 +4,7 @@ CONFIG += c++14 SOURCES += \ + $$PWD/colnodapi.cpp \ $$PWD/databasemanager.cpp \ $$PWD/datamanager.cpp \ $$PWD/entity.cpp \ @@ -15,6 +16,7 @@ SOURCES += \ $$PWD/token.cpp HEADERS += \ + $$PWD/colnodapi.h \ $$PWD/databasemanager.h \ $$PWD/datamanager.h \ $$PWD/entity.h \ diff --git a/src/colnod/colnodapi.cpp b/src/colnod/colnodapi.cpp new file mode 100644 index 0000000..8ac672d --- /dev/null +++ b/src/colnod/colnodapi.cpp @@ -0,0 +1,6 @@ +#include "colnodapi.h" + +ColnodAPI::ColnodAPI() +{ + +} diff --git a/src/colnod/colnodapi.h b/src/colnod/colnodapi.h new file mode 100644 index 0000000..c9d9848 --- /dev/null +++ b/src/colnod/colnodapi.h @@ -0,0 +1,15 @@ +#pragma once + +#include "serversdk/requestmanager.h" +#include "serversdk/request.h" + + +class ColnodAPI: public QObject +{ + Q_OBJECT +public: + ColnodAPI(); + + +}; + diff --git a/src/colnod/requestmanager.cpp b/src/colnod/requestmanager.cpp index 7199e43..a158436 100644 --- a/src/colnod/requestmanager.cpp +++ b/src/colnod/requestmanager.cpp @@ -18,6 +18,7 @@ std::shared_ptr RequestManager::login() {"username", this->user} }; request.setUrl(this->host + "/AaaManager/authSession"); + qDebug() << authHeader.toLocal8Bit(); request.setRawHeader("Authorization", authHeader.toLocal8Bit()); request.setHeader(QNetworkRequest::ContentTypeHeader, "application/json; charset=UTF-8"); QJsonDocument jsonDocument;