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";
QLoggingCategory::setFilterRules(filters.join(QStringLiteral("\n")));
SyncManager api;
SyncManager api(parser.isSet(dryModeOption));
// TODO: handle error in init
if (api.init()) {

View File

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

View File

@ -16,12 +16,7 @@ class LoginResp : public serversdk::DatabaseTable {
class AuthToken : public serversdk::DatabaseTable {
Q_OBJECT
TABLE_PROPERTY(QUuid, id, set_id, QUuid())
public:
QString idWithoutCurlyBraces()
{
return a_id.toString().mid(1, 36);
}
TABLE_PROPERTY(QString, id, set_id, QString())
};
class Timestamp : public serversdk::DatabaseTable {
@ -39,7 +34,7 @@ class ColnodAPI: public QObject
Q_OBJECT
public:
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 processData(std::shared_ptr<Data> data);
@ -94,6 +89,7 @@ private:
QString mUserName;
QString mPassword;
Timestamp mLastSync;
bool mDryMode;
std::shared_ptr<Data> data;

View File

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

View File

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

View File

@ -4,15 +4,20 @@
Q_LOGGING_CATEGORY(syncmanager, "sync.manager");
SyncManager::SyncManager(bool dryMode)
:mDryMode(dryMode)
{
}
bool SyncManager::init()
{
database = std::make_shared<DatabaseAPI>(&dbMan);
database = std::make_shared<DatabaseAPI>(&dbMan, mDryMode);
if (database->open()){
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
if (mlastSync.timestamp() >= 0){
@ -22,6 +27,7 @@ bool SyncManager::init()
return false;
}
void SyncManager::run()
{
qint64 syncBegin = database->getNow();
@ -157,8 +163,8 @@ void SyncManager::areDataReady()
{
if (++dataAmount == 2) {
qDebug(syncmanager) << "DOWNLOADING DATA -> FINISHED";
qDebug(syncmanager) << EQUALS;
qInfo(syncmanager) << "DOWNLOADING DATA -> FINISHED";
qInfo(syncmanager) << EQUALS;
emit dataReady();
}

View File

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

View File

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