using System.Text.Json.Serialization;

namespace OI.Metrology.Shared.Models;

public record QaMetTest(
    [property: JsonPropertyName("test")] string Test,
    [property: JsonPropertyName("property")] string Property,
    [property: JsonPropertyName("propertyDesc")] string PropertyDesc,
    [property: JsonPropertyName("toolClass")] string ToolClass,
    [property: JsonPropertyName("recipe")] string Recipe,
    [property: JsonPropertyName("recipePattern")] string RecipePattern,
    [property: JsonPropertyName("min")] double Min,
    [property: JsonPropertyName("max")] double Max,
    // [property: JsonPropertyName("phaseMin")] object PhaseMin,
    // [property: JsonPropertyName("slots")] object Slots,
    [property: JsonPropertyName("wfrQty")] int WfrQty,
    [property: JsonPropertyName("reactSched")] bool ReactSched,
    [property: JsonPropertyName("interval")] int Interval,
    [property: JsonPropertyName("start")] int Start,
    [property: JsonPropertyName("sequence")] string Sequence
);

[JsonSourceGenerationOptions(WriteIndented = true, NumberHandling = JsonNumberHandling.AllowReadingFromString)]
[JsonSerializable(typeof(QaMetTest))]
public partial class QaMetTestSourceGenerationContext : JsonSerializerContext
{
}