39 lines
931 B
C++
39 lines
931 B
C++
|
|
#ifndef TICKETS_REPOSITORY_H
|
||
|
|
#define TICKETS_REPOSITORY_H
|
||
|
|
|
||
|
|
#include "base_sql_table_repository.h"
|
||
|
|
#include "tickets_repository_interface.h"
|
||
|
|
|
||
|
|
#include <QSqlDatabase>
|
||
|
|
|
||
|
|
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<TicketDTO> &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
|