public async Task <ActionResult <BackpackModel> > UpdateBackpackAsync([FromRoute] Guid backpackId, [FromBody] BackpackModelRequest backpack) { var sub = User.Claims.FirstOrDefault(c => c.Type == "sub")?.Value; var command = new UpdateBackpack(sub, backpackId, backpack); var result = await _mediator.Send(command); if (result.IsFailure) { return(BadRequest()); } return(Ok(result.Value)); }
public async Task <Result <BackpackModel> > Handle(UpdateBackpack request, CancellationToken cancellationToken) { var isValid = await _validator.IsValidAsync(request); if (!isValid) { return(Result.Failure <BackpackModel>("Validation failed")); } var backpack = await _context.Backpacks.FirstAsync(b => b.Id == request.BackpackId, cancellationToken); backpack.Name = request.Backpack.Name; await _context.SaveChangesAsync(cancellationToken); return(new BackpackModel { Id = backpack.Id, Name = backpack.Name }); }