mirror of
https://gitlab.com/spaceti-app/integrations/acs/colnod-connector.git
synced 2026-07-12 11:50:37 +02:00
Logs to db first version
This commit is contained in:
parent
ba1315d1da
commit
31183087c2
@ -25,7 +25,5 @@ int main(int argc, char *argv[])
|
||||
QCoreApplication::exit();
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
return QCoreApplication::exec();
|
||||
}
|
||||
|
||||
@ -156,7 +156,7 @@ void DatabaseManager::executeNonPreperedQuery(const QString &statement, QSqlQuer
|
||||
if (dryMode){
|
||||
QString sqlStatement = getLastQuery(query);
|
||||
qDebug() << sqlStatement;
|
||||
if (statement.contains("SELECT"))
|
||||
if (statement.startsWith("SELECT"))
|
||||
query.exec(statement);
|
||||
}
|
||||
else{
|
||||
@ -164,13 +164,12 @@ void DatabaseManager::executeNonPreperedQuery(const QString &statement, QSqlQuer
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
bool DatabaseManager::executeQuery(QSqlQuery &query) const
|
||||
{
|
||||
if (dryMode){
|
||||
QString sqlStatement = getLastQuery(query);
|
||||
qDebug() << sqlStatement;
|
||||
if (sqlStatement.contains("SELECT"))
|
||||
if (sqlStatement.startsWith("SELECT"))
|
||||
query.exec();
|
||||
return true;
|
||||
}
|
||||
@ -278,14 +277,25 @@ void DatabaseManager::log(const QString &msg)
|
||||
query.exec();
|
||||
}
|
||||
|
||||
QString DatabaseManager::getSubjectName(const QString &tokenId)
|
||||
QString DatabaseManager::getSubjectNameByTokenId(const QString &tokenId)
|
||||
{
|
||||
query.prepare("SELECT name FROM colnod_subject WHERE id = (SELECT subject_id FROM colnod_token WHERE id = :tokenId)");
|
||||
query.bindValue(":tokenId", tokenId);
|
||||
executeQuery(query);
|
||||
if (query.next())
|
||||
return query.value(0).toString();
|
||||
qWarning() << "Token:" << tokenId << "is not assigned to any sbject";
|
||||
qWarning() << "Token:" << tokenId << "is not assigned to any subject";
|
||||
return "No Subject";
|
||||
}
|
||||
|
||||
QString DatabaseManager::getSubjectNameById(const QString &id)
|
||||
{
|
||||
query.prepare("SELECT name FROM colnod_subject WHERE id = :id");
|
||||
query.bindValue(":id", id);
|
||||
executeQuery(query);
|
||||
if (query.next())
|
||||
return query.value(0).toString();
|
||||
qWarning() << "Subject:" << id << "doesn't exists";
|
||||
return "No Subject";
|
||||
}
|
||||
|
||||
|
||||
@ -37,7 +37,8 @@ public:
|
||||
void setLastUpdate(const QString& id, quint64 lastUpdate);
|
||||
|
||||
void log(const QString &msg);
|
||||
QString getSubjectName(const QString &tokenId);
|
||||
QString getSubjectNameByTokenId(const QString &tokenId);
|
||||
QString getSubjectNameById(const QString &id);
|
||||
bool checkDeletedToken(const QString &id);
|
||||
|
||||
|
||||
|
||||
@ -17,15 +17,13 @@ void DataManager::fillFullTokensColnod(const QString& response)
|
||||
QJsonArray items = doc.object()["items"].toArray();
|
||||
if (!items.empty())
|
||||
{
|
||||
for (QJsonValueRef item : items)
|
||||
{
|
||||
for (QJsonValueRef item : items){
|
||||
auto token = new Token();
|
||||
token->fromJSON(item.toObject());
|
||||
allTokensFromColnod.insert(token->idToStringWithoutBraces(), token);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
else{
|
||||
qCritical() << "Colnod is Empty";
|
||||
auto token = new Token("empty");
|
||||
allTokensFromColnod.insert(token->idToStringWithoutBraces(), token);
|
||||
@ -87,7 +85,7 @@ void DataManager::fillTokensToChangeDB()
|
||||
{
|
||||
auto token = new Token;
|
||||
token->fromSQLRecord(query);
|
||||
if (token->getDeleted()){ // sort to delete and to update
|
||||
if (token->getDeleted()){ // sort to delete / to update
|
||||
tokensFromDBToDeleteFromColnod.append(token->idToStringWithoutBraces());
|
||||
}
|
||||
else{
|
||||
@ -156,10 +154,14 @@ void DataManager::pushSubjectsToDB()
|
||||
int added = 0;
|
||||
for (const auto& subject : subjectsToUpdateFromColnodToDB)
|
||||
{
|
||||
if (db->saveSubject(subject, "colnod_subject") > 0)
|
||||
if (db->saveSubject(subject, "colnod_subject") > 0){
|
||||
added++;
|
||||
else
|
||||
Logger::logToDb(Logger::makeSubjectMsg( subject->idToStringWithoutBraces(),"added", "DB"));
|
||||
}
|
||||
else{
|
||||
updated++;
|
||||
Logger::logToDb(Logger::makeSubjectMsg( subject->idToStringWithoutBraces(),"updated", "DB"));
|
||||
}
|
||||
db->saveSubjectAttributes(subject, "colnod_subject_attribute");
|
||||
}
|
||||
qInfo() << "DB:" << added << "subjects added";
|
||||
@ -179,10 +181,14 @@ void DataManager::pushTokensToDB()
|
||||
int added = 0;
|
||||
for (const auto& token : tokensToUpdateFromColnodToDB)
|
||||
{
|
||||
if (db->saveToken(token, "colnod_token") > 0)
|
||||
if (db->saveToken(token, "colnod_token") > 0){
|
||||
added++;
|
||||
else
|
||||
Logger::logToDb(Logger::makeTokenMsg(token->idToStringWithoutBraces(), "added", "DB"));
|
||||
}
|
||||
else{
|
||||
updated++;
|
||||
Logger::logToDb(Logger::makeTokenMsg(token->idToStringWithoutBraces(), "updated", "DB"));
|
||||
}
|
||||
}
|
||||
qInfo() << "DB:" << added << " tokens added";
|
||||
qInfo() << "DB:" << updated << " tokens updated";
|
||||
@ -199,6 +205,7 @@ void DataManager::deleteSubjectsFromDB()
|
||||
for (const auto& subjectId : subjectsFromColnodToDeleteFromDB)
|
||||
{
|
||||
db->setDeleted(subjectId, "colnod_subject");
|
||||
Logger::logToDb(Logger::makeSubjectMsg(subjectId, "deleted", "DB"));
|
||||
}
|
||||
qInfo() << "DB:" << subjectsFromColnodToDeleteFromDB.size() << " subject deleted";
|
||||
}
|
||||
@ -216,7 +223,7 @@ void DataManager::setDeletedToTokensFromDB()
|
||||
{
|
||||
if (!db->checkDeletedToken(tokenId)){
|
||||
db->setDeleted(tokenId, "colnod_token");
|
||||
Logger::logToDb(Logger::makeMsg(tokenId, "deleted", "DB"));
|
||||
Logger::logToDb(Logger::makeTokenMsg(tokenId, "deleted", "DB"));
|
||||
}
|
||||
else
|
||||
alreadyDeleted++;
|
||||
|
||||
@ -31,9 +31,15 @@ void Logger::setDBMan(DatabaseManager *dbMan)
|
||||
Logger::dbMan = dbMan;
|
||||
}
|
||||
|
||||
QString Logger::makeMsg(const QString &tokenId, const QString &action, const QString &source)
|
||||
QString Logger::makeTokenMsg(const QString &tokenId, const QString &action, const QString &source)
|
||||
{
|
||||
QString msg = QString("Token: %1 of subject: %2 %3. Source: %4").arg(tokenId,dbMan->getSubjectName(tokenId), action, source);
|
||||
QString msg = QString("Token: %1 of subject: %2 %3. Source: %4").arg(tokenId,dbMan->getSubjectNameByTokenId(tokenId), action, source);
|
||||
return msg;
|
||||
}
|
||||
|
||||
QString Logger::makeSubjectMsg(const QString &subjectId, const QString &action, const QString &source)
|
||||
{
|
||||
QString msg = QString("Subject: %1 %2. Source: %3").arg(dbMan->getSubjectNameById(subjectId), action, source);
|
||||
return msg;
|
||||
}
|
||||
|
||||
|
||||
@ -20,7 +20,8 @@ public:
|
||||
static void log(const QString& msg);
|
||||
static void logToDb(const QString& msg);
|
||||
static void setDBMan(DatabaseManager* dbMan);
|
||||
static QString makeMsg(const QString& tokenId, const QString& action, const QString& source);
|
||||
static QString makeTokenMsg(const QString& tokenId, const QString& action, const QString& source);
|
||||
static QString makeSubjectMsg(const QString& subjectId, const QString& action, const QString& source);
|
||||
|
||||
|
||||
private:
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user