diff --git a/src/FilterLists.Data/Entities/FilterList.cs b/src/FilterLists.Data/Entities/FilterList.cs index 88f5674ff..6453a477b 100644 --- a/src/FilterLists.Data/Entities/FilterList.cs +++ b/src/FilterLists.Data/Entities/FilterList.cs @@ -11,14 +11,15 @@ public class FilterList : BaseEntity public DateTime? DiscontinuedDate { get; set; } public string DonateUrl { get; set; } public string EmailAddress { get; set; } - public string ForumUrl { get; set; } - public string HomeUrl { get; set; } - public string IssuesUrl { get; set; } public ICollection FilterListLanguages { get; set; } public ICollection FilterListMaintainers { get; set; } public ICollection FilterListRules { get; set; } + public string ForumUrl { get; set; } + public string HomeUrl { get; set; } + public string IssuesUrl { get; set; } public int? LicenseId { get; set; } public string Name { get; set; } + public ICollection Snapshots { get; set; } public string SubmissionUrl { get; set; } public int? SyntaxId { get; set; } public string ViewUrl { get; set; } diff --git a/src/FilterLists.Data/Entities/Snapshot.cs b/src/FilterLists.Data/Entities/Snapshot.cs new file mode 100644 index 000000000..6b9ced6a4 --- /dev/null +++ b/src/FilterLists.Data/Entities/Snapshot.cs @@ -0,0 +1,8 @@ +namespace FilterLists.Data.Entities +{ + public class Snapshot : BaseEntity + { + public string Content { get; set; } + public int FilterListId { get; set; } + } +} \ No newline at end of file diff --git a/src/FilterLists.Data/EntityTypeConfigurations/SnapshotTypeConfiguration.cs b/src/FilterLists.Data/EntityTypeConfigurations/SnapshotTypeConfiguration.cs new file mode 100644 index 000000000..159368a53 --- /dev/null +++ b/src/FilterLists.Data/EntityTypeConfigurations/SnapshotTypeConfiguration.cs @@ -0,0 +1,19 @@ +using FilterLists.Data.Entities; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Metadata.Builders; + +namespace FilterLists.Data.EntityTypeConfigurations +{ + public class SnapshotTypeConfiguration : BaseEntityTypeConfiguration + { + public override void Configure(EntityTypeBuilder entityTypeBuilder) + { + entityTypeBuilder.ToTable("snapshots"); + entityTypeBuilder.Property(x => x.Content) + .HasColumnType("TEXT") + .IsRequired(); + entityTypeBuilder.Ignore(x => x.ModifiedDateUtc); + base.Configure(entityTypeBuilder); + } + } +} \ No newline at end of file diff --git a/src/FilterLists.Data/FilterListsDbContext.cs b/src/FilterLists.Data/FilterListsDbContext.cs index 7e86403ea..47b262081 100644 --- a/src/FilterLists.Data/FilterListsDbContext.cs +++ b/src/FilterLists.Data/FilterListsDbContext.cs @@ -27,6 +27,7 @@ private static void ApplyConfigurationsEntities(ModelBuilder modelBuilder) modelBuilder.ApplyConfiguration(new LicenseTypeConfiguration()); modelBuilder.ApplyConfiguration(new MaintainerTypeConfiguration()); modelBuilder.ApplyConfiguration(new RuleTypeConfiguration()); + modelBuilder.ApplyConfiguration(new SnapshotTypeConfiguration()); modelBuilder.ApplyConfiguration(new SoftwareTypeConfiguration()); modelBuilder.ApplyConfiguration(new SyntaxTypeConfiguration()); } @@ -48,6 +49,7 @@ private static void ApplyConfigurationsJunctions(ModelBuilder modelBuilder) public DbSet Licenses { get; set; } public DbSet Maintainers { get; set; } public DbSet Rules { get; set; } + public DbSet Snapshots { get; set; } public DbSet Software { get; set; } public DbSet Syntaxes { get; set; }