Полностью переписанное 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

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