Skip to content

Commit 3a0110e

Browse files
committed
fix(#107): duplicate db calls in controller
1 parent 69c4302 commit 3a0110e

File tree

3 files changed

+7
-10
lines changed

3 files changed

+7
-10
lines changed

docs/Errors.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,8 @@ public override async Task<IActionResult> PostAsync([FromBody] MyEntity entity)
3131
return Error(new CustomError("507", "Database is full.", "Theres no more room.", "Sorry."));
3232

3333
if(model.Validations.IsValid == false)
34-
return Errors(model.Validations.Select(v => v.GetErrors()));
35-
34+
return Errors(model.Validations.GetErrors());
35+
3636
// ...
3737
}
3838
```

src/JsonApiDotNetCore/Controllers/JsonApiController.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -64,11 +64,11 @@ public virtual async Task<IActionResult> GetAsync(TId id)
6464
[HttpGet("{id}/relationships/{relationshipName}")]
6565
public virtual async Task<IActionResult> GetRelationshipsAsync(TId id, string relationshipName)
6666
{
67-
var relationship = _resourceService.GetRelationshipsAsync(id, relationshipName);
67+
var relationship = await _resourceService.GetRelationshipsAsync(id, relationshipName);
6868
if(relationship == null)
6969
return NotFound();
7070

71-
return await GetRelationshipAsync(id, relationshipName);
71+
return Ok(relationship);
7272
}
7373

7474
[HttpGet("{id}/{relationshipName}")]

src/JsonApiDotNetCore/Data/DefaultEntityRepository.cs

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ public virtual IQueryable<TEntity> Get()
5151
{
5252
if(_jsonApiContext.QuerySet?.Fields != null && _jsonApiContext.QuerySet.Fields.Any())
5353
return _dbSet.Select(_jsonApiContext.QuerySet?.Fields);
54-
54+
5555
return _dbSet;
5656
}
5757

@@ -92,12 +92,9 @@ public virtual async Task<TEntity> GetAndIncludeAsync(TId id, string relationshi
9292

9393
var result = await Get()
9494
.Include(relationshipName)
95-
.Where(e => e.Id.Equals(id))
96-
.ToListAsync();
97-
98-
_logger.LogDebug($"[JADN] Found {result.Count} entity");
95+
.SingleOrDefaultAsync(e => e.Id.Equals(id));
9996

100-
return result.SingleOrDefault();
97+
return result;
10198
}
10299

103100
public virtual async Task<TEntity> CreateAsync(TEntity entity)

0 commit comments

Comments
 (0)