mirror of
https://gitlab.com/spaceti-app/integrations/acs/colnod-connector.git
synced 2026-07-12 18:10:37 +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";
|
//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()) {
|
||||||
|
|||||||
@ -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();
|
||||||
|
|||||||
@ -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;
|
||||||
|
|
||||||
|
|||||||
@ -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()
|
||||||
|
|||||||
@ -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;
|
||||||
};
|
};
|
||||||
|
|||||||
@ -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();
|
||||||
}
|
}
|
||||||
|
|||||||
@ -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;
|
||||||
};
|
};
|
||||||
|
|||||||
@ -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;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user