From 04861b6b58dd552f5a309afc249a59707799da37 Mon Sep 17 00:00:00 2001 From: Damien Ostler Date: Thu, 22 Feb 2024 19:24:16 -0500 Subject: [PATCH] fix: new complete request endpoint --- .../Controllers/RequestsController.cs | 30 +++++++++++++++++++ ...ions.app.database.migrator.AssemblyInfo.cs | 2 +- ...database.migrator.AssemblyInfoInputs.cache | 2 +- 3 files changed, 32 insertions(+), 2 deletions(-) diff --git a/src/comissions.app.api/Controllers/RequestsController.cs b/src/comissions.app.api/Controllers/RequestsController.cs index e756b2e..71f4f1f 100644 --- a/src/comissions.app.api/Controllers/RequestsController.cs +++ b/src/comissions.app.api/Controllers/RequestsController.cs @@ -88,6 +88,36 @@ public class RequestsController : Controller return Ok(result); } + [Authorize("write:request")] + [HttpPut] + [Route("Artist/Requests/{requestId:int}/Complete")] + public async Task CompleteRequest(int requestId) + { + var userId = User.GetUserId(); + var request = await _dbContext.Requests + .Include(x=>x.Artist) + .Where(x=>x.Artist.UserId==userId) + .FirstOrDefaultAsync(x=>x.Id==requestId); + + if(request.Accepted==false) + return BadRequest("Request has not been accepted."); + + if (request.Declined) + return BadRequest("Request has already been declined."); + + if(request==null) + return NotFound(); + + request.Completed = true; + request.CompletedDate = DateTime.UtcNow; + _dbContext.Entry(request).State = EntityState.Modified; + await _dbContext.SaveChangesAsync(); + + var result = request.ToModel(); + return Ok(result); + } + + [Authorize("write:request")] [HttpPut] [Route("Artist/Requests/{requestId:int}/Accept")] diff --git a/src/comissions.app.database.migrator/obj/Debug/net8.0/comissions.app.database.migrator.AssemblyInfo.cs b/src/comissions.app.database.migrator/obj/Debug/net8.0/comissions.app.database.migrator.AssemblyInfo.cs index 77cba5d..1be84de 100644 --- a/src/comissions.app.database.migrator/obj/Debug/net8.0/comissions.app.database.migrator.AssemblyInfo.cs +++ b/src/comissions.app.database.migrator/obj/Debug/net8.0/comissions.app.database.migrator.AssemblyInfo.cs @@ -13,7 +13,7 @@ using System.Reflection; [assembly: System.Reflection.AssemblyCompanyAttribute("comissions.app.database.migrator")] [assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] [assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] -[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+5bc3e443a2f74a8662bc9d9b33f85011c7c83c8e")] +[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+8f8b18a46c0d2d56708815efa9b6359a92aa9bdc")] [assembly: System.Reflection.AssemblyProductAttribute("comissions.app.database.migrator")] [assembly: System.Reflection.AssemblyTitleAttribute("comissions.app.database.migrator")] [assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] diff --git a/src/comissions.app.database.migrator/obj/Debug/net8.0/comissions.app.database.migrator.AssemblyInfoInputs.cache b/src/comissions.app.database.migrator/obj/Debug/net8.0/comissions.app.database.migrator.AssemblyInfoInputs.cache index cc29ae0..ba379f0 100644 --- a/src/comissions.app.database.migrator/obj/Debug/net8.0/comissions.app.database.migrator.AssemblyInfoInputs.cache +++ b/src/comissions.app.database.migrator/obj/Debug/net8.0/comissions.app.database.migrator.AssemblyInfoInputs.cache @@ -1 +1 @@ -f91dedd8082e5409f1d82f0648e65b8c2bfd4d0676f8ee6054e8c4e8227f3e84 +f400a3f8c8fe637929ec13e1f2608e512902861c6e8ba22bc4291585fdb672de