using YandexMusic.API.Models.Artist;
using YandexMusic.API.Models.Track;
namespace YandexMusic.API.Extensions.API;
///
/// Методы-расширения для исполнителя.
///
public static class YArtistExtensions
{
///
/// Получает расширенную информацию об исполнителе.
///
public static async Task BriefInfoAsync(this YArtist artist)
=> await artist.Context.API.Artist.GetAsync(artist.Id);
///
/// Получает страницу треков исполнителя.
///
public static async Task GetTracksAsync(this YArtist artist, int page = 0, int pageSize = 20)
=> await artist.Context.API.Artist.GetTracksAsync(artist.Id, page, pageSize);
///
/// Получает все треки исполнителя.
///
public static async Task?> GetAllTracksAsync(this YArtist artist)
=> (await artist.Context.API.Artist.GetAllTracksAsync(artist.Id))?.Tracks;
///
/// Добавляет исполнителя в список лайкнутых.
///
public static async Task AddLikeAsync(this YArtist artist)
=> await artist.Context.API.Library.AddArtistLikeAsync(artist);
///
/// Удаляет исполнителя из списка лайкнутых.
///
public static async Task RemoveLikeAsync(this YArtist artist)
=> await artist.Context.API.Library.RemoveArtistLikeAsync(artist);
}