From 7ac0df57e5d16628534acf1e298406b412d4259a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ond=C5=99ej=20Fischer?= Date: Mon, 2 Dec 2019 13:35:32 +0100 Subject: [PATCH] continue with fixing --- src/colnod/colnodapi.cpp | 19 +++++++++++-------- src/colnod/colnodapi.h | 4 ++-- src/colnod/syncmanager.cpp | 8 ++++---- 3 files changed, 17 insertions(+), 14 deletions(-) diff --git a/src/colnod/colnodapi.cpp b/src/colnod/colnodapi.cpp index 7fd8be1..5249f5f 100644 --- a/src/colnod/colnodapi.cpp +++ b/src/colnod/colnodapi.cpp @@ -18,11 +18,13 @@ ColnodAPI::ColnodAPI(serversdk::RequestManager* reqMan, const bool &dryMode, con * @return signal with nullptr when something went wrong * @return signal with data when valid data returned */ -void ColnodAPI::downloadData(const Timestamp &time) +void ColnodAPI::downloadData(const qint64 &time) { // Have to get Login + Timestamp timestamp; + timestamp.setTimestamp(time); auto login = requestLogin(); - connect(login.get(), &serversdk::Request::finished, this, [=](){ + connect(login.get(), &serversdk::Request::finished, this, [&](){ // Get login token if (!checkRequest(login)) { emit downloadDataFinished(nullptr); @@ -47,31 +49,32 @@ void ColnodAPI::downloadData(const Timestamp &time) } }; + // if I have all data emit downloadDataFinished connect(this, &ColnodAPI::partOfDataReady, this, &ColnodAPI::areDataReady); - auto tokensRequest = getTokensUpdated(time); + auto tokensRequest = getTokensUpdated(timestamp); connect(tokensRequest.get(), &serversdk::Request::finished, errorHandler); connect(tokensRequest.get(), &serversdk::Request::finished, [=](){ saveUpdatedTokens(data, tokensRequest->responseData()); emit partOfDataReady(data); }); - auto deletedTokensRequest = getTokensDeleted(time); + auto deletedTokensRequest = getTokensDeleted(timestamp); connect(deletedTokensRequest.get(), &serversdk::Request::finished, errorHandler); connect(deletedTokensRequest.get(), &serversdk::Request::finished, [=](){ saveDeletedTokens(data, deletedTokensRequest->responseData()); emit partOfDataReady(data); }); - auto subjectsRequest = getSubjectsUpdated(time); + auto subjectsRequest = getSubjectsUpdated(timestamp); connect(subjectsRequest.get(), &serversdk::Request::finished, errorHandler); connect(subjectsRequest.get(), &serversdk::Request::finished, [=](){ saveUpdatedSubjects(data, subjectsRequest->responseData()); emit partOfDataReady(data); }); - auto deletedSubjectsRequest = getSubjectsDeleted(time); + auto deletedSubjectsRequest = getSubjectsDeleted(timestamp); connect(deletedSubjectsRequest.get(), &serversdk::Request::finished, errorHandler); connect(deletedSubjectsRequest.get(), &serversdk::Request::finished, [=](){ saveDeletedSubjects(data, deletedSubjectsRequest->responseData()); @@ -114,14 +117,14 @@ std::shared_ptr ColnodAPI::requestLogin() { Q_ASSERT(mReqMan); LoginResp login; - login.set_username(userName()); + login.setUsername(userName()); // password QString encodedPassword = QCryptographicHash::hash( password().toLocal8Bit(), // -> bytearray QCryptographicHash::Sha512 // SHA 512 ).toHex().toUpper(); - login.set_password(encodedPassword); + login.setPassword(encodedPassword); auto loginRequest = composeRequest("/AaaManager/authSession", login.jsonData()); loginRequest->setUserName(login.username()); diff --git a/src/colnod/colnodapi.h b/src/colnod/colnodapi.h index 81c1c32..6f87e11 100644 --- a/src/colnod/colnodapi.h +++ b/src/colnod/colnodapi.h @@ -43,8 +43,8 @@ public: ColnodAPI() = default; ColnodAPI(serversdk::RequestManager* reqManconst, const bool &dryMode = false, const QString &userName = "spaceti", const QString &password = "spaceti1"); - void downloadData(const Timestamp &time); - bool processData(const std::shared_ptr &data); + void downloadData(const qint64 &time); + void processData(const std::shared_ptr &data); // New approach std::shared_ptr requestLogin(); diff --git a/src/colnod/syncmanager.cpp b/src/colnod/syncmanager.cpp index d2c7638..a1f172f 100644 --- a/src/colnod/syncmanager.cpp +++ b/src/colnod/syncmanager.cpp @@ -58,7 +58,7 @@ bool SyncManager::startSynchronization() // NOW I HAVE DATA FROM DATABASE - colnod->downloadData(Timestamp(syncBegin)); + colnod->downloadData(syncBegin); connect(colnod.get(), &ColnodAPI::downloadDataFinished, [=](std::shared_ptr colnodData) { if (!colnodData) { qCritical(syncmanager) << "Not possible to get correct data from colnod"; @@ -78,9 +78,9 @@ bool SyncManager::startSynchronization() return; } - if (!colnod->processData(preparedData->colnodData)) { - qCritical(syncmanager) << "Not possible to upload data to colnod"; - } + colnod->processData(preparedData->colnodData); + qCritical(syncmanager) << "Not possible to upload data to colnod"; + if (!database->processData(preparedData->databaseData)) { qCritical(syncmanager) << "Not possible to upload data to database"; }