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 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<serversdk::Request> 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());

View File

@ -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> &data);
void downloadData(const qint64 &time);
void processData(const std::shared_ptr<Data> &data);
// New approach
std::shared_ptr<serversdk::Request> requestLogin();

View File

@ -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<Data> 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)) {
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";
}