Skip to content

Commit ab518a5

Browse files
committed
Use primary constructors
1 parent 7e5d51d commit ab518a5

File tree

38 files changed

+90
-273
lines changed

38 files changed

+90
-273
lines changed

JsonApiDotNetCore.MongoDb.sln.DotSettings

+4
Original file line numberDiff line numberDiff line change
@@ -54,10 +54,12 @@ JsonApiDotNetCore.MongoDb.ArgumentGuard.NotNull($EXPR$);</s:String>
5454
<s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=EnforceLockStatementBraces/@EntryIndexedValue">WARNING</s:String>
5555
<s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=EnforceUsingStatementBraces/@EntryIndexedValue">WARNING</s:String>
5656
<s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=EnforceWhileStatementBraces/@EntryIndexedValue">WARNING</s:String>
57+
<s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=EntityFramework_002EModelValidation_002EUnlimitedStringLength/@EntryIndexedValue">DO_NOT_SHOW</s:String>
5758
<s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=EventNeverSubscribedTo_002ELocal/@EntryIndexedValue">WARNING</s:String>
5859
<s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=ExtractCommonPropertyPattern/@EntryIndexedValue">SUGGESTION</s:String>
5960
<s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=IntroduceOptionalParameters_002EGlobal/@EntryIndexedValue">HINT</s:String>
6061
<s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=LambdaExpressionMustBeStatic/@EntryIndexedValue">WARNING</s:String>
62+
<s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=LocalFunctionCanBeMadeStatic/@EntryIndexedValue">SUGGESTION</s:String>
6163
<s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=LocalizableElement/@EntryIndexedValue">DO_NOT_SHOW</s:String>
6264
<s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=LoopCanBePartlyConvertedToQuery/@EntryIndexedValue">HINT</s:String>
6365
<s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=MemberCanBeInternal/@EntryIndexedValue">SUGGESTION</s:String>
@@ -95,6 +97,7 @@ JsonApiDotNetCore.MongoDb.ArgumentGuard.NotNull($EXPR$);</s:String>
9597
<s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=UseNegatedPatternMatching/@EntryIndexedValue">SUGGESTION</s:String>
9698
<s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=UseRawString/@EntryIndexedValue">SUGGESTION</s:String>
9799
<s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=VirtualMemberNeverOverridden_002ELocal/@EntryIndexedValue">WARNING</s:String>
100+
<s:Boolean x:Key="/Default/CodeInspection/Highlighting/ReplaceWithPrimaryConstructorParameter/PreserveReadonlyModifier/@EntryValue">True</s:Boolean>
98101
<s:String x:Key="/Default/CodeInspection/Highlighting/UseCollectionExpression/ConvertEmptyCollection/@EntryValue">SUGGESTION</s:String>
99102
<s:String x:Key="/Default/CodeStyle/CodeCleanup/Profiles/=JADNC_0020Full_0020Cleanup/@EntryIndexedValue">&lt;?xml version="1.0" encoding="utf-16"?&gt;&lt;Profile name="JADNC Full Cleanup"&gt;&lt;XMLReformatCode&gt;True&lt;/XMLReformatCode&gt;&lt;CSCodeStyleAttributes ArrangeTypeAccessModifier="True" ArrangeTypeMemberAccessModifier="True" SortModifiers="True" RemoveRedundantParentheses="True" AddMissingParentheses="True" ArrangeBraces="True" ArrangeAttributes="True" ArrangeArgumentsStyle="True" ArrangeCodeBodyStyle="True" ArrangeVarStyle="True" ArrangeTrailingCommas="True" ArrangeObjectCreation="True" ArrangeDefaultValue="True" ArrangeNamespaces="True" ArrangeNullCheckingPattern="True" /&gt;&lt;CssAlphabetizeProperties&gt;True&lt;/CssAlphabetizeProperties&gt;&lt;JsInsertSemicolon&gt;True&lt;/JsInsertSemicolon&gt;&lt;FormatAttributeQuoteDescriptor&gt;True&lt;/FormatAttributeQuoteDescriptor&gt;&lt;CorrectVariableKindsDescriptor&gt;True&lt;/CorrectVariableKindsDescriptor&gt;&lt;VariablesToInnerScopesDescriptor&gt;True&lt;/VariablesToInnerScopesDescriptor&gt;&lt;StringToTemplatesDescriptor&gt;True&lt;/StringToTemplatesDescriptor&gt;&lt;JsReformatCode&gt;True&lt;/JsReformatCode&gt;&lt;JsFormatDocComments&gt;True&lt;/JsFormatDocComments&gt;&lt;RemoveRedundantQualifiersTs&gt;True&lt;/RemoveRedundantQualifiersTs&gt;&lt;OptimizeImportsTs&gt;True&lt;/OptimizeImportsTs&gt;&lt;OptimizeReferenceCommentsTs&gt;True&lt;/OptimizeReferenceCommentsTs&gt;&lt;PublicModifierStyleTs&gt;True&lt;/PublicModifierStyleTs&gt;&lt;ExplicitAnyTs&gt;True&lt;/ExplicitAnyTs&gt;&lt;TypeAnnotationStyleTs&gt;True&lt;/TypeAnnotationStyleTs&gt;&lt;RelativePathStyleTs&gt;True&lt;/RelativePathStyleTs&gt;&lt;AsInsteadOfCastTs&gt;True&lt;/AsInsteadOfCastTs&gt;&lt;HtmlReformatCode&gt;True&lt;/HtmlReformatCode&gt;&lt;AspOptimizeRegisterDirectives&gt;True&lt;/AspOptimizeRegisterDirectives&gt;&lt;RemoveCodeRedundancies&gt;True&lt;/RemoveCodeRedundancies&gt;&lt;CSUseAutoProperty&gt;True&lt;/CSUseAutoProperty&gt;&lt;CSMakeFieldReadonly&gt;True&lt;/CSMakeFieldReadonly&gt;&lt;CSMakeAutoPropertyGetOnly&gt;True&lt;/CSMakeAutoPropertyGetOnly&gt;&lt;CSArrangeQualifiers&gt;True&lt;/CSArrangeQualifiers&gt;&lt;CSFixBuiltinTypeReferences&gt;True&lt;/CSFixBuiltinTypeReferences&gt;&lt;CssReformatCode&gt;True&lt;/CssReformatCode&gt;&lt;CSOptimizeUsings&gt;&lt;OptimizeUsings&gt;True&lt;/OptimizeUsings&gt;&lt;/CSOptimizeUsings&gt;&lt;CSShortenReferences&gt;True&lt;/CSShortenReferences&gt;&lt;CSReformatCode&gt;True&lt;/CSReformatCode&gt;&lt;CSharpFormatDocComments&gt;True&lt;/CSharpFormatDocComments&gt;&lt;CSReorderTypeMembers&gt;True&lt;/CSReorderTypeMembers&gt;&lt;XAMLCollapseEmptyTags&gt;False&lt;/XAMLCollapseEmptyTags&gt;&lt;CSReformatInactiveBranches&gt;True&lt;/CSReformatInactiveBranches&gt;&lt;/Profile&gt;</s:String>
100103
<s:String x:Key="/Default/CodeStyle/CodeCleanup/SilentCleanupProfile/@EntryValue">JADNC Full Cleanup</s:String>
@@ -154,6 +157,7 @@ JsonApiDotNetCore.MongoDb.ArgumentGuard.NotNull($EXPR$);</s:String>
154157
<s:String x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/WRAP_MULTIPLE_DECLARATION_STYLE/@EntryValue">WRAP_IF_LONG</s:String>
155158
<s:String x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/WRAP_MULTIPLE_TYPE_PARAMEER_CONSTRAINTS_STYLE/@EntryValue">CHOP_ALWAYS</s:String>
156159
<s:String x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/WRAP_OBJECT_AND_COLLECTION_INITIALIZER_STYLE/@EntryValue">CHOP_ALWAYS</s:String>
160+
<s:String x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/WRAP_PRIMARY_CONSTRUCTOR_PARAMETERS_STYLE/@EntryValue">WRAP_IF_LONG</s:String>
157161
<s:Boolean x:Key="/Default/CodeStyle/CodeFormatting/CssFormatter/LINE_FEED_AT_FILE_END/@EntryValue">True</s:Boolean>
158162
<s:Boolean x:Key="/Default/CodeStyle/CodeFormatting/HtmlFormatter/LINE_FEED_AT_FILE_END/@EntryValue">True</s:Boolean>
159163
<s:Int64 x:Key="/Default/CodeStyle/CodeFormatting/JavaScriptCodeFormatting/INDENT_SIZE/@EntryValue">2</s:Int64>

