39 lines
1.3 KiB
C#
39 lines
1.3 KiB
C#
using System.Collections.Specialized;
|
|
using System.Net;
|
|
|
|
using YandexMusic.API.Common;
|
|
using YandexMusic.API.Models.Common;
|
|
using YandexMusic.API.Models.Radio;
|
|
using YandexMusic.API.Requests.Common;
|
|
using YandexMusic.API.Requests.Common.Attributes;
|
|
|
|
namespace YandexMusic.API.Requests.Radio
|
|
{
|
|
[YApiRequest(WebRequestMethods.Http.Get, "rotor/station/{type}:{tag}/tracks")]
|
|
public class YGetStationTracksBuilder : YRequestBuilder<YResponse<YStationSequence>, (YStationDescription station, string prevTrackId)>
|
|
{
|
|
public YGetStationTracksBuilder(YandexMusicApi yandex, AuthStorage auth) : base(yandex, auth)
|
|
{
|
|
}
|
|
|
|
protected override Dictionary<string, string> GetSubstitutions((YStationDescription station, string prevTrackId) tuple)
|
|
{
|
|
return new Dictionary<string, string> {
|
|
{ "type", tuple.station.Id.Type },
|
|
{ "tag", tuple.station.Id.Tag },
|
|
};
|
|
}
|
|
|
|
protected override NameValueCollection GetQueryParams((YStationDescription station, string prevTrackId) tuple)
|
|
{
|
|
NameValueCollection query = new() {
|
|
{ "settings2", "true" }
|
|
};
|
|
|
|
if (!string.IsNullOrEmpty(tuple.prevTrackId))
|
|
query.Add("queue", tuple.prevTrackId);
|
|
|
|
return base.GetQueryParams(tuple);
|
|
}
|
|
}
|
|
} |