#if WorkItems
using System.Text.Json.Serialization;

namespace File_Folder_Helper.ADO2024.PI3.WorkItems;

public class Value
{
    [JsonConstructor]
    public Value(
        int id,
        int rev,
        Fields fields,
        object[] relations,
        CommentVersionRef commentVersionRef,
        string url
    )
    {
        Id = id;
        Rev = rev;
        Fields = fields;
        Relations = relations;
        CommentVersionRef = commentVersionRef;
        Url = url;
    }

    [JsonPropertyName("id")]
    public int Id { get; }

    [JsonPropertyName("rev")]
    public int Rev { get; }

    [JsonPropertyName("fields")]
    public Fields Fields { get; }

    [JsonPropertyName("relations")]
    public object[] Relations { get; }

    [JsonPropertyName("commentVersionRef")]
    public CommentVersionRef CommentVersionRef { get; }

    [JsonPropertyName("url")]
    public string Url { get; }
}

[JsonSourceGenerationOptions(WriteIndented = true, DefaultIgnoreCondition = JsonIgnoreCondition.WhenWritingNull, PropertyNameCaseInsensitive = true)]
[JsonSerializable(typeof(Value[]))]
internal partial class ValueCollectionSourceGenerationContext : JsonSerializerContext
{
}

[JsonSourceGenerationOptions(WriteIndented = true, DefaultIgnoreCondition = JsonIgnoreCondition.WhenWritingNull, PropertyNameCaseInsensitive = true)]
[JsonSerializable(typeof(Value))]
internal partial class ValueSourceGenerationContext : JsonSerializerContext
{
}
#endif