#ifndef TICKETS_REPOSITORY_H #define TICKETS_REPOSITORY_H #include "base_sql_table_repository.h" #include "tickets_repository_interface.h" #include class TicketsRepository : public TicketsRepositoryInterface, public BaseSqlTableRepository { public: explicit TicketsRepository(QSqlDatabase &db, QObject *parent); // CRUD operations // clang-format off RepositoryResult createTicket(const CreateTicketRequest &request) override; RepositoryResult getTicketById(qint32 ticketId, TicketDTO &ticket) const override; RepositoryResult getAllTickets(QVector &tickets) const override; RepositoryResult updateTicket(const UpdateTicketRequest &request) override; RepositoryResult deleteTicketById(qint32 ticketId) override; // clang-format on private: TicketDTO mapQueryToDTO(const QSqlQuery &query) const; }; #endif // TICKETS_REPOSITORY_H