mirror of
https://gitlab.com/spaceti-app/integrations/acs/colnod-connector.git
synced 2026-07-12 17:00:39 +02:00
Merge branch 'server-sdk' into 'master'
WIP: server sdk See merge request spaceti-app/integrations/acs/colnod-connector!11
This commit is contained in:
commit
7d8c224f14
@ -3,30 +3,75 @@ stages:
|
||||
- build
|
||||
- test
|
||||
|
||||
# To clone also submodules
|
||||
variables:
|
||||
GIT_SUBMODULE_STRATEGY: recursive
|
||||
|
||||
|
||||
# ########
|
||||
# Build
|
||||
##########
|
||||
build: # name of task
|
||||
stage: build # in what stage it will run ( 1. build then test etc )
|
||||
tags: # Tags are used to choose correct gitlab-runner
|
||||
- hw # spaceti-runner server has running runners and one has tag 'hw'
|
||||
script: # run in bash
|
||||
- mkdir -p build
|
||||
build:
|
||||
stage: build
|
||||
tags:
|
||||
- shell
|
||||
script:
|
||||
- mkdir -p build
|
||||
- cd build
|
||||
- qmake ../colnod-connector.pro
|
||||
- make -j8
|
||||
- make -j4
|
||||
cache:
|
||||
paths:
|
||||
- build/
|
||||
|
||||
- build # this path will be cached for next stages
|
||||
|
||||
# ########
|
||||
# Test
|
||||
##########
|
||||
test: # name of task
|
||||
stage: test # in what stage it will run ( 1. build then test etc )
|
||||
tags: # Tags are used to choose correct gitlab-runner
|
||||
- hw # spaceti-runner server has running runners and one has tag 'hw'
|
||||
script: # run in bash
|
||||
test:
|
||||
stage: test
|
||||
tags:
|
||||
- shell
|
||||
script:
|
||||
- cd build
|
||||
- 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
|
||||
|
||||
CONFIG += ordered
|
||||
|
||||
SUBDIRS += \
|
||||
server-sdk/src/serversdk/serversdk.pro \
|
||||
src/app \
|
||||
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
|
||||
|
||||
QT += core sql network
|
||||
CONFIG += debug console
|
||||
CONFIG += cmdline c++14
|
||||
CONFIG += ordered
|
||||
|
||||
|
||||
SOURCES += main.cpp
|
||||
|
||||
|
||||
include(../colnod/colnod.pri)
|
||||
|
||||
|
||||
@ -1,6 +1,8 @@
|
||||
INCLUDEPATH += $$PWD
|
||||
#SRC_DIR = $$PWD
|
||||
message($$PWD)
|
||||
|
||||
CONFIG += c++14
|
||||
|
||||
|
||||
SOURCES += \
|
||||
$$PWD/databasemanager.cpp \
|
||||
$$PWD/datamanager.cpp \
|
||||
@ -22,4 +24,5 @@ HEADERS += \
|
||||
$$PWD/subject.h \
|
||||
$$PWD/syncmanager.h \
|
||||
$$PWD/token.h
|
||||
message($$SOURCES)
|
||||
|
||||
include(../../server-sdk/serversdk.pri)
|
||||
|
||||
@ -1,4 +1,6 @@
|
||||
#include "databasemanager.h"
|
||||
#include "logger.h"
|
||||
|
||||
|
||||
DatabaseManager::DatabaseManager(const QString& host, const QString& dbName, const QString& user, const QString& password, const bool &dryMode)
|
||||
:dryMode(dryMode)
|
||||
|
||||
@ -10,7 +10,6 @@
|
||||
#include "subject.h"
|
||||
#include "token.h"
|
||||
#include <QDateTime>
|
||||
#include "logger.h"
|
||||
|
||||
|
||||
class DatabaseManager : public QObject
|
||||
|
||||
@ -1,16 +1,15 @@
|
||||
#include "datamanager.h"
|
||||
|
||||
DataManager::DataManager(const bool &dryMode)
|
||||
:dryMode(dryMode)
|
||||
DataManager::DataManager(const bool &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()){
|
||||
Logger::setDBMan(db);
|
||||
nextLastSync = db->getNow();
|
||||
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
|
||||
|
||||
@ -15,7 +15,7 @@ class DataManager : public QObject
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
DataManager(const bool& dryMode = false);
|
||||
explicit DataManager(const bool& dryMode = false);
|
||||
|
||||
void fillFullTokensColnod(const QString& jsonResponse);
|
||||
|
||||
|
||||
@ -10,6 +10,7 @@
|
||||
class Entity : public QObject {
|
||||
Q_OBJECT
|
||||
public:
|
||||
Entity() = default;
|
||||
using QObject::QObject;
|
||||
|
||||
const QUuid &getId() const;
|
||||
|
||||
@ -1,8 +1,8 @@
|
||||
#include "requestmanager.h"
|
||||
|
||||
RequestManager::RequestManager()
|
||||
: manager(std::make_unique<QNetworkAccessManager>())
|
||||
{
|
||||
manager = std::make_unique<QNetworkAccessManager>();
|
||||
connect(manager.get(), &QNetworkAccessManager::sslErrors, this, &RequestManager::onSSLError);
|
||||
}
|
||||
|
||||
|
||||
@ -12,7 +12,7 @@ class Subject : public Entity {
|
||||
public:
|
||||
using Entity::Entity;
|
||||
Subject() = default;
|
||||
Subject(const QString& name);
|
||||
explicit Subject(const QString& name);
|
||||
|
||||
QString getEmail() const;
|
||||
|
||||
|
||||
@ -1,12 +1,12 @@
|
||||
#include "syncmanager.h"
|
||||
|
||||
SyncManager::SyncManager(bool dryMode)
|
||||
:dryMode(dryMode)
|
||||
SyncManager::SyncManager(bool dryMode) :
|
||||
reqMan(std::make_unique<RequestManager>()),
|
||||
dataMan( std::make_unique<DataManager>(dryMode)),
|
||||
dryMode(dryMode)
|
||||
{
|
||||
reqMan = std::make_unique<RequestManager>();
|
||||
dataMan = std::make_unique<DataManager>(dryMode);
|
||||
connect(reqMan.get(), &RequestManager::error, this, &SyncManager::error, Qt::QueuedConnection);
|
||||
connect(dataMan.get(), &DataManager::error, this, &SyncManager::error, Qt::QueuedConnection);
|
||||
connect(reqMan.get(), &RequestManager::error, this, &SyncManager::error);
|
||||
connect(dataMan.get(), &DataManager::error, this, &SyncManager::error);
|
||||
}
|
||||
|
||||
void SyncManager::loadDataFromColnod()
|
||||
|
||||
@ -9,8 +9,7 @@ class SyncManager : public QObject
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
|
||||
SyncManager(bool dryMode = false);
|
||||
explicit SyncManager(bool dryMode = false);
|
||||
|
||||
void syncDataFromColnodToDB();
|
||||
void syncDataFromDBToColnod();
|
||||
|
||||
@ -13,7 +13,7 @@ public:
|
||||
|
||||
Token() = default;
|
||||
Token(const QString& name, QString tokenData, const QString& decription = "mobile");
|
||||
Token(const QString& name);
|
||||
explicit Token(const QString& name);
|
||||
~Token() override;
|
||||
|
||||
friend bool operator<(const Token &lToken, const Token &rToken){
|
||||
|
||||
@ -10,6 +10,7 @@ SOURCES += \
|
||||
unittest.cpp
|
||||
|
||||
include(../../src/colnod/colnod.pri)
|
||||
include(../../server-sdk/serversdk.pri)
|
||||
|
||||
# Default rules for deployment.
|
||||
qnx: target.path = /tmp/$${TARGET}/bin
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user