From 2759dbacdba9191a783fd091bc007595a0213fe1 Mon Sep 17 00:00:00 2001 From: Mihail Gribkov <61027276+Misha-133@users.noreply.github.com> Date: Wed, 8 Jan 2025 01:02:38 +0300 Subject: [PATCH] whoops (#3047) --- .../Guilds/MemberSearchPropertiesV2.cs | 12 +++++----- .../Entities/Guilds/GuildHelper.cs | 9 ++------ .../Extensions/MemberSearchExtensions.cs | 22 +++++++++++++------ 3 files changed, 23 insertions(+), 20 deletions(-) diff --git a/src/Discord.Net.Core/Entities/Guilds/MemberSearchPropertiesV2.cs b/src/Discord.Net.Core/Entities/Guilds/MemberSearchPropertiesV2.cs index c42578e9f8..b903117c7d 100644 --- a/src/Discord.Net.Core/Entities/Guilds/MemberSearchPropertiesV2.cs +++ b/src/Discord.Net.Core/Entities/Guilds/MemberSearchPropertiesV2.cs @@ -13,12 +13,12 @@ public class MemberSearchPropertiesV2 /// /// Gets or sets the after property for the search. /// - public MemberSearchPaginationFilter After { get; set; } + public MemberSearchPaginationFilter? After { get; set; } /// /// Gets or sets the before property for the search. /// - public MemberSearchPaginationFilter Before { get; set; } + public MemberSearchPaginationFilter? Before { get; set; } /// /// Gets or sets the sort type for the search. @@ -230,10 +230,10 @@ public struct MemberSearchIntQuery : IMemberSearchQuery public IEnumerable OrQuery { get; set; } /// - IEnumerable IMemberSearchQuery.AndQuery => AndQuery.Select(x => (object)x); + IEnumerable IMemberSearchQuery.AndQuery => AndQuery?.Select(x => (object)x); /// - IEnumerable IMemberSearchQuery.OrQuery => OrQuery.Select(x => (object)x); + IEnumerable IMemberSearchQuery.OrQuery => OrQuery?.Select(x => (object)x); } @@ -249,8 +249,8 @@ public struct MemberSearchSnowflakeQuery : IMemberSearchQuery public IEnumerable OrQuery { get; set; } /// - IEnumerable IMemberSearchQuery.AndQuery => AndQuery.Select(x => (object)x); + IEnumerable IMemberSearchQuery.AndQuery => AndQuery?.Select(x => (object)x); /// - IEnumerable IMemberSearchQuery.OrQuery => OrQuery.Select(x => (object)x); + IEnumerable IMemberSearchQuery.OrQuery => OrQuery?.Select(x => (object)x); } diff --git a/src/Discord.Net.Rest/Entities/Guilds/GuildHelper.cs b/src/Discord.Net.Rest/Entities/Guilds/GuildHelper.cs index 23da3e516b..cd760a6f8f 100644 --- a/src/Discord.Net.Rest/Entities/Guilds/GuildHelper.cs +++ b/src/Discord.Net.Rest/Entities/Guilds/GuildHelper.cs @@ -777,13 +777,8 @@ public static async Task SearchUsersAsyncV2(IGuild guild, Ba var apiArgs = new SearchGuildMembersParamsV2 { Limit = limit, - After = args is null - ? null - : new API.Rest.MemberSearchPaginationFilter - { - UserId = args.After.UserId, - GuildJoinedAt = args.After.GuildJoinedAt - }, + After = args?.After?.ToModel() ?? Optional.Unspecified, + Before = args?.Before?.ToModel() ?? Optional.Unspecified, Sort = args?.Sort ?? Optional.Unspecified, OrQuery = args?.OrQuery?.ToModel() ?? Optional.Unspecified, AndQuery = args?.AndQuery?.ToModel() ?? Optional.Unspecified diff --git a/src/Discord.Net.Rest/Extensions/MemberSearchExtensions.cs b/src/Discord.Net.Rest/Extensions/MemberSearchExtensions.cs index e50eee9952..a02cbd1cb9 100644 --- a/src/Discord.Net.Rest/Extensions/MemberSearchExtensions.cs +++ b/src/Discord.Net.Rest/Extensions/MemberSearchExtensions.cs @@ -7,13 +7,7 @@ internal static class MemberSearchExtensions internal static API.Rest.SearchQueryProperties ToModel(this IMemberSearchQuery props) => new () { - Range = props.Range.HasValue - ? new API.Rest.SearchRangeProperties - { - GreaterThanOrEqual = props.Range.Value.GreaterThanOrEqual.HasValue ? props.Range.Value.GreaterThanOrEqual.Value : Optional.Unspecified, - LessThanOrEqual = props.Range.Value.LessThanOrEqual.HasValue ? props.Range.Value.LessThanOrEqual.Value : Optional.Unspecified - } - : Optional.Unspecified, + Range = props.Range?.ToModel() ?? Optional.Unspecified, AndQuery = props.AndQuery is not null ? new Optional>(props.AndQuery) : Optional>.Unspecified, OrQuery = props.OrQuery is not null ? new Optional>(props.OrQuery) : Optional>.Unspecified }; @@ -40,4 +34,18 @@ internal static API.Rest.MemberSearchFilter ToModel(this MemberSearchFilter prop UserId = props.UserId?.ToModel() ?? Optional.Unspecified, Usernames = props.Usernames?.ToModel() ?? Optional.Unspecified }; + + internal static API.Rest.SearchRangeProperties ToModel(this MemberSearchV2Range props) + => new() + { + GreaterThanOrEqual = props.GreaterThanOrEqual ?? Optional.Unspecified, + LessThanOrEqual = props.LessThanOrEqual ?? Optional.Unspecified + }; + + internal static API.Rest.MemberSearchPaginationFilter ToModel(this MemberSearchPaginationFilter props) + => new() + { + UserId = props.UserId, + GuildJoinedAt = props.GuildJoinedAt, + }; }