From a8630f53b1b391cd2851955aa7585c53a996edd6 Mon Sep 17 00:00:00 2001 From: ouwou <26526779+ouwou@users.noreply.github.com> Date: Thu, 24 Sep 2020 02:43:27 -0400 Subject: put PermissionOverwrite in the store where it belongs --- discord/store.cpp | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'discord/store.cpp') diff --git a/discord/store.cpp b/discord/store.cpp index b9fcbdb..cce9c3e 100644 --- a/discord/store.cpp +++ b/discord/store.cpp @@ -24,6 +24,10 @@ void Store::SetGuildMemberData(Snowflake guild_id, Snowflake user_id, const Guil m_members[guild_id][user_id] = data; } +void Store::SetPermissionOverwrite(Snowflake channel_id, Snowflake id, const PermissionOverwrite &perm) { + m_permissions[channel_id][id] = perm; +} + User *Store::GetUser(Snowflake id) { auto it = m_users.find(id); if (it == m_users.end()) @@ -104,6 +108,16 @@ GuildMember *Store::GetGuildMemberData(Snowflake guild_id, Snowflake user_id) { return &mit->second; } +PermissionOverwrite *Store::GetPermissionOverwrite(Snowflake channel_id, Snowflake id) { + auto cit = m_permissions.find(channel_id); + if (cit == m_permissions.end()) + return nullptr; + auto pit = cit->second.find(id); + if (pit == cit->second.end()) + return nullptr; + return &pit->second; +} + const GuildMember *Store::GetGuildMemberData(Snowflake guild_id, Snowflake user_id) const { auto git = m_members.find(guild_id); if (git == m_members.end()) @@ -114,6 +128,16 @@ const GuildMember *Store::GetGuildMemberData(Snowflake guild_id, Snowflake user_ return &mit->second; } +const PermissionOverwrite *Store::GetPermissionOverwrite(Snowflake channel_id, Snowflake id) const { + auto cit = m_permissions.find(channel_id); + if (cit == m_permissions.end()) + return nullptr; + auto pit = cit->second.find(id); + if (pit == cit->second.end()) + return nullptr; + return &pit->second; +} + void Store::ClearGuild(Snowflake id) { m_guilds.erase(id); } -- cgit v1.2.3