Полностью переписанное api
All checks were successful
Release / pack-and-publish (release) Successful in 36s
All checks were successful
Release / pack-and-publish (release) Successful in 36s
This commit is contained in:
@@ -1,24 +1,13 @@
|
||||
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 class YGetArtistBuilder : YMusicRequestBuilder<YArtistBriefInfo?, string>
|
||||
{
|
||||
public YGetArtistBuilder(YandexMusicApi yandex, AuthStorage auth) : base(yandex, auth)
|
||||
{
|
||||
}
|
||||
|
||||
public YGetArtistBuilder(YandexMusicApi api) : base(api) { }
|
||||
protected override string Method => WebRequestMethods.Http.Get;
|
||||
protected override string PathTemplate => "artists/{artistId}/brief-info";
|
||||
protected override Dictionary<string, string> GetSubstitutions(string artistId)
|
||||
{
|
||||
return new Dictionary<string, string> {
|
||||
{ "artistId", artistId }
|
||||
};
|
||||
}
|
||||
=> new() { { "artistId", artistId } };
|
||||
}
|
||||
@@ -1,31 +1,16 @@
|
||||
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 class YGetArtistTrackBuilder : YMusicRequestBuilder<YTracksPage?, (string id, int page, int pageSize)>
|
||||
{
|
||||
public YGetArtistTrackBuilder(YandexMusicApi yandex, AuthStorage auth) : base(yandex, auth) { }
|
||||
|
||||
public YGetArtistTrackBuilder(YandexMusicApi api) : base(api) { }
|
||||
protected override string Method => WebRequestMethods.Http.Get;
|
||||
protected override string PathTemplate => "artists/{artistId}/tracks";
|
||||
protected override Dictionary<string, string> GetSubstitutions((string id, int page, int pageSize) tuple)
|
||||
{
|
||||
return new Dictionary<string, string> {
|
||||
{ "artistId", tuple.id },
|
||||
};
|
||||
}
|
||||
|
||||
=> new() { { "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() },
|
||||
};
|
||||
}
|
||||
=> new() { { "page", tuple.page.ToString() }, { "pageSize", tuple.pageSize.ToString() } };
|
||||
}
|
||||
@@ -1,24 +1,13 @@
|
||||
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 class YGetArtistsBuilder : YMusicRequestBuilder<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) }
|
||||
});
|
||||
}
|
||||
public YGetArtistsBuilder(YandexMusicApi api) : base(api) { }
|
||||
protected override string Method => WebRequestMethods.Http.Post;
|
||||
protected override string PathTemplate => "artists";
|
||||
protected override HttpContent? GetContent(IEnumerable<string> artistIds)
|
||||
=> new FormUrlEncodedContent(new Dictionary<string, string> { { "artist-Ids", string.Join(",", artistIds) } });
|
||||
}
|
||||
Reference in New Issue
Block a user