using System.Text.Json.Serialization;

namespace Adaptation.FileHandlers.json.WorkItems;

internal class CustomRequester
{

    [JsonConstructor]
    public CustomRequester(
        string descriptor,
        string displayName,
        string id,
        string imageUrl,
        Links links,
        string uniqueName,
        string url
    )
    {
        Descriptor = descriptor;
        DisplayName = displayName;
        Id = id;
        ImageUrl = imageUrl;
        Links = links;
        UniqueName = uniqueName;
        Url = url;
    }

    [JsonPropertyName("descriptor")] public string Descriptor { get; }
    [JsonPropertyName("displayName")] public string DisplayName { get; }
    [JsonPropertyName("id")] public string Id { get; }
    [JsonPropertyName("imageUrl")] public string ImageUrl { get; }
    [JsonPropertyName("_links")] public Links Links { get; }
    [JsonPropertyName("uniqueName")] public string UniqueName { get; }
    [JsonPropertyName("url")] public string Url { get; }

}

[JsonSourceGenerationOptions(WriteIndented = true)]
[JsonSerializable(typeof(CustomRequester))]
internal partial class CustomRequesterSourceGenerationContext : JsonSerializerContext
{
}