fix: request endpont models

This commit is contained in:
Damien Ostler 2024-02-20 00:06:10 -05:00
parent a45cf993cc
commit a9e2d8b237
3 changed files with 14 additions and 2 deletions

View File

@ -31,7 +31,7 @@ public class AdminArtistRequestsController : Controller
[HttpGet] [HttpGet]
public async Task<IActionResult> GetArtistRequests(int offset = 0, int pageSize = 10) public async Task<IActionResult> GetArtistRequests(int offset = 0, int pageSize = 10)
{ {
var requests = _dbContext.ArtistRequests.Where(x=>x.Accepted==false).Skip(offset).Take(pageSize).ToList(); var requests = _dbContext.ArtistRequests.Where(x=>x.Accepted==false) .Skip(offset).Take(pageSize).ToList();
var result = requests.Select(x=>x.ToModel()).ToList(); var result = requests.Select(x=>x.ToModel()).ToList();
return Ok(result); return Ok(result);
} }

View File

@ -62,11 +62,22 @@ public class RequestsController : Controller
[Route("Requests")] [Route("Requests")]
public async Task<IActionResult> CreateRequest([FromBody] RequestModel model) public async Task<IActionResult> CreateRequest([FromBody] RequestModel model)
{ {
var openRequests = await _dbContext.Requests
.Where(x=>x.UserId==User.GetUserId())
.CountAsync();
if(openRequests>3)
return BadRequest("You can only have 3 open requests at a time.");
var request = new Request() var request = new Request()
{ {
Amount = model.Amount, Amount = model.Amount,
Message = model.Message, Message = model.Message,
RequestDate = DateTime.Now RequestDate = DateTime.Now,
Accepted = false,
AcceptedDate = null,
UserId = User.GetUserId(),
ArtistId = model.ArtistId
}; };
_dbContext.Requests.Add(request); _dbContext.Requests.Add(request);
await _dbContext.SaveChangesAsync(); await _dbContext.SaveChangesAsync();

View File

@ -5,6 +5,7 @@ public class RequestModel
public int Id { get; set; } public int Id { get; set; }
public string Message { get; set; } public string Message { get; set; }
public decimal Amount { get; set; } public decimal Amount { get; set; }
public int ArtistId { get; set; }
public string UserId { get; set; } public string UserId { get; set; }
public DateTime RequestDate { get; set; } public DateTime RequestDate { get; set; }
public bool Accepted { get; set; } = false; public bool Accepted { get; set; } = false;