using YandexMusic.API.Models.Common; using YandexMusic.API.Models.Search; using YandexMusic.API.Requests.Search; namespace YandexMusic.API; /// API для поиска. public class YSearchAPI : YCommonAPI { public YSearchAPI(YandexMusicApi api) : base(api) { } public Task TrackAsync(string trackName, int page = 0, int pageSize = 20) => SearchAsync(trackName, YSearchType.Track, page, pageSize); public Task AlbumsAsync(string albumName, int page = 0, int pageSize = 20) => SearchAsync(albumName, YSearchType.Album, page, pageSize); public Task ArtistAsync(string artistName, int page = 0, int pageSize = 20) => SearchAsync(artistName, YSearchType.Artist, page, pageSize); public Task PlaylistAsync(string playlistName, int page = 0, int pageSize = 20) => SearchAsync(playlistName, YSearchType.Playlist, page, pageSize); public Task PodcastEpisodeAsync(string podcastName, int page = 0, int pageSize = 20) => SearchAsync(podcastName, YSearchType.PodcastEpisode, page, pageSize); public Task VideosAsync(string videoName, int page = 0, int pageSize = 20) => SearchAsync(videoName, YSearchType.Video, page, pageSize); public Task UsersAsync(string userName, int page = 0, int pageSize = 20) => SearchAsync(userName, YSearchType.User, page, pageSize); public Task SearchAsync(string searchText, YSearchType searchType, int page = 0, int pageSize = 20) => new YSearchBuilder(Api).ExecuteAsync((searchText, searchType, page, pageSize)); public Task GetSearchSuggestionsAsync(string searchText) => new YSearchSuggestBuilder(Api).ExecuteAsync(searchText); }