// Favorite Tweet public Task <ITwitterResult <ITweetDTO[]> > GetFavoriteTweetsAsync(IGetUserFavoriteTweetsParameters parameters, ITwitterRequest request) { var query = _tweetQueryGenerator.GetFavoriteTweetsQuery(parameters, request.ExecutionContext.TweetMode); request.Query.Url = query; request.Query.HttpMethod = HttpMethod.GET; return(_twitterAccessor.ExecuteRequestAsync <ITweetDTO[]>(request)); }
public void Validate(IGetUserFavoriteTweetsParameters parameters) { if (parameters == null) { throw new ArgumentNullException(nameof(parameters)); } _userQueryValidator.ThrowIfUserCannotBeIdentified(parameters.User, $"{nameof(parameters)}.{nameof(parameters.User)}"); }
public ITwitterIterator <ITweet, long?> GetUserFavoriteTweetsIterator(IGetUserFavoriteTweetsParameters parameters) { var favoriteTweetsIterator = _tweetsRequester.GetUserFavoriteTweetsIterator(parameters); return(new TwitterIteratorProxy <ITwitterResult <ITweetDTO[]>, ITweet, long?>(favoriteTweetsIterator, twitterResult => { return twitterResult.Model.Select(x => _client.Factories.CreateTweet(x)).ToArray(); })); }
public void Validate(IGetUserFavoriteTweetsParameters parameters) { _tweetsClientRequiredParametersValidator.Validate(parameters); var maxPageSize = Limits.TWEETS_GET_FAVORITE_TWEETS_MAX_SIZE; if (parameters.PageSize > maxPageSize) { throw new TwitterArgumentLimitException($"{nameof(parameters)}.{nameof(parameters.PageSize)}", maxPageSize, nameof(Limits.TWEETS_GET_FAVORITE_TWEETS_MAX_SIZE), "page size"); } }
public GetUserFavoriteTweetsParameters(IGetUserFavoriteTweetsParameters source) : base(source) { if (source == null) { PageSize = TwitterLimits.DEFAULTS.TWEETS_GET_FAVORITE_TWEETS_MAX_SIZE; return; } User = source.User; IncludeEntities = source.IncludeEntities; }
public string GetFavoriteTweetsQuery(IGetUserFavoriteTweetsParameters parameters, ComputedTweetMode tweetMode) { var userParameter = _userQueryParameterGenerator.GenerateIdOrScreenNameParameter(parameters.User); var query = new StringBuilder(Resources.User_GetFavorites + userParameter); query.AddParameterToQuery("include_entities", parameters.IncludeEntities); _queryParameterGenerator.AddMinMaxQueryParameters(query, parameters); query.AddParameterToQuery("tweet_mode", tweetMode); query.AddFormattedParameterToQuery(parameters.FormattedCustomQueryParameters); return(query.ToString()); }
public void Validate(IGetUserFavoriteTweetsParameters parameters) { _tweetsClientParametersValidator.Validate(parameters); }
// Favorite Tweet public ITwitterPageIterator <ITwitterResult <ITweetDTO[]>, long?> GetFavoriteTweetsIterator(IGetUserFavoriteTweetsParameters parameters, ITwitterRequest request) { return(_pageCursorIteratorFactories.Create(parameters, cursor => { var cursoredParameters = new GetUserFavoriteTweetsParameters(parameters) { MaxId = cursor }; return _tweetQueryExecutor.GetFavoriteTweets(cursoredParameters, new TwitterRequest(request)); })); }
public ITwitterPageIterator <ITwitterResult <ITweetDTO[]>, long?> GetUserFavoriteTweetsIterator(IGetUserFavoriteTweetsParameters parameters) { _tweetsClientRequiredParametersValidator.Validate(parameters); var request = TwitterClient.CreateRequest(); return(_tweetController.GetFavoriteTweetsIterator(parameters, request)); }
public async Task <ITweet[]> GetUserFavoriteTweetsAsync(IGetUserFavoriteTweetsParameters parameters) { var iterator = GetUserFavoriteTweetsIterator(parameters); return((await iterator.NextPageAsync().ConfigureAwait(false)).ToArray()); }