src/Examples/JsonApiDotNetCoreMongoDbExample/Controllers/OperationsController.cs

+3-8
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,6 @@
66

77
namespace JsonApiDotNetCoreMongoDbExample.Controllers;
88

9-
public sealed class OperationsController : JsonApiOperationsController
10-
{
11-
public OperationsController(IJsonApiOptions options, IResourceGraph resourceGraph, ILoggerFactory loggerFactory, IOperationsProcessor processor,
12-
IJsonApiRequest request, ITargetedFields targetedFields)
13-
: base(options, resourceGraph, loggerFactory, processor, request, targetedFields)
14-
{
15-
}
16-
}
9+
public sealed class OperationsController(
10+
IJsonApiOptions options, IResourceGraph resourceGraph, ILoggerFactory loggerFactory, IOperationsProcessor processor, IJsonApiRequest request,
11+
ITargetedFields targetedFields) : JsonApiOperationsController(options, resourceGraph, loggerFactory, processor, request, targetedFields);

src/JsonApiDotNetCore.MongoDb/Errors/AttributeComparisonInFilterNotSupportedException.cs

+3-9
Original file line numberDiff line numberDiff line change
@@ -10,13 +10,7 @@ namespace JsonApiDotNetCore.MongoDb.Errors;
1010
/// https://jira.mongodb.org/browse/CSHARP-1592.
1111
/// </summary>
1212
[PublicAPI]
13-
public sealed class AttributeComparisonInFilterNotSupportedException : JsonApiException
13+
public sealed class AttributeComparisonInFilterNotSupportedException() : JsonApiException(new ErrorObject(HttpStatusCode.BadRequest)
1414
{
15-
public AttributeComparisonInFilterNotSupportedException()
16-
: base(new ErrorObject(HttpStatusCode.BadRequest)
17-
{
18-
Title = "Comparing attributes against each other is not supported when using MongoDB."
19-
})
20-
{
21-
}
22-
}
15+
Title = "Comparing attributes against each other is not supported when using MongoDB."
16+
});

