REORG+histo

This commit is contained in:
Paul Schneider 2021-09-05 15:44:47 +01:00
commit 6dd76ac1a5
28 changed files with 948 additions and 159 deletions

View file

@ -7,6 +7,7 @@ using Microsoft.EntityFrameworkCore;
using isnd.Data;
using isnd.Data.ApiKeys;
using isnd.Data.Catalog;
using isnd.Data.Historic;
namespace isnd.Data
{
@ -25,10 +26,15 @@ namespace isnd.Data
v.FullString,
v.Type
});
modelBuilder.Entity<PackageVersionCommit>().HasKey
(c => new { c.CommitId, c.PackageId, c.FullString, c.PackageType });
}
public DbSet<ApiKey> ApiKeys { get; set; }
public DbSet<Package> Packages { get; set; }
public DbSet<PackageVersion> PackageVersions { get; set; }
public DbSet<Commit> Commits { get; set; }
public DbSet<PackageVersionCommit> PackageVersionCommmit { get; set; }
}
}

View file

@ -0,0 +1,29 @@
using System;
using System.Collections.Generic;
using Newtonsoft.Json;
namespace isnd.Data.Catalog
{
public class CatalogLeaf : IObject
{
[JsonProperty("@type")]
public List<string> RefType { get; set; }
[JsonProperty("commitId")]
public string CommitId { get; set; }
[JsonProperty("commitTimeStamp")]
public DateTime CommitTimeStamp { get; set; }
[JsonProperty("published")]
public DateTime Published { get; set; }
[JsonProperty("id")]
public string Id { get; set; }
[JsonProperty("version")]
public string Version { get; set; }
}
}

View file

@ -0,0 +1,7 @@
namespace isnd.Data.Catalog
{
public class PackageDetail : CatalogLeaf
{
}
}

View file

@ -0,0 +1,30 @@
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using isnd.Data.Catalog;
namespace isnd.Data.Historic
{
public class PackageVersionCommit
{
public long CommitId { get; set; }
[StringLength(1024)]
public string PackageId { get; set; }
[StringLength(256)]
public string FullString { get; set; }
[StringLength(256)]
public string PackageType { get; set; }
[ForeignKey("CommitId")]
public virtual Commit Commit { get; set; }
[ForeignKey("PackageId")]
public virtual Package Package { get; set; }
[ForeignKey("PackageId,FullString,PackageType")]
public virtual PackageVersion PackageVersion { get; set; }
}
}

View file

@ -10,6 +10,7 @@ namespace isnd.Data
public class Package : IObject
{
[Key][Required]
[StringLength(1024)]
public string Id { get; set; }
[Required]

View file

@ -9,6 +9,7 @@ namespace isnd.Data
{
[Required]
[ForeignKey("Package")]
[StringLength(1024)]
public string PackageId { get; set; }
[Required]