mirror of
https://gitlab.com/spaceti-app/integrations/acs/colnod-connector.git
synced 2026-07-12 20: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));
|
||||
|
||||
// Initialize database and colnod API
|
||||
if (!syncManager.databaseInitialization()) {
|
||||
if (!syncManager.syncInit()) {
|
||||
qCritical("Not possible to initialize sync application");
|
||||
return -1;
|
||||
}
|
||||
|
||||
// Synchronizaiton
|
||||
if (!syncManager.startSynchronization()) {
|
||||
if (!syncManager.startSync()) {
|
||||
qCritical("Not possible to start synchronization");
|
||||
return -1;
|
||||
}
|
||||
|
||||
@ -36,23 +36,22 @@ bool DatabaseAPI::executeQuery(QSqlQuery &query, const QString &statement)
|
||||
return true;
|
||||
}
|
||||
|
||||
// returns data to be sychronized to colnod
|
||||
// returns nullptr if there is any error
|
||||
std::shared_ptr<Data> DatabaseAPI::downloadData()
|
||||
{
|
||||
auto updatedQuery = mDbMan->createQuery();
|
||||
auto deletedQuery = mDbMan->createQuery();
|
||||
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;
|
||||
}
|
||||
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 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)
|
||||
@ -165,11 +164,12 @@ qint64 DatabaseAPI::getNow()
|
||||
return query.value(0).toLongLong();
|
||||
}
|
||||
|
||||
void DatabaseAPI::initNewTokens()
|
||||
bool DatabaseAPI::initNewTokens()
|
||||
{
|
||||
auto query = mDbMan->createQuery();
|
||||
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;
|
||||
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")) {
|
||||
|
||||
@ -32,7 +32,7 @@ public:
|
||||
void setLastUpdate(const QList<QString> ids);
|
||||
qint64 getNow();
|
||||
|
||||
void initNewTokens();
|
||||
bool initNewTokens();
|
||||
|
||||
// process data
|
||||
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);
|
||||
// connect(database.get(), &DatabaseAPI::error, [=](){
|
||||
// QCoreApplication::exit(1);
|
||||
// });
|
||||
|
||||
// Open database
|
||||
if (!database->open()) {
|
||||
@ -30,6 +27,10 @@ bool SyncManager::databaseInitialization()
|
||||
return false;
|
||||
}
|
||||
|
||||
if (!database->initNewTokens()) {
|
||||
|
||||
}
|
||||
|
||||
// here -> nothing can fail
|
||||
mlastSync.set_timestamp(database->getLastSync());
|
||||
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
|
||||
qint64 syncBegin = database->getNow();
|
||||
@ -50,7 +51,7 @@ bool SyncManager::startSynchronization()
|
||||
qInfo(syncmanager) << "SYNCHRONIZATION BEGIN";
|
||||
|
||||
// TODO: check error
|
||||
database->initNewTokens();
|
||||
|
||||
|
||||
|
||||
// GETTING DATA FROM DATABASE
|
||||
|
||||
@ -11,8 +11,8 @@ class SyncManager : public QObject
|
||||
public:
|
||||
explicit SyncManager(bool dryMode);
|
||||
|
||||
bool databaseInitialization();
|
||||
bool startSynchronization();
|
||||
bool syncInit();
|
||||
bool startSync();
|
||||
|
||||
private:
|
||||
bool downloadData();
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user