public async Task <IActionResult> GetAllAsync([FromQuery] InviteFilterCommand command, CancellationToken cancellationToken) { var result = await _mediator.Send(command, cancellationToken); return(result.Failures.Any() ? BadRequest(result.GenerateFailuresOutput()) as IActionResult : Ok(result.Data)); }
public async Task <ApiResponse <Pagination <Invite> > > Handle(InviteFilterCommand request, CancellationToken cancellationToken) { var query = _repository.Query(x => (request.MemberId == Guid.Empty || x.MemberId == request.MemberId) && (request.GuildId == Guid.Empty || x.GuildId == request.GuildId), true); var count = query.Count(); var invites = await query.Take(request.Count).ToListAsync(cancellationToken); var invitesPaginated = new Pagination <Invite>(invites, count, request.Count); return(new ApiResponse <Pagination <Invite> >(invitesPaginated)); }