Полностью переписанное api
All checks were successful
Release / pack-and-publish (release) Successful in 36s
All checks were successful
Release / pack-and-publish (release) Successful in 36s
This commit is contained in:
@@ -1,8 +1,15 @@
|
||||
namespace YandexMusic.API;
|
||||
using YandexMusic.API.Common;
|
||||
|
||||
namespace YandexMusic.API;
|
||||
|
||||
/// <summary>Главный класс API Яндекс Музыки. Предоставляет доступ ко всем веткам API.</summary>
|
||||
public class YandexMusicApi
|
||||
{
|
||||
/// <summary>HttpClient, используемый для всех запросов.</summary>
|
||||
public HttpClient HttpClient { get; }
|
||||
/// <summary>Хранилище данных авторизации.</summary>
|
||||
public AuthStorage Storage { get; }
|
||||
|
||||
/// <summary>API для работы с альбомами.</summary>
|
||||
public YAlbumAPI Album { get; internal set; } = null!;
|
||||
/// <summary>API для работы с исполнителями.</summary>
|
||||
@@ -32,9 +39,16 @@ public class YandexMusicApi
|
||||
/// <summary>API для работы с протоколом Ynison (WebSocket).</summary>
|
||||
public YYnisonAPI Ynison { get; internal set; } = null!;
|
||||
|
||||
/// <summary>Создаёт экземпляр API с инициализацией всех подсистем.</summary>
|
||||
public YandexMusicApi()
|
||||
/// <summary>
|
||||
/// Инициализирует новый экземпляр API.
|
||||
/// </summary>
|
||||
/// <param name="httpClient">HttpClient для выполнения запросов.</param>
|
||||
/// <param name="storage">Хранилище авторизации.</param>
|
||||
public YandexMusicApi(HttpClient httpClient, AuthStorage storage)
|
||||
{
|
||||
HttpClient = httpClient ?? throw new ArgumentNullException(nameof(httpClient));
|
||||
Storage = storage ?? throw new ArgumentNullException(nameof(storage));
|
||||
|
||||
Album = new YAlbumAPI(this);
|
||||
Artist = new YArtistAPI(this);
|
||||
Label = new YLabelAPI(this);
|
||||
|
||||
Reference in New Issue
Block a user