Полностью переписанное api
All checks were successful
Release / pack-and-publish (release) Successful in 36s

This commit is contained in:
FrigaT
2026-04-19 17:00:05 +03:00
parent 5541d0ad27
commit 36e28ce3fe
111 changed files with 1552 additions and 3358 deletions

View File

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