This commit is contained in:
Mihail Gribkov
2025-01-08 01:02:38 +03:00
committed by GitHub
parent 36439b6325
commit 2759dbacdb
3 changed files with 23 additions and 20 deletions

View File

@@ -13,12 +13,12 @@ public class MemberSearchPropertiesV2
/// <summary>
/// Gets or sets the after property for the search.
/// </summary>
public MemberSearchPaginationFilter After { get; set; }
public MemberSearchPaginationFilter? After { get; set; }
/// <summary>
/// Gets or sets the before property for the search.
/// </summary>
public MemberSearchPaginationFilter Before { get; set; }
public MemberSearchPaginationFilter? Before { get; set; }
/// <summary>
/// Gets or sets the sort type for the search.
@@ -230,10 +230,10 @@ public struct MemberSearchIntQuery : IMemberSearchQuery
public IEnumerable<int> OrQuery { get; set; }
/// <inheritdoc />
IEnumerable<object> IMemberSearchQuery.AndQuery => AndQuery.Select(x => (object)x);
IEnumerable<object> IMemberSearchQuery.AndQuery => AndQuery?.Select(x => (object)x);
/// <inheritdoc />
IEnumerable<object> IMemberSearchQuery.OrQuery => OrQuery.Select(x => (object)x);
IEnumerable<object> IMemberSearchQuery.OrQuery => OrQuery?.Select(x => (object)x);
}
@@ -249,8 +249,8 @@ public struct MemberSearchSnowflakeQuery : IMemberSearchQuery
public IEnumerable<ulong> OrQuery { get; set; }
/// <inheritdoc />
IEnumerable<object> IMemberSearchQuery.AndQuery => AndQuery.Select(x => (object)x);
IEnumerable<object> IMemberSearchQuery.AndQuery => AndQuery?.Select(x => (object)x);
/// <inheritdoc />
IEnumerable<object> IMemberSearchQuery.OrQuery => OrQuery.Select(x => (object)x);
IEnumerable<object> IMemberSearchQuery.OrQuery => OrQuery?.Select(x => (object)x);
}

View File

@@ -777,13 +777,8 @@ namespace Discord.Rest
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<API.Rest.MemberSearchPaginationFilter>.Unspecified,
Before = args?.Before?.ToModel() ?? Optional<API.Rest.MemberSearchPaginationFilter>.Unspecified,
Sort = args?.Sort ?? Optional<MemberSearchV2SortType>.Unspecified,
OrQuery = args?.OrQuery?.ToModel() ?? Optional<API.Rest.MemberSearchFilter>.Unspecified,
AndQuery = args?.AndQuery?.ToModel() ?? Optional<API.Rest.MemberSearchFilter>.Unspecified

View File

@@ -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<long>.Unspecified,
LessThanOrEqual = props.Range.Value.LessThanOrEqual.HasValue ? props.Range.Value.LessThanOrEqual.Value : Optional<long>.Unspecified
}
: Optional<API.Rest.SearchRangeProperties>.Unspecified,
Range = props.Range?.ToModel() ?? Optional<API.Rest.SearchRangeProperties>.Unspecified,
AndQuery = props.AndQuery is not null ? new Optional<IEnumerable<object>>(props.AndQuery) : Optional<IEnumerable<object>>.Unspecified,
OrQuery = props.OrQuery is not null ? new Optional<IEnumerable<object>>(props.OrQuery) : Optional<IEnumerable<object>>.Unspecified
};
@@ -40,4 +34,18 @@ internal static class MemberSearchExtensions
UserId = props.UserId?.ToModel() ?? Optional<API.Rest.SearchQueryProperties>.Unspecified,
Usernames = props.Usernames?.ToModel() ?? Optional<API.Rest.SearchQueryProperties>.Unspecified
};
internal static API.Rest.SearchRangeProperties ToModel(this MemberSearchV2Range props)
=> new()
{
GreaterThanOrEqual = props.GreaterThanOrEqual ?? Optional<long>.Unspecified,
LessThanOrEqual = props.LessThanOrEqual ?? Optional<long>.Unspecified
};
internal static API.Rest.MemberSearchPaginationFilter ToModel(this MemberSearchPaginationFilter props)
=> new()
{
UserId = props.UserId,
GuildJoinedAt = props.GuildJoinedAt,
};
}