Skip to content

Commit

Permalink
Размер страницы поиска, треки исполнителя
Browse files Browse the repository at this point in the history
  • Loading branch information
K1llMan committed May 11, 2023
1 parent 527c43a commit 8ef67f0
Show file tree
Hide file tree
Showing 28 changed files with 166 additions and 105 deletions.
2 changes: 2 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@
* Классы API для удобства разбиты на асинхронную и синхронную части.
* Добавлены асинхронные методы-расширения.
* Добавлен асинхронный клиент (требует тестирования).
* Добавлены методы получения треков по исполнителю. ([Lauriero](https://github.com/Lauriero))
* Для методов поиска добавлен параметр с размером страницы.
## 1.3.6
* Добавлены асинхронные методы для получения ссылки на файл, для сохранения, получения массива байт и потока.
* Актуализированы модели.
Expand Down
4 changes: 2 additions & 2 deletions docs/source/api/branches/artist.rst
Original file line number Diff line number Diff line change
Expand Up @@ -19,12 +19,12 @@ YArtistAPI

.. code-block:: csharp
public Task<YResponse<YTracksContainer>> GetTracksAsync(AuthStorage storage, string artistId, int page = 0, int pageSize = 20)
public Task<YResponse<YTracksPage>> GetTracksAsync(AuthStorage storage, string artistId, int page = 0, int pageSize = 20)
Получение списка треков исполнителя с пагинацией.

.. code-block:: csharp
public Task<YResponse<YTracksContainer>> GetAllTracksAsync(AuthStorage storage, string artistId)
public Task<YResponse<YTracksPage>> GetAllTracksAsync(AuthStorage storage, string artistId)
Получение списка всех треков исполнителя.
16 changes: 8 additions & 8 deletions docs/source/api/branches/search.rst
Original file line number Diff line number Diff line change
Expand Up @@ -7,49 +7,49 @@ Search API

.. code-block:: csharp
public async Task<YResponse<YSearch>> TrackAsync(AuthStorage storage, string trackName, int pageNumber = 0)
public async Task<YResponse<YSearch>> TrackAsync(AuthStorage storage, string trackName, int pageNumber = 0, int pageSize = 20)
Поиск по трекам.

.. code-block:: csharp
public async Task<YResponse<YSearch>> AlbumsAsync(AuthStorage storage, string albumName, int pageNumber = 0)
public async Task<YResponse<YSearch>> AlbumsAsync(AuthStorage storage, string albumName, int pageNumber = 0, int pageSize = 20)
Поиск по альбомам.

.. code-block:: csharp
public async Task<YResponse<YSearch>> ArtistAsync(AuthStorage storage, string artistName, int pageNumber = 0)
public async Task<YResponse<YSearch>> ArtistAsync(AuthStorage storage, string artistName, int pageNumber = 0, int pageSize = 20)
Поиск по исполнителям.

.. code-block:: csharp
public async Task<YResponse<YSearch>> PlaylistAsync(AuthStorage storage, string playlistName, int pageNumber = 0)
public async Task<YResponse<YSearch>> PlaylistAsync(AuthStorage storage, string playlistName, int pageNumber = 0, int pageSize = 20)
Поиск по плейлистам.

.. code-block:: csharp
public YResponse<YSearch> PodcastEpisodeAsync(AuthStorage storage, string podcastName, int pageNumber = 0)
public YResponse<YSearch> PodcastEpisodeAsync(AuthStorage storage, string podcastName, int pageNumber = 0, int pageSize = 20)
Поиск по подкастам.

.. code-block:: csharp
public async Task<YResponse<YSearch>> VideosAsync(AuthStorage storage, string videoName, int pageNumber = 0)
public async Task<YResponse<YSearch>> VideosAsync(AuthStorage storage, string videoName, int pageNumber = 0, int pageSize = 20)
Поиск по видеозаписям.

.. code-block:: csharp
public async Task<YResponse<YSearch>> UsersAsync(AuthStorage storage, string userName, int pageNumber = 0)
public async Task<YResponse<YSearch>> UsersAsync(AuthStorage storage, string userName, int pageNumber = 0, int pageSize = 20)
Поиск по пользователям.

.. code-block:: csharp
public async Task<YResponse<YSearch>> SearchAsync(AuthStorage storage, string searchText, YSearchType searchType, int page = 0)
public async Task<YResponse<YSearch>> SearchAsync(AuthStorage storage, string searchText, YSearchType searchType, int page = 0, int pageSize = 20)
Поиск.

Expand Down
2 changes: 1 addition & 1 deletion docs/source/client/root.rst
Original file line number Diff line number Diff line change
Expand Up @@ -200,7 +200,7 @@ YandexMusicClient

.. code-block:: csharp
public YSearch Search(string searchText, YSearchType searchType, int page = 0)
public YSearch Search(string searchText, YSearchType searchType, int page = 0, int pageSize = 20)
Поиск.

Expand Down
5 changes: 4 additions & 1 deletion docs/source/index.rst
Original file line number Diff line number Diff line change
@@ -1,8 +1,11 @@
Документация неофициальной C# библиотеки для API и клиента Yandex Music
==================================================================

.. include:: readme.md
:parser: myst_parser.sphinx_

.. toctree::
:hidden:

api/api
client/client
5 changes: 2 additions & 3 deletions src/Yandex.Music.Api.Tests/Tests/API/ArtistAPITest.cs
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@

using Yandex.Music.Api.Models.Artist;
using Yandex.Music.Api.Models.Common;
using Yandex.Music.Api.Models.Track;
using Yandex.Music.Api.Tests.Traits;

namespace Yandex.Music.Api.Tests.Tests.API
Expand Down Expand Up @@ -44,15 +43,15 @@ public void GetList_ValidData_True()
[Order(2)]
public void GetTracks_ValidData_True()
{
YResponse<YTracksContainer> tracks = Fixture.API.Artist.GetTracks(Fixture.Storage, artistId, 1, 30);
YResponse<YTracksPage> tracks = Fixture.API.Artist.GetTracks(Fixture.Storage, artistId, 1, 30);
tracks.Result.Tracks.Count.Should().Be(30);
}

[Fact, YandexTrait(TraitGroup.ArtistAPI)]
[Order(3)]
public void GetAllTracks_ValidData_True()
{
YResponse<YTracksContainer> tracks = Fixture.API.Artist.GetAllTracks(Fixture.Storage, artistId);
YResponse<YTracksPage> tracks = Fixture.API.Artist.GetAllTracks(Fixture.Storage, artistId);
tracks.Result.Tracks.Count.Should().BeGreaterThan(30);
}

Expand Down
2 changes: 1 addition & 1 deletion src/Yandex.Music.Api/API/YAlbumAPI.cs
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ namespace Yandex.Music.Api.API
/// <summary>
/// API для взаимодействия с альбомами
/// </summary>
public partial class YAlbumAPI : YCommonAPI
public partial class YAlbumAPI
{
#region Основные функции

Expand Down
7 changes: 3 additions & 4 deletions src/Yandex.Music.Api/API/YArtistAPI.cs
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,13 @@
using Yandex.Music.Api.Common;
using Yandex.Music.Api.Models.Artist;
using Yandex.Music.Api.Models.Common;
using Yandex.Music.Api.Models.Track;

namespace Yandex.Music.Api.API
{
/// <summary>
/// API для взаимодействия с исполнителями
/// </summary>
public partial class YArtistAPI : YCommonAPI
public partial class YArtistAPI
{
#region Основные функции

Expand Down Expand Up @@ -45,7 +44,7 @@ public YResponse<List<YArtist>> Get(AuthStorage storage, IEnumerable<string> art
/// <param name="artistId">Идентификатор исполнителя</param>
/// <param name="page">Страница ответов</param>
/// <param name="pageSize">Количество треков на странице ответов</param>
public YResponse<YTracksContainer> GetTracks(AuthStorage storage, string artistId, int page = 0,
public YResponse<YTracksPage> GetTracks(AuthStorage storage, string artistId, int page = 0,
int pageSize = 20)
{
return GetTracksAsync(storage, artistId, page, pageSize).GetAwaiter().GetResult();
Expand All @@ -56,7 +55,7 @@ public YResponse<List<YArtist>> Get(AuthStorage storage, IEnumerable<string> art
/// </summary>
/// <param name="storage">Хранилище</param>
/// <param name="artistId">Идентификатор исполнителя</param>
public YResponse<YTracksContainer> GetAllTracks(AuthStorage storage, string artistId)
public YResponse<YTracksPage> GetAllTracks(AuthStorage storage, string artistId)
{
return GetAllTracksAsync(storage, artistId).GetAwaiter().GetResult();
}
Expand Down
6 changes: 2 additions & 4 deletions src/Yandex.Music.Api/API/YArtistAPIAsync.cs
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@
using Yandex.Music.Api.Common;
using Yandex.Music.Api.Models.Artist;
using Yandex.Music.Api.Models.Common;
using Yandex.Music.Api.Models.Track;
using Yandex.Music.Api.Requests.Artist;

namespace Yandex.Music.Api.API
Expand Down Expand Up @@ -55,8 +54,7 @@ public Task<YResponse<List<YArtist>>> GetAsync(AuthStorage storage, IEnumerable<
/// <param name="artistId">Идентификатор исполнителя</param>
/// <param name="page">Страница ответов</param>
/// <param name="pageSize">Количество треков на странице ответов</param>
public Task<YResponse<YTracksContainer>> GetTracksAsync(AuthStorage storage, string artistId, int page = 0,
int pageSize = 20)
public Task<YResponse<YTracksPage>> GetTracksAsync(AuthStorage storage, string artistId, int page = 0, int pageSize = 20)
{
return new YGetArtistTrackBuilder(api, storage)
.Build((artistId, page, pageSize))
Expand All @@ -68,7 +66,7 @@ public Task<YResponse<List<YArtist>>> GetAsync(AuthStorage storage, IEnumerable<
/// </summary>
/// <param name="storage">Хранилище</param>
/// <param name="artistId">Идентификатор исполнителя</param>
public async Task<YResponse<YTracksContainer>> GetAllTracksAsync(AuthStorage storage, string artistId)
public async Task<YResponse<YTracksPage>> GetAllTracksAsync(AuthStorage storage, string artistId)
{
YResponse<YArtistBriefInfo> response = await GetAsync(storage, artistId);
return await GetTracksAsync(storage, artistId, pageSize: response.Result.Artist.Counts.Tracks);
Expand Down
2 changes: 1 addition & 1 deletion src/Yandex.Music.Api/API/YLandingAPI.cs
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ namespace Yandex.Music.Api.API
/// <summary>
/// API для взаимодействия с главной страницей
/// </summary>
public partial class YLandingAPI: YCommonAPI
public partial class YLandingAPI
{
#region Основные функции

Expand Down
2 changes: 1 addition & 1 deletion src/Yandex.Music.Api/API/YLibraryAPI.cs
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ namespace Yandex.Music.Api.API
/// <summary>
/// API для взаимодействия с библиотекой
/// </summary>
public partial class YLibraryAPI : YCommonAPI
public partial class YLibraryAPI
{
#region Основные функции

Expand Down
2 changes: 1 addition & 1 deletion src/Yandex.Music.Api/API/YPlaylistAPI.cs
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ namespace Yandex.Music.Api.API
/// <summary>
/// API для взамодействия с плейлистами
/// </summary>
public partial class YPlaylistAPI : YCommonAPI
public partial class YPlaylistAPI
{
#region Основные функции

Expand Down
2 changes: 1 addition & 1 deletion src/Yandex.Music.Api/API/YQueueAPI.cs
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ namespace Yandex.Music.Api.API
/// <summary>
/// API для взаимодействия с очередями
/// </summary>
public partial class YQueueAPI : YCommonAPI
public partial class YQueueAPI
{
/// <summary>
/// Получение всех очередей треков с разных устройств для синхронизации между ними
Expand Down
2 changes: 1 addition & 1 deletion src/Yandex.Music.Api/API/YRadioAPI.cs
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ namespace Yandex.Music.Api.API
/// <summary>
/// API для взаимодействия с радио
/// </summary>
public partial class YRadioAPI: YCommonAPI
public partial class YRadioAPI
{
#region Основные функции

Expand Down
2 changes: 1 addition & 1 deletion src/Yandex.Music.Api/API/YRadioAPIAsync.cs
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ namespace Yandex.Music.Api.API
/// <summary>
/// API для взаимодействия с радио
/// </summary>
public partial class YRadioAPI: YCommonAPI
public partial class YRadioAPI : YCommonAPI
{
#region Основные функции

Expand Down
42 changes: 25 additions & 17 deletions src/Yandex.Music.Api/API/YSearchAPI.cs
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ namespace Yandex.Music.Api.API
/// <summary>
/// API для поиска
/// </summary>
public partial class YSearchAPI : YCommonAPI
public partial class YSearchAPI
{
#region Основные функции

Expand All @@ -17,10 +17,11 @@ public partial class YSearchAPI : YCommonAPI
/// <param name="storage">Хранилище</param>
/// <param name="trackName">Имя трека</param>
/// <param name="pageNumber">Номер страницы</param>
/// <param name="pageSize">Размер страницы</param>
/// <returns></returns>
public YResponse<YSearch> Track(AuthStorage storage, string trackName, int pageNumber = 0)
public YResponse<YSearch> Track(AuthStorage storage, string trackName, int pageNumber = 0, int pageSize = 20)
{
return TrackAsync(storage, trackName, pageNumber).GetAwaiter().GetResult();
return TrackAsync(storage, trackName, pageNumber, pageSize).GetAwaiter().GetResult();
}

/// <summary>
Expand All @@ -29,10 +30,11 @@ public YResponse<YSearch> Track(AuthStorage storage, string trackName, int pageN
/// <param name="storage">Хранилище</param>
/// <param name="albumName">Имя альбома</param>
/// <param name="pageNumber">Номер страницы</param>
/// <param name="pageSize">Размер страницы</param>
/// <returns></returns>
public YResponse<YSearch> Albums(AuthStorage storage, string albumName, int pageNumber = 0)
public YResponse<YSearch> Albums(AuthStorage storage, string albumName, int pageNumber = 0, int pageSize = 20)
{
return AlbumsAsync(storage, albumName, pageNumber).GetAwaiter().GetResult();
return AlbumsAsync(storage, albumName, pageNumber, pageSize).GetAwaiter().GetResult();
}

/// <summary>
Expand All @@ -41,10 +43,11 @@ public YResponse<YSearch> Albums(AuthStorage storage, string albumName, int page
/// <param name="storage">Хранилище</param>
/// <param name="artistName">Имя артиста</param>
/// <param name="pageNumber">Номер страницы</param>
/// <param name="pageSize">Размер страницы</param>
/// <returns></returns>
public YResponse<YSearch> Artist(AuthStorage storage, string artistName, int pageNumber = 0)
public YResponse<YSearch> Artist(AuthStorage storage, string artistName, int pageNumber = 0, int pageSize = 20)
{
return ArtistAsync(storage, artistName, pageNumber).GetAwaiter().GetResult();
return ArtistAsync(storage, artistName, pageNumber, pageSize).GetAwaiter().GetResult();
}

/// <summary>
Expand All @@ -53,10 +56,11 @@ public YResponse<YSearch> Artist(AuthStorage storage, string artistName, int pag
/// <param name="storage">Хранилище</param>
/// <param name="playlistName">Имя плейлиста</param>
/// <param name="pageNumber">Номер страницы</param>
/// <param name="pageSize">Размер страницы</param>
/// <returns></returns>
public YResponse<YSearch> Playlist(AuthStorage storage, string playlistName, int pageNumber = 0)
public YResponse<YSearch> Playlist(AuthStorage storage, string playlistName, int pageNumber = 0, int pageSize = 20)
{
return PlaylistAsync(storage, playlistName, pageNumber).GetAwaiter().GetResult();
return PlaylistAsync(storage, playlistName, pageNumber, pageSize).GetAwaiter().GetResult();
}

/// <summary>
Expand All @@ -65,10 +69,11 @@ public YResponse<YSearch> Playlist(AuthStorage storage, string playlistName, int
/// <param name="storage">Хранилище</param>
/// <param name="podcastName">Имя подкаста</param>
/// <param name="pageNumber">Номер страницы</param>
/// <param name="pageSize">Размер страницы</param>
/// <returns></returns>
public YResponse<YSearch> PodcastEpisode(AuthStorage storage, string podcastName, int pageNumber = 0)
public YResponse<YSearch> PodcastEpisode(AuthStorage storage, string podcastName, int pageNumber = 0, int pageSize = 20)
{
return PodcastEpisodeAsync(storage, podcastName, pageNumber).GetAwaiter().GetResult();
return PodcastEpisodeAsync(storage, podcastName, pageNumber, pageSize).GetAwaiter().GetResult();
}

/// <summary>
Expand All @@ -77,10 +82,11 @@ public YResponse<YSearch> PodcastEpisode(AuthStorage storage, string podcastName
/// <param name="storage">Хранилище</param>
/// <param name="videoName">Имя пользователя</param>
/// <param name="pageNumber">Номер страницы</param>
/// <param name="pageSize">Размер страницы</param>
/// <returns></returns>
public YResponse<YSearch> Videos(AuthStorage storage, string videoName, int pageNumber = 0)
public YResponse<YSearch> Videos(AuthStorage storage, string videoName, int pageNumber = 0, int pageSize = 20)
{
return VideosAsync(storage, videoName, pageNumber).GetAwaiter().GetResult();
return VideosAsync(storage, videoName, pageNumber, pageSize).GetAwaiter().GetResult();
}

/// <summary>
Expand All @@ -89,10 +95,11 @@ public YResponse<YSearch> Videos(AuthStorage storage, string videoName, int page
/// <param name="storage">Хранилище</param>
/// <param name="userName">Имя пользователя</param>
/// <param name="pageNumber">Номер страницы</param>
/// <param name="pageSize">Размер страницы</param>
/// <returns></returns>
public YResponse<YSearch> Users(AuthStorage storage, string userName, int pageNumber = 0)
public YResponse<YSearch> Users(AuthStorage storage, string userName, int pageNumber = 0, int pageSize = 20)
{
return UsersAsync(storage, userName, pageNumber).GetAwaiter().GetResult();
return UsersAsync(storage, userName, pageNumber, pageSize).GetAwaiter().GetResult();
}

/// <summary>
Expand All @@ -102,10 +109,11 @@ public YResponse<YSearch> Users(AuthStorage storage, string userName, int pageNu
/// <param name="searchText">Поисковый запрос</param>
/// <param name="searchType">Тип поиска</param>
/// <param name="page">Страница</param>
/// <param name="pageSize">Размер страницы</param>
/// <returns></returns>
public YResponse<YSearch> Search(AuthStorage storage, string searchText, YSearchType searchType, int page = 0)
public YResponse<YSearch> Search(AuthStorage storage, string searchText, YSearchType searchType, int page = 0, int pageSize = 20)
{
return SearchAsync(storage, searchText, searchType, page).GetAwaiter().GetResult();
return SearchAsync(storage, searchText, searchType, page, pageSize).GetAwaiter().GetResult();
}

/// <summary>
Expand Down

0 comments on commit 8ef67f0

Please sign in to comment.