From 0a6570632b987feb53d51902507e9f68fdc05188 Mon Sep 17 00:00:00 2001 From: Jonas Dellinger Date: Sun, 31 May 2020 16:57:58 +0200 Subject: [PATCH] Finished inline XML docs for now :party: #451 --- .../Clients/Interfaces/IAlbumsClient.cs | 3 ++ .../Clients/Interfaces/IArtistsClient.cs | 3 ++ .../Clients/Interfaces/IBrowseClient.cs | 3 ++ .../Clients/Interfaces/IEpisodesClient.cs | 3 ++ .../Clients/Interfaces/IFollowClient.cs | 3 ++ .../Clients/Interfaces/ILibraryClient.cs | 4 ++ .../Interfaces/IPersonalizationClient.cs | 3 ++ .../Clients/Interfaces/IPlayerClient.cs | 7 +++ .../Clients/Interfaces/IPlaylistsClient.cs | 3 ++ .../Clients/Interfaces/ISearchClient.cs | 3 ++ .../Clients/Interfaces/IShowsClient.cs | 3 ++ .../Clients/Interfaces/ITracksClient.cs | 52 ++++++++++++++++++- .../Clients/Interfaces/IUserProfileClient.cs | 4 +- SpotifyAPI.Web/Models/Request/TrackRequest.cs | 5 ++ .../Request/TracksAudioFeaturesRequest.cs | 8 +++ .../Models/Request/TracksRequest.cs | 13 +++++ 16 files changed, 118 insertions(+), 2 deletions(-) diff --git a/SpotifyAPI.Web/Clients/Interfaces/IAlbumsClient.cs b/SpotifyAPI.Web/Clients/Interfaces/IAlbumsClient.cs index b8c9d9a8..0c2f9c65 100644 --- a/SpotifyAPI.Web/Clients/Interfaces/IAlbumsClient.cs +++ b/SpotifyAPI.Web/Clients/Interfaces/IAlbumsClient.cs @@ -2,6 +2,9 @@ using System.Threading.Tasks; namespace SpotifyAPI.Web { + /// + /// Endpoints for retrieving information about one or more albums from the Spotify catalog. + /// public interface IAlbumsClient { /// diff --git a/SpotifyAPI.Web/Clients/Interfaces/IArtistsClient.cs b/SpotifyAPI.Web/Clients/Interfaces/IArtistsClient.cs index 53032cb7..b74675d7 100644 --- a/SpotifyAPI.Web/Clients/Interfaces/IArtistsClient.cs +++ b/SpotifyAPI.Web/Clients/Interfaces/IArtistsClient.cs @@ -2,6 +2,9 @@ using System.Threading.Tasks; namespace SpotifyAPI.Web { + /// + /// Endpoints for retrieving information about one or more artists from the Spotify catalog. + /// public interface IArtistsClient { /// diff --git a/SpotifyAPI.Web/Clients/Interfaces/IBrowseClient.cs b/SpotifyAPI.Web/Clients/Interfaces/IBrowseClient.cs index 955437c7..7ee3636c 100644 --- a/SpotifyAPI.Web/Clients/Interfaces/IBrowseClient.cs +++ b/SpotifyAPI.Web/Clients/Interfaces/IBrowseClient.cs @@ -2,6 +2,9 @@ using System.Threading.Tasks; namespace SpotifyAPI.Web { + /// + /// Endpoints for getting playlists and new album releases featured on Spotify’s Browse tab. + /// public interface IBrowseClient { /// diff --git a/SpotifyAPI.Web/Clients/Interfaces/IEpisodesClient.cs b/SpotifyAPI.Web/Clients/Interfaces/IEpisodesClient.cs index 0d720ed3..0c18eba3 100644 --- a/SpotifyAPI.Web/Clients/Interfaces/IEpisodesClient.cs +++ b/SpotifyAPI.Web/Clients/Interfaces/IEpisodesClient.cs @@ -2,6 +2,9 @@ using System.Threading.Tasks; namespace SpotifyAPI.Web { + /// + /// Endpoints for retrieving information about one or more episodes from the Spotify catalog. + /// public interface IEpisodesClient { /// diff --git a/SpotifyAPI.Web/Clients/Interfaces/IFollowClient.cs b/SpotifyAPI.Web/Clients/Interfaces/IFollowClient.cs index 8a80764f..0874c6af 100644 --- a/SpotifyAPI.Web/Clients/Interfaces/IFollowClient.cs +++ b/SpotifyAPI.Web/Clients/Interfaces/IFollowClient.cs @@ -3,6 +3,9 @@ using System.Threading.Tasks; namespace SpotifyAPI.Web { + /// + /// Endpoints for managing the artists, users, and playlists that a Spotify user follows. + /// public interface IFollowClient { /// diff --git a/SpotifyAPI.Web/Clients/Interfaces/ILibraryClient.cs b/SpotifyAPI.Web/Clients/Interfaces/ILibraryClient.cs index 9ca871ee..5e84d35d 100644 --- a/SpotifyAPI.Web/Clients/Interfaces/ILibraryClient.cs +++ b/SpotifyAPI.Web/Clients/Interfaces/ILibraryClient.cs @@ -3,6 +3,10 @@ using System.Threading.Tasks; namespace SpotifyAPI.Web { + /// + /// Endpoints for retrieving information about, + /// and managing, tracks that the current user has saved in their “Your Music” library. + /// public interface ILibraryClient { /// diff --git a/SpotifyAPI.Web/Clients/Interfaces/IPersonalizationClient.cs b/SpotifyAPI.Web/Clients/Interfaces/IPersonalizationClient.cs index 34c4d2b3..e80dcce1 100644 --- a/SpotifyAPI.Web/Clients/Interfaces/IPersonalizationClient.cs +++ b/SpotifyAPI.Web/Clients/Interfaces/IPersonalizationClient.cs @@ -2,6 +2,9 @@ using System.Threading.Tasks; namespace SpotifyAPI.Web { + /// + /// Endpoints for retrieving information about the user’s listening habits. + /// public interface IPersonalizationClient { /// diff --git a/SpotifyAPI.Web/Clients/Interfaces/IPlayerClient.cs b/SpotifyAPI.Web/Clients/Interfaces/IPlayerClient.cs index 615a4876..de7d9ca2 100644 --- a/SpotifyAPI.Web/Clients/Interfaces/IPlayerClient.cs +++ b/SpotifyAPI.Web/Clients/Interfaces/IPlayerClient.cs @@ -3,6 +3,13 @@ using System.Threading.Tasks; namespace SpotifyAPI.Web { + /// + /// Player Endpoints. + /// These endpoints are in beta. + /// While we encourage you to build with them, a situation may arise + /// where we need to disable some or all of the functionality and/or change how + /// they work without prior notice. Please report any issues via our developer community forum. + /// public interface IPlayerClient { /// diff --git a/SpotifyAPI.Web/Clients/Interfaces/IPlaylistsClient.cs b/SpotifyAPI.Web/Clients/Interfaces/IPlaylistsClient.cs index 7932d843..ce6c0786 100644 --- a/SpotifyAPI.Web/Clients/Interfaces/IPlaylistsClient.cs +++ b/SpotifyAPI.Web/Clients/Interfaces/IPlaylistsClient.cs @@ -3,6 +3,9 @@ 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 { /// diff --git a/SpotifyAPI.Web/Clients/Interfaces/ISearchClient.cs b/SpotifyAPI.Web/Clients/Interfaces/ISearchClient.cs index f479ff3e..ddb5be67 100644 --- a/SpotifyAPI.Web/Clients/Interfaces/ISearchClient.cs +++ b/SpotifyAPI.Web/Clients/Interfaces/ISearchClient.cs @@ -2,6 +2,9 @@ using System.Threading.Tasks; namespace SpotifyAPI.Web { + /// + /// Search Endpoints + /// public interface ISearchClient { /// diff --git a/SpotifyAPI.Web/Clients/Interfaces/IShowsClient.cs b/SpotifyAPI.Web/Clients/Interfaces/IShowsClient.cs index a14ab7ae..06a671da 100644 --- a/SpotifyAPI.Web/Clients/Interfaces/IShowsClient.cs +++ b/SpotifyAPI.Web/Clients/Interfaces/IShowsClient.cs @@ -2,6 +2,9 @@ using System.Threading.Tasks; namespace SpotifyAPI.Web { + /// + /// Endpoints for retrieving information about one or more shows from the Spotify catalog. + /// public interface IShowsClient { /// diff --git a/SpotifyAPI.Web/Clients/Interfaces/ITracksClient.cs b/SpotifyAPI.Web/Clients/Interfaces/ITracksClient.cs index e4d87934..06f2f202 100644 --- a/SpotifyAPI.Web/Clients/Interfaces/ITracksClient.cs +++ b/SpotifyAPI.Web/Clients/Interfaces/ITracksClient.cs @@ -2,19 +2,69 @@ using System.Threading.Tasks; namespace SpotifyAPI.Web { + /// + /// Endpoints for retrieving information about one or more tracks from the Spotify catalog. + /// public interface ITracksClient { + /// + /// Get Spotify catalog information for multiple tracks based on their Spotify IDs. + /// + /// The request-model which contains required and optional parameters. + /// + /// https://developer.spotify.com/documentation/web-api/reference-beta/#endpoint-get-several-tracks + /// + /// Task GetSeveral(TracksRequest request); + /// + /// Get a detailed audio analysis for a single track identified by its unique Spotify ID. + /// + /// The Spotify ID for the track. + /// + /// https://developer.spotify.com/documentation/web-api/reference-beta/#endpoint-get-audio-analysis + /// + /// Task GetAudioAnalysis(string trackId); + + /// + /// Get audio feature information for a single track identified by its unique Spotify ID. + /// + /// The Spotify ID for the track. + /// + /// https://developer.spotify.com/documentation/web-api/reference-beta/#endpoint-get-audio-features + /// + /// Task GetAudioFeatures(string trackId); - + /// + /// Get Spotify catalog information for a single track identified by its unique Spotify ID. + /// + /// The Spotify ID for the track. + /// + /// https://developer.spotify.com/documentation/web-api/reference-beta/#endpoint-get-track + /// + /// [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1716")] Task Get(string trackId); + + /// + /// Get Spotify catalog information for a single track identified by its unique Spotify ID. + /// + /// The Spotify ID for the track. + /// The request-model which contains required and optional parameters. + /// [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1716")] Task Get(string trackId, TrackRequest request); + /// + /// Get audio features for multiple tracks based on their Spotify IDs. + /// + /// The request-model which contains required and optional parameters. + /// + /// https://developer.spotify.com/documentation/web-api/reference-beta/#endpoint-get-several-audio-features + /// + /// Task GetSeveralAudioFeatures(TracksAudioFeaturesRequest request); } } diff --git a/SpotifyAPI.Web/Clients/Interfaces/IUserProfileClient.cs b/SpotifyAPI.Web/Clients/Interfaces/IUserProfileClient.cs index 660b9dd7..ae716998 100644 --- a/SpotifyAPI.Web/Clients/Interfaces/IUserProfileClient.cs +++ b/SpotifyAPI.Web/Clients/Interfaces/IUserProfileClient.cs @@ -11,7 +11,9 @@ namespace SpotifyAPI.Web /// /// Get detailed profile information about the current user (including the current user’s username). /// - /// https://developer.spotify.com/documentation/web-api/reference-beta/#endpoint-get-current-users-profile + /// + /// https://developer.spotify.com/documentation/web-api/reference-beta/#endpoint-get-current-users-profile + /// /// Thrown if the client is not authenticated. Task Current(); diff --git a/SpotifyAPI.Web/Models/Request/TrackRequest.cs b/SpotifyAPI.Web/Models/Request/TrackRequest.cs index 5a546e68..17536d7a 100644 --- a/SpotifyAPI.Web/Models/Request/TrackRequest.cs +++ b/SpotifyAPI.Web/Models/Request/TrackRequest.cs @@ -2,6 +2,11 @@ namespace SpotifyAPI.Web { public class TrackRequest : RequestParams { + /// + /// An ISO 3166-1 alpha-2 country code or the string from_token. + /// Provide this parameter if you want to apply Track Relinking. + /// + /// [QueryParam("market")] public string? Market { get; set; } } diff --git a/SpotifyAPI.Web/Models/Request/TracksAudioFeaturesRequest.cs b/SpotifyAPI.Web/Models/Request/TracksAudioFeaturesRequest.cs index ae72beb4..31d9e4af 100644 --- a/SpotifyAPI.Web/Models/Request/TracksAudioFeaturesRequest.cs +++ b/SpotifyAPI.Web/Models/Request/TracksAudioFeaturesRequest.cs @@ -4,6 +4,10 @@ namespace SpotifyAPI.Web { public class TracksAudioFeaturesRequest : RequestParams { + /// + /// + /// + /// A comma-separated list of the Spotify IDs for the tracks. Maximum: 100 IDs. public TracksAudioFeaturesRequest(IList ids) { Ensure.ArgumentNotNullOrEmptyList(ids, nameof(ids)); @@ -11,6 +15,10 @@ namespace SpotifyAPI.Web Ids = ids; } + /// + /// A comma-separated list of the Spotify IDs for the tracks. Maximum: 100 IDs. + /// + /// [QueryParam("ids")] public IList Ids { get; } } diff --git a/SpotifyAPI.Web/Models/Request/TracksRequest.cs b/SpotifyAPI.Web/Models/Request/TracksRequest.cs index 9e8aff66..1edd2faa 100644 --- a/SpotifyAPI.Web/Models/Request/TracksRequest.cs +++ b/SpotifyAPI.Web/Models/Request/TracksRequest.cs @@ -4,6 +4,10 @@ namespace SpotifyAPI.Web { public class TracksRequest : RequestParams { + /// + /// + /// + /// A comma-separated list of the Spotify IDs for the tracks. Maximum: 50 IDs. public TracksRequest(IList ids) { Ensure.ArgumentNotNullOrEmptyList(ids, nameof(ids)); @@ -11,9 +15,18 @@ namespace SpotifyAPI.Web Ids = ids; } + /// + /// A comma-separated list of the Spotify IDs for the tracks. Maximum: 50 IDs. + /// + /// [QueryParam("ids")] public IList Ids { get; } + /// + /// An ISO 3166-1 alpha-2 country code or the string from_token. + /// Provide this parameter if you want to apply Track Relinking. + /// + /// [QueryParam("market")] public string? Market { get; set; } }