#pragma once #include #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 GetByUUID(const std::string& uuid) override; std::optional GetByLogin(const std::string& login) override; std::pair> 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 GetSingleUserBySQLResult(mysqlx::SqlResult&& sql_result); }; }