using System.ComponentModel.DataAnnotations; using Newtonsoft.Json; namespace isnd.Data.Catalog { public class CatalogEntry { /// /// The URL to the document used to produce this object /// /// [Key][Required] [StringLength(1024)] [JsonProperty("@id")] public string Id { get; set; } /// /// Authors /// /// string or array of strings public string authors { get; set; } /// /// The dependencies of the package, grouped by target framework /// /// array of objects public DependencyGroup[] dependencyGroups { get; set; } /// /// The deprecation associated with the package /// /// public Deprecation deprecation { get; set; } [JsonProperty("description")] public string Description { get; set; } public string iconUrl { get; set; } /// /// The ID of the package /// /// public string idp { get; set; } public string licenseUrl { get; set; } public string licenseExpression { get; set; } /// /// Should be considered as listed if absent /// /// public bool listed { get; set; } public string minClientVersion { get; set; } public string projectUrl { get; set; } /// /// A string containing a ISO 8601 timestamp of when the package was published /// /// public string published { get; set; } public bool requireLicenseAcceptance { get; set; } public string summary { get; set; } /// /// The tags /// /// public string tags { get; set; } public string title { get; set; } /// /// The full version string after normalization /// /// [Required] public string version { get; set; } // string yes /// /// The security vulnerabilities of the package /// /// public Vulnerabilitie[] vulnerabilities { get; set; } } }