mirror of
https://gitlab.com/spaceti-app/integrations/acs/colnod-connector.git
synced 2026-07-12 11:50:37 +02:00
new aproach to transfering data
This commit is contained in:
parent
5cc57ac9e7
commit
ef0eefa741
@ -1 +1 @@
|
||||
Subproject commit 61feac4632372fcf781449da0bf0de14f1793af8
|
||||
Subproject commit 2041fed9fab14658ceb574edaf5e4d31ed81e23a
|
||||
@ -39,8 +39,6 @@ void ColnodAPI::downloadData()
|
||||
qWarning(colnod) << "Data from" << request->url() << "are invalid";
|
||||
mValid = false;
|
||||
}
|
||||
saveUpdatedTokens(request->responseData());
|
||||
emit partOfDataReady(data);
|
||||
};
|
||||
|
||||
// if I have all data emit downloadDataFinished
|
||||
@ -48,15 +46,31 @@ void ColnodAPI::downloadData()
|
||||
|
||||
auto tokensRequest = getTokensUpdated(mLastSync);
|
||||
connect(tokensRequest.get(), &serversdk::Request::finished, errorHandler);
|
||||
connect(tokensRequest.get(), &serversdk::Request::finished, [=](){
|
||||
saveUpdatedTokens(data, tokensRequest->responseData());
|
||||
emit partOfDataReady(data);
|
||||
});
|
||||
|
||||
auto deletedTokensRequest = getTokensDeleted(mLastSync);
|
||||
connect(deletedTokensRequest.get(), &serversdk::Request::finished, errorHandler);
|
||||
connect(deletedTokensRequest.get(), &serversdk::Request::finished, [=](){
|
||||
saveDeletedTokens(data, deletedTokensRequest->responseData());
|
||||
emit partOfDataReady(data);
|
||||
});
|
||||
|
||||
auto subjectsRequest = getSubjectsUpdated(mLastSync);
|
||||
connect(subjectsRequest.get(), &serversdk::Request::finished, errorHandler);
|
||||
connect(subjectsRequest.get(), &serversdk::Request::finished, [=](){
|
||||
saveUpdatedSubjects(data, subjectsRequest->responseData());
|
||||
emit partOfDataReady(data);
|
||||
});
|
||||
|
||||
auto deletedSubjectsRequest = getSubjectsDeleted(mLastSync);
|
||||
connect(deletedSubjectsRequest.get(), &serversdk::Request::finished, errorHandler);
|
||||
connect(deletedSubjectsRequest.get(), &serversdk::Request::finished, [=](){
|
||||
saveDeletedSubjects(data, deletedSubjectsRequest->responseData());
|
||||
emit partOfDataReady(data);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
@ -132,18 +146,7 @@ std::shared_ptr<serversdk::Request> ColnodAPI::getSubjectsUpdated(const Timestam
|
||||
auto request = composeRequest("/SubjectManager/getSubjectsUpdated", time.jsonData());
|
||||
request->setUserName(authToken);
|
||||
mReqMan->processRequest(request);
|
||||
connect(request.get(), &serversdk::Request::finished, [=](){
|
||||
if (!checkRequest(request)) {
|
||||
qWarning(colnod) << "ERROR during calling /SubjectManager/getSubjectsUpdated, request unsuccessful";
|
||||
mValid = false;
|
||||
}
|
||||
else if (!checkResponse(request->responseData())) {
|
||||
qWarning(colnod) << "Data from /SubjectManager/getSubjectsUpdated are invalid";
|
||||
mValid = false;
|
||||
}
|
||||
saveUpdatedSubjects(request->responseData());
|
||||
emit partOfDataReady();
|
||||
});
|
||||
return request;
|
||||
}
|
||||
|
||||
std::shared_ptr<serversdk::Request> ColnodAPI::getSubjectsDeleted(const Timestamp &time)
|
||||
@ -151,18 +154,7 @@ std::shared_ptr<serversdk::Request> ColnodAPI::getSubjectsDeleted(const Timestam
|
||||
auto request = composeRequest("/SubjectManager/getSubjectsDeleted", time.jsonData());
|
||||
request->setUserName(authToken);
|
||||
mReqMan->processRequest(request);
|
||||
connect(request.get(), &serversdk::Request::finished, [=](){
|
||||
if (!checkRequest(request)) {
|
||||
qWarning(colnod) << "ERROR during calling /SubjectManager/getSubjectsDeleted, request unsuccessful";
|
||||
mValid = false;
|
||||
}
|
||||
else if (!checkResponse(request->responseData())) {
|
||||
qWarning(colnod) << "Data from /SubjectManager/getSubjectsDeleted are invalid";
|
||||
mValid = false;
|
||||
}
|
||||
saveDeletedSubjects(request->responseData());
|
||||
emit partOfDataReady();
|
||||
});
|
||||
return request;
|
||||
}
|
||||
|
||||
std::shared_ptr<serversdk::Request> ColnodAPI::setTokens(const QHash<QString, std::shared_ptr<Token>> &tokens)
|
||||
@ -184,6 +176,7 @@ std::shared_ptr<serversdk::Request> ColnodAPI::setTokens(const QHash<QString, st
|
||||
emit partOfDataProcessFinished();
|
||||
}
|
||||
});
|
||||
return request;
|
||||
}
|
||||
|
||||
std::shared_ptr<serversdk::Request> ColnodAPI::deleteTokens(const QList<QString> &ids)
|
||||
@ -205,7 +198,7 @@ std::shared_ptr<serversdk::Request> ColnodAPI::deleteTokens(const QList<QString>
|
||||
emit partOfDataProcessFinished();
|
||||
}
|
||||
});
|
||||
|
||||
return request;
|
||||
}
|
||||
|
||||
std::shared_ptr<serversdk::Request> ColnodAPI::composeRequest(const QString &endpoint, const QByteArray &data)
|
||||
@ -258,18 +251,18 @@ void ColnodAPI::setUserName(const QString &userName)
|
||||
mUserName = userName;
|
||||
}
|
||||
|
||||
void ColnodAPI::areDataReady()
|
||||
void ColnodAPI::areDataReady(std::shared_ptr<Data> data)
|
||||
{
|
||||
if (++amountData == 4) {
|
||||
|
||||
qInfo(colnod) << tab << "-> COLNOD DATA:";
|
||||
qInfo(colnod) << tab << tab << mData->updatedTokens.size() << "TOKENS WERE ADDED/UPDATED";
|
||||
qInfo(colnod) << tab << tab << mData->deletedTokens.size() << "TOKENS DELETED";
|
||||
qInfo(colnod) << tab << tab << mData->updatedSubjects.size() << "SUBJECTS WERE ADDED/UPDATED";
|
||||
qInfo(colnod) << tab << tab << mData->deletedSubjects.size() << "SUBJECTS DELETED";
|
||||
qInfo(colnod) << tab << tab << data->updatedTokens.size() << "TOKENS WERE ADDED/UPDATED";
|
||||
qInfo(colnod) << tab << tab << data->deletedTokens.size() << "TOKENS DELETED";
|
||||
qInfo(colnod) << tab << tab << data->updatedSubjects.size() << "SUBJECTS WERE ADDED/UPDATED";
|
||||
qInfo(colnod) << tab << tab << data->deletedSubjects.size() << "SUBJECTS DELETED";
|
||||
qInfo(colnod) << dash;
|
||||
|
||||
emit downloadDataFinished(mData);
|
||||
emit downloadDataFinished(data);
|
||||
newData();
|
||||
}
|
||||
}
|
||||
@ -281,31 +274,31 @@ void ColnodAPI::isDataProcessFinished()
|
||||
}
|
||||
}
|
||||
|
||||
void ColnodAPI::saveUpdatedTokens(const QByteArray &responseData)
|
||||
void ColnodAPI::saveUpdatedTokens(std::shared_ptr<Data> data, const QByteArray &responseData)
|
||||
{
|
||||
mData->loadTokensFromJson(responseData);
|
||||
data->loadTokensFromJson(responseData);
|
||||
}
|
||||
|
||||
void ColnodAPI::saveDeletedTokens(const QByteArray &responseData)
|
||||
void ColnodAPI::saveDeletedTokens(std::shared_ptr<Data> data, const QByteArray &responseData)
|
||||
{
|
||||
QJsonDocument doc = QJsonDocument::fromJson(responseData);
|
||||
QJsonArray items = doc.object()["items"].toArray();
|
||||
for (QJsonValueRef item : items) {
|
||||
mData->deletedTokens.append(item.toString());
|
||||
data->deletedTokens.append(item.toString());
|
||||
}
|
||||
}
|
||||
|
||||
void ColnodAPI::saveUpdatedSubjects(const QByteArray &responseData)
|
||||
void ColnodAPI::saveUpdatedSubjects(std::shared_ptr<Data> data, const QByteArray &responseData)
|
||||
{
|
||||
mData->loadSubjectsFormJson(responseData);
|
||||
data->loadSubjectsFormJson(responseData);
|
||||
}
|
||||
|
||||
void ColnodAPI::saveDeletedSubjects(const QByteArray &responseData)
|
||||
void ColnodAPI::saveDeletedSubjects(std::shared_ptr<Data> data, const QByteArray &responseData)
|
||||
{
|
||||
QJsonDocument doc = QJsonDocument::fromJson(responseData);
|
||||
QJsonArray items = doc.object()["items"].toArray();
|
||||
for (QJsonValueRef item : items) {
|
||||
mData->deletedSubjects.append(item.toString());
|
||||
data->deletedSubjects.append(item.toString());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -72,14 +72,14 @@ public:
|
||||
bool isValid();
|
||||
|
||||
private:
|
||||
Q_SLOT void areDataReady();
|
||||
Q_SLOT void areDataReady(std::shared_ptr<Data> data);
|
||||
Q_SLOT void isDataProcessFinished();
|
||||
|
||||
private:
|
||||
void saveUpdatedTokens(const QByteArray &responseData);
|
||||
void saveUpdatedSubjects(const QByteArray &responseData);
|
||||
void saveDeletedTokens(const QByteArray &responseData);
|
||||
void saveDeletedSubjects(const QByteArray &responseData);
|
||||
void saveUpdatedTokens(std::shared_ptr<Data> data, const QByteArray &responseData);
|
||||
void saveUpdatedSubjects(std::shared_ptr<Data> data, const QByteArray &responseData);
|
||||
void saveDeletedTokens(std::shared_ptr<Data> data, const QByteArray &responseData);
|
||||
void saveDeletedSubjects(std::shared_ptr<Data> data, const QByteArray &responseData);
|
||||
|
||||
void newData();
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user