Files
UpAndDown/src/DAO/MySQLUserDAO.h
T

29 lines
696 B
C++

#pragma once
#include <mysqlx/xdevapi.h>
#include "IUserDAO.h"
namespace uad
{
class MySQLUserDAO : public IUserDAO
{
mysqlx::Session& session_;
public:
explicit MySQLUserDAO(mysqlx::Session& session);
std::string Create(const user_dto& created_user) override;
std::optional<user_dto> GetByUUID(const std::string& uuid) override;
std::optional<user_dto> GetByLogin(const std::string& login) override;
std::pair<bool, std::vector<user_dto>> GetAll(size_t limit, size_t offset) override;
bool Update(const user_dto& u) override;
bool Delete(const std::string& uuid) override;
private:
std::optional<user_dto> GetSingleUserBySQLResult(mysqlx::SqlResult&& sql_result);
};
}