39 lines
917 B
C++
39 lines
917 B
C++
|
|
#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
|