isn/src/isnd/Data/Catalog/PackageRegistration.cs

41 lines
1.0 KiB
C#

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