mirror of
https://gitlab.com/spaceti-app/integrations/acs/colnod-connector.git
synced 2026-07-12 16:20:39 +02:00
fix download method in db
This commit is contained in:
parent
d334007f6c
commit
ec2de4978f
@ -1 +1 @@
|
|||||||
Subproject commit 9623578997c33de0700131a40592a83e6cef3289
|
Subproject commit ee08677641fef053a8f6938f9b31e6792cbe7fff
|
||||||
@ -44,13 +44,13 @@ int main(int argc, char *argv[])
|
|||||||
SyncManager syncManager(parser.isSet(dryModeOption));
|
SyncManager syncManager(parser.isSet(dryModeOption));
|
||||||
|
|
||||||
// Initialize database and colnod API
|
// Initialize database and colnod API
|
||||||
if (!syncManager.databaseInitialization()) {
|
if (!syncManager.syncInit()) {
|
||||||
qCritical("Not possible to initialize sync application");
|
qCritical("Not possible to initialize sync application");
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Synchronizaiton
|
// Synchronizaiton
|
||||||
if (!syncManager.startSynchronization()) {
|
if (!syncManager.startSync()) {
|
||||||
qCritical("Not possible to start synchronization");
|
qCritical("Not possible to start synchronization");
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -36,23 +36,22 @@ bool DatabaseAPI::executeQuery(QSqlQuery &query, const QString &statement)
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// returns data to be sychronized to colnod
|
||||||
|
// returns nullptr if there is any error
|
||||||
std::shared_ptr<Data> DatabaseAPI::downloadData()
|
std::shared_ptr<Data> DatabaseAPI::downloadData()
|
||||||
{
|
{
|
||||||
auto updatedQuery = mDbMan->createQuery();
|
auto updatedQuery = mDbMan->createQuery();
|
||||||
auto deletedQuery = mDbMan->createQuery();
|
auto deletedQuery = mDbMan->createQuery();
|
||||||
if (!executeQuery(updatedQuery, "SELECT * FROM colnod_token WHERE last_modified > last_update AND deleted = false")) {
|
if (!executeQuery(updatedQuery, "SELECT * FROM colnod_token WHERE last_modified > last_update AND deleted = false")) {
|
||||||
qWarning(database) << "ERROR during geting new/updated tokens from db.";
|
qWarning(database) << "ERROR: Not possible to get new/updated tokens from DB";
|
||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
if (!executeQuery(deletedQuery, "SELECT id FROM colnod_token WHERE last_modified > last_update AND deleted = true")) {
|
if (!executeQuery(deletedQuery, "SELECT id FROM colnod_token WHERE last_modified > last_update AND deleted = true")) {
|
||||||
qWarning(database) << "ERROR during geting marked tokens for deletion from db.";
|
qWarning(database) << "ERROR: not possible to get tokens marked for deletion from DB";
|
||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
return composeData(updatedQuery, deletedQuery);
|
return composeData(updatedQuery, deletedQuery);
|
||||||
// TODO: why emiting signal??
|
|
||||||
// this can return Strucutre
|
|
||||||
//emit downloadDataFinished(composeData(updatedQuery, deletedQuery));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
bool DatabaseAPI::processData(const std::shared_ptr<Data> &data)
|
bool DatabaseAPI::processData(const std::shared_ptr<Data> &data)
|
||||||
@ -165,11 +164,12 @@ qint64 DatabaseAPI::getNow()
|
|||||||
return query.value(0).toLongLong();
|
return query.value(0).toLongLong();
|
||||||
}
|
}
|
||||||
|
|
||||||
void DatabaseAPI::initNewTokens()
|
bool DatabaseAPI::initNewTokens()
|
||||||
{
|
{
|
||||||
auto query = mDbMan->createQuery();
|
auto query = mDbMan->createQuery();
|
||||||
if (!executeQuery(query, "SELECT * FROM colnod_token WHERE name IS NULL")) {
|
if (!executeQuery(query, "SELECT * FROM colnod_token WHERE name IS NULL")) {
|
||||||
qWarning(database) << "ERROR during getting uninitialized tokens";
|
qWarning(database) << "Not possible to get uninitialized (new) tokens";
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
QHash<QString, std::shared_ptr<Token>> tokensToInit;
|
QHash<QString, std::shared_ptr<Token>> tokensToInit;
|
||||||
auto list = utils->tableFromQuery<Token>(query);
|
auto list = utils->tableFromQuery<Token>(query);
|
||||||
@ -199,7 +199,10 @@ bool DatabaseAPI::uploadTokens(const QHash<QString, std::shared_ptr<Token>> &tok
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
int existCheck = exists(token->id(), "colnod_token");
|
||||||
|
if (existCheck == -1) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
if (exists(token->id(), "colnod_token")) {
|
if (exists(token->id(), "colnod_token")) {
|
||||||
|
|||||||
@ -32,7 +32,7 @@ public:
|
|||||||
void setLastUpdate(const QList<QString> ids);
|
void setLastUpdate(const QList<QString> ids);
|
||||||
qint64 getNow();
|
qint64 getNow();
|
||||||
|
|
||||||
void initNewTokens();
|
bool initNewTokens();
|
||||||
|
|
||||||
// process data
|
// process data
|
||||||
bool uploadTokens(const QHash<QString, std::shared_ptr<Token> > &tokens);
|
bool uploadTokens(const QHash<QString, std::shared_ptr<Token> > &tokens);
|
||||||
|
|||||||
@ -10,12 +10,9 @@ SyncManager::SyncManager(bool dryMode)
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
bool SyncManager::databaseInitialization()
|
bool SyncManager::syncInit()
|
||||||
{
|
{
|
||||||
database = std::make_shared<DatabaseAPI>(&dbMan, mDryMode);
|
database = std::make_shared<DatabaseAPI>(&dbMan, mDryMode);
|
||||||
// connect(database.get(), &DatabaseAPI::error, [=](){
|
|
||||||
// QCoreApplication::exit(1);
|
|
||||||
// });
|
|
||||||
|
|
||||||
// Open database
|
// Open database
|
||||||
if (!database->open()) {
|
if (!database->open()) {
|
||||||
@ -30,6 +27,10 @@ bool SyncManager::databaseInitialization()
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!database->initNewTokens()) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
// here -> nothing can fail
|
// here -> nothing can fail
|
||||||
mlastSync.set_timestamp(database->getLastSync());
|
mlastSync.set_timestamp(database->getLastSync());
|
||||||
colnod = std::make_shared<ColnodAPI>(&reqMan, mlastSync.timestamp(), mDryMode);
|
colnod = std::make_shared<ColnodAPI>(&reqMan, mlastSync.timestamp(), mDryMode);
|
||||||
@ -37,7 +38,7 @@ bool SyncManager::databaseInitialization()
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
bool SyncManager::startSynchronization()
|
bool SyncManager::startSync()
|
||||||
{
|
{
|
||||||
// I have to current time from database
|
// I have to current time from database
|
||||||
qint64 syncBegin = database->getNow();
|
qint64 syncBegin = database->getNow();
|
||||||
@ -50,7 +51,7 @@ bool SyncManager::startSynchronization()
|
|||||||
qInfo(syncmanager) << "SYNCHRONIZATION BEGIN";
|
qInfo(syncmanager) << "SYNCHRONIZATION BEGIN";
|
||||||
|
|
||||||
// TODO: check error
|
// TODO: check error
|
||||||
database->initNewTokens();
|
|
||||||
|
|
||||||
|
|
||||||
// GETTING DATA FROM DATABASE
|
// GETTING DATA FROM DATABASE
|
||||||
|
|||||||
@ -11,8 +11,8 @@ class SyncManager : public QObject
|
|||||||
public:
|
public:
|
||||||
explicit SyncManager(bool dryMode);
|
explicit SyncManager(bool dryMode);
|
||||||
|
|
||||||
bool databaseInitialization();
|
bool syncInit();
|
||||||
bool startSynchronization();
|
bool startSync();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
bool downloadData();
|
bool downloadData();
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user