33 lines
1.1 KiB
C#
33 lines
1.1 KiB
C#
using YandexMusic.API.Models.Album;
|
||
|
||
namespace YandexMusic.API;
|
||
|
||
/// <summary>
|
||
/// Методы-расширения для альбома.
|
||
/// </summary>
|
||
public static class YAlbumExtensions
|
||
{
|
||
/// <summary>
|
||
/// Получает полную информацию об альбоме вместе с треками (если ещё не загружены).
|
||
/// </summary>
|
||
public static async Task<YAlbum> WithTracksAsync(this YAlbum album)
|
||
{
|
||
if (album.Volumes != null)
|
||
return album;
|
||
|
||
var result = await album.Context.API.Album.GetAsync(album.Id);
|
||
return result ?? album;
|
||
}
|
||
|
||
/// <summary>
|
||
/// Добавляет альбом в список лайкнутых.
|
||
/// </summary>
|
||
public static async Task<string?> AddLikeAsync(this YAlbum album)
|
||
=> await album.Context.API.Library.AddAlbumLikeAsync(album);
|
||
|
||
/// <summary>
|
||
/// Удаляет альбом из списка лайкнутых.
|
||
/// </summary>
|
||
public static async Task<string?> RemoveLikeAsync(this YAlbum album)
|
||
=> await album.Context.API.Library.RemoveAlbumLikeAsync(album);
|
||
} |