fix: how references are added

This commit is contained in:
Damien Ostler 2024-02-25 19:38:42 -05:00
parent bc90e226b2
commit bc3202988c
2 changed files with 17 additions and 30 deletions

View File

@ -741,35 +741,6 @@ public class RequestsController : Controller
return Ok(new {paymentUrl = request.PaymentUrl}); return Ok(new {paymentUrl = request.PaymentUrl});
} }
[Authorize("write:request")]
[HttpPost]
[Route("Customer/{requestId:int}/Reference")]
public async Task<IActionResult> AddReference(int requestId, List<IFormFile> referenceImages)
{
var userId = User.GetUserId();
var request = await _dbContext.Requests
.Where(x=>x.UserId==userId)
.FirstOrDefaultAsync(x=>x.Id==requestId);
if(request==null)
return NotFound();
if(request.Accepted)
return BadRequest("Request has already been accepted.");
var references = new List<RequestReference>();
foreach (var file in referenceImages)
{
var reference = new RequestReference()
{
RequestId = requestId,
FileReference = await _storageService.UploadImageAsync(file.OpenReadStream(), Guid.NewGuid().ToString())
};
references.Add(reference);
}
_dbContext.RequestReferences.AddRange(references);
await _dbContext.SaveChangesAsync();
return Ok();
}
[Authorize("write:request")] [Authorize("write:request")]
[HttpPost] [HttpPost]
[Route("Artist/{requestId:int}/Asset")] [Route("Artist/{requestId:int}/Asset")]
@ -1088,7 +1059,7 @@ public class RequestsController : Controller
Completed = false, Completed = false,
CompletedDate = null CompletedDate = null
}; };
_dbContext.Requests.Add(request); var dbRequest = _dbContext.Requests.Add(request).Entity;
await _dbContext.SaveChangesAsync(); await _dbContext.SaveChangesAsync();
var newArtistTriggerModel = new EventCreateData() var newArtistTriggerModel = new EventCreateData()
{ {
@ -1099,6 +1070,20 @@ public class RequestsController : Controller
}, },
Payload = { } Payload = { }
}; };
var references = new List<RequestReference>();
foreach (var file in model.Files)
{
var reference = new RequestReference()
{
RequestId = dbRequest.Id,
FileReference = await _storageService.UploadImageAsync(file.OpenReadStream(), Guid.NewGuid().ToString())
};
references.Add(reference);
}
_dbContext.RequestReferences.AddRange(references);
await _dbContext.SaveChangesAsync();
await _client.Event.Trigger(newArtistTriggerModel); await _client.Event.Trigger(newArtistTriggerModel);
var newTriggerModel = new EventCreateData() var newTriggerModel = new EventCreateData()
{ {

View File

@ -5,4 +5,6 @@ public class RequestCreateModel
public int ArtistId { get; set; } public int ArtistId { get; set; }
public string Message { get; set; } public string Message { get; set; }
public decimal Amount { get; set; } public decimal Amount { get; set; }
public List<IFormFile> Files { get; set; }
} }