Browse Source

Accept null sorting.

pull/925/head
Sebastian 3 years ago
parent
commit
2121dbf546
  1. 2
      backend/src/Squidex.Domain.Apps.Entities.MongoDb/Apps/MongoAppRepository.cs
  2. 1
      backend/src/Squidex.Domain.Apps.Entities/Apps/DomainObject/AppDomainObject.cs
  3. 2
      backend/src/Squidex.Domain.Apps.Entities/Assets/Queries/AssetQueryParser.cs
  4. 2
      backend/src/Squidex.Domain.Apps.Entities/Contents/Queries/ContentQueryParser.cs
  5. 1
      backend/src/Squidex.Domain.Apps.Entities/Teams/DomainObject/TeamDomainObject.cs
  6. 2
      backend/src/Squidex.Infrastructure.MongoDb/MongoDb/Queries/SortBuilder.cs
  7. 1
      backend/src/Squidex.Infrastructure/Queries/OData/SortBuilder.cs
  8. 4
      backend/src/Squidex.Infrastructure/Queries/Query.cs
  9. 3
      backend/tests/Squidex.Domain.Apps.Entities.Tests/Assets/MongoDb/AssetsQueryIntegrationTests.cs
  10. 2
      backend/tests/Squidex.Domain.Apps.Entities.Tests/Contents/MongoDb/ContentsQueryIntegrationTests.cs

2
backend/src/Squidex.Domain.Apps.Entities.MongoDb/Apps/MongoAppRepository.cs

@ -50,7 +50,7 @@ namespace Squidex.Domain.Apps.Entities.MongoDb.Apps
using (Telemetry.Activities.StartActivity("MongoAppRepository/QueryAllAsync"))
{
var entities =
await Collection.Find(x => (x.IndexedUserIds.Contains(contributorId) || names.Contains(x.IndexedName)) && !x.IndexedDeleted).SortBy(x => x.IndexedCreated)
await Collection.Find(x => (x.IndexedUserIds.Contains(contributorId) || names.Contains(x.IndexedName)) && !x.IndexedDeleted)
.ToListAsync(ct);
return RemoveDuplcateNames(entities);

1
backend/src/Squidex.Domain.Apps.Entities/Apps/DomainObject/AppDomainObject.cs

@ -307,7 +307,6 @@ namespace Squidex.Domain.Apps.Entities.Apps.DomainObject
return new PlanChangedResult(c.PlanId);
}
}, ct);
default:

2
backend/src/Squidex.Domain.Apps.Entities/Assets/Queries/AssetQueryParser.cs

@ -104,6 +104,8 @@ namespace Squidex.Domain.Apps.Entities.Assets.Queries
private static void WithSorting(ClrQuery query)
{
query.Sort ??= new List<SortNode>();
if (query.Sort.Count == 0)
{
query.Sort.Add(new SortNode(new List<string> { "lastModified" }, SortOrder.Descending));

2
backend/src/Squidex.Domain.Apps.Entities/Contents/Queries/ContentQueryParser.cs

@ -143,6 +143,8 @@ namespace Squidex.Domain.Apps.Entities.Contents.Queries
private static void WithSorting(ClrQuery query)
{
query.Sort ??= new List<SortNode>();
if (query.Sort.Count == 0)
{
query.Sort.Add(new SortNode(new List<string> { "lastModified" }, SortOrder.Descending));

1
backend/src/Squidex.Domain.Apps.Entities/Teams/DomainObject/TeamDomainObject.cs

@ -128,7 +128,6 @@ namespace Squidex.Domain.Apps.Entities.Teams.DomainObject
return new PlanChangedResult(c.PlanId);
}
}, ct);
default:

2
backend/src/Squidex.Infrastructure.MongoDb/MongoDb/Queries/SortBuilder.cs

@ -14,7 +14,7 @@ namespace Squidex.Infrastructure.MongoDb.Queries
{
public static SortDefinition<T>? BuildSort<T>(this ClrQuery query)
{
if (query.Sort.Count > 0)
if (query is { Sort: not null, Sort: { Count: > 0 } })
{
var sorts = query.Sort.Select(OrderBy<T>).ToList();

1
backend/src/Squidex.Infrastructure/Queries/OData/SortBuilder.cs

@ -19,6 +19,7 @@ namespace Squidex.Infrastructure.Queries.OData
{
while (orderBy != null)
{
result.Sort ??= new List<SortNode>();
result.Sort.Add(OrderBy(orderBy));
orderBy = orderBy.ThenBy;

4
backend/src/Squidex.Infrastructure/Queries/Query.cs

@ -22,7 +22,7 @@ namespace Squidex.Infrastructure.Queries
set => Take = value;
}
public List<SortNode> Sort { get; set; } = new List<SortNode>();
public List<SortNode>? Sort { get; set; } = new List<SortNode>();
public HashSet<string> GetAllFields()
{
@ -65,7 +65,7 @@ namespace Squidex.Infrastructure.Queries
parts.Add($"Take: {Take}");
}
if (Sort.Count > 0)
if (Sort != null && Sort.Count > 0)
{
parts.Add($"Sort: {string.Join(", ", Sort)}");
}

3
backend/tests/Squidex.Domain.Apps.Entities.Tests/Assets/MongoDb/AssetsQueryIntegrationTests.cs

@ -138,10 +138,9 @@ namespace Squidex.Domain.Apps.Entities.Assets.MongoDb
private async Task<IResultList<IAssetEntity>> QueryAsync(DomainId? parentId, ClrQuery clrQuery)
{
clrQuery.Top = 1000;
clrQuery.Skip = 100;
if (clrQuery.Sort.Count == 0)
if (clrQuery.Sort == null || clrQuery.Sort.Count == 0)
{
clrQuery.Sort = new List<SortNode>
{

2
backend/tests/Squidex.Domain.Apps.Entities.Tests/Contents/MongoDb/ContentsQueryIntegrationTests.cs

@ -216,7 +216,7 @@ namespace Squidex.Domain.Apps.Entities.Contents.MongoDb
clrQuery.Skip = skip;
}
if (clrQuery.Sort.Count == 0)
if (clrQuery.Sort == null || clrQuery.Sort.Count == 0)
{
clrQuery.Sort = new List<SortNode>
{

Loading…
Cancel
Save