Skip to content

Commit e764e08

Browse files
committed
Update to build against JsonApiDotNetCore v5.3.0
1 parent ab73278 commit e764e08

File tree

8 files changed

+21
-17
lines changed

8 files changed

+21
-17
lines changed

Directory.Build.props

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
<PropertyGroup>
33
<TargetFrameworkName>net6.0</TargetFrameworkName>
44
<AspNetVersion>6.0.*</AspNetVersion>
5-
<JsonApiDotNetCoreVersion>5.2.0</JsonApiDotNetCoreVersion>
5+
<JsonApiDotNetCoreVersion>5.3.0</JsonApiDotNetCoreVersion>
66
<MongoDBDriverVersion>2.15.0</MongoDBDriverVersion>
77
<JsonApiDotNetCoreMongoDbVersionPrefix>5.1.3</JsonApiDotNetCoreMongoDbVersionPrefix>
88
<CodeAnalysisRuleSet>$(MSBuildThisFileDirectory)CodingGuidelines.ruleset</CodeAnalysisRuleSet>

src/JsonApiDotNetCore.MongoDb/Configuration/ServiceCollectionExtensions.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
using JsonApiDotNetCore.MongoDb.AtomicOperations;
44
using JsonApiDotNetCore.MongoDb.Queries.Internal;
55
using JsonApiDotNetCore.MongoDb.Repositories;
6-
using JsonApiDotNetCore.Queries.Internal;
6+
using JsonApiDotNetCore.Queries;
77
using Microsoft.Extensions.DependencyInjection;
88

99
namespace JsonApiDotNetCore.MongoDb.Configuration;

src/JsonApiDotNetCore.MongoDb/Queries/Internal/HideRelationshipsSparseFieldSetCache.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22
using JsonApiDotNetCore.Configuration;
33
using JsonApiDotNetCore.MongoDb.Resources;
44
using JsonApiDotNetCore.Queries;
5-
using JsonApiDotNetCore.Queries.Internal;
65
using JsonApiDotNetCore.Resources;
76
using JsonApiDotNetCore.Resources.Annotations;
87

src/JsonApiDotNetCore.MongoDb/Repositories/MongoRepository.cs

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
using JsonApiDotNetCore.MongoDb.Resources;
88
using JsonApiDotNetCore.Queries;
99
using JsonApiDotNetCore.Queries.Expressions;
10-
using JsonApiDotNetCore.Queries.Internal.QueryableBuilding;
10+
using JsonApiDotNetCore.Queries.QueryableBuilding;
1111
using JsonApiDotNetCore.Repositories;
1212
using JsonApiDotNetCore.Resources;
1313
using JsonApiDotNetCore.Resources.Annotations;
@@ -29,28 +29,31 @@ public class MongoRepository<TResource, TId> : IResourceRepository<TResource, TI
2929
private readonly IResourceFactory _resourceFactory;
3030
private readonly IEnumerable<IQueryConstraintProvider> _constraintProviders;
3131
private readonly IResourceDefinitionAccessor _resourceDefinitionAccessor;
32+
private readonly IQueryableBuilder _queryableBuilder;
3233

3334
protected virtual IMongoCollection<TResource> Collection => _mongoDataAccess.MongoDatabase.GetCollection<TResource>(typeof(TResource).Name);
3435

3536
/// <inheritdoc />
3637
public virtual string? TransactionId => _mongoDataAccess.TransactionId;
3738

