#ifndef SESSIONS_REPOSITORY_H #define SESSIONS_REPOSITORY_H #include "base_sql_table_repository.h" #include "sessions_repository_interface.h" #include class SessionsRepository : public SessionsRepositoryInterface, public BaseSqlTableRepository { public: explicit SessionsRepository(QSqlDatabase &database, QObject *parent); // CRUD operations // clang-format off RepositoryResult createSession(const CreateSessionRequest &request) override; RepositoryResult getSessionById(qint32 sessionId, SessionDTO &session) const override; RepositoryResult getAllSessions(QVector &sessions) const override; RepositoryResult updateSession(const UpdateSessionRequest &request) override; RepositoryResult deleteSessionById(qint32 sessionId) override; // clang-format on private: SessionDTO mapQueryToDTO(const QSqlQuery &query) const; }; #endif // SESSIONS_REPOSITORY_H