v0.1 of drymode

This commit is contained in:
Ondřej Fischer 2019-11-21 11:04:31 +01:00
parent 80c550ff03
commit d2e1883760
9 changed files with 32 additions and 24 deletions

@ -1 +1 @@
Subproject commit f387b600f787fe4d71f647ad4a90ff41bbb4b412 Subproject commit 5025a68891fc7ffd72300327de7a1a43b6ca80b6

View File

@ -39,7 +39,7 @@ int main(int argc, char *argv[])
//filters << "*=false"; //filters << "*=false";
QLoggingCategory::setFilterRules(filters.join(QStringLiteral("\n"))); QLoggingCategory::setFilterRules(filters.join(QStringLiteral("\n")));
SyncManager api; SyncManager api(parser.isSet(dryModeOption));
// TODO: handle error in init // TODO: handle error in init
if (api.init()) { if (api.init()) {

View File

@ -6,8 +6,8 @@ ColnodAPI::ColnodAPI()
{ {
} }
ColnodAPI::ColnodAPI(serversdk::RequestManager* reqMan, qint64 lastSync, QString userName, QString password) ColnodAPI::ColnodAPI(serversdk::RequestManager* reqMan, qint64 lastSync, bool dryMode, QString userName, QString password)
:mReqMan(reqMan), mUserName(userName), mPassword(password) :mReqMan(reqMan), mUserName(userName), mPassword(password), mDryMode(dryMode)
{ {
mLastSync.set_timestamp(lastSync); mLastSync.set_timestamp(lastSync);
data = std::make_shared<Data>(); data = std::make_shared<Data>();
@ -25,7 +25,7 @@ void ColnodAPI::downloadData()
// Get token // Get token
AuthToken token; AuthToken token;
token.fromJson(login->responseData()); token.fromJson(login->responseData());
authToken = token.idWithoutCurlyBraces(); authToken = token.id();
// if I have all data emit downloadDataFinished // if I have all data emit downloadDataFinished
connect(this, &ColnodAPI::partOfDataReady, this, &ColnodAPI::areDataReady); connect(this, &ColnodAPI::partOfDataReady, this, &ColnodAPI::areDataReady);
@ -39,12 +39,12 @@ void ColnodAPI::downloadData()
void ColnodAPI::processData(std::shared_ptr<Data> data) void ColnodAPI::processData(std::shared_ptr<Data> data)
{ {
connect(this, &ColnodAPI::partOfDataProcessFinished, this, &ColnodAPI::isDataProcessFinished); connect(this, &ColnodAPI::partOfDataProcessFinished, this, &ColnodAPI::isDataProcessFinished);
if ( !data->updatedTokens.isEmpty()) { if ( !data->updatedTokens.isEmpty() && !mDryMode) {
setTokens(data->updatedTokens); setTokens(data->updatedTokens);
} else { } else {
emit partOfDataProcessFinished(); emit partOfDataProcessFinished();
} }
if ( !data->deletedTokens.isEmpty()) { if ( !data->deletedTokens.isEmpty() && !mDryMode) {
deleteTokens(data->deletedTokens); deleteTokens(data->deletedTokens);
} else { } else {
emit partOfDataProcessFinished(); emit partOfDataProcessFinished();

View File

@ -16,12 +16,7 @@ class LoginResp : public serversdk::DatabaseTable {
class AuthToken : public serversdk::DatabaseTable { class AuthToken : public serversdk::DatabaseTable {
Q_OBJECT Q_OBJECT
TABLE_PROPERTY(QUuid, id, set_id, QUuid()) TABLE_PROPERTY(QString, id, set_id, QString())
public:
QString idWithoutCurlyBraces()
{
return a_id.toString().mid(1, 36);
}
}; };
class Timestamp : public serversdk::DatabaseTable { class Timestamp : public serversdk::DatabaseTable {
@ -39,7 +34,7 @@ class ColnodAPI: public QObject
Q_OBJECT Q_OBJECT
public: public:
ColnodAPI(); ColnodAPI();
ColnodAPI(serversdk::RequestManager* reqMan, qint64 lastSync = 0, QString userName = "spaceti", QString password = "spaceti1"); ColnodAPI(serversdk::RequestManager* reqMan, qint64 lastSync = 0, bool dryMode = false, QString userName = "spaceti", QString password = "spaceti1");
void downloadData(); void downloadData();
void processData(std::shared_ptr<Data> data); void processData(std::shared_ptr<Data> data);
@ -94,6 +89,7 @@ private:
QString mUserName; QString mUserName;
QString mPassword; QString mPassword;
Timestamp mLastSync; Timestamp mLastSync;
bool mDryMode;
std::shared_ptr<Data> data; std::shared_ptr<Data> data;

View File

@ -4,10 +4,12 @@ Q_LOGGING_CATEGORY(database, "db.api");
#define STH 803 #define STH 803
DatabaseAPI::DatabaseAPI(serversdk::DatabaseManager *dbMan) DatabaseAPI::DatabaseAPI(serversdk::DatabaseManager *dbMan, bool dryMode)
:mDbMan(dbMan), utils(std::make_unique<serversdk::DatabaseUtils>(dbMan)) : mDryMode(dryMode),
mDbMan(dbMan),
utils(std::make_unique<serversdk::DatabaseUtils>(dbMan))
{ {
mDbMan->setDryMode(dryMode);
} }
bool DatabaseAPI::open() bool DatabaseAPI::open()

View File

@ -15,7 +15,7 @@ class DatabaseAPI : public QObject
{ {
Q_OBJECT Q_OBJECT
public: public:
explicit DatabaseAPI(serversdk::DatabaseManager *dbMan); explicit DatabaseAPI(serversdk::DatabaseManager *dbMan, bool dryMode);
bool open(); bool open();
@ -47,6 +47,7 @@ signals:
void downloadDataFinished(std::shared_ptr<Data> = std::shared_ptr<Data>()); void downloadDataFinished(std::shared_ptr<Data> = std::shared_ptr<Data>());
private: private:
bool mDryMode;
serversdk::DatabaseManager *mDbMan = nullptr; serversdk::DatabaseManager *mDbMan = nullptr;
std::unique_ptr<serversdk::DatabaseUtils> utils; std::unique_ptr<serversdk::DatabaseUtils> utils;
}; };

View File

@ -4,15 +4,20 @@
Q_LOGGING_CATEGORY(syncmanager, "sync.manager"); Q_LOGGING_CATEGORY(syncmanager, "sync.manager");
SyncManager::SyncManager(bool dryMode)
:mDryMode(dryMode)
{
}
bool SyncManager::init() bool SyncManager::init()
{ {
database = std::make_shared<DatabaseAPI>(&dbMan); database = std::make_shared<DatabaseAPI>(&dbMan, mDryMode);
if (database->open()){ if (database->open()){
mlastSync.set_timestamp(database->getLastSync()); mlastSync.set_timestamp(database->getLastSync());
colnod = std::make_shared<ColnodAPI>(&reqMan, mlastSync.timestamp()); colnod = std::make_shared<ColnodAPI>(&reqMan, mlastSync.timestamp(), mDryMode);
// -1 --> some error with getting data from DB // -1 --> some error with getting data from DB
if (mlastSync.timestamp() >= 0){ if (mlastSync.timestamp() >= 0){
@ -22,6 +27,7 @@ bool SyncManager::init()
return false; return false;
} }
void SyncManager::run() void SyncManager::run()
{ {
qint64 syncBegin = database->getNow(); qint64 syncBegin = database->getNow();
@ -157,8 +163,8 @@ void SyncManager::areDataReady()
{ {
if (++dataAmount == 2) { if (++dataAmount == 2) {
qDebug(syncmanager) << "DOWNLOADING DATA -> FINISHED"; qInfo(syncmanager) << "DOWNLOADING DATA -> FINISHED";
qDebug(syncmanager) << EQUALS; qInfo(syncmanager) << EQUALS;
emit dataReady(); emit dataReady();
} }

View File

@ -10,6 +10,8 @@ class SyncManager : public QObject
Q_OBJECT Q_OBJECT
public: public:
SyncManager(bool dryMode);
bool init(); bool init();
void run(); void run();
@ -44,4 +46,5 @@ private:
std::shared_ptr<Data> databaseDataToProcess; std::shared_ptr<Data> databaseDataToProcess;
int dataAmount = 0; int dataAmount = 0;
bool mDryMode;
}; };

View File

@ -12,8 +12,8 @@ void ComplexTest::initTestCase()
// deleteTokensRespSpy.wait(timeout); // deleteTokensRespSpy.wait(timeout);
// QTest::qWait(2500); // QTest::qWait(2500);
// Logger *logger = Logger::getLogger(); // Logger *logger = Logger::getLogger();
start = QDateTime::currentMSecsSinceEpoch()-2000; //start = QDateTime::currentMSecsSinceEpoch()-2000;
api = new SyncManager(); //api = new SyncManager();
qDebug() << start; qDebug() << start;
} }