Skip to content

Commit ec2e678

Browse files
authored
Small refactor (#1116)
* Renamed variables and types to be consistent with JSON:API spec, where the vocabulary is 'RelationshipsObject' with its members being a 'Relationship'. * Process review feedback, fixed culture issue in test * fix variable name * Introduced types for attributes and relationships in resource objects * Reintroduced 'data' in schema names of resource objects.
1 parent c948a6a commit ec2e678

36 files changed

+262
-243
lines changed

src/JsonApiDotNetCore.OpenApi/JsonApiObjects/Documents/NullableSecondaryResourceResponseDocument.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
namespace JsonApiDotNetCore.OpenApi.JsonApiObjects.Documents
99
{
1010
[UsedImplicitly(ImplicitUseTargetFlags.Members)]
11-
internal sealed class NullableSecondaryResourceResponseDocument<TResource> : NullableSingleData<ResourceResponseObject<TResource>>
11+
internal sealed class NullableSecondaryResourceResponseDocument<TResource> : NullableSingleData<ResourceObjectInResponse<TResource>>
1212
where TResource : IIdentifiable
1313
{
1414
public IDictionary<string, object> Meta { get; set; } = null!;

src/JsonApiDotNetCore.OpenApi/JsonApiObjects/Documents/PrimaryResourceResponseDocument.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ namespace JsonApiDotNetCore.OpenApi.JsonApiObjects.Documents
1010
// Types in the current namespace are never touched by ASP.NET ModelState validation, therefore using a non-nullable reference type for a property does not
1111
// imply this property is required. Instead, we use [Required] explicitly, because this is how Swashbuckle is instructed to mark properties as required.
1212
[UsedImplicitly(ImplicitUseTargetFlags.Members)]
13-
internal sealed class PrimaryResourceResponseDocument<TResource> : SingleData<ResourceResponseObject<TResource>>
13+
internal sealed class PrimaryResourceResponseDocument<TResource> : SingleData<ResourceObjectInResponse<TResource>>
1414
where TResource : IIdentifiable
1515
{
1616
public IDictionary<string, object> Meta { get; set; } = null!;

src/JsonApiDotNetCore.OpenApi/JsonApiObjects/Documents/ResourceCollectionResponseDocument.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
namespace JsonApiDotNetCore.OpenApi.JsonApiObjects.Documents
99
{
1010
[UsedImplicitly(ImplicitUseTargetFlags.Members)]
11-
internal sealed class ResourceCollectionResponseDocument<TResource> : ManyData<ResourceResponseObject<TResource>>
11+
internal sealed class ResourceCollectionResponseDocument<TResource> : ManyData<ResourceObjectInResponse<TResource>>
1212
where TResource : IIdentifiable
1313
{
1414
public IDictionary<string, object> Meta { get; set; } = null!;

src/JsonApiDotNetCore.OpenApi/JsonApiObjects/Documents/ResourcePatchRequestDocument.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
namespace JsonApiDotNetCore.OpenApi.JsonApiObjects.Documents
66
{
77
[UsedImplicitly(ImplicitUseTargetFlags.Members)]
8-
internal sealed class ResourcePatchRequestDocument<TResource> : SingleData<ResourcePatchRequestObject<TResource>>
8+
internal sealed class ResourcePatchRequestDocument<TResource> : SingleData<ResourceObjectInPatchRequest<TResource>>
99
where TResource : IIdentifiable
1010
{
1111
}

src/JsonApiDotNetCore.OpenApi/JsonApiObjects/Documents/ResourcePostRequestDocument.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
namespace JsonApiDotNetCore.OpenApi.JsonApiObjects.Documents
66
{
77
[UsedImplicitly(ImplicitUseTargetFlags.Members)]
8-
internal sealed class ResourcePostRequestDocument<TResource> : SingleData<ResourcePostRequestObject<TResource>>
8+
internal sealed class ResourcePostRequestDocument<TResource> : SingleData<ResourceObjectInPostRequest<TResource>>
99
where TResource : IIdentifiable
1010
{
1111
}

src/JsonApiDotNetCore.OpenApi/JsonApiObjects/Documents/SecondaryResourceResponseDocument.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
namespace JsonApiDotNetCore.OpenApi.JsonApiObjects.Documents
99
{
1010
[UsedImplicitly(ImplicitUseTargetFlags.Members)]
11-
internal sealed class SecondaryResourceResponseDocument<TResource> : SingleData<ResourceResponseObject<TResource>>
11+
internal sealed class SecondaryResourceResponseDocument<TResource> : SingleData<ResourceObjectInResponse<TResource>>
1212
where TResource : IIdentifiable
1313
{
1414
public IDictionary<string, object> Meta { get; set; } = null!;

src/JsonApiDotNetCore.OpenApi/JsonApiObjects/NonPrimaryDocumentTypeFactory.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
using System;
22
using JsonApiDotNetCore.OpenApi.JsonApiObjects.Documents;
3-
using JsonApiDotNetCore.OpenApi.JsonApiObjects.RelationshipData;
3+
using JsonApiDotNetCore.OpenApi.JsonApiObjects.Relationships;
44
using JsonApiDotNetCore.Resources.Annotations;
55

66
namespace JsonApiDotNetCore.OpenApi.JsonApiObjects
@@ -10,8 +10,8 @@ internal sealed class NonPrimaryDocumentTypeFactory
1010
private static readonly DocumentOpenTypes SecondaryResponseDocumentOpenTypes = new(typeof(ResourceCollectionResponseDocument<>),
1111
typeof(NullableSecondaryResourceResponseDocument<>), typeof(SecondaryResourceResponseDocument<>));
1212

13-
private static readonly DocumentOpenTypes RelationshipRequestDocumentOpenTypes = new(typeof(ToManyRelationshipRequestData<>),
14-
typeof(NullableToOneRelationshipRequestData<>), typeof(ToOneRelationshipRequestData<>));
13+
private static readonly DocumentOpenTypes RelationshipRequestDocumentOpenTypes = new(typeof(ToManyRelationshipInRequest<>),
14+
typeof(NullableToOneRelationshipInRequest<>), typeof(ToOneRelationshipInRequest<>));
1515

1616
private static readonly DocumentOpenTypes RelationshipResponseDocumentOpenTypes = new(typeof(ResourceIdentifierCollectionResponseDocument<>),
1717
typeof(NullableResourceIdentifierResponseDocument<>), typeof(ResourceIdentifierResponseDocument<>));

src/JsonApiDotNetCore.OpenApi/JsonApiObjects/RelationshipDataTypeFactory.cs renamed to src/JsonApiDotNetCore.OpenApi/JsonApiObjects/RelationshipTypeFactory.cs

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
using System;
2-
using JsonApiDotNetCore.OpenApi.JsonApiObjects.RelationshipData;
2+
using JsonApiDotNetCore.OpenApi.JsonApiObjects.Relationships;
33
using JsonApiDotNetCore.Resources.Annotations;
44

55
namespace JsonApiDotNetCore.OpenApi.JsonApiObjects
66
{
7-
internal sealed class RelationshipDataTypeFactory
7+
internal sealed class RelationshipTypeFactory
88
{
9-
public static RelationshipDataTypeFactory Instance { get; } = new();
9+
public static RelationshipTypeFactory Instance { get; } = new();
1010

11-
private RelationshipDataTypeFactory()
11+
private RelationshipTypeFactory()
1212
{
1313
}
1414

@@ -26,10 +26,10 @@ public Type GetForResponse(RelationshipAttribute relationship)
2626
// @formatter:nested_ternary_style expanded
2727

2828
Type relationshipDataOpenType = relationship is HasManyAttribute
29-
? typeof(ToManyRelationshipResponseData<>)
29+
? typeof(ToManyRelationshipInResponse<>)
3030
: relationship.IsNullable()
31-
? typeof(NullableToOneRelationshipResponseData<>)
32-
: typeof(ToOneRelationshipResponseData<>);
31+
? typeof(NullableToOneRelationshipInResponse<>)
32+
: typeof(ToOneRelationshipInResponse<>);
3333

3434
// @formatter:nested_ternary_style restore
3535

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@
22
using JsonApiDotNetCore.OpenApi.JsonApiObjects.ResourceObjects;
33
using JsonApiDotNetCore.Resources;
44

5-
namespace JsonApiDotNetCore.OpenApi.JsonApiObjects.RelationshipData
5+
namespace JsonApiDotNetCore.OpenApi.JsonApiObjects.Relationships
66
{
77
[UsedImplicitly(ImplicitUseTargetFlags.Members)]
8-
internal sealed class NullableToOneRelationshipRequestData<TResource> : NullableSingleData<ResourceIdentifierObject<TResource>>
8+
internal sealed class NullableToOneRelationshipInRequest<TResource> : NullableSingleData<ResourceIdentifierObject<TResource>>
99
where TResource : IIdentifiable
1010
{
1111
}
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,10 @@
55
using JsonApiDotNetCore.OpenApi.JsonApiObjects.ResourceObjects;
66
using JsonApiDotNetCore.Resources;
77

8-
namespace JsonApiDotNetCore.OpenApi.JsonApiObjects.RelationshipData
8+
namespace JsonApiDotNetCore.OpenApi.JsonApiObjects.Relationships
99
{
1010
[UsedImplicitly(ImplicitUseTargetFlags.Members)]
11-
internal sealed class NullableToOneRelationshipResponseData<TResource> : NullableSingleData<ResourceIdentifierObject<TResource>>
11+
internal sealed class NullableToOneRelationshipInResponse<TResource> : NullableSingleData<ResourceIdentifierObject<TResource>>
1212
where TResource : IIdentifiable
1313
{
1414
[Required]

0 commit comments

Comments
 (0)