public async Task <Result <IImmutableList <BackpackInviteModel> > > Handle(GetBackpackInvites request, CancellationToken cancellationToken) { var isValid = await _validator.IsValidAsync(request); if (!isValid) { return(Result.Failure <IImmutableList <BackpackInviteModel> >("Validation failed")); } var groupInvites = await _context .BackpackInvites .Where(gi => gi.InvitationReceiver.Sub == request.UserSub) .Select(x => new BackpackInviteModel { SenderId = x.InvitationSenderId, BackpackId = x.BackpackId, BackpackName = x.Backpack.Name, InviteId = x.Id, SenderFirstName = x.InvitationSender.FirstName, SenderLastName = x.InvitationSender.LastName }) .ToListAsync(cancellationToken); return(groupInvites.ToImmutableList()); }
public async Task <ActionResult <BackpackInviteModel> > GetBackpackInvitesAsync() { var sub = User.Claims.FirstOrDefault(c => c.Type == "sub")?.Value; var query = new GetBackpackInvites(sub); var result = await _mediator.Send(query); if (result.IsFailure) { return(BadRequest()); } return(Ok(result.Value)); }