using System.Threading; using System.Threading.Tasks; using TMDbLib.Objects.Authentication; using TMDbLib.Objects.General; using TMDbLib.Objects.Search; using TMDbLib.Objects.TvShows; using TMDbLib.Rest; namespace TMDbLib.Client { public partial class TMDbClient { public async Task> GetGuestSessionRatedMoviesAsync(int page = 0, CancellationToken cancellationToken = default) { return await GetGuestSessionRatedMoviesAsync(DefaultLanguage, page, cancellationToken).ConfigureAwait(false); } public async Task> GetGuestSessionRatedMoviesAsync(string language, int page = 0, CancellationToken cancellationToken = default) { RequireSessionId(SessionType.GuestSession); RestRequest request = _client.Create("guest_session/{guest_session_id}/rated/movies"); if (page > 0) request.AddParameter("page", page.ToString()); if (!string.IsNullOrEmpty(language)) request.AddParameter("language", language); AddSessionId(request, SessionType.GuestSession, ParameterType.UrlSegment); SearchContainer resp = await request.GetOfT>(cancellationToken).ConfigureAwait(false); return resp; } public async Task> GetGuestSessionRatedTvAsync(int page = 0, CancellationToken cancellationToken = default) { return await GetGuestSessionRatedTvAsync(DefaultLanguage, page, cancellationToken).ConfigureAwait(false); } public async Task> GetGuestSessionRatedTvAsync(string language, int page = 0, CancellationToken cancellationToken = default) { RequireSessionId(SessionType.GuestSession); RestRequest request = _client.Create("guest_session/{guest_session_id}/rated/tv"); if (page > 0) request.AddParameter("page", page.ToString()); if (!string.IsNullOrEmpty(language)) request.AddParameter("language", language); AddSessionId(request, SessionType.GuestSession, ParameterType.UrlSegment); SearchContainer resp = await request.GetOfT>(cancellationToken).ConfigureAwait(false); return resp; } public async Task> GetGuestSessionRatedTvEpisodesAsync(int page = 0, CancellationToken cancellationToken = default) { return await GetGuestSessionRatedTvEpisodesAsync(DefaultLanguage, page, cancellationToken).ConfigureAwait(false); } public async Task> GetGuestSessionRatedTvEpisodesAsync(string language, int page = 0, CancellationToken cancellationToken = default) { RequireSessionId(SessionType.GuestSession); RestRequest request = _client.Create("guest_session/{guest_session_id}/rated/tv/episodes"); if (page > 0) request.AddParameter("page", page.ToString()); if (!string.IsNullOrEmpty(language)) request.AddParameter("language", language); AddSessionId(request, SessionType.GuestSession, ParameterType.UrlSegment); SearchContainer resp = await request.GetOfT>(cancellationToken).ConfigureAwait(false); return resp; } } }