mirror of
https://gitlab.com/spaceti-app/integrations/acs/colnod-connector.git
synced 2026-07-12 14:30:50 +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";
|
qWarning(colnod) << "Data from" << request->url() << "are invalid";
|
||||||
mValid = false;
|
mValid = false;
|
||||||
}
|
}
|
||||||
saveUpdatedTokens(request->responseData());
|
|
||||||
emit partOfDataReady(data);
|
|
||||||
};
|
};
|
||||||
|
|
||||||
// if I have all data emit downloadDataFinished
|
// if I have all data emit downloadDataFinished
|
||||||
@ -48,15 +46,31 @@ void ColnodAPI::downloadData()
|
|||||||
|
|
||||||
auto tokensRequest = getTokensUpdated(mLastSync);
|
auto tokensRequest = getTokensUpdated(mLastSync);
|
||||||
connect(tokensRequest.get(), &serversdk::Request::finished, errorHandler);
|
connect(tokensRequest.get(), &serversdk::Request::finished, errorHandler);
|
||||||
|
connect(tokensRequest.get(), &serversdk::Request::finished, [=](){
|
||||||
|
saveUpdatedTokens(data, tokensRequest->responseData());
|
||||||
|
emit partOfDataReady(data);
|
||||||
|
});
|
||||||
|
|
||||||
auto deletedTokensRequest = getTokensDeleted(mLastSync);
|
auto deletedTokensRequest = getTokensDeleted(mLastSync);
|
||||||
connect(deletedTokensRequest.get(), &serversdk::Request::finished, errorHandler);
|
connect(deletedTokensRequest.get(), &serversdk::Request::finished, errorHandler);
|
||||||
|
connect(deletedTokensRequest.get(), &serversdk::Request::finished, [=](){
|
||||||
|
saveDeletedTokens(data, deletedTokensRequest->responseData());
|
||||||
|
emit partOfDataReady(data);
|
||||||
|
});
|
||||||
|
|
||||||
auto subjectsRequest = getSubjectsUpdated(mLastSync);
|
auto subjectsRequest = getSubjectsUpdated(mLastSync);
|
||||||
connect(subjectsRequest.get(), &serversdk::Request::finished, errorHandler);
|
connect(subjectsRequest.get(), &serversdk::Request::finished, errorHandler);
|
||||||
|
connect(subjectsRequest.get(), &serversdk::Request::finished, [=](){
|
||||||
|
saveUpdatedSubjects(data, subjectsRequest->responseData());
|
||||||
|
emit partOfDataReady(data);
|
||||||
|
});
|
||||||
|
|
||||||
auto deletedSubjectsRequest = getSubjectsDeleted(mLastSync);
|
auto deletedSubjectsRequest = getSubjectsDeleted(mLastSync);
|
||||||
connect(deletedSubjectsRequest.get(), &serversdk::Request::finished, errorHandler);
|
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());
|
auto request = composeRequest("/SubjectManager/getSubjectsUpdated", time.jsonData());
|
||||||
request->setUserName(authToken);
|
request->setUserName(authToken);
|
||||||
mReqMan->processRequest(request);
|
mReqMan->processRequest(request);
|
||||||
connect(request.get(), &serversdk::Request::finished, [=](){
|
return request;
|
||||||
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();
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
std::shared_ptr<serversdk::Request> ColnodAPI::getSubjectsDeleted(const Timestamp &time)
|
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());
|
auto request = composeRequest("/SubjectManager/getSubjectsDeleted", time.jsonData());
|
||||||
request->setUserName(authToken);
|
request->setUserName(authToken);
|
||||||
mReqMan->processRequest(request);
|
mReqMan->processRequest(request);
|
||||||
connect(request.get(), &serversdk::Request::finished, [=](){
|
return request;
|
||||||
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();
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
std::shared_ptr<serversdk::Request> ColnodAPI::setTokens(const QHash<QString, std::shared_ptr<Token>> &tokens)
|
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();
|
emit partOfDataProcessFinished();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
return request;
|
||||||
}
|
}
|
||||||
|
|
||||||
std::shared_ptr<serversdk::Request> ColnodAPI::deleteTokens(const QList<QString> &ids)
|
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();
|
emit partOfDataProcessFinished();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
return request;
|
||||||
}
|
}
|
||||||
|
|
||||||
std::shared_ptr<serversdk::Request> ColnodAPI::composeRequest(const QString &endpoint, const QByteArray &data)
|
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;
|
mUserName = userName;
|
||||||
}
|
}
|
||||||
|
|
||||||
void ColnodAPI::areDataReady()
|
void ColnodAPI::areDataReady(std::shared_ptr<Data> data)
|
||||||
{
|
{
|
||||||
if (++amountData == 4) {
|
if (++amountData == 4) {
|
||||||
|
|
||||||
qInfo(colnod) << tab << "-> COLNOD DATA:";
|
qInfo(colnod) << tab << "-> COLNOD DATA:";
|
||||||
qInfo(colnod) << tab << tab << mData->updatedTokens.size() << "TOKENS WERE ADDED/UPDATED";
|
qInfo(colnod) << tab << tab << data->updatedTokens.size() << "TOKENS WERE ADDED/UPDATED";
|
||||||
qInfo(colnod) << tab << tab << mData->deletedTokens.size() << "TOKENS DELETED";
|
qInfo(colnod) << tab << tab << data->deletedTokens.size() << "TOKENS DELETED";
|
||||||
qInfo(colnod) << tab << tab << mData->updatedSubjects.size() << "SUBJECTS WERE ADDED/UPDATED";
|
qInfo(colnod) << tab << tab << data->updatedSubjects.size() << "SUBJECTS WERE ADDED/UPDATED";
|
||||||
qInfo(colnod) << tab << tab << mData->deletedSubjects.size() << "SUBJECTS DELETED";
|
qInfo(colnod) << tab << tab << data->deletedSubjects.size() << "SUBJECTS DELETED";
|
||||||
qInfo(colnod) << dash;
|
qInfo(colnod) << dash;
|
||||||
|
|
||||||
emit downloadDataFinished(mData);
|
emit downloadDataFinished(data);
|
||||||
newData();
|
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);
|
QJsonDocument doc = QJsonDocument::fromJson(responseData);
|
||||||
QJsonArray items = doc.object()["items"].toArray();
|
QJsonArray items = doc.object()["items"].toArray();
|
||||||
for (QJsonValueRef item : items) {
|
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);
|
QJsonDocument doc = QJsonDocument::fromJson(responseData);
|
||||||
QJsonArray items = doc.object()["items"].toArray();
|
QJsonArray items = doc.object()["items"].toArray();
|
||||||
for (QJsonValueRef item : items) {
|
for (QJsonValueRef item : items) {
|
||||||
mData->deletedSubjects.append(item.toString());
|
data->deletedSubjects.append(item.toString());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -72,14 +72,14 @@ public:
|
|||||||
bool isValid();
|
bool isValid();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
Q_SLOT void areDataReady();
|
Q_SLOT void areDataReady(std::shared_ptr<Data> data);
|
||||||
Q_SLOT void isDataProcessFinished();
|
Q_SLOT void isDataProcessFinished();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void saveUpdatedTokens(const QByteArray &responseData);
|
void saveUpdatedTokens(std::shared_ptr<Data> data, const QByteArray &responseData);
|
||||||
void saveUpdatedSubjects(const QByteArray &responseData);
|
void saveUpdatedSubjects(std::shared_ptr<Data> data, const QByteArray &responseData);
|
||||||
void saveDeletedTokens(const QByteArray &responseData);
|
void saveDeletedTokens(std::shared_ptr<Data> data, const QByteArray &responseData);
|
||||||
void saveDeletedSubjects(const QByteArray &responseData);
|
void saveDeletedSubjects(std::shared_ptr<Data> data, const QByteArray &responseData);
|
||||||
|
|
||||||
void newData();
|
void newData();
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user