continue with fixing

This commit is contained in:
Ondřej Fischer 2019-12-02 13:35:32 +01:00
parent 5dea3592e5
commit 7ac0df57e5
3 changed files with 17 additions and 14 deletions

View File

@ -18,11 +18,13 @@ ColnodAPI::ColnodAPI(serversdk::RequestManager* reqMan, const bool &dryMode, con
* @return signal with nullptr when something went wrong * @return signal with nullptr when something went wrong
* @return signal with data when valid data returned * @return signal with data when valid data returned
*/ */
void ColnodAPI::downloadData(const Timestamp &time) void ColnodAPI::downloadData(const qint64 &time)
{ {
// Have to get Login // Have to get Login
Timestamp timestamp;
timestamp.setTimestamp(time);
auto login = requestLogin(); auto login = requestLogin();
connect(login.get(), &serversdk::Request::finished, this, [=](){ connect(login.get(), &serversdk::Request::finished, this, [&](){
// Get login token // Get login token
if (!checkRequest(login)) { if (!checkRequest(login)) {
emit downloadDataFinished(nullptr); emit downloadDataFinished(nullptr);
@ -47,31 +49,32 @@ void ColnodAPI::downloadData(const Timestamp &time)
} }
}; };
// if I have all data emit downloadDataFinished // if I have all data emit downloadDataFinished
connect(this, &ColnodAPI::partOfDataReady, this, &ColnodAPI::areDataReady); 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, errorHandler);
connect(tokensRequest.get(), &serversdk::Request::finished, [=](){ connect(tokensRequest.get(), &serversdk::Request::finished, [=](){
saveUpdatedTokens(data, tokensRequest->responseData()); saveUpdatedTokens(data, tokensRequest->responseData());
emit partOfDataReady(data); emit partOfDataReady(data);
}); });
auto deletedTokensRequest = getTokensDeleted(time); auto deletedTokensRequest = getTokensDeleted(timestamp);
connect(deletedTokensRequest.get(), &serversdk::Request::finished, errorHandler); connect(deletedTokensRequest.get(), &serversdk::Request::finished, errorHandler);
connect(deletedTokensRequest.get(), &serversdk::Request::finished, [=](){ connect(deletedTokensRequest.get(), &serversdk::Request::finished, [=](){
saveDeletedTokens(data, deletedTokensRequest->responseData()); saveDeletedTokens(data, deletedTokensRequest->responseData());
emit partOfDataReady(data); emit partOfDataReady(data);
}); });
auto subjectsRequest = getSubjectsUpdated(time); auto subjectsRequest = getSubjectsUpdated(timestamp);
connect(subjectsRequest.get(), &serversdk::Request::finished, errorHandler); connect(subjectsRequest.get(), &serversdk::Request::finished, errorHandler);
connect(subjectsRequest.get(), &serversdk::Request::finished, [=](){ connect(subjectsRequest.get(), &serversdk::Request::finished, [=](){
saveUpdatedSubjects(data, subjectsRequest->responseData()); saveUpdatedSubjects(data, subjectsRequest->responseData());
emit partOfDataReady(data); emit partOfDataReady(data);
}); });
auto deletedSubjectsRequest = getSubjectsDeleted(time); auto deletedSubjectsRequest = getSubjectsDeleted(timestamp);
connect(deletedSubjectsRequest.get(), &serversdk::Request::finished, errorHandler); connect(deletedSubjectsRequest.get(), &serversdk::Request::finished, errorHandler);
connect(deletedSubjectsRequest.get(), &serversdk::Request::finished, [=](){ connect(deletedSubjectsRequest.get(), &serversdk::Request::finished, [=](){
saveDeletedSubjects(data, deletedSubjectsRequest->responseData()); saveDeletedSubjects(data, deletedSubjectsRequest->responseData());
@ -114,14 +117,14 @@ std::shared_ptr<serversdk::Request> ColnodAPI::requestLogin()
{ {
Q_ASSERT(mReqMan); Q_ASSERT(mReqMan);
LoginResp login; LoginResp login;
login.set_username(userName()); login.setUsername(userName());
// password // password
QString encodedPassword = QCryptographicHash::hash( QString encodedPassword = QCryptographicHash::hash(
password().toLocal8Bit(), // -> bytearray password().toLocal8Bit(), // -> bytearray
QCryptographicHash::Sha512 // SHA 512 QCryptographicHash::Sha512 // SHA 512
).toHex().toUpper(); ).toHex().toUpper();
login.set_password(encodedPassword); login.setPassword(encodedPassword);
auto loginRequest = composeRequest("/AaaManager/authSession", login.jsonData()); auto loginRequest = composeRequest("/AaaManager/authSession", login.jsonData());
loginRequest->setUserName(login.username()); loginRequest->setUserName(login.username());

View File

@ -43,8 +43,8 @@ public:
ColnodAPI() = default; ColnodAPI() = default;
ColnodAPI(serversdk::RequestManager* reqManconst, const bool &dryMode = false, const QString &userName = "spaceti", const QString &password = "spaceti1"); ColnodAPI(serversdk::RequestManager* reqManconst, const bool &dryMode = false, const QString &userName = "spaceti", const QString &password = "spaceti1");
void downloadData(const Timestamp &time); void downloadData(const qint64 &time);
bool processData(const std::shared_ptr<Data> &data); void processData(const std::shared_ptr<Data> &data);
// New approach // New approach
std::shared_ptr<serversdk::Request> requestLogin(); std::shared_ptr<serversdk::Request> requestLogin();

View File

@ -58,7 +58,7 @@ bool SyncManager::startSynchronization()
// NOW I HAVE DATA FROM DATABASE // NOW I HAVE DATA FROM DATABASE
colnod->downloadData(Timestamp(syncBegin)); colnod->downloadData(syncBegin);
connect(colnod.get(), &ColnodAPI::downloadDataFinished, [=](std::shared_ptr<Data> colnodData) { connect(colnod.get(), &ColnodAPI::downloadDataFinished, [=](std::shared_ptr<Data> colnodData) {
if (!colnodData) { if (!colnodData) {
qCritical(syncmanager) << "Not possible to get correct data from colnod"; qCritical(syncmanager) << "Not possible to get correct data from colnod";
@ -78,9 +78,9 @@ bool SyncManager::startSynchronization()
return; return;
} }
if (!colnod->processData(preparedData->colnodData)) { colnod->processData(preparedData->colnodData);
qCritical(syncmanager) << "Not possible to upload data to colnod"; qCritical(syncmanager) << "Not possible to upload data to colnod";
}
if (!database->processData(preparedData->databaseData)) { if (!database->processData(preparedData->databaseData)) {
qCritical(syncmanager) << "Not possible to upload data to database"; qCritical(syncmanager) << "Not possible to upload data to database";
} }