using System.Text.Json.Serialization;

namespace Services.Models
{
    public class OllamaModel
    {
        [JsonPropertyName("name")]
        public string Name { get; set; } = "";

        [JsonPropertyName("model")]
        public string Model { get; set; } = "";

        [JsonPropertyName("modified_at")]
        public DateTime Modified_At { get; set; }

        [JsonPropertyName("size")]
        public long Size { get; set; }

        [JsonPropertyName("digest")]
        public string Digest { get; set; } = "";

        [JsonPropertyName("details")]
        public OllamaModelDetails Details { get; set; } = new();
    }

    public class OllamaModelDetails
    {
        [JsonPropertyName("parent_model")]
        public string Parent_Model { get; set; } = "";

        [JsonPropertyName("format")]
        public string Format { get; set; } = "";

        [JsonPropertyName("family")]
        public string Family { get; set; } = "";

        [JsonPropertyName("families")]
        public List<string> Families { get; set; } = new();

        [JsonPropertyName("parameter_size")]
        public string ParameterSize { get; set; } = "";

        [JsonPropertyName("quantization_level")]
        public string QuantizationLevel { get; set; } = "";
    }
}
