fix: add new endpoint to get count of reviews

This commit is contained in:
Damien Ostler 2024-02-27 20:53:05 -05:00
parent ecbcadb5db
commit 08c87e3881

View File

@ -54,7 +54,7 @@ public class ArtistController : Controller
[HttpGet]
[Authorize("read:artist")]
[Route("Reviews")]
public async Task<IActionResult> GetArtistReviews(int offset = 0, int limit = 10)
public async Task<IActionResult> GetArtistReviews([FromQuery]int offset = 0, [FromQuery]int limit = 10)
{
var userId = User.GetUserId();
var Artist = await _dbContext.UserArtists.Include(x=>x.Requests).FirstOrDefaultAsync(Artist=>Artist.UserId==userId);
@ -75,6 +75,30 @@ public class ArtistController : Controller
return Ok(result);
}
[HttpGet]
[Authorize("read:artist")]
[Route("Requests")]
public async Task<IActionResult> ReviewCount()
{
var userId = User.GetUserId();
var Artist = await _dbContext.UserArtists.Include(x=>x.Requests).FirstOrDefaultAsync(Artist=>Artist.UserId==userId);
if(Artist==null)
{
var ArtistRequest = await _dbContext.ArtistRequests.FirstOrDefaultAsync(request=>request.UserId==userId && request.Accepted==false);
if(ArtistRequest!=null)
return BadRequest();
return Unauthorized();
}
var result = Artist.Requests.Where(x=>x.Reviewed).Select(x=> new RequestReviewModel()
{
RequestId = x.Id,
Message = x.ReviewMessage,
Rating = x.Rating.Value
}).ToList().Count;
return Ok(result);
}
[HttpGet]
[Authorize("read:artist")]