diff --git a/.gitignore b/.gitignore
index 4959ae7..34f9a83 100644
--- a/.gitignore
+++ b/.gitignore
@@ -12,3 +12,4 @@ CoverageReports/
*.iml
target/
.idea/
+/net/src/Sdl.Tridion.Api.Client/Sdl.Tridion.Api.Client.sln
diff --git a/net/src/Sdl.Tridion.Api.Client/ApiClient.cs b/net/src/Sdl.Tridion.Api.Client/ApiClient.cs
index 3040b44..182276b 100644
--- a/net/src/Sdl.Tridion.Api.Client/ApiClient.cs
+++ b/net/src/Sdl.Tridion.Api.Client/ApiClient.cs
@@ -357,12 +357,12 @@ public FacetedSearchResults SearchByRawCriteria(string rawCriteria, InputResultF
///
///
///
- public FacetedSearchResults SearchByCriteria(InputCriteria inputCriteria, InputResultFilter resultFilter, IPagination pagination)
+ public FacetedSearchResults SearchByCriteria(InputCriteria inputCriteria, InputResultFilter resultFilter, IPagination pagination, InputSortBy sort)
{
try
{
var response =
- _client.Execute(GraphQLRequests.SearchByCriteria(inputCriteria, resultFilter, pagination));
+ _client.Execute(GraphQLRequests.SearchByCriteria(inputCriteria, resultFilter, pagination, sort));
return response.TypedResponseData.Search;
}
catch (RuntimeBinderException e)
diff --git a/net/src/Sdl.Tridion.Api.Client/ContentModel/ContentModel.cs b/net/src/Sdl.Tridion.Api.Client/ContentModel/ContentModel.cs
index ee97839..1872513 100644
--- a/net/src/Sdl.Tridion.Api.Client/ContentModel/ContentModel.cs
+++ b/net/src/Sdl.Tridion.Api.Client/ContentModel/ContentModel.cs
@@ -3111,7 +3111,7 @@ public class Search
///
/// Matching score of the result.
///
- public float Score { get; set; }
+ public float? Score { get; set; }
///
/// The url of the search result.
diff --git a/net/src/Sdl.Tridion.Api.Client/GraphQLRequests.cs b/net/src/Sdl.Tridion.Api.Client/GraphQLRequests.cs
index 9c0f8e6..8432a29 100644
--- a/net/src/Sdl.Tridion.Api.Client/GraphQLRequests.cs
+++ b/net/src/Sdl.Tridion.Api.Client/GraphQLRequests.cs
@@ -317,7 +317,7 @@ public static IGraphQLRequest SearchByRawCriteria(string rawCritera, InputResult
.Build();
}
- public static IGraphQLRequest SearchByCriteria(InputCriteria criteria, InputResultFilter resultFilter, IPagination pagination)
+ public static IGraphQLRequest SearchByCriteria(InputCriteria criteria, InputResultFilter resultFilter, IPagination pagination, InputSortBy sort)
{
QueryBuilder builder =
new QueryBuilder().WithQueryResource("SearchByCriteria", false);
@@ -327,6 +327,7 @@ public static IGraphQLRequest SearchByCriteria(InputCriteria criteria, InputResu
.WithVariable("criteria", criteria)
.WithVariable("inputResultFilter", resultFilter)
.WithPagination(pagination)
+ .WithInputSortBy(sort)
.Build();
}
diff --git a/net/src/Sdl.Tridion.Api.Client/IApiClient.cs b/net/src/Sdl.Tridion.Api.Client/IApiClient.cs
index 379e1e3..c03b1ca 100644
--- a/net/src/Sdl.Tridion.Api.Client/IApiClient.cs
+++ b/net/src/Sdl.Tridion.Api.Client/IApiClient.cs
@@ -368,7 +368,7 @@ List GetSitemapSubtree(ContentNamespace ns, int publication
///
///
///
- FacetedSearchResults SearchByCriteria(InputCriteria criteria, InputResultFilter resultFilter, IPagination pagination);
+ FacetedSearchResults SearchByCriteria(InputCriteria criteria, InputResultFilter resultFilter, IPagination pagination, InputSortBy sort);
///
/// Faceted Search by criteria
diff --git a/net/src/Sdl.Tridion.Api.Client/Queries/SearchByCriteria.graphql b/net/src/Sdl.Tridion.Api.Client/Queries/SearchByCriteria.graphql
index 884ee30..d8602b3 100644
--- a/net/src/Sdl.Tridion.Api.Client/Queries/SearchByCriteria.graphql
+++ b/net/src/Sdl.Tridion.Api.Client/Queries/SearchByCriteria.graphql
@@ -1,5 +1,5 @@
-query search($first: Int, $after: String, $criteria: InputCriteria, $inputResultFilter: InputResultFilter) {
- search(InputCriteria: $criteria, resultFilter: $inputResultFilter ) {
+query search($first: Int, $after: String, $criteria: InputCriteria, $inputResultFilter: InputResultFilter, $inputSortBy: InputSortBy) {
+ search(criteria: $criteria, resultFilter: $inputResultFilter, sortBy: $inputSortBy) {
results(first: $first, after: $after) {
hits
edges {
diff --git a/net/src/Sdl.Tridion.Api.Client/QueryBuilder.cs b/net/src/Sdl.Tridion.Api.Client/QueryBuilder.cs
index ccacce9..c50aafc 100644
--- a/net/src/Sdl.Tridion.Api.Client/QueryBuilder.cs
+++ b/net/src/Sdl.Tridion.Api.Client/QueryBuilder.cs
@@ -89,6 +89,8 @@ public QueryBuilder WithInputPublicationFilter(InputPublicationFilter filter)
public QueryBuilder WithInputSortParam(InputSortParam sort) => WithVariable("inputSortParam", sort);
+ public QueryBuilder WithInputSortBy(InputSortBy sort) => WithVariable("InputSortBy", sort);
+
public QueryBuilder WithInputComponentPresentationFilter(InputComponentPresentationFilter filter)
=> WithVariable("filter", filter);