Полностью переписанное 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,24 +1,34 @@
|
||||
using System.Text.Json;
|
||||
using System.Text.Json.Serialization;
|
||||
using YandexMusic.API.Common;
|
||||
using YandexMusic.API.Models.Common;
|
||||
|
||||
namespace YandexMusic.API.Models.Common;
|
||||
namespace YandexMusic.API.Converters;
|
||||
|
||||
/// <summary>Конвертер для внедрения контекста выполнения (API и хранилище) в модели.</summary>
|
||||
/// <summary>
|
||||
/// Конвертер для внедрения контекста выполнения (API и хранилище) в модели, наследуемые от YBaseModel.
|
||||
/// </summary>
|
||||
public class YExecutionContextConverter : JsonConverter<object>
|
||||
{
|
||||
private readonly YandexMusicApi _api;
|
||||
private readonly AuthStorage _storage;
|
||||
|
||||
/// <summary>
|
||||
/// Инициализирует новый экземпляр конвертера.
|
||||
/// </summary>
|
||||
/// <param name="api">Экземпляр основного API.</param>
|
||||
/// <param name="storage">Хранилище авторизации.</param>
|
||||
public YExecutionContextConverter(YandexMusicApi api, AuthStorage storage)
|
||||
{
|
||||
_api = api;
|
||||
_storage = storage;
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
public override bool CanConvert(Type typeToConvert) =>
|
||||
typeof(YBaseModel).IsAssignableFrom(typeToConvert);
|
||||
|
||||
/// <inheritdoc />
|
||||
public override object? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
|
||||
{
|
||||
// Убираем этот конвертер из опций, чтобы избежать рекурсии
|
||||
@@ -33,6 +43,7 @@ public class YExecutionContextConverter : JsonConverter<object>
|
||||
return obj;
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
public override void Write(Utf8JsonWriter writer, object value, JsonSerializerOptions options)
|
||||
{
|
||||
var innerOptions = new JsonSerializerOptions(options);
|
||||
|
||||
Reference in New Issue
Block a user