Repository navigation
Expand file tree
/
Copy pathIBrowseClient.cs
More file actions
149 lines (137 loc) · 7.9 KB
/
Copy pathIBrowseClient.cs
File metadata and controls
149 lines (137 loc) · 7.9 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
using System.Threading;
using System.Threading.Tasks;
namespace SpotifyAPI.Web
{
/// <summary>
/// Endpoints for getting playlists and new album releases featured on Spotify’s Browse tab.
/// </summary>
public interface IBrowseClient
{
/// <summary>
/// Get a list of categories used to tag items in Spotify (on, for example, the Spotify player’s “Browse” tab).
/// </summary>
/// <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-categories
/// </remarks>
/// <returns></returns>
[System.Obsolete("This endpoint (GET /browse/categories) has been removed.")]
Task<CategoriesResponse> GetCategories(CancellationToken cancel = default);
/// <summary>
/// Get a list of categories used to tag items in Spotify (on, for example, the Spotify player’s “Browse” tab).
/// </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-categories
/// </remarks>
/// <returns></returns>
[System.Obsolete("This endpoint (GET /browse/categories) has been removed.")]
Task<CategoriesResponse> GetCategories(CategoriesRequest request, CancellationToken cancel = default);
/// <summary>
/// Get a single category used to tag items in Spotify (on, for example, the Spotify player’s “Browse” tab).
/// </summary>
/// <param name="categoryId">The Spotify category ID for the category.</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-category
/// </remarks>
/// <returns></returns>
[System.Obsolete("This endpoint (GET /browse/categories/{id}) has been removed.")]
Task<Category> GetCategory(string categoryId, CancellationToken cancel = default);
/// <summary>
/// Get a single category used to tag items in Spotify (on, for example, the Spotify player’s “Browse” tab).
/// </summary>
/// <param name="categoryId">The Spotify category ID for the category.</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-category
/// </remarks>
/// <returns></returns>
[System.Obsolete("This endpoint (GET /browse/categories/{id}) has been removed.")]
Task<Category> GetCategory(string categoryId, CategoryRequest request, CancellationToken cancel = default);
/// <summary>
/// Get a list of Spotify playlists tagged with a particular category.
/// </summary>
/// <param name="categoryId">The Spotify category ID for the category.</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-categories-playlists
/// </remarks>
/// <returns></returns>
Task<CategoryPlaylistsResponse> GetCategoryPlaylists(string categoryId, CancellationToken cancel = default);
/// <summary>
/// Get a list of Spotify playlists tagged with a particular category.
/// </summary>
/// <param name="categoryId">The Spotify category ID for the category.</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-categories-playlists
/// </remarks>
/// <returns></returns>
Task<CategoryPlaylistsResponse> GetCategoryPlaylists(string categoryId, CategoriesPlaylistsRequest request, CancellationToken cancel = default);
/// <summary>
/// Recommendations are generated based on the available information for a given seed entity and matched against
/// similar artists and tracks. If there is sufficient information about the provided seeds,
/// a list of tracks will be returned together with pool size details.
/// </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-recommendations
/// </remarks>
/// <returns></returns>
Task<RecommendationsResponse> GetRecommendations(RecommendationsRequest request, CancellationToken cancel = default);
/// <summary>
/// Retrieve a list of available genres seed parameter values for recommendations.
/// </summary>
/// <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-recommendation-genres
/// </remarks>
/// <returns></returns>
Task<RecommendationGenresResponse> GetRecommendationGenres(CancellationToken cancel = default);
/// <summary>
/// Get a list of new album releases featured in Spotify (shown, for example, on a Spotify player’s “Browse” tab).
/// </summary>
/// <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-new-releases
/// </remarks>
/// <returns></returns>
[System.Obsolete("This endpoint (GET /browse/new-releases) has been removed.")]
Task<NewReleasesResponse> GetNewReleases(CancellationToken cancel = default);
/// <summary>
/// Get a list of new album releases featured in Spotify (shown, for example, on a Spotify player’s “Browse” tab).
/// </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-new-releases
/// </remarks>
/// <returns></returns>
[System.Obsolete("This endpoint (GET /browse/new-releases) has been removed.")]
Task<NewReleasesResponse> GetNewReleases(NewReleasesRequest request, CancellationToken cancel = default);
/// <summary>
/// Get a list of Spotify featured playlists (shown, for example, on a Spotify player’s ‘Browse’ tab).
/// </summary>
/// <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-featured-playlists
/// </remarks>
/// <returns></returns>
Task<FeaturedPlaylistsResponse> GetFeaturedPlaylists(CancellationToken cancel = default);
/// <summary>
/// Get a list of Spotify featured playlists (shown, for example, on a Spotify player’s ‘Browse’ tab).
/// </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-featured-playlists
/// </remarks>
/// <returns></returns>
Task<FeaturedPlaylistsResponse> GetFeaturedPlaylists(FeaturedPlaylistsRequest request, CancellationToken cancel = default);
}
}