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

@@ -1,6 +1,4 @@
using YandexMusic.API.Common;
using YandexMusic.API.Models.Album;
using YandexMusic.API.Models.Common;
using YandexMusic.API.Requests.Album;
namespace YandexMusic.API;
@@ -8,21 +6,13 @@ namespace YandexMusic.API;
/// <summary>API для работы с альбомами.</summary>
public class YAlbumAPI : YCommonAPI
{
/// <summary>Инициализирует новый экземпляр API альбомов.</summary>
/// <param name="yandex">Экземпляр основного API.</param>
public YAlbumAPI(YandexMusicApi yandex) : base(yandex) { }
public YAlbumAPI(YandexMusicApi api) : base(api) { }
/// <summary>Получает альбом по идентификатору.</summary>
/// <param name="storage">Хранилище данных авторизации.</param>
/// <param name="albumId">Идентификатор альбома.</param>
/// <returns>Ответ API с моделью альбома.</returns>
public Task<YResponse<YAlbum>> GetAsync(AuthStorage storage, string albumId)
=> new YGetAlbumBuilder(api, storage).Build(albumId).GetResponseAsync();
public Task<YAlbum?> GetAsync(string albumId)
=> new YGetAlbumBuilder(Api).ExecuteAsync(albumId);
/// <summary>Получает несколько альбомов по списку идентификаторов.</summary>
/// <param name="storage">Хранилище данных авторизации.</param>
/// <param name="albumIds">Список идентификаторов альбомов.</param>
/// <returns>Ответ API со списком альбомов.</returns>
public Task<YResponse<List<YAlbum>>> GetAsync(AuthStorage storage, IEnumerable<string> albumIds)
=> new YGetAlbumsBuilder(api, storage).Build(albumIds).GetResponseAsync();
public Task<List<YAlbum>?> GetAsync(IEnumerable<string> albumIds)
=> new YGetAlbumsBuilder(Api).ExecuteAsync(albumIds);
}