public async Task <IActionResult> SearchInFeed(string feedId, [FromBody] SearchArticlesInFeedQuery searchArticlesInFeedQuery, CancellationToken cancellationToken)
        {
            var userId = User.FindFirst(ClaimTypes.NameIdentifier).Value;

            searchArticlesInFeedQuery.UserId = userId;
            searchArticlesInFeedQuery.FeedId = feedId;
            var result = await _mediator.Send(searchArticlesInFeedQuery, cancellationToken);

            return(new OkObjectResult(result));
        }
        public async Task <SearchQueryResult <ArticleQueryResult> > Handle(SearchArticlesInFeedQuery request, CancellationToken cancellationToken)
        {
            var feed = await _feedService.Get(request.FeedId, cancellationToken);

            if (feed.UserId != request.UserId)
            {
                _logger.LogError($"the user {request.UserId} doesn't have the right to access to the feed {request.FeedId}");
                throw new NewsAggregatorUnauthorizedException(string.Format(Global.CannotAccessToTheFeed, request.FeedId));
            }

            return(await _articleQueryRepository.SearchInFeed(new SearchArticlesInFeedParameter
            {
                Count = request.Count,
                Direction = request.Direction,
                FeedId = request.FeedId,
                Order = request.Order,
                StartIndex = request.StartIndex,
                UserId = request.UserId
            }, cancellationToken));
        }