using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; namespace SpotifyAPI.Web { /// /// Endpoints for retrieving information about a user’s playlists and for managing a user’s playlists. /// public interface IPlaylistsClient { /// /// Remove one or more items from a user’s playlist. /// /// The Spotify ID for the playlist. /// The request-model which contains required and optional parameters. /// The cancellation-token to allow to cancel the request. /// /// https://developer.spotify.com/documentation/web-api/reference-beta/#endpoint-remove-tracks-playlist /// /// Task RemoveItems(string playlistId, PlaylistRemoveItemsRequest request, CancellationToken cancel = default); /// /// Add one or more items to a user’s playlist. /// /// The Spotify ID for the playlist. /// The request-model which contains required and optional parameters. /// The cancellation-token to allow to cancel the request. /// /// https://developer.spotify.com/documentation/web-api/reference-beta/#endpoint-add-tracks-to-playlist /// /// Task AddItems(string playlistId, PlaylistAddItemsRequest request, CancellationToken cancel = default); /// /// Get full details of the items of a playlist owned by a Spotify user. /// /// The Spotify ID for the playlist. /// The cancellation-token to allow to cancel the request. /// /// https://developer.spotify.com/documentation/web-api/reference-beta/#endpoint-get-playlists-tracks /// /// Task>> GetItems(string playlistId, CancellationToken cancel = default); /// /// Get full details of the items of a playlist owned by a Spotify user. /// /// The Spotify ID for the playlist. /// The request-model which contains required and optional parameters. /// The cancellation-token to allow to cancel the request. /// /// https://developer.spotify.com/documentation/web-api/reference-beta/#endpoint-get-playlists-tracks /// /// Task>> GetItems(string playlistId, PlaylistGetItemsRequest request, CancellationToken cancel = default); /// /// Create a playlist for a Spotify user. (The playlist will be empty until you add tracks.) /// /// The user’s Spotify user ID. /// The request-model which contains required and optional parameters. /// The cancellation-token to allow to cancel the request. /// /// https://developer.spotify.com/documentation/web-api/reference-beta/#endpoint-create-playlist /// /// Task Create(string userId, PlaylistCreateRequest request, CancellationToken cancel = default); /// /// Replace the image used to represent a specific playlist. /// /// The Spotify ID for the playlist. /// Base64 encoded JPEG image data, maximum payload size is 256 KB. /// The cancellation-token to allow to cancel the request. /// /// https://developer.spotify.com/documentation/web-api/reference-beta/#endpoint-upload-custom-playlist-cover /// /// Task UploadCover(string playlistId, string base64JpgData, CancellationToken cancel = default); /// /// Get the current image associated with a specific playlist. /// /// The Spotify ID for the playlist. /// The cancellation-token to allow to cancel the request. /// /// https://developer.spotify.com/documentation/web-api/reference-beta/#endpoint-get-playlist-cover /// /// Task> GetCovers(string playlistId, CancellationToken cancel = default); /// /// Get a list of the playlists owned or followed by a Spotify user. /// /// The user’s Spotify user ID. /// The cancellation-token to allow to cancel the request. /// /// https://developer.spotify.com/documentation/web-api/reference-beta/#endpoint-get-list-users-playlists /// /// Task> GetUsers(string userId, CancellationToken cancel = default); /// /// Get a list of the playlists owned or followed by a Spotify user. /// /// The user’s Spotify user ID. /// The request-model which contains required and optional parameters. /// The cancellation-token to allow to cancel the request. /// /// https://developer.spotify.com/documentation/web-api/reference-beta/#endpoint-get-list-users-playlists /// /// Task> GetUsers(string userId, PlaylistGetUsersRequest request, CancellationToken cancel = default); /// /// Get a playlist owned by a Spotify user. /// /// The Spotify ID for the playlist. /// The cancellation-token to allow to cancel the request. /// /// https://developer.spotify.com/documentation/web-api/reference-beta/#endpoint-get-playlist /// /// [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1716")] Task Get(string playlistId, CancellationToken cancel = default); /// /// Get a playlist owned by a Spotify user. /// /// The Spotify ID for the playlist. /// The request-model which contains required and optional parameters. /// The cancellation-token to allow to cancel the request. /// /// https://developer.spotify.com/documentation/web-api/reference-beta/#endpoint-get-playlist /// /// [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1716")] Task Get(string playlistId, PlaylistGetRequest request, CancellationToken cancel = default); /// /// Replace all the items in a playlist, overwriting its existing items. /// This powerful request can be useful for replacing items, re-ordering existing items, or clearing the playlist. /// /// The Spotify ID for the playlist. /// The request-model which contains required and optional parameters. /// The cancellation-token to allow to cancel the request. /// /// https://developer.spotify.com/documentation/web-api/reference-beta/#endpoint-replace-playlists-tracks /// /// Task ReplaceItems(string playlistId, PlaylistReplaceItemsRequest request, CancellationToken cancel = default); /// /// Get a list of the playlists owned or followed by the current Spotify user. /// /// The cancellation-token to allow to cancel the request. /// /// https://developer.spotify.com/documentation/web-api/reference-beta/#endpoint-get-a-list-of-current-users-playlists /// /// Task> CurrentUsers(CancellationToken cancel = default); /// /// Get a list of the playlists owned or followed by the current Spotify user. /// /// The request-model which contains required and optional parameters. /// The cancellation-token to allow to cancel the request. /// /// https://developer.spotify.com/documentation/web-api/reference-beta/#endpoint-get-a-list-of-current-users-playlists /// /// Task> CurrentUsers(PlaylistCurrentUsersRequest request, CancellationToken cancel = default); /// /// Change a playlist’s name and public/private state. (The user must, of course, own the playlist.) /// /// The Spotify ID for the playlist. /// The request-model which contains required and optional parameters. /// The cancellation-token to allow to cancel the request. /// /// https://developer.spotify.com/documentation/web-api/reference-beta/#endpoint-change-playlist-details /// /// Task ChangeDetails(string playlistId, PlaylistChangeDetailsRequest request, CancellationToken cancel = default); /// /// Reorder an item or a group of items in a playlist. /// /// The Spotify ID for the playlist. /// The request-model which contains required and optional parameters. /// The cancellation-token to allow to cancel the request. /// /// https://developer.spotify.com/documentation/web-api/reference-beta/#endpoint-reorder-playlists-tracks /// /// Task ReorderItems(string playlistId, PlaylistReorderItemsRequest request, CancellationToken cancel = default); } }