[Feature] Add missing remove property to MemberRoleAudit (#2675)

* Adding the missing remove property to MemberRoleAudit

* fix

* Update src/Discord.Net.WebSocket/Entities/AuditLogs/DataTypes/SocketMemberRoleEditInfo.cs

Co-authored-by: Quin Lynch <49576606+quinchs@users.noreply.github.com>

* Update src/Discord.Net.Rest/Entities/AuditLogs/DataTypes/MemberRoleEditInfo.cs

Co-authored-by: Quin Lynch <49576606+quinchs@users.noreply.github.com>

---------

Co-authored-by: Quin Lynch <49576606+quinchs@users.noreply.github.com>
This commit is contained in:
BokuNoPasya
2023-08-10 18:34:40 +05:00
committed by GitHub
parent c92249702b
commit 5fb9152db3
4 changed files with 20 additions and 4 deletions

View File

@@ -22,7 +22,7 @@ public class MemberRoleAuditLogData : IAuditLogData
var roleInfos = changes.SelectMany(x => x.NewValue.ToObject<API.Role[]>(discord.ApiClient.Serializer), var roleInfos = changes.SelectMany(x => x.NewValue.ToObject<API.Role[]>(discord.ApiClient.Serializer),
(model, role) => new { model.ChangedProperty, Role = role }) (model, role) => new { model.ChangedProperty, Role = role })
.Select(x => new MemberRoleEditInfo(x.Role.Name, x.Role.Id, x.ChangedProperty == "$add")) .Select(x => new MemberRoleEditInfo(x.Role.Name, x.Role.Id, x.ChangedProperty == "$add", x.ChangedProperty == "$remove"))
.ToList(); .ToList();
var userInfo = log.Users.FirstOrDefault(x => x.Id == entry.TargetId); var userInfo = log.Users.FirstOrDefault(x => x.Id == entry.TargetId);

View File

@@ -5,11 +5,12 @@ namespace Discord.Rest;
/// </summary> /// </summary>
public struct MemberRoleEditInfo public struct MemberRoleEditInfo
{ {
internal MemberRoleEditInfo(string name, ulong roleId, bool added) internal MemberRoleEditInfo(string name, ulong roleId, bool added, bool removed)
{ {
Name = name; Name = name;
RoleId = roleId; RoleId = roleId;
Added = added; Added = added;
Removed = removed;
} }
/// <summary> /// <summary>
@@ -35,4 +36,11 @@ public struct MemberRoleEditInfo
/// <see langword="true" /> if the role was added to the user; otherwise <see langword="false" />. /// <see langword="true" /> if the role was added to the user; otherwise <see langword="false" />.
/// </returns> /// </returns>
public bool Added { get; } public bool Added { get; }
/// <summary>
/// Gets a value indicating that the user role has been removed.
/// </summary>
/// <returns>
/// <c>true</c> if the role has been removed from the user; otherwise <c>false</c>.
/// </returns>
public bool Removed { get; }
} }

View File

@@ -22,7 +22,7 @@ public class SocketMemberRoleAuditLogData : ISocketAuditLogData
var roleInfos = changes.SelectMany(x => x.NewValue.ToObject<API.Role[]>(discord.ApiClient.Serializer), var roleInfos = changes.SelectMany(x => x.NewValue.ToObject<API.Role[]>(discord.ApiClient.Serializer),
(model, role) => new { model.ChangedProperty, Role = role }) (model, role) => new { model.ChangedProperty, Role = role })
.Select(x => new SocketMemberRoleEditInfo(x.Role.Name, x.Role.Id, x.ChangedProperty == "$add")) .Select(x => new SocketMemberRoleEditInfo(x.Role.Name, x.Role.Id, x.ChangedProperty == "$add", x.ChangedProperty == "$remove"))
.ToList(); .ToList();
var cachedUser = discord.GetUser(entry.TargetId!.Value); var cachedUser = discord.GetUser(entry.TargetId!.Value);

View File

@@ -5,11 +5,12 @@ namespace Discord.WebSocket;
/// </summary> /// </summary>
public struct SocketMemberRoleEditInfo public struct SocketMemberRoleEditInfo
{ {
internal SocketMemberRoleEditInfo(string name, ulong roleId, bool added) internal SocketMemberRoleEditInfo(string name, ulong roleId, bool added, bool removed)
{ {
Name = name; Name = name;
RoleId = roleId; RoleId = roleId;
Added = added; Added = added;
Removed = removed;
} }
/// <summary> /// <summary>
@@ -33,4 +34,11 @@ public struct SocketMemberRoleEditInfo
/// <see langword="true" /> if the role was added to the user; otherwise <see langword="false" />. /// <see langword="true" /> if the role was added to the user; otherwise <see langword="false" />.
/// </returns> /// </returns>
public bool Added { get; } public bool Added { get; }
/// <summary>
/// Gets a value indicating that the user role has been removed.
/// </summary>
/// <returns>
/// <c>true</c> if the role has been removed from the user; otherwise <c>false</c>.
/// </returns>
public bool Removed { get; }
} }