Updated admin page to be more streamlined and added the beginning of the blogging features

This commit is contained in:
Vincent Allen
2025-10-21 13:32:39 -04:00
parent 0e24ce2073
commit b34449808f
224 changed files with 27064 additions and 396 deletions

View File

@@ -84,6 +84,36 @@ namespace OpenArchival.DataAccess.Migrations
b.ToTable("ArtifactEntryListedName");
});
modelBuilder.Entity("ArtifactEntryTagSearchPageSliderEntry", b =>
{
b.Property<int>("FilterTagsId")
.HasColumnType("integer");
b.Property<int>("SearchPageSlidersId")
.HasColumnType("integer");
b.HasKey("FilterTagsId", "SearchPageSlidersId");
b.HasIndex("SearchPageSlidersId");
b.ToTable("ArtifactEntryTagSearchPageSliderEntry");
});
modelBuilder.Entity("ArtifactGroupingBlogPost", b =>
{
b.Property<int>("ArtifactGroupingsId")
.HasColumnType("integer");
b.Property<int>("BlogPostsId")
.HasColumnType("integer");
b.HasKey("ArtifactGroupingsId", "BlogPostsId");
b.HasIndex("BlogPostsId");
b.ToTable("ArtifactGroupingBlogPost");
});
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRole", b =>
{
b.Property<string>("Id")
@@ -362,6 +392,9 @@ namespace OpenArchival.DataAccess.Migrations
b.PrimitiveCollection<List<string>>("Links")
.HasColumnType("text[]");
b.Property<int>("Quantity")
.HasColumnType("integer");
b.Property<int>("StorageLocationId")
.HasColumnType("integer");
@@ -547,6 +580,28 @@ namespace OpenArchival.DataAccess.Migrations
b.ToTable("ArtifactGroupings");
});
modelBuilder.Entity("OpenArchival.DataAccess.ArtifactGroupingViewCount", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
b.Property<int>("ArtifactGroupingId")
.HasColumnType("integer");
b.Property<int>("Views")
.HasColumnType("integer");
b.HasKey("Id");
b.HasIndex("ArtifactGroupingId")
.IsUnique();
b.ToTable("ArtifactGroupingViewCounts");
});
modelBuilder.Entity("OpenArchival.DataAccess.ArtifactStorageLocation", b =>
{
b.Property<int>("Id")
@@ -581,6 +636,85 @@ namespace OpenArchival.DataAccess.Migrations
b.ToTable("ArtifactTypes");
});
modelBuilder.Entity("OpenArchival.DataAccess.BlogPost", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
b.Property<string>("AllSearchString")
.IsRequired()
.HasColumnType("text");
b.Property<NpgsqlTsVector>("AllSearchVector")
.IsRequired()
.ValueGeneratedOnAddOrUpdate()
.HasColumnType("tsvector")
.HasAnnotation("Npgsql:TsVectorConfig", "english")
.HasAnnotation("Npgsql:TsVectorProperties", new[] { "AllSearchString" });
b.Property<string>("Content")
.IsRequired()
.HasColumnType("text");
b.Property<NpgsqlTsVector>("ContentSearchVector")
.IsRequired()
.ValueGeneratedOnAddOrUpdate()
.HasColumnType("tsvector")
.HasAnnotation("Npgsql:TsVectorConfig", "english")
.HasAnnotation("Npgsql:TsVectorProperties", new[] { "Content" });
b.Property<DateTime>("CreationTime")
.HasColumnType("timestamp with time zone");
b.Property<DateTime>("ModifiedTime")
.HasColumnType("timestamp with time zone");
b.Property<string>("TagsSearchString")
.IsRequired()
.HasColumnType("text");
b.Property<NpgsqlTsVector>("TagsSearchVector")
.IsRequired()
.ValueGeneratedOnAddOrUpdate()
.HasColumnType("tsvector")
.HasAnnotation("Npgsql:TsVectorConfig", "english")
.HasAnnotation("Npgsql:TsVectorProperties", new[] { "TagsSearchString" });
b.Property<string>("Title")
.IsRequired()
.HasColumnType("text");
b.Property<NpgsqlTsVector>("TitleSearchVector")
.IsRequired()
.ValueGeneratedOnAddOrUpdate()
.HasColumnType("tsvector")
.HasAnnotation("Npgsql:TsVectorConfig", "english")
.HasAnnotation("Npgsql:TsVectorProperties", new[] { "Title" });
b.HasKey("Id");
b.HasIndex("AllSearchVector");
NpgsqlIndexBuilderExtensions.HasMethod(b.HasIndex("AllSearchVector"), "GIN");
b.HasIndex("ContentSearchVector");
NpgsqlIndexBuilderExtensions.HasMethod(b.HasIndex("ContentSearchVector"), "GIN");
b.HasIndex("TagsSearchVector");
NpgsqlIndexBuilderExtensions.HasMethod(b.HasIndex("TagsSearchVector"), "GIN");
b.HasIndex("TitleSearchVector");
NpgsqlIndexBuilderExtensions.HasMethod(b.HasIndex("TitleSearchVector"), "GIN");
b.ToTable("BlogPosts");
});
modelBuilder.Entity("OpenArchival.DataAccess.FilePathListing", b =>
{
b.Property<int>("Id")
@@ -629,6 +763,57 @@ namespace OpenArchival.DataAccess.Migrations
b.ToTable("ArtifactAssociatedNames");
});
modelBuilder.Entity("OpenArchival.DataAccess.Models.BlogPostTag", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
b.Property<int?>("BlogPostId")
.HasColumnType("integer");
b.Property<int?>("BlogPostTagId")
.HasColumnType("integer");
b.Property<string>("Name")
.IsRequired()
.HasColumnType("text");
b.HasKey("Id");
b.HasIndex("BlogPostId");
b.HasIndex("BlogPostTagId");
b.ToTable("BlogPostTags");
});
modelBuilder.Entity("OpenArchival.DataAccess.SearchPageSliderEntry", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
b.Property<string>("Description")
.IsRequired()
.HasColumnType("text");
b.Property<int>("MaxCount")
.HasColumnType("integer");
b.Property<string>("Title")
.IsRequired()
.HasColumnType("text");
b.HasKey("Id");
b.ToTable("SearchPageSliderEntries");
});
modelBuilder.Entity("ArtifactDefectArtifactEntry", b =>
{
b.HasOne("OpenArchival.DataAccess.ArtifactEntry", null)
@@ -689,6 +874,36 @@ namespace OpenArchival.DataAccess.Migrations
.IsRequired();
});
modelBuilder.Entity("ArtifactEntryTagSearchPageSliderEntry", b =>
{
b.HasOne("OpenArchival.DataAccess.ArtifactEntryTag", null)
.WithMany()
.HasForeignKey("FilterTagsId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("OpenArchival.DataAccess.SearchPageSliderEntry", null)
.WithMany()
.HasForeignKey("SearchPageSlidersId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
});
modelBuilder.Entity("ArtifactGroupingBlogPost", b =>
{
b.HasOne("OpenArchival.DataAccess.ArtifactGrouping", null)
.WithMany()
.HasForeignKey("ArtifactGroupingsId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("OpenArchival.DataAccess.BlogPost", null)
.WithMany()
.HasForeignKey("BlogPostsId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
});
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim<string>", b =>
{
b.HasOne("Microsoft.AspNetCore.Identity.IdentityRole", null)
@@ -808,6 +1023,17 @@ namespace OpenArchival.DataAccess.Migrations
b.Navigation("Type");
});
modelBuilder.Entity("OpenArchival.DataAccess.ArtifactGroupingViewCount", b =>
{
b.HasOne("OpenArchival.DataAccess.ArtifactGrouping", "Grouping")
.WithOne("ViewCount")
.HasForeignKey("OpenArchival.DataAccess.ArtifactGroupingViewCount", "ArtifactGroupingId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Grouping");
});
modelBuilder.Entity("OpenArchival.DataAccess.FilePathListing", b =>
{
b.HasOne("OpenArchival.DataAccess.ArtifactGrouping", null)
@@ -822,6 +1048,17 @@ namespace OpenArchival.DataAccess.Migrations
b.Navigation("ParentArtifactEntry");
});
modelBuilder.Entity("OpenArchival.DataAccess.Models.BlogPostTag", b =>
{
b.HasOne("OpenArchival.DataAccess.BlogPost", null)
.WithMany("Tags")
.HasForeignKey("BlogPostId");
b.HasOne("OpenArchival.DataAccess.Models.BlogPostTag", null)
.WithMany("BlogPostTags")
.HasForeignKey("BlogPostTagId");
});
modelBuilder.Entity("OpenArchival.DataAccess.ArtifactEntry", b =>
{
b.Navigation("Files");
@@ -832,6 +1069,8 @@ namespace OpenArchival.DataAccess.Migrations
b.Navigation("ChildArtifactEntries");
b.Navigation("ChildFilePathListings");
b.Navigation("ViewCount");
});
modelBuilder.Entity("OpenArchival.DataAccess.ArtifactStorageLocation", b =>
@@ -843,6 +1082,16 @@ namespace OpenArchival.DataAccess.Migrations
{
b.Navigation("ArtifactEntries");
});
modelBuilder.Entity("OpenArchival.DataAccess.BlogPost", b =>
{
b.Navigation("Tags");
});
modelBuilder.Entity("OpenArchival.DataAccess.Models.BlogPostTag", b =>
{
b.Navigation("BlogPostTags");
});
#pragma warning restore 612, 618
}
}