src/JsonApiDotNetCore.MongoDb/Errors/UnsupportedRelationshipException.cs

+3-9
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,7 @@ namespace JsonApiDotNetCore.MongoDb.Errors;
99
/// The error that is thrown when the user attempts to fetch, create or update a relationship.
1010
/// </summary>
1111
[PublicAPI]
12-
public sealed class UnsupportedRelationshipException : JsonApiException
12+
public sealed class UnsupportedRelationshipException() : JsonApiException(new ErrorObject(HttpStatusCode.BadRequest)
1313
{
14-
public UnsupportedRelationshipException()
15-
: base(new ErrorObject(HttpStatusCode.BadRequest)
16-
{
17-
Title = "Relationships are not supported when using MongoDB."
18-
})
19-
{
20-
}
21-
}
14+
Title = "Relationships are not supported when using MongoDB."
15+
});

test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/AtomicOperations/Creating/AtomicCreateResourceTests.cs

+2-7
Original file line numberDiff line numberDiff line change
@@ -8,16 +8,11 @@
88
namespace JsonApiDotNetCoreMongoDbTests.IntegrationTests.AtomicOperations.Creating;
99

1010
[Collection("AtomicOperationsFixture")]
11-
public sealed class AtomicCreateResourceTests
11+
public sealed class AtomicCreateResourceTests(AtomicOperationsFixture fixture)
1212
{
13-
private readonly IntegrationTestContext<TestableStartup, OperationsDbContext> _testContext;
13+
private readonly IntegrationTestContext<TestableStartup, OperationsDbContext> _testContext = fixture.TestContext;
1414
private readonly OperationsFakers _fakers = new();
1515

16-
public AtomicCreateResourceTests(AtomicOperationsFixture fixture)
17-
{
18-
_testContext = fixture.TestContext;
19-
}
20-
2116
[Fact]
2217
public async Task Can_create_resource()
2318
{

test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/AtomicOperations/Creating/AtomicCreateResourceWithToManyRelationshipTests.cs

+2-7
Original file line numberDiff line numberDiff line change
@@ -7,16 +7,11 @@
77
namespace JsonApiDotNetCoreMongoDbTests.IntegrationTests.AtomicOperations.Creating;
88

99
[Collection("AtomicOperationsFixture")]
10-
public sealed class AtomicCreateResourceWithToManyRelationshipTests
10+
public sealed class AtomicCreateResourceWithToManyRelationshipTests(AtomicOperationsFixture fixture)
1111
{
12-
private readonly IntegrationTestContext<TestableStartup, OperationsDbContext> _testContext;
12+
private readonly IntegrationTestContext<TestableStartup, OperationsDbContext> _testContext = fixture.TestContext;
1313
private readonly OperationsFakers _fakers = new();
1414

15-
public AtomicCreateResourceWithToManyRelationshipTests(AtomicOperationsFixture fixture)
16-
{
17-
_testContext = fixture.TestContext;
18-
}
19-
2015
[Fact]
2116
public async Task Cannot_create_ToMany_relationship()
2217
{

test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/AtomicOperations/Creating/AtomicCreateResourceWithToOneRelationshipTests.cs

+2-7
Original file line numberDiff line numberDiff line change
@@ -7,16 +7,11 @@
77
namespace JsonApiDotNetCoreMongoDbTests.IntegrationTests.AtomicOperations.Creating;
88

99
[Collection("AtomicOperationsFixture")]
10-
public sealed class AtomicCreateResourceWithToOneRelationshipTests
10+
public sealed class AtomicCreateResourceWithToOneRelationshipTests(AtomicOperationsFixture fixture)
1111
{
12-
private readonly IntegrationTestContext<TestableStartup, OperationsDbContext> _testContext;
12+
private readonly IntegrationTestContext<TestableStartup, OperationsDbContext> _testContext = fixture.TestContext;
1313
private readonly OperationsFakers _fakers = new();
1414

15-
public AtomicCreateResourceWithToOneRelationshipTests(AtomicOperationsFixture fixture)
16-
{
17-
_testContext = fixture.TestContext;
18-
}
19-
2015
[Fact]
2116
public async Task Cannot_create_ToOne_relationship()
2217
{

test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/AtomicOperations/Deleting/AtomicDeleteResourceTests.cs

+2-7
Original file line numberDiff line numberDiff line change
@@ -7,16 +7,11 @@
77
namespace JsonApiDotNetCoreMongoDbTests.IntegrationTests.AtomicOperations.Deleting;
88

99
[Collection("AtomicOperationsFixture")]
10-
public sealed class AtomicDeleteResourceTests
10+
public sealed class AtomicDeleteResourceTests(AtomicOperationsFixture fixture)
1111
{
12-
private readonly IntegrationTestContext<TestableStartup, OperationsDbContext> _testContext;
12+
private readonly IntegrationTestContext<TestableStartup, OperationsDbContext> _testContext = fixture.TestContext;
1313
private readonly OperationsFakers _fakers = new();
1414

15-
public AtomicDeleteResourceTests(AtomicOperationsFixture fixture)
16-
{
17-
_testContext = fixture.TestContext;
18-
}
19-
2015
[Fact]
2116
public async Task Can_delete_existing_resource()
2217
{

test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/AtomicOperations/ImplicitlyChangingTextLanguageDefinition.cs

+4-8
Original file line numberDiff line numberDiff line change
@@ -10,17 +10,13 @@ namespace JsonApiDotNetCoreMongoDbTests.IntegrationTests.AtomicOperations;
1010
/// Used to simulate side effects that occur in the database while saving, typically caused by database triggers.
1111
/// </summary>
1212
[UsedImplicitly(ImplicitUseKindFlags.InstantiatedNoFixedConstructorSignature)]
13-
public abstract class ImplicitlyChangingTextLanguageDefinition : HitCountingResourceDefinition<TextLanguage, string?>
13+
public abstract class ImplicitlyChangingTextLanguageDefinition(
14+
IResourceGraph resourceGraph, ResourceDefinitionHitCounter hitCounter, IMongoDataAccess mongoDataAccess)
15+
: HitCountingResourceDefinition<TextLanguage, string?>(resourceGraph, hitCounter)
1416
{
1517
internal const string Suffix = " (changed)";
1618

17-
private readonly IMongoDataAccess _mongoDataAccess;
18-
19-
protected ImplicitlyChangingTextLanguageDefinition(IResourceGraph resourceGraph, ResourceDefinitionHitCounter hitCounter, IMongoDataAccess mongoDataAccess)
20-
: base(resourceGraph, hitCounter)
21-
{
22-
_mongoDataAccess = mongoDataAccess;
23-
}
19+
private readonly IMongoDataAccess _mongoDataAccess = mongoDataAccess;
2420

2521
public override async Task OnWriteSucceededAsync(TextLanguage resource, WriteOperationKind writeOperation, CancellationToken cancellationToken)
2622
{

test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/AtomicOperations/LocalIds/AtomicLocalIdTests.cs

+2-7
Original file line numberDiff line numberDiff line change
@@ -7,16 +7,11 @@
77
namespace JsonApiDotNetCoreMongoDbTests.IntegrationTests.AtomicOperations.LocalIds;
88

99
[Collection("AtomicOperationsFixture")]
10-
public sealed class AtomicLocalIdTests
10+
public sealed class AtomicLocalIdTests(AtomicOperationsFixture fixture)
1111
{
12-
private readonly IntegrationTestContext<TestableStartup, OperationsDbContext> _testContext;
12+
private readonly IntegrationTestContext<TestableStartup, OperationsDbContext> _testContext = fixture.TestContext;
1313
private readonly OperationsFakers _fakers = new();
1414

15-
public AtomicLocalIdTests(AtomicOperationsFixture fixture)
16-
{
17-
_testContext = fixture.TestContext;
18-
}
19-
2015
[Fact]
2116
public async Task Can_update_resource_using_local_ID()
2217
{

test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/AtomicOperations/Meta/MusicTrackMetaDefinition.cs

+2-6
Original file line numberDiff line numberDiff line change
@@ -4,15 +4,11 @@
44
namespace JsonApiDotNetCoreMongoDbTests.IntegrationTests.AtomicOperations.Meta;
55

66
[UsedImplicitly(ImplicitUseKindFlags.InstantiatedNoFixedConstructorSignature)]
7-
public sealed class MusicTrackMetaDefinition : HitCountingResourceDefinition<MusicTrack, string?>
7+
public sealed class MusicTrackMetaDefinition(IResourceGraph resourceGraph, ResourceDefinitionHitCounter hitCounter)
8+
: HitCountingResourceDefinition<MusicTrack, string?>(resourceGraph, hitCounter)
89
{
910
protected override ResourceDefinitionExtensibilityPoints ExtensibilityPointsToTrack => ResourceDefinitionExtensibilityPoints.GetMeta;
1011

11-
public MusicTrackMetaDefinition(IResourceGraph resourceGraph, ResourceDefinitionHitCounter hitCounter)
12-
: base(resourceGraph, hitCounter)
13-
{
14-
}
15-
1612
public override IDictionary<string, object?> GetMeta(MusicTrack resource)
1713
{
1814
base.GetMeta(resource);

test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/AtomicOperations/Meta/TextLanguageMetaDefinition.cs

+2-6
Original file line numberDiff line numberDiff line change
@@ -5,17 +5,13 @@
55
namespace JsonApiDotNetCoreMongoDbTests.IntegrationTests.AtomicOperations.Meta;
66

77
[UsedImplicitly(ImplicitUseKindFlags.InstantiatedNoFixedConstructorSignature)]
8-
public sealed class TextLanguageMetaDefinition : ImplicitlyChangingTextLanguageDefinition
8+
public sealed class TextLanguageMetaDefinition(IResourceGraph resourceGraph, ResourceDefinitionHitCounter hitCounter, IMongoDataAccess mongoDataAccess)
9+
: ImplicitlyChangingTextLanguageDefinition(resourceGraph, hitCounter, mongoDataAccess)
910
{
1011
internal const string NoticeText = "See https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes for ISO 639-1 language codes.";
1112

1213
protected override ResourceDefinitionExtensibilityPoints ExtensibilityPointsToTrack => ResourceDefinitionExtensibilityPoints.GetMeta;
1314

14-
public TextLanguageMetaDefinition(IResourceGraph resourceGraph, ResourceDefinitionHitCounter hitCounter, IMongoDataAccess mongoDataAccess)
15-
: base(resourceGraph, hitCounter, mongoDataAccess)
16-
{
17-
}
18-
1915
public override IDictionary<string, object?> GetMeta(TextLanguage resource)
2016
{
2117
base.GetMeta(resource);

test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/AtomicOperations/Mixed/MaximumOperationsPerRequestTests.cs

+2-8
Original file line numberDiff line numberDiff line change
@@ -8,15 +8,9 @@
88
namespace JsonApiDotNetCoreMongoDbTests.IntegrationTests.AtomicOperations.Mixed;
99

1010
[Collection("AtomicOperationsFixture")]
11-
public sealed class MaximumOperationsPerRequestTests : BaseForAtomicOperationsTestsThatChangeOptions
11+
public sealed class MaximumOperationsPerRequestTests(AtomicOperationsFixture fixture) : BaseForAtomicOperationsTestsThatChangeOptions(fixture)
1212
{
13-
private readonly IntegrationTestContext<TestableStartup, OperationsDbContext> _testContext;
14-
15-
public MaximumOperationsPerRequestTests(AtomicOperationsFixture fixture)
16-
: base(fixture)
17-
{
18-
_testContext = fixture.TestContext;
19-
}
13+
private readonly IntegrationTestContext<TestableStartup, OperationsDbContext> _testContext = fixture.TestContext;
2014

2115
[Fact]
2216
public async Task Can_process_high_number_of_operations_when_unconstrained()

test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/AtomicOperations/OperationsController.cs

+3-8
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,6 @@
77

88
namespace JsonApiDotNetCoreMongoDbTests.IntegrationTests.AtomicOperations;
99

10-
public sealed class OperationsController : JsonApiOperationsController
11-
{
12-
public OperationsController(IJsonApiOptions options, IResourceGraph resourceGraph, ILoggerFactory loggerFactory, IOperationsProcessor processor,
13-
IJsonApiRequest request, ITargetedFields targetedFields)
14-
: base(options, resourceGraph, loggerFactory, processor, request, targetedFields)
15-
{
16-
}
17-
}
10+
public sealed class OperationsController(
11+
IJsonApiOptions options, IResourceGraph resourceGraph, ILoggerFactory loggerFactory, IOperationsProcessor processor, IJsonApiRequest request,
12+
ITargetedFields targetedFields) : JsonApiOperationsController(options, resourceGraph, loggerFactory, processor, request, targetedFields);

test/JsonApiDotNetCoreMongoDbTests/IntegrationTests/AtomicOperations/OperationsDbContext.cs

+1-6
Original file line numberDiff line numberDiff line change
@@ -5,17 +5,12 @@
55
namespace JsonApiDotNetCoreMongoDbTests.IntegrationTests.AtomicOperations;
66

77
[UsedImplicitly(ImplicitUseTargetFlags.Members)]
8-
public sealed class OperationsDbContext : MongoDbContextShim
8+
public sealed class OperationsDbContext(IMongoDatabase database) : MongoDbContextShim(database)
99
{
1010
public MongoDbSetShim<Playlist> Playlists => Set<Playlist>();
1111
public MongoDbSetShim<MusicTrack> MusicTracks => Set<MusicTrack>();
1212
public MongoDbSetShim<Lyric> Lyrics => Set<Lyric>();
1313
public MongoDbSetShim<TextLanguage> TextLanguages => Set<TextLanguage>();
1414
public MongoDbSetShim<Performer> Performers => Set<Performer>();
1515
public MongoDbSetShim<RecordCompany> RecordCompanies => Set<RecordCompany>();
16-
17-
public OperationsDbContext(IMongoDatabase database)
18-
: base(database)
19-
{
20-
}
2116
}

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

+5-8
Original file line numberDiff line numberDiff line change
@@ -8,14 +8,11 @@
88
namespace JsonApiDotNetCoreMongoDbTests.IntegrationTests.AtomicOperations.Transactions;
99

1010
[UsedImplicitly(ImplicitUseKindFlags.InstantiatedNoFixedConstructorSignature)]
11-
public sealed class MusicTrackRepository : MongoRepository<MusicTrack, string?>
11+
public sealed class MusicTrackRepository(
12+
IMongoDataAccess mongoDataAccess, ITargetedFields targetedFields, IResourceGraph resourceGraph, IResourceFactory resourceFactory,
13+
IEnumerable<IQueryConstraintProvider> constraintProviders, IResourceDefinitionAccessor resourceDefinitionAccessor, IQueryableBuilder queryableBuilder)
14+
: MongoRepository<MusicTrack, string?>(mongoDataAccess, targetedFields, resourceGraph, resourceFactory, constraintProviders, resourceDefinitionAccessor,
15+
queryableBuilder)
1216
{
1317
public override string? TransactionId => null;
14-
15-
public MusicTrackRepository(IMongoDataAccess mongoDataAccess, ITargetedFields targetedFields, IResourceGraph resourceGraph,
16-
IResourceFactory resourceFactory, IEnumerable<IQueryConstraintProvider> constraintProviders, IResourceDefinitionAccessor resourceDefinitionAccessor,
17-
IQueryableBuilder queryableBuilder)
18-
: base(mongoDataAccess, targetedFields, resourceGraph, resourceFactory, constraintProviders, resourceDefinitionAccessor, queryableBuilder)
19-
{
20-
}
2118
}

0 commit comments

Comments
 (0)