diff --git a/src/colnod/colnodapi.cpp b/src/colnod/colnodapi.cpp index fc283d8..8314b77 100644 --- a/src/colnod/colnodapi.cpp +++ b/src/colnod/colnodapi.cpp @@ -26,14 +26,26 @@ void ColnodAPI::downloadData(const Timestamp &time) auto login = requestLogin(); connect(login.get(), &serversdk::Request::finished, this, [=](){ // Get login token - if (!checkRequest(login)) { + if (login->status() != 200) { emit downloadDataFinished(nullptr); return; } AuthToken token; - token.fromJson(login->responseData()); + auto responseData = login->responseData(); + if (responseData.isEmpty()) { + qCWarning(colnod) << "empty response data when logging in"; + emit downloadDataFinished(nullptr); + return; + } + + token.fromJson(responseData); authToken = token.id(); + if (authToken.isEmpty()) { + qCCritical(colnod) << "Token uuid is empty"; + emit downloadDataFinished(nullptr); + return; + } auto data = std::make_shared(); diff --git a/src/colnod/data.h b/src/colnod/data.h index bfc1eef..868bc03 100644 --- a/src/colnod/data.h +++ b/src/colnod/data.h @@ -43,12 +43,11 @@ struct PreparedData { public: PreparedData() = default; - PreparedData(std::shared_ptr database, std::shared_ptr colnod) + PreparedData(const std::shared_ptr &database, const std::shared_ptr &colnod) :databaseData(std::move(database)), colnodData(std::move(colnod)) { } - // TODO: make unique_ptr ( neeed because of ColnodAPI ) std::shared_ptr databaseData; std::shared_ptr colnodData;