mirror of
https://gitlab.com/spaceti-app/integrations/acs/colnod-connector.git
synced 2026-07-12 13:10:45 +02:00
v0.1 of drymode
This commit is contained in:
parent
80c550ff03
commit
d2e1883760
@ -1 +1 @@
|
||||
Subproject commit f387b600f787fe4d71f647ad4a90ff41bbb4b412
|
||||
Subproject commit 5025a68891fc7ffd72300327de7a1a43b6ca80b6
|
||||
@ -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()) {
|
||||
|
||||
@ -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();
|
||||
|
||||
@ -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;
|
||||
|
||||
|
||||
@ -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()
|
||||
|
||||
@ -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;
|
||||
};
|
||||
|
||||
@ -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();
|
||||
}
|
||||
|
||||
@ -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;
|
||||
};
|
||||
|
||||
@ -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;
|
||||
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user