3839
public MongoRepository(IMongoDataAccess mongoDataAccess, ITargetedFields targetedFields, IResourceGraph resourceGraph, IResourceFactory resourceFactory,
39-
IEnumerable<IQueryConstraintProvider> constraintProviders, IResourceDefinitionAccessor resourceDefinitionAccessor)
40+
IEnumerable<IQueryConstraintProvider> constraintProviders, IResourceDefinitionAccessor resourceDefinitionAccessor, IQueryableBuilder queryableBuilder)
4041
{
4142
ArgumentGuard.NotNull(mongoDataAccess);
4243
ArgumentGuard.NotNull(targetedFields);
4344
ArgumentGuard.NotNull(resourceGraph);
4445
ArgumentGuard.NotNull(resourceFactory);
4546
ArgumentGuard.NotNull(constraintProviders);
4647
ArgumentGuard.NotNull(resourceDefinitionAccessor);
48+
ArgumentGuard.NotNull(queryableBuilder);
4749

4850
_mongoDataAccess = mongoDataAccess;
4951
_targetedFields = targetedFields;
5052
_resourceGraph = resourceGraph;
5153
_resourceFactory = resourceFactory;
5254
_constraintProviders = constraintProviders;
5355
_resourceDefinitionAccessor = resourceDefinitionAccessor;
56+
_queryableBuilder = queryableBuilder;
5457

5558
if (!typeof(TResource).IsAssignableTo(typeof(IMongoIdentifiable)))
5659
{
@@ -112,12 +115,9 @@ protected virtual IMongoQueryable<TResource> ApplyQueryLayer(QueryLayer queryLay
112115
source = queryableHandler.Apply(source);
113116
}
114117

115-
var nameFactory = new LambdaParameterNameFactory();
118+
var context = QueryableBuilderContext.CreateRoot(source, typeof(Queryable), new MongoModel(_resourceGraph), null);
119+
Expression expression = _queryableBuilder.ApplyQuery(queryLayer, context);
116120

117-
var builder = new QueryableBuilder(source.Expression, source.ElementType, typeof(Queryable), nameFactory, _resourceFactory,
118-
new MongoModel(_resourceGraph));
119-
120-
Expression expression = builder.ApplyQuery(queryLayer);
121121
return (IMongoQueryable<TResource>)source.Provider.CreateQuery<TResource>(expression);
122122
}
123123

test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/AtomicOperations/Transactions/LyricRepository.cs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
using JsonApiDotNetCore.MongoDb.AtomicOperations;
55
using JsonApiDotNetCore.MongoDb.Repositories;
66
using JsonApiDotNetCore.Queries;
7+
using JsonApiDotNetCore.Queries.QueryableBuilding;
78
using JsonApiDotNetCore.Resources;
89

910
namespace JsonApiDotNetCoreMongoDbTests.IntegrationTests.AtomicOperations.Transactions;
@@ -19,8 +20,9 @@ public sealed class LyricRepository : MongoRepository<Lyric, string?>, IAsyncDis
1920
public override string TransactionId => _transaction.TransactionId;
2021

2122
public LyricRepository(IMongoDataAccess mongoDataAccess, ITargetedFields targetedFields, IResourceGraph resourceGraph, IResourceFactory resourceFactory,
22-
IEnumerable<IQueryConstraintProvider> constraintProviders, IResourceDefinitionAccessor resourceDefinitionAccessor)
23-
: base(mongoDataAccess, targetedFields, resourceGraph, resourceFactory, constraintProviders, resourceDefinitionAccessor)
23+
IEnumerable<IQueryConstraintProvider> constraintProviders, IResourceDefinitionAccessor resourceDefinitionAccessor,
24+
IQueryableBuilder queryableBuilder)
25+
: base(mongoDataAccess, targetedFields, resourceGraph, resourceFactory, constraintProviders, resourceDefinitionAccessor, queryableBuilder)
2426
{
2527
IMongoDataAccess otherDataAccess = new MongoDataAccess(mongoDataAccess.MongoDatabase);
2628

test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/AtomicOperations/Transactions/MusicTrackRepository.cs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
using JsonApiDotNetCore.Configuration;
33
using JsonApiDotNetCore.MongoDb.Repositories;
44
using JsonApiDotNetCore.Queries;
5+
using JsonApiDotNetCore.Queries.QueryableBuilding;
56
using JsonApiDotNetCore.Resources;
67

78
namespace JsonApiDotNetCoreMongoDbTests.IntegrationTests.AtomicOperations.Transactions;
@@ -14,8 +15,9 @@ public sealed class MusicTrackRepository : MongoRepository<MusicTrack, string?>
1415
public override string? TransactionId => null;
1516

1617
public MusicTrackRepository(IMongoDataAccess mongoDataAccess, ITargetedFields targetedFields, IResourceGraph resourceGraph,
17-
IResourceFactory resourceFactory, IEnumerable<IQueryConstraintProvider> constraintProviders, IResourceDefinitionAccessor resourceDefinitionAccessor)
18-
: base(mongoDataAccess, targetedFields, resourceGraph, resourceFactory, constraintProviders, resourceDefinitionAccessor)
18+
IResourceFactory resourceFactory, IEnumerable<IQueryConstraintProvider> constraintProviders, IResourceDefinitionAccessor resourceDefinitionAccessor,
19+
IQueryableBuilder queryableBuilder)
20+
: base(mongoDataAccess, targetedFields, resourceGraph, resourceFactory, constraintProviders, resourceDefinitionAccessor, queryableBuilder)
1921
{
2022
}
2123
}

test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/QueryStrings/Filtering/FilterDataTypeTests.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -265,7 +265,7 @@ await _testContext.RunOnDatabaseAsync(async dbContext =>
265265
ErrorObject error = responseDocument.Errors[0];
266266
error.StatusCode.Should().Be(HttpStatusCode.BadRequest);
267267
error.Title.Should().Be("The specified filter is invalid.");
268-
error.Detail.Should().Be("Failed to convert 'ABC' of type 'String' to type 'Int32'.");
268+
error.Detail.Should().StartWith("Failed to convert 'ABC' of type 'String' to type 'Int32'.");
269269
error.Source.ShouldNotBeNull();
270270
error.Source.Parameter.Should().Be("filter");
271271
}

test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/QueryStrings/SparseFieldSets/ResultCapturingRepository.cs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
using JsonApiDotNetCore.Configuration;
33
using JsonApiDotNetCore.MongoDb.Repositories;
44
using JsonApiDotNetCore.Queries;
5+
using JsonApiDotNetCore.Queries.QueryableBuilding;
56
using JsonApiDotNetCore.Resources;
67

78
namespace JsonApiDotNetCoreMongoDbTests.IntegrationTests.QueryStrings.SparseFieldSets;
@@ -17,8 +18,8 @@ public sealed class ResultCapturingRepository<TResource, TId> : MongoRepository<
1718

1819
public ResultCapturingRepository(IMongoDataAccess mongoDataAccess, ITargetedFields targetedFields, IResourceGraph resourceGraph,
1920
IResourceFactory resourceFactory, IEnumerable<IQueryConstraintProvider> constraintProviders, IResourceDefinitionAccessor resourceDefinitionAccessor,
20-
ResourceCaptureStore captureStore)
21-
: base(mongoDataAccess, targetedFields, resourceGraph, resourceFactory, constraintProviders, resourceDefinitionAccessor)
21+
IQueryableBuilder queryableBuilder, ResourceCaptureStore captureStore)
22+
: base(mongoDataAccess, targetedFields, resourceGraph, resourceFactory, constraintProviders, resourceDefinitionAccessor, queryableBuilder)
2223
{
2324
_captureStore = captureStore;
2425
}

0 commit comments

Comments
 (0)