DAO - Полное завершение класса

This commit is contained in:
Антон
2025-09-01 12:32:21 +03:00
parent e9417d9a29
commit 5468bff1da
4 changed files with 15 additions and 4 deletions
+1 -1
View File
@@ -20,7 +20,7 @@ public:
virtual bool Update(const User& u) = 0; virtual bool Update(const User& u) = 0;
virtual bool Delete(std::string id) = 0; virtual bool Delete(std::string uuid) = 0;
virtual ~IUserDAO() = default; virtual ~IUserDAO() = default;
}; };
+9 -2
View File
@@ -105,9 +105,16 @@ bool MySQLUserDAO::Update(const User& u)
return !!res.getAffectedItemsCount(); return !!res.getAffectedItemsCount();
} }
bool MySQLUserDAO::Delete(string id) bool MySQLUserDAO::Delete(string uuid)
{ {
return false; auto schema = session_.getSchema("up_and_down");
auto table = schema.getTable("users");
mysqlx::Result res = table.remove()
.where("uuid = :uuid")
.bind("uuid", uuid)
.execute();
return !!res.getAffectedItemsCount();
} }
std::optional<User> MySQLUserDAO::GetSingleUserBySQLResult(mysqlx::SqlResult&& sql_result) std::optional<User> MySQLUserDAO::GetSingleUserBySQLResult(mysqlx::SqlResult&& sql_result)
+1 -1
View File
@@ -20,7 +20,7 @@ public:
bool Update(const User& u) override; bool Update(const User& u) override;
bool Delete(std::string id) override; bool Delete(std::string uuid) override;
private: private:
std::optional<User> GetSingleUserBySQLResult(mysqlx::SqlResult&& sql_result); std::optional<User> GetSingleUserBySQLResult(mysqlx::SqlResult&& sql_result);
@@ -97,6 +97,10 @@ public:
const auto uuid_stringified = user_dao_->Create(user); const auto uuid_stringified = user_dao_->Create(user);
{
user_dao_->Delete("51351bb1-7563-479d-a8e9-201d0ff934c2");
}
http::response<ResponseType> res{ http::response<ResponseType> res{
http::status::created, req.version() http::status::created, req.version()
}; };