forked from ondra/colnod-connector
continue with fixing
This commit is contained in:
parent
5dea3592e5
commit
7ac0df57e5
@ -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());
|
||||
|
||||
@ -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();
|
||||
|
||||
@ -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";
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user