noz-cli/NozCli.Core/Serialization/NozJsonContext.cs
kryptomrx b76896dc7a refactor(core): Native AOT - JSON source generators, AOT-safe models and API client
- Add NozJsonContext / NozJsonContextPretty source generator contexts
- Replace all reflection-based JSON with source-generated overloads
- Add NotesCacheFile record for persistent note cache
- Add date field to NoteInfo, CancellationToken to all API methods
- LocalConfig uses source-generated serialization (compact + indented)
2026-05-16 23:20:21 +02:00

21 lines
816 B
C#

using System.Text.Json;
using System.Text.Json.Serialization;
using NozCli.Core.Config;
using NozCli.Core.Models;
namespace NozCli.Core.Serialization;
[JsonSourceGenerationOptions(PropertyNamingPolicy = JsonKnownNamingPolicy.SnakeCaseLower)]
[JsonSerializable(typeof(LocalConfig))]
[JsonSerializable(typeof(PushBody))]
[JsonSerializable(typeof(JsonElement))]
[JsonSerializable(typeof(NotesCacheFile))]
[JsonSerializable(typeof(List<NoteInfo>))]
[JsonSerializable(typeof(NoteInfo))]
public partial class NozJsonContext : JsonSerializerContext { }
[JsonSourceGenerationOptions(PropertyNamingPolicy = JsonKnownNamingPolicy.SnakeCaseLower, WriteIndented = true)]
[JsonSerializable(typeof(LocalConfig))]
internal partial class NozJsonContextPretty : JsonSerializerContext { }
public record PushBody(string Markdown);