using System.Text.Json.Serialization; namespace CannedNet; public class RecNetResultWithValue : RecNetResult { [JsonPropertyName("value")] public required T? Value { get; set; } } public class RecNetResult { public static RecNetResult Ok() => new RecNetResult { Success = true }; public static RecNetResult Err(string error) => new RecNetResult { Success = false, Error = error }; public static RecNetResultWithValue Ok(T value) => new RecNetResultWithValue { Success = true, Value = value }; public static RecNetResultWithValue Err(string error) => new RecNetResultWithValue { Success = false, Error = error, Value = default }; [JsonPropertyName("success")] public bool Success { get; set; } [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] [JsonPropertyName("error")] public string? Error { get; set; } }