diff --git a/README.md b/README.md index 2021c15..061cac4 100644 --- a/README.md +++ b/README.md @@ -28,7 +28,7 @@ - Разобрать decltype и auto по статье До 27.01.2026 - ~~Подобрать сервер по параметрам. Использовать linux.~~ DockerHosting.ru -- Перевести string на string_view +- ~~Перевести string на string_view~~ - ~~Попробовать nodiscard к executoru~~ - ~~Добить 2 ручки~~ - Сделать тесты для ручек diff --git a/src/DAO/IAuthDAO.h b/src/DAO/IAuthDAO.h index 449a4c0..5177042 100644 --- a/src/DAO/IAuthDAO.h +++ b/src/DAO/IAuthDAO.h @@ -11,14 +11,14 @@ class IAuthDAO { public: virtual std::string Login( - const std::string& registrated_user_uuid, - const std::string& auth_token) = 0; + std::string_view registrated_user_uuid, + std::string_view auth_token) = 0; - virtual bool HasAuthorized(const std::string& auth_token) = 0; + virtual bool HasAuthorized(std::string_view auth_token) = 0; - virtual std::string_view GetUUID(const std::string& auth_token) = 0; + virtual std::string_view GetUUID(std::string_view auth_token) = 0; - virtual bool Logout(const std::string& user_token) = 0; + virtual bool Logout(std::string_view user_token) = 0; virtual ~IAuthDAO() = default; }; diff --git a/src/DAO/MemoryAuthDAO.cpp b/src/DAO/MemoryAuthDAO.cpp index 96a8cd2..c940610 100644 --- a/src/DAO/MemoryAuthDAO.cpp +++ b/src/DAO/MemoryAuthDAO.cpp @@ -11,33 +11,33 @@ MemoryAuthDAO::MemoryAuthDAO(mysqlx::Session& session): session_(session) } std::string MemoryAuthDAO::Login( - const std::string& registrated_user_uuid, - const std::string& auth_token) + std::string_view registrated_user_uuid, + std::string_view auth_token) { - users_uuids_to_auth_tokens_[registrated_user_uuid] = auth_token; - auth_tokens_to_users_uuids_[auth_token] = registrated_user_uuid; + users_uuids_to_auth_tokens_[registrated_user_uuid.data()] = auth_token; + auth_tokens_to_users_uuids_[auth_token.data()] = registrated_user_uuid; - return auth_token; + return auth_token.data(); } -bool MemoryAuthDAO::HasAuthorized(const std::string& auth_token) +bool MemoryAuthDAO::HasAuthorized(std::string_view auth_token) { - return auth_tokens_to_users_uuids_.count(auth_token) > 0; + return auth_tokens_to_users_uuids_.count(auth_token.data()) > 0; } -std::string_view MemoryAuthDAO::GetUUID(const std::string& auth_token) +std::string_view MemoryAuthDAO::GetUUID(std::string_view auth_token) { - return auth_tokens_to_users_uuids_.at(auth_token); + return auth_tokens_to_users_uuids_.at(auth_token.data()); } -bool MemoryAuthDAO::Logout(const std::string& auth_token) +bool MemoryAuthDAO::Logout(std::string_view auth_token) { if (!HasAuthorized(auth_token)) return false; - string user_uuid = auth_tokens_to_users_uuids_[auth_token]; + string user_uuid = auth_tokens_to_users_uuids_[auth_token.data()]; users_uuids_to_auth_tokens_.erase(user_uuid); - auth_tokens_to_users_uuids_.erase(auth_token); + auth_tokens_to_users_uuids_.erase(auth_token.data()); return true; } diff --git a/src/DAO/MemoryAuthDAO.h b/src/DAO/MemoryAuthDAO.h index ac6b442..6adef22 100644 --- a/src/DAO/MemoryAuthDAO.h +++ b/src/DAO/MemoryAuthDAO.h @@ -20,13 +20,13 @@ public: explicit MemoryAuthDAO(mysqlx::Session& session); std::string Login( - const std::string& registrated_user_uuid, - const std::string& auth_token) override; + std::string_view registrated_user_uuid, + std::string_view auth_token) override; - bool HasAuthorized(const std::string& auth_token) override; + bool HasAuthorized(std::string_view auth_token) override; - std::string_view GetUUID(const std::string& auth_token) override; + std::string_view GetUUID(std::string_view auth_token) override; - bool Logout(const std::string& auth_token) override; + bool Logout(std::string_view auth_token) override; }; }