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, (YStationDescription station, string prevTrackId)> { public YGetStationTracksBuilder(YandexMusicApi yandex, AuthStorage auth) : base(yandex, auth) { } protected override Dictionary GetSubstitutions((YStationDescription station, string prevTrackId) tuple) { return new Dictionary { { "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); } }