mirror of
				https://github.com/D4M13N-D3V/comissions-app-core-api.git
				synced 2025-10-31 17:45:26 +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
	 Damien Ostler
						Damien Ostler