Files
UpAndDown/src/DAO/MySQLUserDAO.h
T

28 lines
659 B
C++

#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& created_user) override;
std::optional<user> GetByUUID(const std::string& uuid) override;
std::optional<user> GetByLogin(const std::string& login) override;
std::pair<bool, std::vector<user>> GetAll(size_t limit, size_t offset) override;
bool Update(const user& u) override;
bool Delete(const std::string& uuid) override;
private:
std::optional<user> GetSingleUserBySQLResult(mysqlx::SqlResult&& sql_result);
};
}