using System.ComponentModel.DataAnnotations;
using Newtonsoft.Json;

namespace isnd.Data.Catalog
{
    /// <summary>
    /// Hosts a catalog entry, 
    /// the atomic content reference
    /// </summary>
    public class RegistrationLeaf
    {
        /*
        @id 	string 	yes 	
        catalogEntry 	object 	yes 	
        packageContent 	string 	yes 	
        */
        /// <summary>
        /// The URL to the registration leaf
        /// </summary>
        /// <value></value>
        [JsonProperty("@id")]
        [Key][Required]
        [StringLength(1024)]
        public string Id { get; set; }

        /// <summary>
        /// The catalog entry containing the package metadata
        /// </summary>
        /// <value></value>
        [JsonProperty("catalogEntry")]
        public CatalogEntry Entry { get; set; }

        /// <summary>
        /// The URL to the package content (.nupkg)
        /// </summary>
        /// <value></value>
        [JsonProperty("packageContent")]
        public string PackageContent { get; set; }
    }
}