Spotify.NET/SpotifyAPI.Web/Clients/Interfaces/IShowsClient.cs
Sascha Kiefer b8a2190168
feat: allow to pass cancellation token to requests (#813)
* feat: implements markets API

* fix: use correct constructor name

* feat: allow to pass a cancellation token

* pass cancellation token

* pass cancellation token only >NETSTANDARD2_1

Co-authored-by: Jonas Dellinger <jonas@dellinger.dev>
2022-11-18 12:30:09 +01:00

73 lines
3.5 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using System.Threading;
using System.Threading.Tasks;
namespace SpotifyAPI.Web
{
/// <summary>
/// Endpoints for retrieving information about one or more shows from the Spotify catalog.
/// </summary>
public interface IShowsClient
{
/// <summary>
/// Get Spotify catalog information for a single show identified by its unique Spotify ID.
/// </summary>
/// <param name="showId">The Spotify ID for the show.</param>
/// <param name="cancel">The cancellation-token to allow to cancel the request.</param>
/// <remarks>
/// https://developer.spotify.com/documentation/web-api/reference-beta/#endpoint-get-a-show
/// </remarks>
/// <returns></returns>
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1716")]
Task<FullShow> Get(string showId, CancellationToken cancel = default);
/// <summary>
/// Get Spotify catalog information for a single show identified by its unique Spotify ID.
/// </summary>
/// <param name="showId">The Spotify ID for the show.</param>
/// <param name="request">The request-model which contains required and optional parameters.</param>
/// <param name="cancel">The cancellation-token to allow to cancel the request.</param>
/// <remarks>
/// https://developer.spotify.com/documentation/web-api/reference-beta/#endpoint-get-a-show
/// </remarks>
/// <returns></returns>
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1716")]
Task<FullShow> Get(string showId, ShowRequest request, CancellationToken cancel = default);
/// <summary>
/// Get Spotify catalog information for several shows based on their Spotify IDs.
/// </summary>
/// <param name="request">The request-model which contains required and optional parameters.</param>
/// <param name="cancel">The cancellation-token to allow to cancel the request.</param>
/// <remarks>
/// https://developer.spotify.com/documentation/web-api/reference-beta/#endpoint-get-multiple-shows
/// </remarks>
/// <returns></returns>
Task<ShowsResponse> GetSeveral(ShowsRequest request, CancellationToken cancel = default);
/// <summary>
/// Get Spotify catalog information about an shows episodes.
/// Optional parameters can be used to limit the number of episodes returned.
/// </summary>
/// <param name="showId">The Spotify ID for the show.</param>
/// <param name="cancel">The cancellation-token to allow to cancel the request.</param>
/// <remarks>
/// https://developer.spotify.com/documentation/web-api/reference-beta/#endpoint-get-a-shows-episodes
/// </remarks>
/// <returns></returns>
Task<Paging<SimpleEpisode>> GetEpisodes(string showId, CancellationToken cancel = default);
/// <summary>
/// Get Spotify catalog information about an shows episodes.
/// Optional parameters can be used to limit the number of episodes returned.
/// </summary>
/// <param name="showId">The Spotify ID for the show.</param>
/// <param name="request">The request-model which contains required and optional parameters.</param>
/// <param name="cancel">The cancellation-token to allow to cancel the request.</param>
/// <remarks>
/// https://developer.spotify.com/documentation/web-api/reference-beta/#endpoint-get-a-shows-episodes
/// </remarks>
/// <returns></returns>
Task<Paging<SimpleEpisode>> GetEpisodes(string showId, ShowEpisodesRequest request, CancellationToken cancel = default);
}
}