From a3c9a783e7d588c38230eec428b45e3bc7c84a90 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ond=C5=99ej=20Fischer?= Date: Mon, 25 Nov 2019 16:05:31 +0100 Subject: [PATCH] WIP: error handling --- src/colnod/colnodapi.cpp | 4 ++++ src/colnod/data.h | 3 +-- src/colnod/databaseapi.cpp | 18 +++++++++++------- src/colnod/databaseapi.h | 1 + 4 files changed, 17 insertions(+), 9 deletions(-) diff --git a/src/colnod/colnodapi.cpp b/src/colnod/colnodapi.cpp index 4a6e6d2..b589702 100644 --- a/src/colnod/colnodapi.cpp +++ b/src/colnod/colnodapi.cpp @@ -20,6 +20,10 @@ void ColnodAPI::downloadData() auto login = requestLogin(); connect(login.get(), &serversdk::Request::finished, this, [=](){ // TODO: error handling // Get token + if (login->status() != 0) { + qCritical(colnod) << "Login unsuccessful, Status:" << login->status() << "Error message:" ; + } + AuthToken token; token.fromJson(login->responseData()); authToken = token.id(); diff --git a/src/colnod/data.h b/src/colnod/data.h index 7614c89..7beed66 100644 --- a/src/colnod/data.h +++ b/src/colnod/data.h @@ -15,8 +15,7 @@ class Message public: static QString massageTemplate(QString action, QString item, QString source, QString itemInfo) { - return "[" + QDateTime::currentDateTime().toString("yyyy-MM-dd hh:mm:ss.zzz") + - "] " + action + " " + item + "in " + source + ", " + item + " " + itemInfo + "'"; + return action + " " + item + " in " + source + ", " + item + ": '" + itemInfo + "'"; } }; diff --git a/src/colnod/databaseapi.cpp b/src/colnod/databaseapi.cpp index ad86550..542f13b 100644 --- a/src/colnod/databaseapi.cpp +++ b/src/colnod/databaseapi.cpp @@ -58,8 +58,7 @@ std::shared_ptr DatabaseAPI::composeData(const QSqlQuery &updatedQuery, QS qInfo(database) << tab << "-> DATABASE DATA:"; qInfo(database) << tab << tab << data->updatedTokens.size() << "TOKENS WERE ADDED/UPDATED"; qInfo(database) << tab << tab << data->deletedTokens.size() << "TOKENS MARKED FOR DELETION"; - qInfo(database) << dash ; - + qInfo(database) << dash; return data; } @@ -126,6 +125,8 @@ void DatabaseAPI::initNewTokens() token->setDescription("mobile"); token->setTokenData(token->tokenData().toUpper()); tokensToInit.insert(token->id(), token); + + qInfo(database).noquote() << Message::massageTemplate("Inicializing new", "token", "database", token->name()); } uploadTokens(tokensToInit); } @@ -136,9 +137,11 @@ void DatabaseAPI::uploadTokens(const QHash> &tok for (const auto &token : tokens) { if (exists(token->id(), "colnod_token")) { query = utils->updateTable(token.get(), "colnod_token"); + qInfo(database).noquote() << Message::massageTemplate("Updating", "token", "database", token->name()); } else { query = utils->insertIntoTable(token.get(), "colnod_token"); + qInfo(database).noquote() << Message::massageTemplate("Adding", "token", "database", token->name()); } } } @@ -148,19 +151,24 @@ void DatabaseAPI::uploadSubjects(const QHash> auto query = mDbMan->createQuery(); for (const auto &subject : subjects) { for (const auto &attribute : subject->getAttributes()) { + if (exists(attribute->id(), "colnod_subject_attribute")) { query = utils->updateTable(attribute.get(), "colnod_subject_attribute"); + } else { query = utils->insertIntoTable(attribute.get(), "colnod_subject_attribute"); + } } // NOTE: about actions if (exists(subject->id(), "colnod_subject")) { query = utils->updateTable(subject.get(), "colnod_subject"); + qInfo(database).noquote() << Message::massageTemplate("Updating", "subject", "database", subject->name()); } else { query = utils->insertIntoTable(subject.get(), "colnod_subject"); + qInfo(database).noquote() << Message::massageTemplate("Adding", "subject", "database", subject->name()); } } } @@ -170,16 +178,12 @@ void DatabaseAPI::deleteItems(const QList &ids, const QString &tableNam auto query = mDbMan->createQuery(); QString nowString = QDateTime::fromMSecsSinceEpoch(getLastSync()).toString("yyyy-MM-dd hh:mm:ss.zzz"); for (const auto &id : ids) { - qInfo(database) << Message::massageTemplate("deleting", tableName.mid(tableName.indexOf("_") + 1, tableName.length() - 1), "database", id); - qInfo(database).noquote() << "[" <executeQuery(query); - qDebug() << query.isActive() << ",is active on update???"; } } diff --git a/src/colnod/databaseapi.h b/src/colnod/databaseapi.h index db1f9ea..e72c0ee 100644 --- a/src/colnod/databaseapi.h +++ b/src/colnod/databaseapi.h @@ -48,6 +48,7 @@ private: signals: void downloadDataFinished(std::shared_ptr = std::shared_ptr()); + void error(); private: bool mDryMode;