basic permission handling + use for edit/delete

This commit is contained in:
ouwou
2020-09-24 02:15:25 -04:00
parent dbe9dc3c64
commit 8341781918
14 changed files with 251 additions and 26 deletions

View File

@@ -5,7 +5,7 @@ void from_json(const nlohmann::json &j, Channel &m) {
JS_D("type", m.Type);
JS_O("guild_id", m.GuildID);
JS_O("position", m.Position);
// JS_O("permission_overwrites", m.PermissionOverwrites);
JS_O("permission_overwrites", m.PermissionOverwrites);
JS_ON("name", m.Name);
JS_ON("topic", m.Topic);
JS_O("nsfw", m.IsNSFW);
@@ -20,3 +20,10 @@ void from_json(const nlohmann::json &j, Channel &m) {
JS_ON("parent_id", m.ParentID);
JS_ON("last_pin_timestamp", m.LastPinTimestamp);
}
std::optional<PermissionOverwrite> Channel::GetOverwrite(Snowflake id) const {
auto ret = std::find_if(PermissionOverwrites.begin(), PermissionOverwrites.end(), [id](const auto x) { return x.ID == id; });
if (ret != PermissionOverwrites.end())
return *ret;
return std::nullopt;
}