#ifndef GENRES_REPOSITORY_H #define GENRES_REPOSITORY_H #include "base_sql_table_repository.h" #include "genres_repository_interface.h" #include class GenresRepository : public GenresRepositoryInterface, public BaseSqlTableRepository { public: explicit GenresRepository(QSqlDatabase &database, QObject *parent); // CRUD operations // clang-format off RepositoryResult createGenre(const CreateGenreRequest &request) override; RepositoryResult getGenreById(qint32 genreId, GenreDTO &genre) const override; RepositoryResult getAllGenres(QVector &genres) const override; RepositoryResult updateGenre(const UpdateGenreRequest &request) override; RepositoryResult deleteGenreById(qint32 genreId) override; // clang-format on private: GenreDTO mapQueryToDTO(const QSqlQuery &query) const; }; #endif // GENRES_REPOSITORY_H