#pragma once #include #include #include "reply_message.h" namespace LtsWebSocket { template class DataManagerBaseDl { protected: explicit DataManagerBaseDl(const std::shared_ptr &dbInterface, NGL::INGLLogger &logger) : m_logger(logger) , m_dbInterface(dbInterface) {} template ReplyMessage *toBaseDataMessageFromDb(const QString &uuid) const { QVector dataVec; if (!m_dbInterface->select(dataVec)) { const QString errorMessage = QStringLiteral("Error reading data from database!"); ERROR_LOG(m_logger) << errorMessage; ErrorMessage::ErrorData errData; errData.errorMessage = errorMessage; errData.uuid = uuid; return new ErrorMessage(errData); } return new MessageType (m_dbInterface->template toJson(dataVec), uuid); } protected: NGL::INGLLogger &m_logger; std::shared_ptr m_dbInterface; }; }