namespace YandexMusic.API; /// Главный класс API Яндекс Музыки. Предоставляет доступ ко всем веткам API. public class YandexMusicApi { /// API для работы с альбомами. public YAlbumAPI Album { get; internal set; } = null!; /// API для работы с исполнителями. public YArtistAPI Artist { get; internal set; } = null!; /// API для работы с лейблами. public YLabelAPI Label { get; internal set; } = null!; /// API для работы с главной страницей (лендингом). public YLandingAPI Landing { get; internal set; } = null!; /// API для работы с библиотекой (лайки, дизлайки). public YLibraryAPI Library { get; internal set; } = null!; /// API для работы с плейлистами. public YPlaylistAPI Playlist { get; internal set; } = null!; /// API для работы с закреплёнными объектами. public YPinsAPI Pins { get; internal set; } = null!; /// API для работы с радио. public YRadioAPI Radio { get; internal set; } = null!; /// API для поиска. public YSearchAPI Search { get; internal set; } = null!; /// API для работы с треками. public YTrackAPI Track { get; internal set; } = null!; /// API для работы с очередями. public YQueueAPI Queue { get; internal set; } = null!; /// API для работы с пользователем и авторизацией. public YUserAPI User { get; internal set; } = null!; /// API для загрузки пользовательского контента. public YUgcAPI UserGeneratedContent { get; internal set; } = null!; /// API для работы с протоколом Ynison (WebSocket). public YYnisonAPI Ynison { get; internal set; } = null!; /// Создаёт экземпляр API с инициализацией всех подсистем. public YandexMusicApi() { foreach (var property in GetType().GetProperties()) property.SetValue(this, Activator.CreateInstance(property.PropertyType, this)); } }