From cc955434079c2fa97e317176f95ebe140f437376 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=BD=D1=82=D0=BE=D0=BD?= Date: Mon, 1 Sep 2025 12:32:21 +0300 Subject: [PATCH] =?UTF-8?q?DAO=20-=20=D0=9F=D0=BE=D0=BB=D0=BD=D0=BE=D0=B5?= =?UTF-8?q?=20=D0=B7=D0=B0=D0=B2=D0=B5=D1=80=D1=88=D0=B5=D0=BD=D0=B8=D0=B5?= =?UTF-8?q?=20=D0=BA=D0=BB=D0=B0=D1=81=D1=81=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/DAO/IUserDAO.h | 2 +- src/DAO/MySQLUserDAO.cpp | 11 +++++++++-- src/DAO/MySQLUserDAO.h | 2 +- src/endpoints_handlers/AuthRegistrationExecutor.h | 4 ++++ 4 files changed, 15 insertions(+), 4 deletions(-) diff --git a/src/DAO/IUserDAO.h b/src/DAO/IUserDAO.h index fa8d4ab..51b576c 100644 --- a/src/DAO/IUserDAO.h +++ b/src/DAO/IUserDAO.h @@ -20,7 +20,7 @@ public: virtual bool Update(const User& u) = 0; - virtual bool Delete(std::string id) = 0; + virtual bool Delete(std::string uuid) = 0; virtual ~IUserDAO() = default; }; diff --git a/src/DAO/MySQLUserDAO.cpp b/src/DAO/MySQLUserDAO.cpp index d8c9544..e6e84d9 100644 --- a/src/DAO/MySQLUserDAO.cpp +++ b/src/DAO/MySQLUserDAO.cpp @@ -105,9 +105,16 @@ bool MySQLUserDAO::Update(const User& u) 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 MySQLUserDAO::GetSingleUserBySQLResult(mysqlx::SqlResult&& sql_result) diff --git a/src/DAO/MySQLUserDAO.h b/src/DAO/MySQLUserDAO.h index 6cbea20..b397bd1 100644 --- a/src/DAO/MySQLUserDAO.h +++ b/src/DAO/MySQLUserDAO.h @@ -20,7 +20,7 @@ public: bool Update(const User& u) override; - bool Delete(std::string id) override; + bool Delete(std::string uuid) override; private: std::optional GetSingleUserBySQLResult(mysqlx::SqlResult&& sql_result); diff --git a/src/endpoints_handlers/AuthRegistrationExecutor.h b/src/endpoints_handlers/AuthRegistrationExecutor.h index aee194d..5840e8a 100644 --- a/src/endpoints_handlers/AuthRegistrationExecutor.h +++ b/src/endpoints_handlers/AuthRegistrationExecutor.h @@ -97,6 +97,10 @@ public: const auto uuid_stringified = user_dao_->Create(user); + { + user_dao_->Delete("51351bb1-7563-479d-a8e9-201d0ff934c2"); + } + http::response res{ http::status::created, req.version() };