using YandexMusic.API.Models.Radio;
using YandexMusic.API.Models.Track;
using YandexMusic.API.Requests.Radio;
namespace YandexMusic.API;
/// API для работы с радио.
public class YRadioAPI : YCommonAPI
{
public YRadioAPI(YandexMusicApi api) : base(api) { }
public Task GetStationsDashboardAsync()
=> new YGetStationsDashboardBuilder(Api).ExecuteAsync(null!);
public Task?> GetStationsAsync()
=> new YGetStationsBuilder(Api).ExecuteAsync(null!);
public Task?> GetStationAsync(string type, string tag)
=> new YGetStationBuilder(Api).ExecuteAsync((type, tag));
public Task?> GetStationAsync(YStationId id)
=> GetStationAsync(id.Type, id.Tag);
public Task GetStationTracksAsync(YStation station, string prevTrackId = "")
=> new YGetStationTracksBuilder(Api).ExecuteAsync((station.Station, prevTrackId));
public Task SetStationSettings2Async(YStation station, YStationSettings2 settings)
=> new YSetSettings2Builder(Api).ExecuteAsync((station.Station, settings));
public Task SendStationFeedbackAsync(
YStation station,
YStationFeedbackType type,
YTrack? track = null,
string batchId = "",
double totalPlayedSeconds = 0)
=> new YSetStationFeedbackBuilder(Api).ExecuteAsync((type, station, track, batchId, totalPlayedSeconds));
}