Finished inline XML docs for now :party: #451

This commit is contained in:
Jonas Dellinger 2020-05-31 16:57:58 +02:00
parent 5ae126699c
commit 0a6570632b
16 changed files with 118 additions and 2 deletions

View File

@ -2,6 +2,9 @@ using System.Threading.Tasks;
namespace SpotifyAPI.Web
{
/// <summary>
/// Endpoints for retrieving information about one or more albums from the Spotify catalog.
/// </summary>
public interface IAlbumsClient
{
/// <summary>

View File

@ -2,6 +2,9 @@ using System.Threading.Tasks;
namespace SpotifyAPI.Web
{
/// <summary>
/// Endpoints for retrieving information about one or more artists from the Spotify catalog.
/// </summary>
public interface IArtistsClient
{
/// <summary>

View File

@ -2,6 +2,9 @@ using System.Threading.Tasks;
namespace SpotifyAPI.Web
{
/// <summary>
/// Endpoints for getting playlists and new album releases featured on Spotifys Browse tab.
/// </summary>
public interface IBrowseClient
{
/// <summary>

View File

@ -2,6 +2,9 @@ using System.Threading.Tasks;
namespace SpotifyAPI.Web
{
/// <summary>
/// Endpoints for retrieving information about one or more episodes from the Spotify catalog.
/// </summary>
public interface IEpisodesClient
{
/// <summary>

View File

@ -3,6 +3,9 @@ using System.Threading.Tasks;
namespace SpotifyAPI.Web
{
/// <summary>
/// Endpoints for managing the artists, users, and playlists that a Spotify user follows.
/// </summary>
public interface IFollowClient
{
/// <summary>

View File

@ -3,6 +3,10 @@ using System.Threading.Tasks;
namespace SpotifyAPI.Web
{
/// <summary>
/// Endpoints for retrieving information about,
/// and managing, tracks that the current user has saved in their “Your Music” library.
/// </summary>
public interface ILibraryClient
{
/// <summary>

View File

@ -2,6 +2,9 @@ using System.Threading.Tasks;
namespace SpotifyAPI.Web
{
/// <summary>
/// Endpoints for retrieving information about the users listening habits.
/// </summary>
public interface IPersonalizationClient
{
/// <summary>

View File

@ -3,6 +3,13 @@ using System.Threading.Tasks;
namespace SpotifyAPI.Web
{
/// <summary>
/// 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.
/// </summary>
public interface IPlayerClient
{
/// <summary>

View File

@ -3,6 +3,9 @@ using System.Threading.Tasks;
namespace SpotifyAPI.Web
{
/// <summary>
/// Endpoints for retrieving information about a users playlists and for managing a users playlists.
/// </summary>
public interface IPlaylistsClient
{
/// <summary>

View File

@ -2,6 +2,9 @@ using System.Threading.Tasks;
namespace SpotifyAPI.Web
{
/// <summary>
/// Search Endpoints
/// </summary>
public interface ISearchClient
{
/// <summary>

View File

@ -2,6 +2,9 @@ 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>

View File

@ -2,19 +2,69 @@ using System.Threading.Tasks;
namespace SpotifyAPI.Web
{
/// <summary>
/// Endpoints for retrieving information about one or more tracks from the Spotify catalog.
/// </summary>
public interface ITracksClient
{
/// <summary>
/// Get Spotify catalog information for multiple tracks based on their Spotify IDs.
/// </summary>
/// <param name="request">The request-model which contains required and optional parameters.</param>
/// <remarks>
/// https://developer.spotify.com/documentation/web-api/reference-beta/#endpoint-get-several-tracks
/// </remarks>
/// <returns></returns>
Task<TracksResponse> GetSeveral(TracksRequest request);
/// <summary>
/// Get a detailed audio analysis for a single track identified by its unique Spotify ID.
/// </summary>
/// <param name="trackId">The Spotify ID for the track.</param>
/// <remarks>
/// https://developer.spotify.com/documentation/web-api/reference-beta/#endpoint-get-audio-analysis
/// </remarks>
/// <returns></returns>
Task<TrackAudioAnalysis> GetAudioAnalysis(string trackId);
/// <summary>
/// Get audio feature information for a single track identified by its unique Spotify ID.
/// </summary>
/// <param name="trackId">The Spotify ID for the track.</param>
/// <remarks>
/// https://developer.spotify.com/documentation/web-api/reference-beta/#endpoint-get-audio-features
/// </remarks>
/// <returns></returns>
Task<TrackAudioFeatures> GetAudioFeatures(string trackId);
/// <summary>
/// Get Spotify catalog information for a single track identified by its unique Spotify ID.
/// </summary>
/// <param name="trackId">The Spotify ID for the track.</param>
/// <remarks>
/// https://developer.spotify.com/documentation/web-api/reference-beta/#endpoint-get-track
/// </remarks>
/// <returns></returns>
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1716")]
Task<FullTrack> Get(string trackId);
/// <summary>
/// Get Spotify catalog information for a single track identified by its unique Spotify ID.
/// </summary>
/// <param name="trackId">The Spotify ID for the track.</param>
/// <param name="request">The request-model which contains required and optional parameters.</param>
/// <returns></returns>
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1716")]
Task<FullTrack> Get(string trackId, TrackRequest request);
/// <summary>
/// Get audio features for multiple tracks based on their Spotify IDs.
/// </summary>
/// <param name="request">The request-model which contains required and optional parameters.</param>
/// <remarks>
/// https://developer.spotify.com/documentation/web-api/reference-beta/#endpoint-get-several-audio-features
/// </remarks>
/// <returns></returns>
Task<TracksAudioFeaturesResponse> GetSeveralAudioFeatures(TracksAudioFeaturesRequest request);
}
}

View File

@ -11,7 +11,9 @@ namespace SpotifyAPI.Web
/// <summary>
/// Get detailed profile information about the current user (including the current users username).
/// </summary>
/// <remarks>https://developer.spotify.com/documentation/web-api/reference-beta/#endpoint-get-current-users-profile</remarks>
/// <remarks>
/// https://developer.spotify.com/documentation/web-api/reference-beta/#endpoint-get-current-users-profile
/// </remarks>
/// <exception cref="APIUnauthorizedException">Thrown if the client is not authenticated.</exception>
Task<PrivateUser> Current();

View File

@ -2,6 +2,11 @@ namespace SpotifyAPI.Web
{
public class TrackRequest : RequestParams
{
/// <summary>
/// An ISO 3166-1 alpha-2 country code or the string from_token.
/// Provide this parameter if you want to apply Track Relinking.
/// </summary>
/// <value></value>
[QueryParam("market")]
public string? Market { get; set; }
}

View File

@ -4,6 +4,10 @@ namespace SpotifyAPI.Web
{
public class TracksAudioFeaturesRequest : RequestParams
{
/// <summary>
///
/// </summary>
/// <param name="ids">A comma-separated list of the Spotify IDs for the tracks. Maximum: 100 IDs.</param>
public TracksAudioFeaturesRequest(IList<string> ids)
{
Ensure.ArgumentNotNullOrEmptyList(ids, nameof(ids));
@ -11,6 +15,10 @@ namespace SpotifyAPI.Web
Ids = ids;
}
/// <summary>
/// A comma-separated list of the Spotify IDs for the tracks. Maximum: 100 IDs.
/// </summary>
/// <value></value>
[QueryParam("ids")]
public IList<string> Ids { get; }
}

View File

@ -4,6 +4,10 @@ namespace SpotifyAPI.Web
{
public class TracksRequest : RequestParams
{
/// <summary>
///
/// </summary>
/// <param name="ids">A comma-separated list of the Spotify IDs for the tracks. Maximum: 50 IDs.</param>
public TracksRequest(IList<string> ids)
{
Ensure.ArgumentNotNullOrEmptyList(ids, nameof(ids));
@ -11,9 +15,18 @@ namespace SpotifyAPI.Web
Ids = ids;
}
/// <summary>
/// A comma-separated list of the Spotify IDs for the tracks. Maximum: 50 IDs.
/// </summary>
/// <value></value>
[QueryParam("ids")]
public IList<string> Ids { get; }
/// <summary>
/// An ISO 3166-1 alpha-2 country code or the string from_token.
/// Provide this parameter if you want to apply Track Relinking.
/// </summary>
/// <value></value>
[QueryParam("market")]
public string? Market { get; set; }
}