Files

39 lines
917 B
C++
Raw Permalink Normal View History

2026-07-12 14:34:52 +04:00
#ifndef GENRES_REPOSITORY_H
#define GENRES_REPOSITORY_H
#include "base_sql_table_repository.h"
#include "genres_repository_interface.h"
#include <QSqlDatabase>
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<GenreDTO> &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