generated from Sithas/conan_template
29 lines
696 B
C++
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);
|
|
};
|
|
} |