put PermissionOverwrite in the store where it belongs

This commit is contained in:
ouwou
2020-09-24 02:43:27 -04:00
parent 8341781918
commit a8630f53b1
7 changed files with 58 additions and 18 deletions

View File

@@ -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);
}