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,14 +723,41 @@ public class RequestsController : Controller
|
|||||||
[Authorize("read:request")]
|
[Authorize("read:request")]
|
||||||
[HttpGet]
|
[HttpGet]
|
||||||
[Route("Artist/Requests")]
|
[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 userId = User.GetUserId();
|
||||||
var requests = await _dbContext.Requests
|
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)
|
.Include(x => x.Artist)
|
||||||
.Where(x=>x.Artist.UserId==userId)
|
.Skip(offset)
|
||||||
.Where(x=>x.Artist.Name.Contains(search) || x.Message.Contains(search))
|
.Take(pageSize)
|
||||||
.Skip(offset).Take(pageSize).ToListAsync();
|
.ToListAsync();
|
||||||
|
|
||||||
var result = requests.Select(x => x.ToModel()).ToList();
|
var result = requests.Select(x => x.ToModel()).ToList();
|
||||||
return Ok(result);
|
return Ok(result);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user