using YandexMusic.API.Models.Artist; using YandexMusic.API.Requests.Artist; namespace YandexMusic.API; /// API для работы с исполнителями. public class YArtistAPI : YCommonAPI { public YArtistAPI(YandexMusicApi api) : base(api) { } public Task GetAsync(string artistId) => new YGetArtistBuilder(Api).ExecuteAsync(artistId); public Task?> GetAsync(IEnumerable artistIds) => new YGetArtistsBuilder(Api).ExecuteAsync(artistIds); public Task GetTracksAsync(string artistId, int page = 0, int pageSize = 20) => new YGetArtistTrackBuilder(Api).ExecuteAsync((artistId, page, pageSize)); public async Task GetAllTracksAsync(string artistId) { var info = await GetAsync(artistId); if (info?.Artist?.Counts?.Tracks == null) return null; return await GetTracksAsync(artistId, pageSize: info.Artist.Counts.Tracks); } }