using System.Collections.Generic;
using System.Threading;
using System.Threading.Tasks;
using TMDbLib.Objects.Discover;
using TMDbLib.Objects.General;
using TMDbLib.Rest;
using TMDbLib.Utilities;
namespace TMDbLib.Client
{
public partial class TMDbClient
{
///
/// Can be used to discover movies matching certain criteria
///
public DiscoverMovie DiscoverMoviesAsync()
{
return new DiscoverMovie(this);
}
internal async Task> DiscoverPerformAsync(string endpoint, string language, int page, SimpleNamedValueCollection parameters, CancellationToken cancellationToken = default)
{
RestRequest request = _client.Create(endpoint);
if (page != 1 && page > 1)
request.AddParameter("page", page.ToString());
if (!string.IsNullOrWhiteSpace(language))
request.AddParameter("language", language);
foreach (KeyValuePair pair in parameters)
request.AddParameter(pair.Key, pair.Value);
SearchContainer response = await request.GetOfT>(cancellationToken).ConfigureAwait(false);
return response;
}
///
/// Can be used to discover new tv shows matching certain criteria
///
public DiscoverTv DiscoverTvShowsAsync()
{
return new DiscoverTv(this);
}
}
}