Skip to content

Commit 491a6cb

Browse files
authored
Merge pull request #403 from btecu/services
Remove `DocumentData`, instead use `ResourceObject`
2 parents b6ce80d + 1a9fd65 commit 491a6cb

File tree

21 files changed

+61
-74
lines changed

21 files changed

+61
-74
lines changed

benchmarks/Serialization/JsonApiDeserializer_Benchmarks.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ namespace Benchmarks.Serialization {
1717
public class JsonApiDeserializer_Benchmarks {
1818
private const string TYPE_NAME = "simple-types";
1919
private static readonly string Content = JsonConvert.SerializeObject(new Document {
20-
Data = new DocumentData {
20+
Data = new ResourceObject {
2121
Type = TYPE_NAME,
2222
Id = "1",
2323
Attributes = new Dictionary<string, object> {

src/Examples/JsonApiDotNetCoreExample/Controllers/TodoItemsCustomController.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,7 @@ public virtual async Task<IActionResult> PatchAsync(TId id, [FromBody] T entity)
126126
}
127127

128128
[HttpPatch("{id}/relationships/{relationshipName}")]
129-
public virtual async Task<IActionResult> PatchRelationshipsAsync(TId id, string relationshipName, [FromBody] List<DocumentData> relationships)
129+
public virtual async Task<IActionResult> PatchRelationshipsAsync(TId id, string relationshipName, [FromBody] List<ResourceObject> relationships)
130130
{
131131
await _resourceService.UpdateRelationshipsAsync(id, relationshipName, relationships);
132132
return Ok();

src/Examples/NoEntityFrameworkExample/Services/TodoItemService.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ public Task<TodoItem> UpdateAsync(int id, TodoItem entity)
8484
throw new NotImplementedException();
8585
}
8686

87-
public Task UpdateRelationshipsAsync(int id, string relationshipName, List<DocumentData> relationships)
87+
public Task UpdateRelationshipsAsync(int id, string relationshipName, List<ResourceObject> relationships)
8888
{
8989
throw new NotImplementedException();
9090
}

src/JsonApiDotNetCore/Builders/DocumentBuilder.cs

Lines changed: 16 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ public Documents Build(IEnumerable<IIdentifiable> entities)
5858
var enumeratedEntities = entities as IList<IIdentifiable> ?? entities.ToList();
5959
var documents = new Documents
6060
{
61-
Data = new List<DocumentData>(),
61+
Data = new List<ResourceObject>(),
6262
Meta = GetMeta(enumeratedEntities.FirstOrDefault())
6363
};
6464

@@ -95,7 +95,7 @@ private Dictionary<string, object> GetMeta(IIdentifiable entity)
9595

9696
private bool ShouldIncludePageLinks(ContextEntity entity) => entity.Links.HasFlag(Link.Paging);
9797

98-
private List<DocumentData> AppendIncludedObject(List<DocumentData> includedObject, ContextEntity contextEntity, IIdentifiable entity)
98+
private List<ResourceObject> AppendIncludedObject(List<ResourceObject> includedObject, ContextEntity contextEntity, IIdentifiable entity)
9999
{
100100
var includedEntities = GetIncludedEntities(includedObject, contextEntity, entity);
101101
if (includedEntities?.Count > 0)
@@ -107,13 +107,12 @@ private List<DocumentData> AppendIncludedObject(List<DocumentData> includedObjec
107107
}
108108

109109
[Obsolete("You should specify an IResourceDefinition implementation using the GetData/3 overload.")]
110-
public DocumentData GetData(ContextEntity contextEntity, IIdentifiable entity)
110+
public ResourceObject GetData(ContextEntity contextEntity, IIdentifiable entity)
111111
=> GetData(contextEntity, entity, resourceDefinition: null);
112112

113-
public DocumentData GetData(ContextEntity contextEntity, IIdentifiable entity, IResourceDefinition resourceDefinition = null)
113+
public ResourceObject GetData(ContextEntity contextEntity, IIdentifiable entity, IResourceDefinition resourceDefinition = null)
114114
{
115-
var data = new DocumentData
116-
{
115+
var data = new ResourceObject {
117116
Type = contextEntity.EntityName,
118117
Id = entity.StringId
119118
};
@@ -151,7 +150,7 @@ private bool OmitNullValuedAttribute(AttrAttribute attr, object attributeValue)
151150
return attributeValue == null && _documentBuilderOptions.OmitNullValuedAttributes;
152151
}
153152

154-
private void AddRelationships(DocumentData data, ContextEntity contextEntity, IIdentifiable entity)
153+
private void AddRelationships(ResourceObject data, ContextEntity contextEntity, IIdentifiable entity)
155154
{
156155
data.Relationships = new Dictionary<string, RelationshipData>();
157156
contextEntity.Relationships.ForEach(r =>
@@ -192,9 +191,9 @@ private RelationshipData GetRelationshipData(RelationshipAttribute attr, Context
192191
return relationshipData;
193192
}
194193

195-
private List<DocumentData> GetIncludedEntities(List<DocumentData> included, ContextEntity rootContextEntity, IIdentifiable rootResource)
194+
private List<ResourceObject> GetIncludedEntities(List<ResourceObject> included, ContextEntity rootContextEntity, IIdentifiable rootResource)
196195
{
197-
if(_jsonApiContext.IncludedRelationships != null)
196+
if (_jsonApiContext.IncludedRelationships != null)
198197
{
199198
foreach(var relationshipName in _jsonApiContext.IncludedRelationships)
200199
{
@@ -209,8 +208,8 @@ private List<DocumentData> GetIncludedEntities(List<DocumentData> included, Cont
209208
return included;
210209
}
211210

212-
private List<DocumentData> IncludeRelationshipChain(
213-
List<DocumentData> included, ContextEntity parentEntity, IIdentifiable parentResource, string[] relationshipChain, int relationshipChainIndex)
211+
private List<ResourceObject> IncludeRelationshipChain(
212+
List<ResourceObject> included, ContextEntity parentEntity, IIdentifiable parentResource, string[] relationshipChain, int relationshipChainIndex)
214213
{
215214
var requestedRelationship = relationshipChain[relationshipChainIndex];
216215
var relationship = parentEntity.Relationships.FirstOrDefault(r => r.PublicRelationshipName == requestedRelationship);
@@ -232,10 +231,10 @@ private List<DocumentData> IncludeRelationshipChain(
232231
return included;
233232
}
234233

235-
private List<DocumentData> IncludeSingleResourceRelationships(
236-
List<DocumentData> included, IIdentifiable navigationEntity, RelationshipAttribute relationship, string[] relationshipChain, int relationshipChainIndex)
234+
private List<ResourceObject> IncludeSingleResourceRelationships(
235+
List<ResourceObject> included, IIdentifiable navigationEntity, RelationshipAttribute relationship, string[] relationshipChain, int relationshipChainIndex)
237236
{
238-
if(relationshipChainIndex < relationshipChain.Length)
237+
if (relationshipChainIndex < relationshipChain.Length)
239238
{
240239
var nextContextEntity = _jsonApiContext.ContextGraph.GetContextEntity(relationship.Type);
241240
var resource = (IIdentifiable)navigationEntity;
@@ -248,12 +247,12 @@ private List<DocumentData> IncludeSingleResourceRelationships(
248247
}
249248

250249

251-
private List<DocumentData> AddIncludedEntity(List<DocumentData> entities, IIdentifiable entity)
250+
private List<ResourceObject> AddIncludedEntity(List<ResourceObject> entities, IIdentifiable entity)
252251
{
253252
var includedEntity = GetIncludedEntity(entity);
254253

255254
if (entities == null)
256-
entities = new List<DocumentData>();
255+
entities = new List<ResourceObject>();
257256

258257
if (includedEntity != null && entities.Any(doc =>
259258
string.Equals(doc.Id, includedEntity.Id) && string.Equals(doc.Type, includedEntity.Type)) == false)
@@ -264,7 +263,7 @@ private List<DocumentData> AddIncludedEntity(List<DocumentData> entities, IIdent
264263
return entities;
265264
}
266265

267-
private DocumentData GetIncludedEntity(IIdentifiable entity)
266+
private ResourceObject GetIncludedEntity(IIdentifiable entity)
268267
{
269268
if (entity == null) return null;
270269

src/JsonApiDotNetCore/Builders/IDocumentBuilder.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ public interface IDocumentBuilder
1111
Documents Build(IEnumerable<IIdentifiable> entities);
1212

1313
[Obsolete("You should specify an IResourceDefinition implementation using the GetData/3 overload.")]
14-
DocumentData GetData(ContextEntity contextEntity, IIdentifiable entity);
15-
DocumentData GetData(ContextEntity contextEntity, IIdentifiable entity, IResourceDefinition resourceDefinition = null);
14+
ResourceObject GetData(ContextEntity contextEntity, IIdentifiable entity);
15+
ResourceObject GetData(ContextEntity contextEntity, IIdentifiable entity, IResourceDefinition resourceDefinition = null);
1616
}
1717
}

src/JsonApiDotNetCore/Controllers/BaseJsonApiController.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -181,7 +181,7 @@ public virtual async Task<IActionResult> PatchAsync(TId id, [FromBody] T entity)
181181
return Ok(updatedEntity);
182182
}
183183

184-
public virtual async Task<IActionResult> PatchRelationshipsAsync(TId id, string relationshipName, [FromBody] List<DocumentData> relationships)
184+
public virtual async Task<IActionResult> PatchRelationshipsAsync(TId id, string relationshipName, [FromBody] List<ResourceObject> relationships)
185185
{
186186
if (_updateRelationships == null) throw Exceptions.UnSupportedRequestMethod;
187187

src/JsonApiDotNetCore/Controllers/JsonApiCmdController.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ public override async Task<IActionResult> PatchAsync(TId id, [FromBody] T entity
3535

3636
[HttpPatch("{id}/relationships/{relationshipName}")]
3737
public override async Task<IActionResult> PatchRelationshipsAsync(
38-
TId id, string relationshipName, [FromBody] List<DocumentData> relationships)
38+
TId id, string relationshipName, [FromBody] List<ResourceObject> relationships)
3939
=> await base.PatchRelationshipsAsync(id, relationshipName, relationships);
4040

4141
[HttpDelete("{id}")]

src/JsonApiDotNetCore/Controllers/JsonApiController.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ public override async Task<IActionResult> PatchAsync(TId id, [FromBody] T entity
8888

8989
[HttpPatch("{id}/relationships/{relationshipName}")]
9090
public override async Task<IActionResult> PatchRelationshipsAsync(
91-
TId id, string relationshipName, [FromBody] List<DocumentData> relationships)
91+
TId id, string relationshipName, [FromBody] List<ResourceObject> relationships)
9292
=> await base.PatchRelationshipsAsync(id, relationshipName, relationships);
9393

9494
[HttpDelete("{id}")]

src/JsonApiDotNetCore/Models/Document.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,6 @@ namespace JsonApiDotNetCore.Models
55
public class Document : DocumentBase
66
{
77
[JsonProperty("data")]
8-
public DocumentData Data { get; set; }
8+
public ResourceObject Data { get; set; }
99
}
1010
}

src/JsonApiDotNetCore/Models/DocumentBase.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ public class DocumentBase
99
public RootLinks Links { get; set; }
1010

1111
[JsonProperty("included", NullValueHandling = NullValueHandling.Ignore)]
12-
public List<DocumentData> Included { get; set; }
12+
public List<ResourceObject> Included { get; set; }
1313

1414
[JsonProperty("meta", NullValueHandling = NullValueHandling.Ignore)]
1515
public Dictionary<string, object> Meta { get; set; }

0 commit comments

Comments
 (0)