generated from Sithas/conan_template
73 lines
1.5 KiB
C++
73 lines
1.5 KiB
C++
#include "MySQLUserDAO.h"
|
|
|
|
#include <iostream>
|
|
|
|
using namespace std;
|
|
using namespace string_literals;
|
|
|
|
namespace uad
|
|
{
|
|
MySQLUserDAO::MySQLUserDAO(mysqlx::Session& session): session_(session)
|
|
{
|
|
}
|
|
|
|
string MySQLUserDAO::Create(const User& created_user)
|
|
{
|
|
return ""s;
|
|
}
|
|
|
|
optional<User> MySQLUserDAO::GetByGUID(string guid)
|
|
{
|
|
mysqlx::SqlResult sql_result = session_.sql("SELECT * FROM `up_and_down`.`users` WHERE (guid = '" + guid + "') 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();
|
|
|
|
return GetSingleUserBySQLResult(std::move(sql_result));
|
|
}
|
|
|
|
vector<User> MySQLUserDAO::GetAll()
|
|
{
|
|
vector<User> users {};
|
|
|
|
return {};
|
|
}
|
|
|
|
bool MySQLUserDAO::Update(const User& u)
|
|
{
|
|
return false;
|
|
}
|
|
|
|
bool MySQLUserDAO::Delete(string id)
|
|
{
|
|
return false;
|
|
}
|
|
|
|
std::optional<User> MySQLUserDAO::GetSingleUserBySQLResult(mysqlx::SqlResult&& sql_result)
|
|
{
|
|
list<mysqlx::Row> rows = sql_result.fetchAll();
|
|
|
|
if (!rows.size())
|
|
{
|
|
return nullopt;
|
|
}
|
|
|
|
auto row_data = *rows.begin();
|
|
|
|
string user_guid = row_data[0].get<string>();
|
|
string user_login = row_data[1].get<string>();
|
|
string user_hashed_password = row_data[2].get<string>();
|
|
|
|
User user;
|
|
|
|
user.SetGUID(user_guid);
|
|
user.SetLogin(user_login);
|
|
user.SetHashedPassword(user_hashed_password);
|
|
|
|
return optional<User>(std::move(user));
|
|
}
|
|
} // uad
|