39 lines
917 B
C++
39 lines
917 B
C++
|
|
#ifndef MOVIES_REPOSITORY_H
|
||
|
|
#define MOVIES_REPOSITORY_H
|
||
|
|
|
||
|
|
#include "base_sql_table_repository.h"
|
||
|
|
#include "movies_repository_interface.h"
|
||
|
|
|
||
|
|
#include <QSqlDatabase>
|
||
|
|
|
||
|
|
class MoviesRepository : public MoviesRepositoryInterface,
|
||
|
|
public BaseSqlTableRepository {
|
||
|
|
public:
|
||
|
|
explicit MoviesRepository(QSqlDatabase &database, QObject *parent);
|
||
|
|
|
||
|
|
// CRUD operations
|
||
|
|
// clang-format off
|
||
|
|
|
||
|
|
RepositoryResult
|
||
|
|
createMovie(const CreateMovieRequest &request) override;
|
||
|
|
|
||
|
|
RepositoryResult
|
||
|
|
getMovieById(qint32 movieId, MovieDTO &movie) const override;
|
||
|
|
|
||
|
|
RepositoryResult
|
||
|
|
getAllMovies(QVector<MovieDTO> &movies) const override;
|
||
|
|
|
||
|
|
RepositoryResult
|
||
|
|
updateMovie(const UpdateMovieRequest &request) override;
|
||
|
|
|
||
|
|
RepositoryResult
|
||
|
|
deleteMovieById(qint32 movieId) override;
|
||
|
|
|
||
|
|
// clang-format on
|
||
|
|
|
||
|
|
private:
|
||
|
|
MovieDTO mapQueryToDTO(const QSqlQuery &query) const;
|
||
|
|
};
|
||
|
|
|
||
|
|
#endif // MOVIES_REPOSITORY_H
|