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 id, string apiBase, Packages.Package pkg) : base(bid + $"/{id}/index.json") { Items = new List { new CatalogPage(bid, id, apiBase, pkg.Versions) }; if (pkg.Versions.Count>0) { CommitId = pkg.Versions.Max(v=>v.CommitNId).ToString(); CommitTimeStamp = pkg.Versions.Max(v=>v.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; } } }