예제 #1
0
 public AuditOverwriteInfo(ulong channelId, Overwrite overwrite)
 {
     ChannelId        = channelId;
     TargetId         = overwrite.TargetId;
     PermissionTarget = overwrite.TargetType;
     Permissions      = new OverwritePermissionsValue(overwrite.Permissions);
 }
예제 #2
0
        public static IAuditLogData Create(IAuditLogData entryData)
        {
            if (entryData is not OverwriteUpdateAuditLogData data)
            {
                return(null);
            }

            var item = new AuditOverwriteUpdated()
            {
                ChannelId  = data.ChannelId,
                TargetId   = data.OverwriteTargetId,
                TargetType = data.OverwriteType
            };

            if (data.OldPermissions.AllowValue != data.NewPermissions.AllowValue || data.OldPermissions.DenyValue != data.NewPermissions.DenyValue)
            {
                var oldPerms = new OverwritePermissionsValue(data.OldPermissions);
                var newPerms = new OverwritePermissionsValue(data.NewPermissions);

                item.Permissions = new DiffData <OverwritePermissionsValue>(oldPerms, newPerms);
            }

            return(item);
        }