mirror of
https://gitlab.com/spaceti-app/integrations/acs/colnod-connector.git
synced 2026-07-12 16:50:48 +02:00
Merge branch 'server-sdk' into 'master'
server sdk See merge request spaceti-app/integrations/acs/colnod-connector!11
This commit is contained in:
commit
aa79df7aa0
@ -3,30 +3,75 @@ stages:
|
|||||||
- build
|
- build
|
||||||
- test
|
- test
|
||||||
|
|
||||||
|
# To clone also submodules
|
||||||
|
variables:
|
||||||
|
GIT_SUBMODULE_STRATEGY: recursive
|
||||||
|
|
||||||
|
|
||||||
# ########
|
# ########
|
||||||
# Build
|
# Build
|
||||||
##########
|
##########
|
||||||
build: # name of task
|
build:
|
||||||
stage: build # in what stage it will run ( 1. build then test etc )
|
stage: build
|
||||||
tags: # Tags are used to choose correct gitlab-runner
|
tags:
|
||||||
- hw # spaceti-runner server has running runners and one has tag 'hw'
|
- shell
|
||||||
script: # run in bash
|
script:
|
||||||
- mkdir -p build
|
- mkdir -p build
|
||||||
- cd build
|
- cd build
|
||||||
- qmake ../colnod-connector.pro
|
- qmake ../colnod-connector.pro
|
||||||
- make -j8
|
- make -j4
|
||||||
cache:
|
cache:
|
||||||
paths:
|
paths:
|
||||||
- build/
|
- build # this path will be cached for next stages
|
||||||
|
|
||||||
|
|
||||||
# ########
|
# ########
|
||||||
# Test
|
# Test
|
||||||
##########
|
##########
|
||||||
test: # name of task
|
test:
|
||||||
stage: test # in what stage it will run ( 1. build then test etc )
|
stage: test
|
||||||
tags: # Tags are used to choose correct gitlab-runner
|
tags:
|
||||||
- hw # spaceti-runner server has running runners and one has tag 'hw'
|
- shell
|
||||||
script: # run in bash
|
script:
|
||||||
- cd build
|
- cd build
|
||||||
- make check test
|
- make check test
|
||||||
|
|
||||||
|
# memory leak check for unittest
|
||||||
|
valgrind:
|
||||||
|
stage: test
|
||||||
|
tags:
|
||||||
|
- shell
|
||||||
|
script:
|
||||||
|
- cd build
|
||||||
|
- valgrind make check test
|
||||||
|
|
||||||
|
# Quality of code
|
||||||
|
cppcheck:
|
||||||
|
stage: test
|
||||||
|
tags:
|
||||||
|
- shell
|
||||||
|
#allow_failure: true # Probably needed to allow failure
|
||||||
|
script:
|
||||||
|
- server-sdk/scripts/cppcheck.sh
|
||||||
|
|
||||||
|
# Common checks ( Line endings )
|
||||||
|
lineendings:
|
||||||
|
stage: test
|
||||||
|
tags:
|
||||||
|
- shell
|
||||||
|
script:
|
||||||
|
- server-sdk/scripts/check.sh
|
||||||
|
|
||||||
|
codecoverage:
|
||||||
|
stage: test
|
||||||
|
tags:
|
||||||
|
- shell
|
||||||
|
script:
|
||||||
|
- server-sdk/scripts/codecoverage.sh
|
||||||
|
coverage: '/^\s+functions..:\s+(\d+\.\d+%).+$/'
|
||||||
|
|
||||||
|
doc:
|
||||||
|
stage: test
|
||||||
|
tags:
|
||||||
|
- shell
|
||||||
|
script:
|
||||||
|
- server-sdk/scripts/doc.sh clean # 'clean' better clean before generating documentation
|
||||||
|
|||||||
3
.gitmodules
vendored
Normal file
3
.gitmodules
vendored
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
[submodule "server-sdk"]
|
||||||
|
path = server-sdk
|
||||||
|
url = ../../common/server-sdk
|
||||||
@ -1,5 +1,13 @@
|
|||||||
TEMPLATE = subdirs
|
TEMPLATE = subdirs
|
||||||
|
|
||||||
|
CONFIG += ordered
|
||||||
|
|
||||||
SUBDIRS += \
|
SUBDIRS += \
|
||||||
|
server-sdk/src/serversdk/serversdk.pro \
|
||||||
src/app \
|
src/app \
|
||||||
test
|
test
|
||||||
|
|
||||||
|
OTHER_FILES += \
|
||||||
|
doc/* \
|
||||||
|
.gitignore \
|
||||||
|
.gitlab-ci.yml \
|
||||||
|
|||||||
43
doc/Doxyfile-mcss
Normal file
43
doc/Doxyfile-mcss
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
@INCLUDE = ../server-sdk/doc/Doxyfile-init
|
||||||
|
# Output settings
|
||||||
|
GENERATE_HTML = NO
|
||||||
|
GENERATE_XML = YES
|
||||||
|
GENERATE_LATEX = NO
|
||||||
|
XML_PROGRAMLISTING = YES
|
||||||
|
|
||||||
|
# Project settings
|
||||||
|
PROJECT_NAME = example-app
|
||||||
|
INPUT = ../src \
|
||||||
|
pages \
|
||||||
|
../readme.md \
|
||||||
|
FILE_PATTERNS += *.md
|
||||||
|
USE_MDFILE_AS_MAINPAGE = ../readme.md
|
||||||
|
OUTPUT_DIRECTORY = ../build/doc/
|
||||||
|
FULL_PATH_NAMES = NO
|
||||||
|
|
||||||
|
# Attributes settings
|
||||||
|
RECURSIVE = YES
|
||||||
|
EXTRACT_PRIVATE = YES
|
||||||
|
EXTRACT_ALL = YES
|
||||||
|
|
||||||
|
## m.css internal command -> show undocumented
|
||||||
|
M_SHOW_UNDOCUMENTED = YES
|
||||||
|
|
||||||
|
|
||||||
|
## Taken from magnum ( Project from authors of m.css )
|
||||||
|
SHOW_USED_FILES = YES
|
||||||
|
VERBATIM_HEADERS = NO
|
||||||
|
AUTOLINK_SUPPORT = YES
|
||||||
|
|
||||||
|
|
||||||
|
ALIASES += \
|
||||||
|
"m_div{1}=@xmlonly<mcss:div xmlns:mcss=\"http://mcss.mosra.cz/doxygen/\" mcss:class=\"\1\">@endxmlonly" \
|
||||||
|
"m_enddiv=@xmlonly</mcss:div>@endxmlonly" \
|
||||||
|
"m_span{1}=@xmlonly<mcss:span xmlns:mcss=\"http://mcss.mosra.cz/doxygen/\" mcss:class=\"\1\">@endxmlonly" \
|
||||||
|
"m_endspan=@xmlonly</mcss:span>@endxmlonly" \
|
||||||
|
"m_class{1}=@xmlonly<mcss:class xmlns:mcss=\"http://mcss.mosra.cz/doxygen/\" mcss:class=\"\1\" />@endxmlonly" \
|
||||||
|
"m_footernavigation=@xmlonly<mcss:footernavigation xmlns:mcss=\"http://mcss.mosra.cz/doxygen/\" />@endxmlonly" \
|
||||||
|
"m_examplenavigation{2}=@xmlonly<mcss:examplenavigation xmlns:mcss=\"http://mcss.mosra.cz/doxygen/\" mcss:page=\"\1\" mcss:prefix=\"\2\" />@endxmlonly" \
|
||||||
|
"m_keywords{1}=@xmlonly<mcss:search xmlns:mcss=\"http://mcss.mosra.cz/doxygen/\" mcss:keywords=\"\1\" />@endxmlonly" \
|
||||||
|
"m_keyword{3}=@xmlonly<mcss:search xmlns:mcss=\"http://mcss.mosra.cz/doxygen/\" mcss:keyword=\"\1\" mcss:title=\"\2\" mcss:suffix-length=\"\3\" />@endxmlonly" \
|
||||||
|
"m_enum_values_as_keywords=@xmlonly<mcss:search xmlns:mcss=\"http://mcss.mosra.cz/doxygen/\" mcss:enum-values-as-keywords=\"true\" />@endxmlonly"
|
||||||
1
doc/pages/mainpage.md
Normal file
1
doc/pages/mainpage.md
Normal file
@ -0,0 +1 @@
|
|||||||
|
# Example app documentation
|
||||||
1
server-sdk
Submodule
1
server-sdk
Submodule
@ -0,0 +1 @@
|
|||||||
|
Subproject commit b6950b9bfe35d10d4fc65e42f22086796ac85142
|
||||||
@ -1,8 +1,12 @@
|
|||||||
TEMPLATE = app
|
TEMPLATE = app
|
||||||
|
|
||||||
QT += core sql network
|
QT += core sql network
|
||||||
CONFIG += debug console
|
CONFIG += cmdline c++14
|
||||||
|
CONFIG += ordered
|
||||||
|
|
||||||
|
|
||||||
SOURCES += main.cpp
|
SOURCES += main.cpp
|
||||||
|
|
||||||
|
|
||||||
include(../colnod/colnod.pri)
|
include(../colnod/colnod.pri)
|
||||||
|
|
||||||
|
|||||||
@ -1,6 +1,8 @@
|
|||||||
INCLUDEPATH += $$PWD
|
INCLUDEPATH += $$PWD
|
||||||
#SRC_DIR = $$PWD
|
|
||||||
message($$PWD)
|
CONFIG += c++14
|
||||||
|
|
||||||
|
|
||||||
SOURCES += \
|
SOURCES += \
|
||||||
$$PWD/databasemanager.cpp \
|
$$PWD/databasemanager.cpp \
|
||||||
$$PWD/datamanager.cpp \
|
$$PWD/datamanager.cpp \
|
||||||
@ -22,4 +24,5 @@ HEADERS += \
|
|||||||
$$PWD/subject.h \
|
$$PWD/subject.h \
|
||||||
$$PWD/syncmanager.h \
|
$$PWD/syncmanager.h \
|
||||||
$$PWD/token.h
|
$$PWD/token.h
|
||||||
message($$SOURCES)
|
|
||||||
|
include(../../server-sdk/serversdk.pri)
|
||||||
|
|||||||
@ -1,4 +1,6 @@
|
|||||||
#include "databasemanager.h"
|
#include "databasemanager.h"
|
||||||
|
#include "logger.h"
|
||||||
|
|
||||||
|
|
||||||
DatabaseManager::DatabaseManager(const QString& host, const QString& dbName, const QString& user, const QString& password, const bool &dryMode)
|
DatabaseManager::DatabaseManager(const QString& host, const QString& dbName, const QString& user, const QString& password, const bool &dryMode)
|
||||||
:dryMode(dryMode)
|
:dryMode(dryMode)
|
||||||
|
|||||||
@ -10,7 +10,6 @@
|
|||||||
#include "subject.h"
|
#include "subject.h"
|
||||||
#include "token.h"
|
#include "token.h"
|
||||||
#include <QDateTime>
|
#include <QDateTime>
|
||||||
#include "logger.h"
|
|
||||||
|
|
||||||
|
|
||||||
class DatabaseManager : public QObject
|
class DatabaseManager : public QObject
|
||||||
|
|||||||
@ -1,16 +1,15 @@
|
|||||||
#include "datamanager.h"
|
#include "datamanager.h"
|
||||||
|
|
||||||
DataManager::DataManager(const bool &dryMode)
|
DataManager::DataManager(const bool &dryMode) :
|
||||||
:dryMode(dryMode)
|
db(std::make_shared<DatabaseManager>("192.168.1.94", "deloitte", "postgres", "34rjkciea12", dryMode)),
|
||||||
|
dryMode(dryMode)
|
||||||
{
|
{
|
||||||
db = std::make_shared<DatabaseManager>("192.168.1.94", "deloitte", "postgres", "34rjkciea12", dryMode);
|
|
||||||
//db = std::make_shared<DatabaseManager>("localhost", "deloitte", "postgres", "34rjkciea12");
|
|
||||||
if (db->isOpen()){
|
if (db->isOpen()){
|
||||||
Logger::setDBMan(db);
|
Logger::setDBMan(db);
|
||||||
nextLastSync = db->getNow();
|
nextLastSync = db->getNow();
|
||||||
lastSync = db->getLastSync();
|
lastSync = db->getLastSync();
|
||||||
}
|
}
|
||||||
connect(db.get(), &DatabaseManager::error, this, &DataManager::error, Qt::QueuedConnection);
|
connect(db.get(), &DatabaseManager::error, this, &DataManager::error);
|
||||||
}
|
}
|
||||||
|
|
||||||
// load all tokens from colnod to comparing with working set from DB
|
// load all tokens from colnod to comparing with working set from DB
|
||||||
|
|||||||
@ -15,7 +15,7 @@ class DataManager : public QObject
|
|||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
|
|
||||||
public:
|
public:
|
||||||
DataManager(const bool& dryMode = false);
|
explicit DataManager(const bool& dryMode = false);
|
||||||
|
|
||||||
void fillFullTokensColnod(const QString& jsonResponse);
|
void fillFullTokensColnod(const QString& jsonResponse);
|
||||||
|
|
||||||
|
|||||||
@ -10,6 +10,7 @@
|
|||||||
class Entity : public QObject {
|
class Entity : public QObject {
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
public:
|
public:
|
||||||
|
Entity() = default;
|
||||||
using QObject::QObject;
|
using QObject::QObject;
|
||||||
|
|
||||||
const QUuid &getId() const;
|
const QUuid &getId() const;
|
||||||
|
|||||||
@ -1,8 +1,8 @@
|
|||||||
#include "requestmanager.h"
|
#include "requestmanager.h"
|
||||||
|
|
||||||
RequestManager::RequestManager()
|
RequestManager::RequestManager()
|
||||||
|
: manager(std::make_unique<QNetworkAccessManager>())
|
||||||
{
|
{
|
||||||
manager = std::make_unique<QNetworkAccessManager>();
|
|
||||||
connect(manager.get(), &QNetworkAccessManager::sslErrors, this, &RequestManager::onSSLError);
|
connect(manager.get(), &QNetworkAccessManager::sslErrors, this, &RequestManager::onSSLError);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -12,7 +12,7 @@ class Subject : public Entity {
|
|||||||
public:
|
public:
|
||||||
using Entity::Entity;
|
using Entity::Entity;
|
||||||
Subject() = default;
|
Subject() = default;
|
||||||
Subject(const QString& name);
|
explicit Subject(const QString& name);
|
||||||
|
|
||||||
QString getEmail() const;
|
QString getEmail() const;
|
||||||
|
|
||||||
|
|||||||
@ -1,12 +1,12 @@
|
|||||||
#include "syncmanager.h"
|
#include "syncmanager.h"
|
||||||
|
|
||||||
SyncManager::SyncManager(bool dryMode)
|
SyncManager::SyncManager(bool dryMode) :
|
||||||
:dryMode(dryMode)
|
reqMan(std::make_unique<RequestManager>()),
|
||||||
|
dataMan( std::make_unique<DataManager>(dryMode)),
|
||||||
|
dryMode(dryMode)
|
||||||
{
|
{
|
||||||
reqMan = std::make_unique<RequestManager>();
|
connect(reqMan.get(), &RequestManager::error, this, &SyncManager::error);
|
||||||
dataMan = std::make_unique<DataManager>(dryMode);
|
connect(dataMan.get(), &DataManager::error, this, &SyncManager::error);
|
||||||
connect(reqMan.get(), &RequestManager::error, this, &SyncManager::error, Qt::QueuedConnection);
|
|
||||||
connect(dataMan.get(), &DataManager::error, this, &SyncManager::error, Qt::QueuedConnection);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void SyncManager::loadDataFromColnod()
|
void SyncManager::loadDataFromColnod()
|
||||||
|
|||||||
@ -9,8 +9,7 @@ class SyncManager : public QObject
|
|||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
explicit SyncManager(bool dryMode = false);
|
||||||
SyncManager(bool dryMode = false);
|
|
||||||
|
|
||||||
void syncDataFromColnodToDB();
|
void syncDataFromColnodToDB();
|
||||||
void syncDataFromDBToColnod();
|
void syncDataFromDBToColnod();
|
||||||
|
|||||||
@ -13,7 +13,7 @@ public:
|
|||||||
|
|
||||||
Token() = default;
|
Token() = default;
|
||||||
Token(const QString& name, QString tokenData, const QString& decription = "mobile");
|
Token(const QString& name, QString tokenData, const QString& decription = "mobile");
|
||||||
Token(const QString& name);
|
explicit Token(const QString& name);
|
||||||
~Token() override;
|
~Token() override;
|
||||||
|
|
||||||
friend bool operator<(const Token &lToken, const Token &rToken){
|
friend bool operator<(const Token &lToken, const Token &rToken){
|
||||||
|
|||||||
@ -10,6 +10,7 @@ SOURCES += \
|
|||||||
unittest.cpp
|
unittest.cpp
|
||||||
|
|
||||||
include(../../src/colnod/colnod.pri)
|
include(../../src/colnod/colnod.pri)
|
||||||
|
include(../../server-sdk/serversdk.pri)
|
||||||
|
|
||||||
# Default rules for deployment.
|
# Default rules for deployment.
|
||||||
qnx: target.path = /tmp/$${TARGET}/bin
|
qnx: target.path = /tmp/$${TARGET}/bin
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user