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});
}
[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")]
[HttpPost]
[Route("Artist/{requestId:int}/Asset")]
@ -1088,7 +1059,7 @@ public class RequestsController : Controller
Completed = false,
CompletedDate = null
};
_dbContext.Requests.Add(request);
var dbRequest = _dbContext.Requests.Add(request).Entity;
await _dbContext.SaveChangesAsync();
var newArtistTriggerModel = new EventCreateData()
{
@ -1099,6 +1070,20 @@ public class RequestsController : Controller
},
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);
var newTriggerModel = new EventCreateData()
{

View File

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