| @@ -25,7 +25,6 @@ namespace Discord.Rest | |||||
| internal static ChannelCreateAuditLogData Create(BaseDiscordClient discord, Model log, EntryModel entry) | internal static ChannelCreateAuditLogData Create(BaseDiscordClient discord, Model log, EntryModel entry) | ||||
| { | { | ||||
| var changes = entry.Changes; | var changes = entry.Changes; | ||||
| var overwrites = new List<Overwrite>(); | |||||
| var overwritesModel = changes.FirstOrDefault(x => x.ChangedProperty == "permission_overwrites"); | var overwritesModel = changes.FirstOrDefault(x => x.ChangedProperty == "permission_overwrites"); | ||||
| var typeModel = changes.FirstOrDefault(x => x.ChangedProperty == "type"); | var typeModel = changes.FirstOrDefault(x => x.ChangedProperty == "type"); | ||||
| @@ -34,23 +33,17 @@ namespace Discord.Rest | |||||
| var nsfwModel = changes.FirstOrDefault(x => x.ChangedProperty == "nsfw"); | var nsfwModel = changes.FirstOrDefault(x => x.ChangedProperty == "nsfw"); | ||||
| var bitrateModel = changes.FirstOrDefault(x => x.ChangedProperty == "bitrate"); | var bitrateModel = changes.FirstOrDefault(x => x.ChangedProperty == "bitrate"); | ||||
| var overwrites = overwritesModel.NewValue.ToObject<API.Overwrite[]>(discord.ApiClient.Serializer) | |||||
| .Select(x => new Overwrite(x.TargetId, x.TargetType, new OverwritePermissions(x.Allow, x.Deny))) | |||||
| .ToList(); | |||||
| var type = typeModel.NewValue.ToObject<ChannelType>(discord.ApiClient.Serializer); | var type = typeModel.NewValue.ToObject<ChannelType>(discord.ApiClient.Serializer); | ||||
| var name = nameModel.NewValue.ToObject<string>(discord.ApiClient.Serializer); | var name = nameModel.NewValue.ToObject<string>(discord.ApiClient.Serializer); | ||||
| int? rateLimitPerUser = rateLimitPerUserModel?.NewValue?.ToObject<int>(discord.ApiClient.Serializer); | int? rateLimitPerUser = rateLimitPerUserModel?.NewValue?.ToObject<int>(discord.ApiClient.Serializer); | ||||
| bool? nsfw = nsfwModel?.NewValue?.ToObject<bool>(discord.ApiClient.Serializer); | bool? nsfw = nsfwModel?.NewValue?.ToObject<bool>(discord.ApiClient.Serializer); | ||||
| int? bitrate = bitrateModel?.NewValue?.ToObject<int>(discord.ApiClient.Serializer); | int? bitrate = bitrateModel?.NewValue?.ToObject<int>(discord.ApiClient.Serializer); | ||||
| var id = entry.TargetId.Value; | |||||
| foreach (var overwrite in overwritesModel.NewValue) | |||||
| { | |||||
| var deny = overwrite["deny"].ToObject<ulong>(discord.ApiClient.Serializer); | |||||
| var permType = overwrite["type"].ToObject<PermissionTarget>(discord.ApiClient.Serializer); | |||||
| var id = overwrite["id"].ToObject<ulong>(discord.ApiClient.Serializer); | |||||
| var allow = overwrite["allow"].ToObject<ulong>(discord.ApiClient.Serializer); | |||||
| overwrites.Add(new Overwrite(id, permType, new OverwritePermissions(allow, deny))); | |||||
| } | |||||
| return new ChannelCreateAuditLogData(entry.TargetId.Value, name, type, rateLimitPerUser, nsfw, bitrate, overwrites.ToReadOnlyCollection()); | |||||
| return new ChannelCreateAuditLogData(id, name, type, rateLimitPerUser, nsfw, bitrate, overwrites.ToReadOnlyCollection()); | |||||
| } | } | ||||
| /// <summary> | /// <summary> | ||||