mirror of
https://github.com/D4M13N-D3V/comissions-app-core-api.git
synced 2025-03-14 10:04:55 +00:00
fix: added more control over artist request listing
This commit is contained in:
parent
6908225f21
commit
c497a8505f
@ -723,15 +723,42 @@ public class RequestsController : Controller
|
||||
[Authorize("read:request")]
|
||||
[HttpGet]
|
||||
[Route("Artist/Requests")]
|
||||
public async Task<IActionResult> GetArtistRequests(string search="",int offset = 0, int pageSize = 10)
|
||||
public async Task<IActionResult> GetArtistRequests([FromQuery]bool completed = true, [FromQuery]bool declined = true, [FromQuery]bool accepted = true, [FromQuery]bool paid = true,
|
||||
string search="",int offset = 0, int pageSize = 10)
|
||||
{
|
||||
var userId = User.GetUserId();
|
||||
var requests = await _dbContext.Requests
|
||||
.Include(x=>x.Artist)
|
||||
.Where(x=>x.Artist.UserId==userId)
|
||||
.Where(x=>x.Artist.Name.Contains(search) || x.Message.Contains(search))
|
||||
.Skip(offset).Take(pageSize).ToListAsync();
|
||||
var result = requests.Select(x=>x.ToModel()).ToList();
|
||||
var query = _dbContext.Requests.Include(x=>x.Artist)
|
||||
.Where(x => x.Artist.UserId == userId);
|
||||
|
||||
if (completed)
|
||||
{
|
||||
query = query.Where(x => x.Completed );
|
||||
}
|
||||
if (declined)
|
||||
{
|
||||
query = query.Where(x => x.Declined);
|
||||
}
|
||||
if (accepted)
|
||||
{
|
||||
query = query.Where(x => x.Accepted);
|
||||
}
|
||||
if (paid)
|
||||
{
|
||||
query = query.Where(x => x.Paid);
|
||||
}
|
||||
|
||||
if (!string.IsNullOrWhiteSpace(search))
|
||||
{
|
||||
query = query.Where(x => x.Artist.Name.Contains(search) || x.Message.Contains(search));
|
||||
}
|
||||
|
||||
var requests = await query
|
||||
.Include(x => x.Artist)
|
||||
.Skip(offset)
|
||||
.Take(pageSize)
|
||||
.ToListAsync();
|
||||
|
||||
var result = requests.Select(x => x.ToModel()).ToList();
|
||||
return Ok(result);
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user