Spotify.NET/SpotifyAPI.Web/SpotifyUrls.cs
2020-05-03 08:10:41 +02:00

43 lines
1.5 KiB
C#

using System;
namespace SpotifyAPI.Web
{
public static class SpotifyUrls
{
static private readonly URIParameterFormatProvider _provider = new URIParameterFormatProvider();
public static Uri API_V1 = new Uri("https://api.spotify.com/v1/");
public static Uri Me() => EUri($"me");
public static Uri User(string userId) => EUri($"users/{userId}");
public static Uri Categories() => EUri($"browse/categories");
public static Uri Category(string categoryId) => EUri($"browse/categories/{categoryId}");
public static Uri CategoryPlaylists(string categoryId) => EUri($"browse/categories/{categoryId}/playlists");
public static Uri Recommendations() => EUri($"recommendations");
public static Uri RecommendationGenres() => EUri($"recommendations/available-genre-seeds");
public static Uri NewReleases() => EUri($"browse/new-releases");
public static Uri FeaturedPlaylists() => EUri($"browse/featured-playlists");
public static Uri Show(string showId) => EUri($"shows/{showId}");
public static Uri Shows() => EUri($"shows");
public static Uri ShowEpisodes(string showId) => EUri($"shows/{showId}/episodes");
public static Uri PlaylistTracks(string playlistId) => EUri($"playlists/{playlistId}/tracks");
public static Uri UserPlaylists(string userId) => EUri($"users/{userId}/playlists");
public static Uri PlaylistImages(string playlistId) => EUri($"playlists/{playlistId}/images");
private static Uri EUri(FormattableString path) => new Uri(path.ToString(_provider), UriKind.Relative);
}
}