#pragma once #include #include #include #include #include "IAuthDAO.h" namespace uad { class MemoryAuthDAO : public uad::IAuthDAO { std::unordered_map users_uuids_to_auth_tokens_; std::unordered_map auth_tokens_to_users_uuids_; mysqlx::Session& session_; public: explicit MemoryAuthDAO(mysqlx::Session& session); std::string Login( const std::string& registrated_user_uuid, const std::string& auth_token) override; bool HasAuthorized(const std::string& auth_token) override; std::string_view GetUUID(const std::string& auth_token) override; bool Logout(const std::string& auth_token) override; }; }