generated from Sithas/conan_template
Завершенная регистрация
This commit is contained in:
@@ -1,3 +1,5 @@
|
||||
#include <boost/uuid.hpp>
|
||||
|
||||
#include "MySQLUserDAO.h"
|
||||
|
||||
#include <iostream>
|
||||
@@ -7,32 +9,47 @@ using namespace string_literals;
|
||||
|
||||
namespace uad
|
||||
{
|
||||
MySQLUserDAO::MySQLUserDAO(mysqlx::Session& session): session_(session)
|
||||
MySQLUserDAO::MySQLUserDAO(mysqlx::Session& session) : session_(session)
|
||||
{
|
||||
}
|
||||
|
||||
string MySQLUserDAO::Create(const User& created_user)
|
||||
{
|
||||
return ""s;
|
||||
boost::uuids::random_generator generator;
|
||||
boost::uuids::uuid uuid = generator();
|
||||
std::string uuid_str = boost::uuids::to_string(uuid);
|
||||
|
||||
string sql_script =
|
||||
"INSERT INTO `up_and_down`.`users` (`uuid`, `login`, `hashed_password`) VALUES (?, ?, ?);"s;
|
||||
|
||||
session_.sql(sql_script)
|
||||
.bind(uuid_str, created_user.GetLogin(), created_user.GetHashedPassword())
|
||||
.execute();
|
||||
|
||||
return uuid_str;
|
||||
}
|
||||
|
||||
optional<User> MySQLUserDAO::GetByUUID(string uuid)
|
||||
{
|
||||
mysqlx::SqlResult sql_result = session_.sql("SELECT * FROM `up_and_down`.`users` WHERE (uuid = '" + uuid + "') LIMIT 1;"s).execute();
|
||||
mysqlx::SqlResult sql_result = session_.
|
||||
sql("SELECT * FROM `up_and_down`.`users` WHERE (uuid = '" + uuid +
|
||||
"') LIMIT 1;"s).execute();
|
||||
|
||||
return GetSingleUserBySQLResult(std::move(sql_result));
|
||||
}
|
||||
|
||||
optional<User> MySQLUserDAO::GetByLogin(string login)
|
||||
{
|
||||
mysqlx::SqlResult sql_result = session_.sql("SELECT * FROM `up_and_down`.`users` WHERE (login = '" + login + "') LIMIT 1;"s).execute();
|
||||
mysqlx::SqlResult sql_result = session_.
|
||||
sql("SELECT * FROM `up_and_down`.`users` WHERE (login = '" + login
|
||||
+ "') LIMIT 1;"s).execute();
|
||||
|
||||
return GetSingleUserBySQLResult(std::move(sql_result));
|
||||
}
|
||||
|
||||
vector<User> MySQLUserDAO::GetAll()
|
||||
{
|
||||
vector<User> users {};
|
||||
vector<User> users{};
|
||||
|
||||
return {};
|
||||
}
|
||||
@@ -70,4 +87,4 @@ std::optional<User> MySQLUserDAO::GetSingleUserBySQLResult(mysqlx::SqlResult&& s
|
||||
|
||||
return optional<User>(std::move(user));
|
||||
}
|
||||
} // uad
|
||||
} // uad
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
#include <boost/json.hpp>
|
||||
#include <mysqlx/xdevapi.h>
|
||||
#include <mysqlx/common/api.h>
|
||||
#include <boost/uuid.hpp>
|
||||
|
||||
#include "IExecutor.h"
|
||||
#include "../DAO/IUserDAO.h"
|
||||
@@ -94,13 +95,19 @@ public:
|
||||
user.SetLogin(login);
|
||||
user.SetPassword(password);
|
||||
|
||||
const auto uuid_stringified = user_dao_->Create(user);
|
||||
|
||||
http::response<ResponseType> res{
|
||||
http::status::created, req.version()
|
||||
};
|
||||
|
||||
response_body.as_object().emplace(
|
||||
"Result",
|
||||
"OK.Created."
|
||||
"uuid",
|
||||
uuid_stringified
|
||||
);
|
||||
response_body.as_object().emplace(
|
||||
"login",
|
||||
user.GetLogin()
|
||||
);
|
||||
|
||||
res.body() = serialize(response_body);
|
||||
|
||||
Reference in New Issue
Block a user