using isnd.Data.Packages; using Newtonsoft.Json; using System; using System.Collections.Generic; using System.Linq; namespace isnd.Data.Catalog { public class PackageRegistration : Permalink { public PackageRegistration(string url) : base(url) { Items = new List(); } public PackageRegistration(string bid, string apiBase, Packages.Package pkg) : base(bid + $"/{pkg.Id}/index.json") { Items = new List { new CatalogPage(bid, pkg.Id, apiBase, pkg.Versions) }; CommitId = pkg.LatestCommit.CommitId; CommitTimeStamp = pkg.LatestCommit.CommitTimeStamp; } [JsonProperty("count")] public int Count { get => Items.Count; } [JsonProperty("items")] public List Items { get; set; } public string CommitId { get; set; } public DateTimeOffset CommitTimeStamp { get; internal set; } } }