Files
cinema-ticket-management-sy…/data/sql/users_repository.h
T

42 lines
985 B
C++
Raw Normal View History

2026-07-12 14:34:52 +04:00
#ifndef USERS_REPOSITORY_H
#define USERS_REPOSITORY_H
#include "base_sql_table_repository.h"
#include "users_repository_interface.h"
#include <QSqlDatabase>
class UsersRepository : public UsersRepositoryInterface,
public BaseSqlTableRepository {
public:
explicit UsersRepository(QSqlDatabase &db, QObject *parent);
// CRUD operations
// clang-format off
RepositoryResult
createUser(const CreateUserRequest &request) override;
RepositoryResult
getUserById(qint32 userId, UserDTO &user) const override;
RepositoryResult
getUserByUsername(const QString &username, UserDTO &user) const override;
RepositoryResult
getAllUsers(QVector<UserDTO> &users) const override;
RepositoryResult
updateUser(const UpdateUserRequest &request) override;
RepositoryResult
deleteUserById(qint32 userId) override;
// clang-format on
private:
UserDTO mapQueryToDTO(const QSqlQuery &query) const;
};
#endif // USERS_REPOSITORY_H