Добавьте файлы проекта.
This commit is contained in:
25
YandexMusic.API/Requests/Artist/YGetArtistBuilder.cs
Normal file
25
YandexMusic.API/Requests/Artist/YGetArtistBuilder.cs
Normal file
@@ -0,0 +1,25 @@
|
||||
using System.Net;
|
||||
|
||||
using YandexMusic.API.Common;
|
||||
using YandexMusic.API.Models.Artist;
|
||||
using YandexMusic.API.Models.Common;
|
||||
using YandexMusic.API.Requests.Common;
|
||||
using YandexMusic.API.Requests.Common.Attributes;
|
||||
|
||||
namespace YandexMusic.API.Requests.Artist
|
||||
{
|
||||
[YApiRequest(WebRequestMethods.Http.Get, "artists/{artistId}/brief-info")]
|
||||
public class YGetArtistBuilder : YRequestBuilder<YResponse<YArtistBriefInfo>, string>
|
||||
{
|
||||
public YGetArtistBuilder(YandexMusicApi yandex, AuthStorage auth) : base(yandex, auth)
|
||||
{
|
||||
}
|
||||
|
||||
protected override Dictionary<string, string> GetSubstitutions(string artistId)
|
||||
{
|
||||
return new Dictionary<string, string> {
|
||||
{ "artistId", artistId }
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
32
YandexMusic.API/Requests/Artist/YGetArtistTrackBuilder.cs
Normal file
32
YandexMusic.API/Requests/Artist/YGetArtistTrackBuilder.cs
Normal file
@@ -0,0 +1,32 @@
|
||||
using System.Collections.Specialized;
|
||||
using System.Net;
|
||||
|
||||
using YandexMusic.API.Common;
|
||||
using YandexMusic.API.Models.Artist;
|
||||
using YandexMusic.API.Models.Common;
|
||||
using YandexMusic.API.Requests.Common;
|
||||
using YandexMusic.API.Requests.Common.Attributes;
|
||||
|
||||
namespace YandexMusic.API.Requests.Artist
|
||||
{
|
||||
[YApiRequest(WebRequestMethods.Http.Get, "artists/{artistId}/tracks")]
|
||||
public class YGetArtistTrackBuilder : YRequestBuilder<YResponse<YTracksPage>, (string id, int page, int pageSize)>
|
||||
{
|
||||
public YGetArtistTrackBuilder(YandexMusicApi yandex, AuthStorage auth) : base(yandex, auth) { }
|
||||
|
||||
protected override Dictionary<string, string> GetSubstitutions((string id, int page, int pageSize) tuple)
|
||||
{
|
||||
return new Dictionary<string, string> {
|
||||
{ "artistId", tuple.id },
|
||||
};
|
||||
}
|
||||
|
||||
protected override NameValueCollection GetQueryParams((string id, int page, int pageSize) tuple)
|
||||
{
|
||||
return new NameValueCollection {
|
||||
{ "page", tuple.page.ToString() },
|
||||
{ "pageSize", tuple.pageSize.ToString() },
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
25
YandexMusic.API/Requests/Artist/YGetArtistsBuilder.cs
Normal file
25
YandexMusic.API/Requests/Artist/YGetArtistsBuilder.cs
Normal file
@@ -0,0 +1,25 @@
|
||||
using System.Net;
|
||||
|
||||
using YandexMusic.API.Common;
|
||||
using YandexMusic.API.Models.Artist;
|
||||
using YandexMusic.API.Models.Common;
|
||||
using YandexMusic.API.Requests.Common;
|
||||
using YandexMusic.API.Requests.Common.Attributes;
|
||||
|
||||
namespace YandexMusic.API.Requests.Artist
|
||||
{
|
||||
[YApiRequest(WebRequestMethods.Http.Post, "artists")]
|
||||
public class YGetArtistsBuilder : YRequestBuilder<YResponse<List<YArtist>>, IEnumerable<string>>
|
||||
{
|
||||
public YGetArtistsBuilder(YandexMusicApi yandex, AuthStorage auth) : base(yandex, auth)
|
||||
{
|
||||
}
|
||||
|
||||
protected override HttpContent GetContent(IEnumerable<string> artistIds)
|
||||
{
|
||||
return new FormUrlEncodedContent(new Dictionary<string, string> {
|
||||
{ "artist-Ids", string.Join(",", artistIds) }
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user