- 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)
21 lines
816 B
C#
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);
|