diff --git a/YaMusicCli/Program.cs b/YaMusicCli/Program.cs
index 99dbea1..df28863 100644
--- a/YaMusicCli/Program.cs
+++ b/YaMusicCli/Program.cs
@@ -1,4 +1,6 @@
-internal class Program
+using YandexMusic.API.Extensions.API;
+
+internal class Program
{
private async static Task Main(string[] args)
{
@@ -6,5 +8,9 @@
var type = await client.Authorize("y0__xDy2budARje-AYg7rmliBc11LbYoMeUiwiO6f6mSCAMDYVIKg");
var playlists = (await client.GetFavoritesAsync()).Where(t => t.Owner.Uid == client.Account.Uid).ToList();
var playlist = await client.GetPlaylistAsync("97ae0768-8a40-8485-9fa4-b6c856bc6b21");
+
+
+ var tracks = await client.GetTracksAsync(new[] { "78412759" });
+ await playlist.InsertTracksAsync(tracks.ToArray());
}
}
\ No newline at end of file
diff --git a/YandexMusic.API/Common/Providers/CommonRequestProvider.cs b/YandexMusic.API/Common/Providers/CommonRequestProvider.cs
index d6e8369..3f7e97d 100644
--- a/YandexMusic.API/Common/Providers/CommonRequestProvider.cs
+++ b/YandexMusic.API/Common/Providers/CommonRequestProvider.cs
@@ -11,13 +11,6 @@ public abstract class CommonRequestProvider : IRequestProvider
/// Хранилище данных авторизации.
protected readonly AuthStorage storage;
- /// Настройки сериализации JSON (регистронезависимые, поддержка enum-строк).
- private static readonly JsonSerializerOptions JsonOptions = new()
- {
- PropertyNameCaseInsensitive = true,
- Converters = { new JsonStringEnumConverter(JsonNamingPolicy.KebabCaseLower), new IntToStringConverter() }
- };
-
/// Инициализирует новый экземпляр провайдера.
/// Хранилище авторизации.
protected CommonRequestProvider(AuthStorage authStorage)
@@ -37,6 +30,16 @@ public abstract class CommonRequestProvider : IRequestProvider
{
var json = await response.Content.ReadAsStringAsync();
+ JsonSerializerOptions JsonOptions = new()
+ {
+ PropertyNameCaseInsensitive = true,
+ Converters = {
+ new JsonStringEnumConverter(JsonNamingPolicy.KebabCaseLower),
+ new IntToStringConverter(),
+ new YExecutionContextConverter(api, storage),
+ }
+ };
+
if (!response.IsSuccessStatusCode)
{
var error = JsonSerializer.Deserialize(json, JsonOptions);
diff --git a/YandexMusic.API/Models/Common/YExecutionContextConverter.cs b/YandexMusic.API/Models/Common/YExecutionContextConverter.cs
index 115978c..8d5834c 100644
--- a/YandexMusic.API/Models/Common/YExecutionContextConverter.cs
+++ b/YandexMusic.API/Models/Common/YExecutionContextConverter.cs
@@ -5,7 +5,7 @@ using YandexMusic.API.Common;
namespace YandexMusic.API.Models.Common;
/// Конвертер для внедрения контекста выполнения (API и хранилище) в модели.
-public class YExecutionContextConverter : JsonConverter
+public class YExecutionContextConverter : JsonConverter