mirror of
https://github.com/D4M13N-D3V/comissions-app-core-api.git
synced 2025-06-16 05:09:09 +00:00
fix: added endpoints for accepting and denying requests
This commit is contained in:
parent
84c1a0bc7f
commit
3338485ec6
@ -28,7 +28,7 @@ public class RequestsController : Controller
|
|||||||
|
|
||||||
[Authorize("read:request")]
|
[Authorize("read:request")]
|
||||||
[HttpGet]
|
[HttpGet]
|
||||||
[Route("Requests")]
|
[Route("Customer/Requests")]
|
||||||
public async Task<IActionResult> GetRequests(string search="",int offset = 0, int pageSize = 10)
|
public async Task<IActionResult> GetRequests(string search="",int offset = 0, int pageSize = 10)
|
||||||
{
|
{
|
||||||
var userId = User.GetUserId();
|
var userId = User.GetUserId();
|
||||||
@ -43,7 +43,7 @@ public class RequestsController : Controller
|
|||||||
|
|
||||||
[Authorize("read:request")]
|
[Authorize("read:request")]
|
||||||
[HttpGet]
|
[HttpGet]
|
||||||
[Route("Requests/{requestId:int}")]
|
[Route("Customer/Requests/{requestId:int}")]
|
||||||
public async Task<IActionResult> GetRequest(int requestId)
|
public async Task<IActionResult> GetRequest(int requestId)
|
||||||
{
|
{
|
||||||
var userId = User.GetUserId();
|
var userId = User.GetUserId();
|
||||||
@ -57,9 +57,83 @@ public class RequestsController : Controller
|
|||||||
return Ok(result);
|
return Ok(result);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[Authorize("read:request")]
|
||||||
|
[HttpGet]
|
||||||
|
[Route("Artist/Requests")]
|
||||||
|
public async Task<IActionResult> GetArtistRequests(string search="",int offset = 0, int pageSize = 10)
|
||||||
|
{
|
||||||
|
var userId = User.GetUserId();
|
||||||
|
var requests = await _dbContext.Requests
|
||||||
|
.Where(x=>x.UserId==userId)
|
||||||
|
.Include(x=>x.Artist)
|
||||||
|
.Where(x=>x.Artist.Name.Contains(search) || x.Message.Contains(search))
|
||||||
|
.Skip(offset).Take(pageSize).ToListAsync();
|
||||||
|
var result = requests.Select(x=>x.ToModel()).ToList();
|
||||||
|
return Ok(result);
|
||||||
|
}
|
||||||
|
|
||||||
|
[Authorize("read:request")]
|
||||||
|
[HttpGet]
|
||||||
|
[Route("Artist/Requests/{requestId:int}")]
|
||||||
|
public async Task<IActionResult> GetArtistRequest(int requestId)
|
||||||
|
{
|
||||||
|
var userId = User.GetUserId();
|
||||||
|
var request = await _dbContext.Requests
|
||||||
|
.Where(x=>x.UserId==userId)
|
||||||
|
.Include(x=>x.Artist)
|
||||||
|
.FirstOrDefaultAsync(x=>x.Id==requestId);
|
||||||
|
if(request==null)
|
||||||
|
return NotFound();
|
||||||
|
var result = request.ToModel();
|
||||||
|
return Ok(result);
|
||||||
|
}
|
||||||
|
|
||||||
|
[Authorize("write:request")]
|
||||||
|
[HttpGet]
|
||||||
|
[Route("Artist/Requests/{requestId:int}")]
|
||||||
|
public async Task<IActionResult> AcceptRequest(int requestId)
|
||||||
|
{
|
||||||
|
var userId = User.GetUserId();
|
||||||
|
var request = await _dbContext.Requests
|
||||||
|
.Where(x=>x.UserId==userId)
|
||||||
|
.Include(x=>x.Artist)
|
||||||
|
.FirstOrDefaultAsync(x=>x.Id==requestId);
|
||||||
|
if(request==null)
|
||||||
|
return NotFound();
|
||||||
|
|
||||||
|
request.Accepted = true;
|
||||||
|
request.AcceptedDate = DateTime.UtcNow;
|
||||||
|
_dbContext.Entry(request).State = EntityState.Modified;
|
||||||
|
await _dbContext.SaveChangesAsync();
|
||||||
|
|
||||||
|
var result = request.ToModel();
|
||||||
|
return Ok(result);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
[Authorize("write:request")]
|
||||||
|
[HttpGet]
|
||||||
|
[Route("Artist/Requests/{requestId:int}")]
|
||||||
|
public async Task<IActionResult> DenyRequest(int requestId)
|
||||||
|
{
|
||||||
|
var userId = User.GetUserId();
|
||||||
|
var request = await _dbContext.Requests
|
||||||
|
.Where(x=>x.UserId==userId)
|
||||||
|
.Include(x=>x.Artist)
|
||||||
|
.FirstOrDefaultAsync(x=>x.Id==requestId);
|
||||||
|
if(request==null)
|
||||||
|
return NotFound();
|
||||||
|
request.Declined = true;
|
||||||
|
request.DeclinedDate = DateTime.UtcNow;
|
||||||
|
_dbContext.Entry(request).State = EntityState.Modified;
|
||||||
|
await _dbContext.SaveChangesAsync();
|
||||||
|
var result = request.ToModel();
|
||||||
|
return Ok(result);
|
||||||
|
}
|
||||||
|
|
||||||
[Authorize("write:request")]
|
[Authorize("write:request")]
|
||||||
[HttpPost]
|
[HttpPost]
|
||||||
[Route("Requests")]
|
[Route("Request")]
|
||||||
public async Task<IActionResult> CreateRequest([FromBody] RequestCreateModel model)
|
public async Task<IActionResult> CreateRequest([FromBody] RequestCreateModel model)
|
||||||
{
|
{
|
||||||
var openRequests = await _dbContext.Requests
|
var openRequests = await _dbContext.Requests
|
||||||
@ -73,7 +147,7 @@ public class RequestsController : Controller
|
|||||||
{
|
{
|
||||||
Amount = model.Amount,
|
Amount = model.Amount,
|
||||||
Message = model.Message,
|
Message = model.Message,
|
||||||
RequestDate = DateTime.Now,
|
RequestDate = DateTime.UtcNow,
|
||||||
UserId = User.GetUserId(),
|
UserId = User.GetUserId(),
|
||||||
ArtistId = model.ArtistId,
|
ArtistId = model.ArtistId,
|
||||||
Accepted = false,
|
Accepted = false,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user