Files
cinema-ticket-management-sy…/data/sql/movies_repository.h
T
2026-07-12 14:34:52 +04:00

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