Projects (GanjooRazor -> DiwanRazor, GanjoorService.sln -> DiwanService.sln), files, folders, classes, namespaces, settings, API routes (/api/diwan) and DB tables (Diwan*). External addresses (ganjoor.net, github.com/ganjoor) unchanged. Migrations renamed consistently (no pending model changes); requires a fresh database. Upstream RUNNING_LOCALLY/SEMANTIC_SEARCH docs archived unmodified under docs/. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2320 lines
82 KiB
C#
2320 lines
82 KiB
C#
// <auto-generated />
|
|
using System;
|
|
using Microsoft.EntityFrameworkCore;
|
|
using Microsoft.EntityFrameworkCore.Infrastructure;
|
|
using Microsoft.EntityFrameworkCore.Metadata;
|
|
using Microsoft.EntityFrameworkCore.Migrations;
|
|
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
|
|
using RMuseum.DbContext;
|
|
|
|
namespace RMuseum.Migrations
|
|
{
|
|
[DbContext(typeof(RMuseumDbContext))]
|
|
[Migration("20210422113841_SiteBanner")]
|
|
partial class SiteBanner
|
|
{
|
|
protected override void BuildTargetModel(ModelBuilder modelBuilder)
|
|
{
|
|
#pragma warning disable 612, 618
|
|
modelBuilder
|
|
.HasAnnotation("ProductVersion", "3.1.3")
|
|
.HasAnnotation("Relational:MaxIdentifierLength", 128)
|
|
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
|
|
|
|
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim<System.Guid>", b =>
|
|
{
|
|
b.Property<int>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("int")
|
|
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
|
|
|
|
b.Property<string>("ClaimType")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<string>("ClaimValue")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<Guid>("RoleId")
|
|
.HasColumnType("uniqueidentifier");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.HasIndex("RoleId");
|
|
|
|
b.ToTable("AspNetRoleClaims");
|
|
});
|
|
|
|
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim<System.Guid>", b =>
|
|
{
|
|
b.Property<int>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("int")
|
|
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
|
|
|
|
b.Property<string>("ClaimType")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<string>("ClaimValue")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<Guid>("UserId")
|
|
.HasColumnType("uniqueidentifier");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.HasIndex("UserId");
|
|
|
|
b.ToTable("AspNetUserClaims");
|
|
});
|
|
|
|
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin<System.Guid>", b =>
|
|
{
|
|
b.Property<string>("LoginProvider")
|
|
.HasColumnType("nvarchar(450)");
|
|
|
|
b.Property<string>("ProviderKey")
|
|
.HasColumnType("nvarchar(450)");
|
|
|
|
b.Property<string>("ProviderDisplayName")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<Guid>("UserId")
|
|
.HasColumnType("uniqueidentifier");
|
|
|
|
b.HasKey("LoginProvider", "ProviderKey");
|
|
|
|
b.HasIndex("UserId");
|
|
|
|
b.ToTable("AspNetUserLogins");
|
|
});
|
|
|
|
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserRole<System.Guid>", b =>
|
|
{
|
|
b.Property<Guid>("UserId")
|
|
.HasColumnType("uniqueidentifier");
|
|
|
|
b.Property<Guid>("RoleId")
|
|
.HasColumnType("uniqueidentifier");
|
|
|
|
b.HasKey("UserId", "RoleId");
|
|
|
|
b.HasIndex("RoleId");
|
|
|
|
b.ToTable("AspNetUserRoles");
|
|
});
|
|
|
|
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken<System.Guid>", b =>
|
|
{
|
|
b.Property<Guid>("UserId")
|
|
.HasColumnType("uniqueidentifier");
|
|
|
|
b.Property<string>("LoginProvider")
|
|
.HasColumnType("nvarchar(450)");
|
|
|
|
b.Property<string>("Name")
|
|
.HasColumnType("nvarchar(450)");
|
|
|
|
b.Property<string>("Value")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.HasKey("UserId", "LoginProvider", "Name");
|
|
|
|
b.ToTable("AspNetUserTokens");
|
|
});
|
|
|
|
modelBuilder.Entity("RMuseum.Models.Artifact.RArtifactItemRecord", b =>
|
|
{
|
|
b.Property<Guid>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("uniqueidentifier");
|
|
|
|
b.Property<int>("CoverImageIndex")
|
|
.HasColumnType("int");
|
|
|
|
b.Property<string>("Description")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<string>("DescriptionInEnglish")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<string>("FriendlyUrl")
|
|
.HasColumnType("nvarchar(450)");
|
|
|
|
b.Property<DateTime>("LastModified")
|
|
.HasColumnType("datetime2");
|
|
|
|
b.Property<string>("Name")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<string>("NameInEnglish")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<int>("Order")
|
|
.HasColumnType("int");
|
|
|
|
b.Property<Guid>("RArtifactMasterRecordId")
|
|
.HasColumnType("uniqueidentifier");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.HasIndex("RArtifactMasterRecordId", "FriendlyUrl")
|
|
.IsUnique()
|
|
.HasFilter("[FriendlyUrl] IS NOT NULL");
|
|
|
|
b.HasIndex("RArtifactMasterRecordId", "Order")
|
|
.IsUnique();
|
|
|
|
b.ToTable("Items");
|
|
});
|
|
|
|
modelBuilder.Entity("RMuseum.Models.Artifact.RArtifactMasterRecord", b =>
|
|
{
|
|
b.Property<Guid>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("uniqueidentifier");
|
|
|
|
b.Property<Guid>("CoverImageId")
|
|
.HasColumnType("uniqueidentifier");
|
|
|
|
b.Property<int>("CoverItemIndex")
|
|
.HasColumnType("int");
|
|
|
|
b.Property<DateTime>("DateTime")
|
|
.HasColumnType("datetime2");
|
|
|
|
b.Property<string>("Description")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<string>("DescriptionInEnglish")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<string>("FriendlyUrl")
|
|
.HasColumnType("nvarchar(450)");
|
|
|
|
b.Property<int>("ItemCount")
|
|
.HasColumnType("int");
|
|
|
|
b.Property<DateTime>("LastModified")
|
|
.HasColumnType("datetime2");
|
|
|
|
b.Property<string>("Name")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<string>("NameInEnglish")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<int>("Status")
|
|
.HasColumnType("int");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.HasIndex("CoverImageId");
|
|
|
|
b.HasIndex("FriendlyUrl")
|
|
.IsUnique()
|
|
.HasFilter("[FriendlyUrl] IS NOT NULL");
|
|
|
|
b.ToTable("Artifacts");
|
|
});
|
|
|
|
modelBuilder.Entity("RMuseum.Models.Artifact.RTag", b =>
|
|
{
|
|
b.Property<Guid>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("uniqueidentifier");
|
|
|
|
b.Property<string>("FriendlyUrl")
|
|
.HasColumnType("nvarchar(450)");
|
|
|
|
b.Property<bool>("GlobalValue")
|
|
.HasColumnType("bit");
|
|
|
|
b.Property<string>("Name")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<string>("NameInEnglish")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<int>("Order")
|
|
.HasColumnType("int");
|
|
|
|
b.Property<string>("PluralName")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<string>("PluralNameInEnglish")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<int>("Status")
|
|
.HasColumnType("int");
|
|
|
|
b.Property<int>("TagType")
|
|
.HasColumnType("int");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.HasIndex("FriendlyUrl");
|
|
|
|
b.ToTable("Tags");
|
|
});
|
|
|
|
modelBuilder.Entity("RMuseum.Models.Artifact.RTagValue", b =>
|
|
{
|
|
b.Property<Guid>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("uniqueidentifier");
|
|
|
|
b.Property<string>("FriendlyUrl")
|
|
.HasColumnType("nvarchar(450)");
|
|
|
|
b.Property<int>("Order")
|
|
.HasColumnType("int");
|
|
|
|
b.Property<Guid?>("RArtifactItemRecordId")
|
|
.HasColumnType("uniqueidentifier");
|
|
|
|
b.Property<Guid?>("RArtifactMasterRecordId")
|
|
.HasColumnType("uniqueidentifier");
|
|
|
|
b.Property<Guid>("RTagId")
|
|
.HasColumnType("uniqueidentifier");
|
|
|
|
b.Property<int>("Status")
|
|
.HasColumnType("int");
|
|
|
|
b.Property<string>("Value")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<string>("ValueInEnglish")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<string>("ValueSupplement")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.HasIndex("FriendlyUrl");
|
|
|
|
b.HasIndex("RArtifactItemRecordId");
|
|
|
|
b.HasIndex("RArtifactMasterRecordId");
|
|
|
|
b.HasIndex("RTagId");
|
|
|
|
b.ToTable("TagValues");
|
|
});
|
|
|
|
modelBuilder.Entity("RMuseum.Models.Bookmark.RUserBookmark", b =>
|
|
{
|
|
b.Property<Guid>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("uniqueidentifier");
|
|
|
|
b.Property<DateTime>("DateTime")
|
|
.HasColumnType("datetime2");
|
|
|
|
b.Property<string>("Note")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<Guid>("RAppUserId")
|
|
.HasColumnType("uniqueidentifier");
|
|
|
|
b.Property<Guid?>("RArtifactItemRecordId")
|
|
.HasColumnType("uniqueidentifier");
|
|
|
|
b.Property<Guid?>("RArtifactMasterRecordId")
|
|
.HasColumnType("uniqueidentifier");
|
|
|
|
b.Property<int>("RBookmarkType")
|
|
.HasColumnType("int");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.HasIndex("RAppUserId");
|
|
|
|
b.HasIndex("RArtifactItemRecordId");
|
|
|
|
b.HasIndex("RArtifactMasterRecordId");
|
|
|
|
b.ToTable("UserBookmarks");
|
|
});
|
|
|
|
modelBuilder.Entity("RMuseum.Models.Diwan.DiwanCat", b =>
|
|
{
|
|
b.Property<int>("Id")
|
|
.HasColumnType("int");
|
|
|
|
b.Property<string>("FullUrl")
|
|
.HasColumnType("nvarchar(450)");
|
|
|
|
b.Property<int?>("ParentId")
|
|
.HasColumnType("int");
|
|
|
|
b.Property<int>("PoetId")
|
|
.HasColumnType("int");
|
|
|
|
b.Property<string>("Title")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<string>("UrlSlug")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.HasIndex("FullUrl");
|
|
|
|
b.HasIndex("ParentId");
|
|
|
|
b.HasIndex("PoetId");
|
|
|
|
b.ToTable("DiwanCategories");
|
|
});
|
|
|
|
modelBuilder.Entity("RMuseum.Models.Diwan.DiwanComment", b =>
|
|
{
|
|
b.Property<int>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("int")
|
|
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
|
|
|
|
b.Property<string>("AuthorEmail")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<string>("AuthorIpAddress")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<string>("AuthorName")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<string>("AuthorUrl")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<DateTime>("CommentDate")
|
|
.HasColumnType("datetime2");
|
|
|
|
b.Property<string>("HtmlComment")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<int?>("InReplyToId")
|
|
.HasColumnType("int");
|
|
|
|
b.Property<int>("PoemId")
|
|
.HasColumnType("int");
|
|
|
|
b.Property<int>("Status")
|
|
.HasColumnType("int");
|
|
|
|
b.Property<Guid?>("UserId")
|
|
.HasColumnType("uniqueidentifier");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.HasIndex("InReplyToId");
|
|
|
|
b.HasIndex("PoemId");
|
|
|
|
b.HasIndex("UserId");
|
|
|
|
b.ToTable("DiwanComments");
|
|
});
|
|
|
|
modelBuilder.Entity("RMuseum.Models.Diwan.DiwanCommentAbuseReport", b =>
|
|
{
|
|
b.Property<int>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("int")
|
|
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
|
|
|
|
b.Property<int>("DiwanCommentId")
|
|
.HasColumnType("int");
|
|
|
|
b.Property<string>("ReasonCode")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<string>("ReasonText")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<Guid?>("ReportedById")
|
|
.HasColumnType("uniqueidentifier");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.HasIndex("DiwanCommentId");
|
|
|
|
b.HasIndex("ReportedById");
|
|
|
|
b.ToTable("DiwanReportedComments");
|
|
});
|
|
|
|
modelBuilder.Entity("RMuseum.Models.Diwan.DiwanMetre", b =>
|
|
{
|
|
b.Property<int>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("int")
|
|
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
|
|
|
|
b.Property<string>("Description")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<string>("Name")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<string>("Rhythm")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<string>("UrlSlug")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<int>("VerseCount")
|
|
.HasColumnType("int");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.ToTable("DiwanMetres");
|
|
});
|
|
|
|
modelBuilder.Entity("RMuseum.Models.Diwan.DiwanPage", b =>
|
|
{
|
|
b.Property<int>("Id")
|
|
.HasColumnType("int");
|
|
|
|
b.Property<int?>("CatId")
|
|
.HasColumnType("int");
|
|
|
|
b.Property<string>("FullTitle")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<string>("FullUrl")
|
|
.HasColumnType("nvarchar(450)");
|
|
|
|
b.Property<int>("DiwanPageType")
|
|
.HasColumnType("int");
|
|
|
|
b.Property<string>("HtmlText")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<int>("PageOrder")
|
|
.HasColumnType("int");
|
|
|
|
b.Property<int?>("ParentId")
|
|
.HasColumnType("int");
|
|
|
|
b.Property<int?>("PoemId")
|
|
.HasColumnType("int");
|
|
|
|
b.Property<int?>("PoetId")
|
|
.HasColumnType("int");
|
|
|
|
b.Property<DateTime>("PostDate")
|
|
.HasColumnType("datetime2");
|
|
|
|
b.Property<bool>("Published")
|
|
.HasColumnType("bit");
|
|
|
|
b.Property<int?>("SecondPoetId")
|
|
.HasColumnType("int");
|
|
|
|
b.Property<string>("Title")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<string>("UrlSlug")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.HasIndex("CatId");
|
|
|
|
b.HasIndex("FullUrl");
|
|
|
|
b.HasIndex("ParentId");
|
|
|
|
b.HasIndex("PoemId");
|
|
|
|
b.HasIndex("PoetId");
|
|
|
|
b.HasIndex("SecondPoetId");
|
|
|
|
b.ToTable("DiwanPages");
|
|
});
|
|
|
|
modelBuilder.Entity("RMuseum.Models.Diwan.DiwanPageSnapshot", b =>
|
|
{
|
|
b.Property<int>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("int")
|
|
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
|
|
|
|
b.Property<int>("DiwanPageId")
|
|
.HasColumnType("int");
|
|
|
|
b.Property<string>("HtmlText")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<Guid>("MadeObsoleteByUserId")
|
|
.HasColumnType("uniqueidentifier");
|
|
|
|
b.Property<string>("Note")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<string>("OldTag")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<string>("OldTagPageUrl")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<DateTime>("RecordDate")
|
|
.HasColumnType("datetime2");
|
|
|
|
b.Property<string>("RhymeLetters")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<string>("Rhythm")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<string>("SourceName")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<string>("SourceUrlSlug")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<string>("Title")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<string>("UrlSlug")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.HasIndex("DiwanPageId");
|
|
|
|
b.HasIndex("MadeObsoleteByUserId");
|
|
|
|
b.ToTable("DiwanPageSnapshots");
|
|
});
|
|
|
|
modelBuilder.Entity("RMuseum.Models.Diwan.DiwanPoem", b =>
|
|
{
|
|
b.Property<int>("Id")
|
|
.HasColumnType("int");
|
|
|
|
b.Property<int>("CatId")
|
|
.HasColumnType("int");
|
|
|
|
b.Property<string>("FullTitle")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<string>("FullUrl")
|
|
.HasColumnType("nvarchar(450)");
|
|
|
|
b.Property<int?>("DiwanMetreId")
|
|
.HasColumnType("int");
|
|
|
|
b.Property<string>("HtmlText")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<string>("OldTag")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<string>("OldTagPageUrl")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<string>("PlainText")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<string>("RhymeLetters")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<string>("SourceName")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<string>("SourceUrlSlug")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<string>("Title")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<string>("UrlSlug")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.HasIndex("CatId");
|
|
|
|
b.HasIndex("FullUrl");
|
|
|
|
b.HasIndex("DiwanMetreId");
|
|
|
|
b.ToTable("DiwanPoems");
|
|
});
|
|
|
|
modelBuilder.Entity("RMuseum.Models.Diwan.DiwanPoet", b =>
|
|
{
|
|
b.Property<int>("Id")
|
|
.HasColumnType("int");
|
|
|
|
b.Property<string>("Description")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<string>("Name")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<string>("Nickname")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<bool>("Published")
|
|
.HasColumnType("bit");
|
|
|
|
b.Property<Guid?>("RImageId")
|
|
.HasColumnType("uniqueidentifier");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.HasIndex("RImageId");
|
|
|
|
b.ToTable("DiwanPoets");
|
|
});
|
|
|
|
modelBuilder.Entity("RMuseum.Models.Diwan.DiwanSiteBanner", b =>
|
|
{
|
|
b.Property<int>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("int")
|
|
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
|
|
|
|
b.Property<bool>("Active")
|
|
.HasColumnType("bit");
|
|
|
|
b.Property<string>("AlternateText")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<Guid>("RImageId")
|
|
.HasColumnType("uniqueidentifier");
|
|
|
|
b.Property<string>("TargetUrl")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.HasIndex("RImageId");
|
|
|
|
b.ToTable("DiwanSiteBanners");
|
|
});
|
|
|
|
modelBuilder.Entity("RMuseum.Models.Diwan.DiwanVerse", b =>
|
|
{
|
|
b.Property<int>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("int")
|
|
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
|
|
|
|
b.Property<int>("PoemId")
|
|
.HasColumnType("int");
|
|
|
|
b.Property<string>("Text")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<int>("VOrder")
|
|
.HasColumnType("int");
|
|
|
|
b.Property<int>("VersePosition")
|
|
.HasColumnType("int");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.HasIndex("PoemId");
|
|
|
|
b.ToTable("DiwanVerses");
|
|
});
|
|
|
|
modelBuilder.Entity("RMuseum.Models.Diwan.PoemMusicTrack", b =>
|
|
{
|
|
b.Property<int>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("int")
|
|
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
|
|
|
|
b.Property<string>("AlbumName")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<string>("AlbumUrl")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<DateTime>("ApprovalDate")
|
|
.HasColumnType("datetime2");
|
|
|
|
b.Property<bool>("Approved")
|
|
.HasColumnType("bit");
|
|
|
|
b.Property<string>("ArtistName")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<string>("ArtistUrl")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<bool>("BrokenLink")
|
|
.HasColumnType("bit");
|
|
|
|
b.Property<string>("Description")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<int?>("DiwanTrackId")
|
|
.HasColumnType("int");
|
|
|
|
b.Property<int?>("GolhaTrackId")
|
|
.HasColumnType("int");
|
|
|
|
b.Property<int>("PoemId")
|
|
.HasColumnType("int");
|
|
|
|
b.Property<bool>("Rejected")
|
|
.HasColumnType("bit");
|
|
|
|
b.Property<string>("RejectionCause")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<int?>("SingerId")
|
|
.HasColumnType("int");
|
|
|
|
b.Property<int>("SongOrder")
|
|
.HasColumnType("int");
|
|
|
|
b.Property<Guid?>("SuggestedById")
|
|
.HasColumnType("uniqueidentifier");
|
|
|
|
b.Property<string>("TrackName")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<int>("TrackType")
|
|
.HasColumnType("int");
|
|
|
|
b.Property<string>("TrackUrl")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.HasIndex("DiwanTrackId");
|
|
|
|
b.HasIndex("GolhaTrackId");
|
|
|
|
b.HasIndex("PoemId");
|
|
|
|
b.HasIndex("SingerId");
|
|
|
|
b.HasIndex("SuggestedById");
|
|
|
|
b.ToTable("DiwanPoemMusicTracks");
|
|
});
|
|
|
|
modelBuilder.Entity("RMuseum.Models.DiwanAudio.Recitation", b =>
|
|
{
|
|
b.Property<int>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("int")
|
|
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
|
|
|
|
b.Property<string>("AudioArtist")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<string>("AudioArtistUrl")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<int>("AudioOrder")
|
|
.HasColumnType("int");
|
|
|
|
b.Property<string>("AudioSrc")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<string>("AudioSrcUrl")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<int>("AudioSyncStatus")
|
|
.HasColumnType("int");
|
|
|
|
b.Property<string>("AudioTitle")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<DateTime>("FileLastUpdated")
|
|
.HasColumnType("datetime2");
|
|
|
|
b.Property<string>("FileNameWithoutExtension")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<int>("DiwanAudioId")
|
|
.HasColumnType("int");
|
|
|
|
b.Property<int>("DiwanPostId")
|
|
.HasColumnType("int");
|
|
|
|
b.Property<Guid>("LegacyAudioGuid")
|
|
.HasColumnType("uniqueidentifier");
|
|
|
|
b.Property<string>("LocalMp3FilePath")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<string>("LocalXmlFilePath")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<string>("Mp3FileCheckSum")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<int>("Mp3SizeInBytes")
|
|
.HasColumnType("int");
|
|
|
|
b.Property<int>("OggSizeInBytes")
|
|
.HasColumnType("int");
|
|
|
|
b.Property<Guid>("OwnerId")
|
|
.HasColumnType("uniqueidentifier");
|
|
|
|
b.Property<DateTime>("ReviewDate")
|
|
.HasColumnType("datetime2");
|
|
|
|
b.Property<string>("ReviewMsg")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<int>("ReviewStatus")
|
|
.HasColumnType("int");
|
|
|
|
b.Property<Guid?>("ReviewerId")
|
|
.HasColumnType("uniqueidentifier");
|
|
|
|
b.Property<string>("SoundFilesFolder")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<DateTime>("UploadDate")
|
|
.HasColumnType("datetime2");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.HasIndex("DiwanPostId");
|
|
|
|
b.HasIndex("OwnerId");
|
|
|
|
b.HasIndex("ReviewerId");
|
|
|
|
b.ToTable("Recitations");
|
|
});
|
|
|
|
modelBuilder.Entity("RMuseum.Models.DiwanAudio.RecitationPublishingTracker", b =>
|
|
{
|
|
b.Property<Guid>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("uniqueidentifier");
|
|
|
|
b.Property<DateTime>("FinishDate")
|
|
.HasColumnType("datetime2");
|
|
|
|
b.Property<bool>("Finished")
|
|
.HasColumnType("bit");
|
|
|
|
b.Property<bool>("FirstDbUpdated")
|
|
.HasColumnType("bit");
|
|
|
|
b.Property<string>("LastException")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<bool>("Mp3FileCopied")
|
|
.HasColumnType("bit");
|
|
|
|
b.Property<int>("PoemNarrationId")
|
|
.HasColumnType("int");
|
|
|
|
b.Property<bool>("SecondDbUpdated")
|
|
.HasColumnType("bit");
|
|
|
|
b.Property<DateTime>("StartDate")
|
|
.HasColumnType("datetime2");
|
|
|
|
b.Property<bool>("XmlFileCopied")
|
|
.HasColumnType("bit");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.HasIndex("PoemNarrationId");
|
|
|
|
b.ToTable("RecitationPublishingTrackers");
|
|
});
|
|
|
|
modelBuilder.Entity("RMuseum.Models.DiwanAudio.UserRecitationProfile", b =>
|
|
{
|
|
b.Property<Guid>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("uniqueidentifier");
|
|
|
|
b.Property<string>("ArtistName")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<string>("ArtistUrl")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<string>("AudioSrc")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<string>("AudioSrcUrl")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<string>("FileSuffixWithoutDash")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<bool>("IsDefault")
|
|
.HasColumnType("bit");
|
|
|
|
b.Property<string>("Name")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<Guid>("UserId")
|
|
.HasColumnType("uniqueidentifier");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.HasIndex("UserId");
|
|
|
|
b.ToTable("UserRecitationProfiles");
|
|
});
|
|
|
|
modelBuilder.Entity("RMuseum.Models.DiwanIntegration.DiwanLink", b =>
|
|
{
|
|
b.Property<Guid>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("uniqueidentifier");
|
|
|
|
b.Property<Guid>("ArtifactId")
|
|
.HasColumnType("uniqueidentifier");
|
|
|
|
b.Property<bool>("DisplayOnPage")
|
|
.HasColumnType("bit");
|
|
|
|
b.Property<int>("DiwanPostId")
|
|
.HasColumnType("int");
|
|
|
|
b.Property<string>("DiwanTitle")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<string>("DiwanUrl")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<Guid?>("ItemId")
|
|
.HasColumnType("uniqueidentifier");
|
|
|
|
b.Property<DateTime>("ReviewDate")
|
|
.HasColumnType("datetime2");
|
|
|
|
b.Property<int>("ReviewResult")
|
|
.HasColumnType("int");
|
|
|
|
b.Property<Guid?>("ReviewerId")
|
|
.HasColumnType("uniqueidentifier");
|
|
|
|
b.Property<Guid>("SuggestedById")
|
|
.HasColumnType("uniqueidentifier");
|
|
|
|
b.Property<DateTime>("SuggestionDate")
|
|
.HasColumnType("datetime2");
|
|
|
|
b.Property<bool>("Synchronized")
|
|
.HasColumnType("bit");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.HasIndex("ArtifactId");
|
|
|
|
b.HasIndex("ItemId");
|
|
|
|
b.HasIndex("ReviewerId");
|
|
|
|
b.HasIndex("SuggestedById");
|
|
|
|
b.ToTable("DiwanLinks");
|
|
});
|
|
|
|
modelBuilder.Entity("RMuseum.Models.DiwanIntegration.PinterestLink", b =>
|
|
{
|
|
b.Property<Guid>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("uniqueidentifier");
|
|
|
|
b.Property<string>("AltText")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<Guid?>("ArtifactId")
|
|
.HasColumnType("uniqueidentifier");
|
|
|
|
b.Property<int>("DiwanPostId")
|
|
.HasColumnType("int");
|
|
|
|
b.Property<string>("DiwanTitle")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<string>("DiwanUrl")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<Guid?>("ItemId")
|
|
.HasColumnType("uniqueidentifier");
|
|
|
|
b.Property<int>("LinkType")
|
|
.HasColumnType("int");
|
|
|
|
b.Property<string>("PinterestImageUrl")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<string>("PinterestUrl")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<DateTime>("ReviewDate")
|
|
.HasColumnType("datetime2");
|
|
|
|
b.Property<string>("ReviewDesc")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<int>("ReviewResult")
|
|
.HasColumnType("int");
|
|
|
|
b.Property<Guid?>("ReviewerId")
|
|
.HasColumnType("uniqueidentifier");
|
|
|
|
b.Property<Guid?>("SuggestedById")
|
|
.HasColumnType("uniqueidentifier");
|
|
|
|
b.Property<DateTime>("SuggestionDate")
|
|
.HasColumnType("datetime2");
|
|
|
|
b.Property<bool>("Synchronized")
|
|
.HasColumnType("bit");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.HasIndex("ArtifactId");
|
|
|
|
b.HasIndex("ItemId");
|
|
|
|
b.HasIndex("ReviewerId");
|
|
|
|
b.HasIndex("SuggestedById");
|
|
|
|
b.ToTable("PinterestLinks");
|
|
});
|
|
|
|
modelBuilder.Entity("RMuseum.Models.ImportJob.ImportJob", b =>
|
|
{
|
|
b.Property<Guid>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("uniqueidentifier");
|
|
|
|
b.Property<Guid?>("ArtifactId")
|
|
.HasColumnType("uniqueidentifier");
|
|
|
|
b.Property<DateTime>("EndTime")
|
|
.HasColumnType("datetime2");
|
|
|
|
b.Property<string>("Exception")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<string>("FriendlyUrl")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<int>("JobType")
|
|
.HasColumnType("int");
|
|
|
|
b.Property<decimal>("ProgressPercent")
|
|
.HasColumnType("decimal(18,2)");
|
|
|
|
b.Property<DateTime>("QueueTime")
|
|
.HasColumnType("datetime2");
|
|
|
|
b.Property<string>("ResourceNumber")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<string>("SrcContent")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<string>("SrcUrl")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<DateTime>("StartTime")
|
|
.HasColumnType("datetime2");
|
|
|
|
b.Property<int>("Status")
|
|
.HasColumnType("int");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.HasIndex("ArtifactId");
|
|
|
|
b.ToTable("ImportJobs");
|
|
});
|
|
|
|
modelBuilder.Entity("RMuseum.Models.MusicCatalogue.DiwanAlbum", b =>
|
|
{
|
|
b.Property<int>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("int")
|
|
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
|
|
|
|
b.Property<string>("Name")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<int>("SingerId")
|
|
.HasColumnType("int");
|
|
|
|
b.Property<string>("Url")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.HasIndex("SingerId");
|
|
|
|
b.ToTable("DiwanAlbum");
|
|
});
|
|
|
|
modelBuilder.Entity("RMuseum.Models.MusicCatalogue.DiwanSinger", b =>
|
|
{
|
|
b.Property<int>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("int")
|
|
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
|
|
|
|
b.Property<string>("Name")
|
|
.HasColumnType("nvarchar(450)");
|
|
|
|
b.Property<string>("Url")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.HasIndex("Name");
|
|
|
|
b.ToTable("DiwanSingers");
|
|
});
|
|
|
|
modelBuilder.Entity("RMuseum.Models.MusicCatalogue.DiwanTrack", b =>
|
|
{
|
|
b.Property<int>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("int")
|
|
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
|
|
|
|
b.Property<int>("AlbumId")
|
|
.HasColumnType("int");
|
|
|
|
b.Property<string>("BlockReason")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<bool>("Blocked")
|
|
.HasColumnType("bit");
|
|
|
|
b.Property<string>("Name")
|
|
.HasColumnType("nvarchar(450)");
|
|
|
|
b.Property<string>("Url")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.HasIndex("AlbumId");
|
|
|
|
b.HasIndex("Name");
|
|
|
|
b.ToTable("DiwanMusicCatalogueTracks");
|
|
});
|
|
|
|
modelBuilder.Entity("RMuseum.Models.MusicCatalogue.GolhaCollection", b =>
|
|
{
|
|
b.Property<int>("Id")
|
|
.HasColumnType("int");
|
|
|
|
b.Property<string>("Name")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.ToTable("GolhaCollections");
|
|
});
|
|
|
|
modelBuilder.Entity("RMuseum.Models.MusicCatalogue.GolhaProgram", b =>
|
|
{
|
|
b.Property<int>("Id")
|
|
.HasColumnType("int");
|
|
|
|
b.Property<int>("GolhaCollectionId")
|
|
.HasColumnType("int");
|
|
|
|
b.Property<string>("Mp3")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<int>("ProgramOrder")
|
|
.HasColumnType("int");
|
|
|
|
b.Property<string>("Title")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<string>("Url")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.HasIndex("GolhaCollectionId");
|
|
|
|
b.ToTable("GolhaPrograms");
|
|
});
|
|
|
|
modelBuilder.Entity("RMuseum.Models.MusicCatalogue.GolhaTrack", b =>
|
|
{
|
|
b.Property<int>("Id")
|
|
.HasColumnType("int");
|
|
|
|
b.Property<string>("BlockReason")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<bool>("Blocked")
|
|
.HasColumnType("bit");
|
|
|
|
b.Property<int>("GolhaProgramId")
|
|
.HasColumnType("int");
|
|
|
|
b.Property<int?>("SingerId")
|
|
.HasColumnType("int");
|
|
|
|
b.Property<string>("Timing")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<string>("Title")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<int>("TrackNo")
|
|
.HasColumnType("int");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.HasIndex("GolhaProgramId");
|
|
|
|
b.HasIndex("SingerId");
|
|
|
|
b.ToTable("GolhaTracks");
|
|
});
|
|
|
|
modelBuilder.Entity("RMuseum.Models.Note.RUserNote", b =>
|
|
{
|
|
b.Property<Guid>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("uniqueidentifier");
|
|
|
|
b.Property<DateTime>("DateTime")
|
|
.HasColumnType("datetime2");
|
|
|
|
b.Property<string>("HtmlContent")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<DateTime>("LastModified")
|
|
.HasColumnType("datetime2");
|
|
|
|
b.Property<bool>("Modified")
|
|
.HasColumnType("bit");
|
|
|
|
b.Property<int>("NoteType")
|
|
.HasColumnType("int");
|
|
|
|
b.Property<Guid>("RAppUserId")
|
|
.HasColumnType("uniqueidentifier");
|
|
|
|
b.Property<Guid?>("RArtifactItemRecordId")
|
|
.HasColumnType("uniqueidentifier");
|
|
|
|
b.Property<Guid?>("RArtifactMasterRecordId")
|
|
.HasColumnType("uniqueidentifier");
|
|
|
|
b.Property<Guid?>("ReferenceNoteId")
|
|
.HasColumnType("uniqueidentifier");
|
|
|
|
b.Property<int>("Status")
|
|
.HasColumnType("int");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.HasIndex("RAppUserId");
|
|
|
|
b.HasIndex("RArtifactItemRecordId");
|
|
|
|
b.HasIndex("RArtifactMasterRecordId");
|
|
|
|
b.HasIndex("ReferenceNoteId");
|
|
|
|
b.ToTable("UserNotes");
|
|
});
|
|
|
|
modelBuilder.Entity("RMuseum.Models.UploadSession.UploadSession", b =>
|
|
{
|
|
b.Property<Guid>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("uniqueidentifier");
|
|
|
|
b.Property<DateTime>("ProcessEndTime")
|
|
.HasColumnType("datetime2");
|
|
|
|
b.Property<int>("ProcessProgress")
|
|
.HasColumnType("int");
|
|
|
|
b.Property<DateTime>("ProcessStartTime")
|
|
.HasColumnType("datetime2");
|
|
|
|
b.Property<int>("SessionType")
|
|
.HasColumnType("int");
|
|
|
|
b.Property<int>("Status")
|
|
.HasColumnType("int");
|
|
|
|
b.Property<DateTime>("UploadEndTime")
|
|
.HasColumnType("datetime2");
|
|
|
|
b.Property<DateTime>("UploadStartTime")
|
|
.HasColumnType("datetime2");
|
|
|
|
b.Property<Guid>("UseId")
|
|
.HasColumnType("uniqueidentifier");
|
|
|
|
b.Property<Guid?>("UserId")
|
|
.HasColumnType("uniqueidentifier");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.HasIndex("UserId");
|
|
|
|
b.ToTable("UploadSessions");
|
|
});
|
|
|
|
modelBuilder.Entity("RMuseum.Models.UploadSession.UploadSessionFile", b =>
|
|
{
|
|
b.Property<Guid>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("uniqueidentifier");
|
|
|
|
b.Property<string>("ContentDisposition")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<string>("ContentType")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<string>("FileName")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<string>("FilePath")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<long>("Length")
|
|
.HasColumnType("bigint");
|
|
|
|
b.Property<string>("MP3FileCheckSum")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<string>("Name")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<bool>("ProcessResult")
|
|
.HasColumnType("bit");
|
|
|
|
b.Property<string>("ProcessResultMsg")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<Guid>("UploadSessionId")
|
|
.HasColumnType("uniqueidentifier");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.HasIndex("UploadSessionId");
|
|
|
|
b.ToTable("UploadedFiles");
|
|
});
|
|
|
|
modelBuilder.Entity("RSecurityBackend.Models.Audit.Db.REvent", b =>
|
|
{
|
|
b.Property<Guid>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("uniqueidentifier");
|
|
|
|
b.Property<int>("Duration")
|
|
.HasColumnType("int");
|
|
|
|
b.Property<DateTime?>("EndDate")
|
|
.HasColumnType("datetime2");
|
|
|
|
b.Property<string>("EventType")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<string>("IpAddress")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<string>("JsonData")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<string>("RequestUrl")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<int>("ResponseStatusCode")
|
|
.HasColumnType("int");
|
|
|
|
b.Property<DateTime>("StartDate")
|
|
.HasColumnType("datetime2");
|
|
|
|
b.Property<string>("UserName")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.ToTable("AuditLogs");
|
|
});
|
|
|
|
modelBuilder.Entity("RSecurityBackend.Models.Auth.Db.RAppRole", b =>
|
|
{
|
|
b.Property<Guid>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("uniqueidentifier");
|
|
|
|
b.Property<string>("ConcurrencyStamp")
|
|
.IsConcurrencyToken()
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<string>("Description")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<string>("Name")
|
|
.HasColumnType("nvarchar(256)")
|
|
.HasMaxLength(256);
|
|
|
|
b.Property<string>("NormalizedName")
|
|
.HasColumnType("nvarchar(256)")
|
|
.HasMaxLength(256);
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.HasIndex("NormalizedName")
|
|
.IsUnique()
|
|
.HasName("RoleNameIndex")
|
|
.HasFilter("[NormalizedName] IS NOT NULL");
|
|
|
|
b.ToTable("AspNetRoles");
|
|
});
|
|
|
|
modelBuilder.Entity("RSecurityBackend.Models.Auth.Db.RAppUser", b =>
|
|
{
|
|
b.Property<Guid>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("uniqueidentifier");
|
|
|
|
b.Property<int>("AccessFailedCount")
|
|
.HasColumnType("int");
|
|
|
|
b.Property<string>("Bio")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<string>("ConcurrencyStamp")
|
|
.IsConcurrencyToken()
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<DateTime>("CreateDate")
|
|
.HasColumnType("datetime2");
|
|
|
|
b.Property<string>("Email")
|
|
.HasColumnType("nvarchar(256)")
|
|
.HasMaxLength(256);
|
|
|
|
b.Property<bool>("EmailConfirmed")
|
|
.HasColumnType("bit");
|
|
|
|
b.Property<string>("FirstName")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<bool>("LockoutEnabled")
|
|
.HasColumnType("bit");
|
|
|
|
b.Property<DateTimeOffset?>("LockoutEnd")
|
|
.HasColumnType("datetimeoffset");
|
|
|
|
b.Property<string>("NickName")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<string>("NormalizedEmail")
|
|
.HasColumnType("nvarchar(256)")
|
|
.HasMaxLength(256);
|
|
|
|
b.Property<string>("NormalizedUserName")
|
|
.HasColumnType("nvarchar(256)")
|
|
.HasMaxLength(256);
|
|
|
|
b.Property<string>("PasswordHash")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<string>("PhoneNumber")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<bool>("PhoneNumberConfirmed")
|
|
.HasColumnType("bit");
|
|
|
|
b.Property<Guid?>("RImageId")
|
|
.HasColumnType("uniqueidentifier");
|
|
|
|
b.Property<string>("SecurityStamp")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<int>("Status")
|
|
.HasColumnType("int");
|
|
|
|
b.Property<string>("SureName")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<bool>("TwoFactorEnabled")
|
|
.HasColumnType("bit");
|
|
|
|
b.Property<string>("UserName")
|
|
.HasColumnType("nvarchar(256)")
|
|
.HasMaxLength(256);
|
|
|
|
b.Property<string>("Website")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.HasIndex("NormalizedEmail")
|
|
.HasName("EmailIndex");
|
|
|
|
b.HasIndex("NormalizedUserName")
|
|
.IsUnique()
|
|
.HasName("UserNameIndex")
|
|
.HasFilter("[NormalizedUserName] IS NOT NULL");
|
|
|
|
b.HasIndex("RImageId");
|
|
|
|
b.ToTable("AspNetUsers");
|
|
});
|
|
|
|
modelBuilder.Entity("RSecurityBackend.Models.Auth.Db.RCaptchaImage", b =>
|
|
{
|
|
b.Property<Guid>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("uniqueidentifier");
|
|
|
|
b.Property<DateTime>("DateTime")
|
|
.HasColumnType("datetime2");
|
|
|
|
b.Property<Guid>("RImageId")
|
|
.HasColumnType("uniqueidentifier");
|
|
|
|
b.Property<string>("Value")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.HasIndex("RImageId");
|
|
|
|
b.ToTable("CaptchaImages");
|
|
});
|
|
|
|
modelBuilder.Entity("RSecurityBackend.Models.Auth.Db.RPermission", b =>
|
|
{
|
|
b.Property<Guid>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("uniqueidentifier");
|
|
|
|
b.Property<string>("OperationShortName")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<Guid?>("RAppRoleId")
|
|
.HasColumnType("uniqueidentifier");
|
|
|
|
b.Property<string>("SecurableItemShortName")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.HasIndex("RAppRoleId");
|
|
|
|
b.ToTable("Permissions");
|
|
});
|
|
|
|
modelBuilder.Entity("RSecurityBackend.Models.Auth.Db.RTemporaryUserSession", b =>
|
|
{
|
|
b.Property<Guid>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("uniqueidentifier");
|
|
|
|
b.Property<string>("ClientAppName")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<string>("ClientIPAddress")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<string>("Language")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<DateTime>("LastRenewal")
|
|
.HasColumnType("datetime2");
|
|
|
|
b.Property<DateTime>("LoginTime")
|
|
.HasColumnType("datetime2");
|
|
|
|
b.Property<Guid>("RAppUserId")
|
|
.HasColumnType("uniqueidentifier");
|
|
|
|
b.Property<string>("Token")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<DateTime>("ValidUntil")
|
|
.HasColumnType("datetime2");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.HasIndex("RAppUserId");
|
|
|
|
b.ToTable("Sessions");
|
|
});
|
|
|
|
modelBuilder.Entity("RSecurityBackend.Models.Auth.Db.RVerifyQueueItem", b =>
|
|
{
|
|
b.Property<Guid>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("uniqueidentifier");
|
|
|
|
b.Property<string>("ClientAppName")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<string>("ClientIPAddress")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<DateTime>("DateTime")
|
|
.HasColumnType("datetime2");
|
|
|
|
b.Property<string>("Email")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<string>("Language")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<string>("PhoneNumber")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<int>("QueueType")
|
|
.HasColumnType("int");
|
|
|
|
b.Property<string>("Secret")
|
|
.HasColumnType("nvarchar(450)");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.HasIndex("Secret")
|
|
.IsUnique()
|
|
.HasFilter("[Secret] IS NOT NULL");
|
|
|
|
b.ToTable("VerifyQueueItems");
|
|
});
|
|
|
|
modelBuilder.Entity("RSecurityBackend.Models.Generic.Db.RLongRunningJobStatus", b =>
|
|
{
|
|
b.Property<Guid>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("uniqueidentifier");
|
|
|
|
b.Property<DateTime>("EndTime")
|
|
.HasColumnType("datetime2");
|
|
|
|
b.Property<string>("Exception")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<string>("Name")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<double>("Progress")
|
|
.HasColumnType("float");
|
|
|
|
b.Property<DateTime>("StartTime")
|
|
.HasColumnType("datetime2");
|
|
|
|
b.Property<string>("Step")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<bool>("Succeeded")
|
|
.HasColumnType("bit");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.ToTable("LongRunningJobs");
|
|
});
|
|
|
|
modelBuilder.Entity("RSecurityBackend.Models.Image.RImage", b =>
|
|
{
|
|
b.Property<Guid>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("uniqueidentifier");
|
|
|
|
b.Property<string>("ContentType")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<DateTime>("DataTime")
|
|
.HasColumnType("datetime2");
|
|
|
|
b.Property<string>("Discriminator")
|
|
.IsRequired()
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<long>("FileSizeInBytes")
|
|
.HasColumnType("bigint");
|
|
|
|
b.Property<string>("FolderName")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<int>("ImageHeight")
|
|
.HasColumnType("int");
|
|
|
|
b.Property<int>("ImageWidth")
|
|
.HasColumnType("int");
|
|
|
|
b.Property<DateTime>("LastModified")
|
|
.HasColumnType("datetime2");
|
|
|
|
b.Property<string>("OriginalFileName")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<string>("StoredFileName")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.ToTable("GeneralImages");
|
|
|
|
b.HasDiscriminator<string>("Discriminator").HasValue("RImage");
|
|
});
|
|
|
|
modelBuilder.Entity("RSecurityBackend.Models.Notification.RUserNotification", b =>
|
|
{
|
|
b.Property<Guid>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("uniqueidentifier");
|
|
|
|
b.Property<DateTime>("DateTime")
|
|
.HasColumnType("datetime2");
|
|
|
|
b.Property<string>("HtmlText")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<int>("Status")
|
|
.HasColumnType("int");
|
|
|
|
b.Property<string>("Subject")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<Guid>("UserId")
|
|
.HasColumnType("uniqueidentifier");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.HasIndex("UserId");
|
|
|
|
b.ToTable("Notifications");
|
|
});
|
|
|
|
modelBuilder.Entity("RMuseum.Models.Artifact.RPictureFile", b =>
|
|
{
|
|
b.HasBaseType("RSecurityBackend.Models.Image.RImage");
|
|
|
|
b.Property<string>("Description")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<string>("DescriptionInEnglish")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<DateTime>("LastModifiedMeta")
|
|
.HasColumnType("datetime2");
|
|
|
|
b.Property<int>("NormalSizeImageHeight")
|
|
.HasColumnType("int");
|
|
|
|
b.Property<string>("NormalSizeImageStoredFileName")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<int>("NormalSizeImageWidth")
|
|
.HasColumnType("int");
|
|
|
|
b.Property<int>("Order")
|
|
.HasColumnType("int");
|
|
|
|
b.Property<Guid?>("RArtifactItemRecordId")
|
|
.HasColumnType("uniqueidentifier");
|
|
|
|
b.Property<string>("SrcUrl")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<int>("Status")
|
|
.HasColumnType("int");
|
|
|
|
b.Property<int>("ThumbnailImageHeight")
|
|
.HasColumnType("int");
|
|
|
|
b.Property<string>("ThumbnailImageStoredFileName")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<int>("ThumbnailImageWidth")
|
|
.HasColumnType("int");
|
|
|
|
b.Property<string>("Title")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<string>("TitleInEnglish")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.HasIndex("RArtifactItemRecordId");
|
|
|
|
b.HasDiscriminator().HasValue("RPictureFile");
|
|
});
|
|
|
|
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim<System.Guid>", b =>
|
|
{
|
|
b.HasOne("RSecurityBackend.Models.Auth.Db.RAppRole", null)
|
|
.WithMany()
|
|
.HasForeignKey("RoleId")
|
|
.OnDelete(DeleteBehavior.Cascade)
|
|
.IsRequired();
|
|
});
|
|
|
|
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim<System.Guid>", b =>
|
|
{
|
|
b.HasOne("RSecurityBackend.Models.Auth.Db.RAppUser", null)
|
|
.WithMany()
|
|
.HasForeignKey("UserId")
|
|
.OnDelete(DeleteBehavior.Cascade)
|
|
.IsRequired();
|
|
});
|
|
|
|
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin<System.Guid>", b =>
|
|
{
|
|
b.HasOne("RSecurityBackend.Models.Auth.Db.RAppUser", null)
|
|
.WithMany()
|
|
.HasForeignKey("UserId")
|
|
.OnDelete(DeleteBehavior.Cascade)
|
|
.IsRequired();
|
|
});
|
|
|
|
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserRole<System.Guid>", b =>
|
|
{
|
|
b.HasOne("RSecurityBackend.Models.Auth.Db.RAppRole", null)
|
|
.WithMany()
|
|
.HasForeignKey("RoleId")
|
|
.OnDelete(DeleteBehavior.Cascade)
|
|
.IsRequired();
|
|
|
|
b.HasOne("RSecurityBackend.Models.Auth.Db.RAppUser", null)
|
|
.WithMany()
|
|
.HasForeignKey("UserId")
|
|
.OnDelete(DeleteBehavior.Cascade)
|
|
.IsRequired();
|
|
});
|
|
|
|
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken<System.Guid>", b =>
|
|
{
|
|
b.HasOne("RSecurityBackend.Models.Auth.Db.RAppUser", null)
|
|
.WithMany()
|
|
.HasForeignKey("UserId")
|
|
.OnDelete(DeleteBehavior.Cascade)
|
|
.IsRequired();
|
|
});
|
|
|
|
modelBuilder.Entity("RMuseum.Models.Artifact.RArtifactItemRecord", b =>
|
|
{
|
|
b.HasOne("RMuseum.Models.Artifact.RArtifactMasterRecord", null)
|
|
.WithMany("Items")
|
|
.HasForeignKey("RArtifactMasterRecordId")
|
|
.OnDelete(DeleteBehavior.Cascade)
|
|
.IsRequired();
|
|
});
|
|
|
|
modelBuilder.Entity("RMuseum.Models.Artifact.RArtifactMasterRecord", b =>
|
|
{
|
|
b.HasOne("RMuseum.Models.Artifact.RPictureFile", "CoverImage")
|
|
.WithMany()
|
|
.HasForeignKey("CoverImageId")
|
|
.OnDelete(DeleteBehavior.Cascade)
|
|
.IsRequired();
|
|
});
|
|
|
|
modelBuilder.Entity("RMuseum.Models.Artifact.RTagValue", b =>
|
|
{
|
|
b.HasOne("RMuseum.Models.Artifact.RArtifactItemRecord", null)
|
|
.WithMany("Tags")
|
|
.HasForeignKey("RArtifactItemRecordId");
|
|
|
|
b.HasOne("RMuseum.Models.Artifact.RArtifactMasterRecord", null)
|
|
.WithMany("Tags")
|
|
.HasForeignKey("RArtifactMasterRecordId");
|
|
|
|
b.HasOne("RMuseum.Models.Artifact.RTag", "RTag")
|
|
.WithMany()
|
|
.HasForeignKey("RTagId")
|
|
.OnDelete(DeleteBehavior.Cascade)
|
|
.IsRequired();
|
|
});
|
|
|
|
modelBuilder.Entity("RMuseum.Models.Bookmark.RUserBookmark", b =>
|
|
{
|
|
b.HasOne("RSecurityBackend.Models.Auth.Db.RAppUser", "RAppUser")
|
|
.WithMany()
|
|
.HasForeignKey("RAppUserId")
|
|
.OnDelete(DeleteBehavior.Cascade)
|
|
.IsRequired();
|
|
|
|
b.HasOne("RMuseum.Models.Artifact.RArtifactItemRecord", "RArtifactItemRecord")
|
|
.WithMany()
|
|
.HasForeignKey("RArtifactItemRecordId");
|
|
|
|
b.HasOne("RMuseum.Models.Artifact.RArtifactMasterRecord", "RArtifactMasterRecord")
|
|
.WithMany()
|
|
.HasForeignKey("RArtifactMasterRecordId");
|
|
});
|
|
|
|
modelBuilder.Entity("RMuseum.Models.Diwan.DiwanCat", b =>
|
|
{
|
|
b.HasOne("RMuseum.Models.Diwan.DiwanCat", "Parent")
|
|
.WithMany()
|
|
.HasForeignKey("ParentId");
|
|
|
|
b.HasOne("RMuseum.Models.Diwan.DiwanPoet", "Poet")
|
|
.WithMany()
|
|
.HasForeignKey("PoetId")
|
|
.OnDelete(DeleteBehavior.Cascade)
|
|
.IsRequired();
|
|
});
|
|
|
|
modelBuilder.Entity("RMuseum.Models.Diwan.DiwanComment", b =>
|
|
{
|
|
b.HasOne("RMuseum.Models.Diwan.DiwanComment", "InReplyTo")
|
|
.WithMany()
|
|
.HasForeignKey("InReplyToId");
|
|
|
|
b.HasOne("RMuseum.Models.Diwan.DiwanPoem", "Poem")
|
|
.WithMany()
|
|
.HasForeignKey("PoemId")
|
|
.OnDelete(DeleteBehavior.Cascade)
|
|
.IsRequired();
|
|
|
|
b.HasOne("RSecurityBackend.Models.Auth.Db.RAppUser", "User")
|
|
.WithMany()
|
|
.HasForeignKey("UserId");
|
|
});
|
|
|
|
modelBuilder.Entity("RMuseum.Models.Diwan.DiwanCommentAbuseReport", b =>
|
|
{
|
|
b.HasOne("RMuseum.Models.Diwan.DiwanComment", "DiwanComment")
|
|
.WithMany()
|
|
.HasForeignKey("DiwanCommentId")
|
|
.OnDelete(DeleteBehavior.Cascade)
|
|
.IsRequired();
|
|
|
|
b.HasOne("RSecurityBackend.Models.Auth.Db.RAppUser", "ReportedBy")
|
|
.WithMany()
|
|
.HasForeignKey("ReportedById");
|
|
});
|
|
|
|
modelBuilder.Entity("RMuseum.Models.Diwan.DiwanPage", b =>
|
|
{
|
|
b.HasOne("RMuseum.Models.Diwan.DiwanCat", "Cat")
|
|
.WithMany()
|
|
.HasForeignKey("CatId");
|
|
|
|
b.HasOne("RMuseum.Models.Diwan.DiwanPage", "Parent")
|
|
.WithMany()
|
|
.HasForeignKey("ParentId");
|
|
|
|
b.HasOne("RMuseum.Models.Diwan.DiwanPoem", "Poem")
|
|
.WithMany()
|
|
.HasForeignKey("PoemId");
|
|
|
|
b.HasOne("RMuseum.Models.Diwan.DiwanPoet", "Poet")
|
|
.WithMany()
|
|
.HasForeignKey("PoetId");
|
|
|
|
b.HasOne("RMuseum.Models.Diwan.DiwanPoet", "SecondPoet")
|
|
.WithMany()
|
|
.HasForeignKey("SecondPoetId");
|
|
});
|
|
|
|
modelBuilder.Entity("RMuseum.Models.Diwan.DiwanPageSnapshot", b =>
|
|
{
|
|
b.HasOne("RMuseum.Models.Diwan.DiwanPage", "DiwanPage")
|
|
.WithMany()
|
|
.HasForeignKey("DiwanPageId")
|
|
.OnDelete(DeleteBehavior.Cascade)
|
|
.IsRequired();
|
|
|
|
b.HasOne("RSecurityBackend.Models.Auth.Db.RAppUser", "MadeObsoleteByUser")
|
|
.WithMany()
|
|
.HasForeignKey("MadeObsoleteByUserId")
|
|
.OnDelete(DeleteBehavior.Cascade)
|
|
.IsRequired();
|
|
});
|
|
|
|
modelBuilder.Entity("RMuseum.Models.Diwan.DiwanPoem", b =>
|
|
{
|
|
b.HasOne("RMuseum.Models.Diwan.DiwanCat", "Cat")
|
|
.WithMany()
|
|
.HasForeignKey("CatId")
|
|
.OnDelete(DeleteBehavior.Cascade)
|
|
.IsRequired();
|
|
|
|
b.HasOne("RMuseum.Models.Diwan.DiwanMetre", "DiwanMetre")
|
|
.WithMany()
|
|
.HasForeignKey("DiwanMetreId");
|
|
});
|
|
|
|
modelBuilder.Entity("RMuseum.Models.Diwan.DiwanPoet", b =>
|
|
{
|
|
b.HasOne("RSecurityBackend.Models.Image.RImage", "RImage")
|
|
.WithMany()
|
|
.HasForeignKey("RImageId");
|
|
});
|
|
|
|
modelBuilder.Entity("RMuseum.Models.Diwan.DiwanSiteBanner", b =>
|
|
{
|
|
b.HasOne("RSecurityBackend.Models.Image.RImage", "RImage")
|
|
.WithMany()
|
|
.HasForeignKey("RImageId")
|
|
.OnDelete(DeleteBehavior.Cascade)
|
|
.IsRequired();
|
|
});
|
|
|
|
modelBuilder.Entity("RMuseum.Models.Diwan.DiwanVerse", b =>
|
|
{
|
|
b.HasOne("RMuseum.Models.Diwan.DiwanPoem", "Poem")
|
|
.WithMany()
|
|
.HasForeignKey("PoemId")
|
|
.OnDelete(DeleteBehavior.Cascade)
|
|
.IsRequired();
|
|
});
|
|
|
|
modelBuilder.Entity("RMuseum.Models.Diwan.PoemMusicTrack", b =>
|
|
{
|
|
b.HasOne("RMuseum.Models.MusicCatalogue.DiwanTrack", "DiwanTrack")
|
|
.WithMany()
|
|
.HasForeignKey("DiwanTrackId");
|
|
|
|
b.HasOne("RMuseum.Models.MusicCatalogue.GolhaTrack", "GolhaTrack")
|
|
.WithMany()
|
|
.HasForeignKey("GolhaTrackId");
|
|
|
|
b.HasOne("RMuseum.Models.Diwan.DiwanPoem", "Poem")
|
|
.WithMany()
|
|
.HasForeignKey("PoemId")
|
|
.OnDelete(DeleteBehavior.Cascade)
|
|
.IsRequired();
|
|
|
|
b.HasOne("RMuseum.Models.MusicCatalogue.DiwanSinger", "Singer")
|
|
.WithMany()
|
|
.HasForeignKey("SingerId");
|
|
|
|
b.HasOne("RSecurityBackend.Models.Auth.Db.RAppUser", "SuggestedBy")
|
|
.WithMany()
|
|
.HasForeignKey("SuggestedById");
|
|
});
|
|
|
|
modelBuilder.Entity("RMuseum.Models.DiwanAudio.Recitation", b =>
|
|
{
|
|
b.HasOne("RSecurityBackend.Models.Auth.Db.RAppUser", "Owner")
|
|
.WithMany()
|
|
.HasForeignKey("OwnerId")
|
|
.OnDelete(DeleteBehavior.Cascade)
|
|
.IsRequired();
|
|
|
|
b.HasOne("RSecurityBackend.Models.Auth.Db.RAppUser", "Reviewer")
|
|
.WithMany()
|
|
.HasForeignKey("ReviewerId");
|
|
});
|
|
|
|
modelBuilder.Entity("RMuseum.Models.DiwanAudio.RecitationPublishingTracker", b =>
|
|
{
|
|
b.HasOne("RMuseum.Models.DiwanAudio.Recitation", "PoemNarration")
|
|
.WithMany()
|
|
.HasForeignKey("PoemNarrationId")
|
|
.OnDelete(DeleteBehavior.Cascade)
|
|
.IsRequired();
|
|
});
|
|
|
|
modelBuilder.Entity("RMuseum.Models.DiwanAudio.UserRecitationProfile", b =>
|
|
{
|
|
b.HasOne("RSecurityBackend.Models.Auth.Db.RAppUser", "User")
|
|
.WithMany()
|
|
.HasForeignKey("UserId")
|
|
.OnDelete(DeleteBehavior.Cascade)
|
|
.IsRequired();
|
|
});
|
|
|
|
modelBuilder.Entity("RMuseum.Models.DiwanIntegration.DiwanLink", b =>
|
|
{
|
|
b.HasOne("RMuseum.Models.Artifact.RArtifactMasterRecord", "Artifact")
|
|
.WithMany()
|
|
.HasForeignKey("ArtifactId")
|
|
.OnDelete(DeleteBehavior.Cascade)
|
|
.IsRequired();
|
|
|
|
b.HasOne("RMuseum.Models.Artifact.RArtifactItemRecord", "Item")
|
|
.WithMany()
|
|
.HasForeignKey("ItemId");
|
|
|
|
b.HasOne("RSecurityBackend.Models.Auth.Db.RAppUser", "Reviewer")
|
|
.WithMany()
|
|
.HasForeignKey("ReviewerId");
|
|
|
|
b.HasOne("RSecurityBackend.Models.Auth.Db.RAppUser", "SuggestedBy")
|
|
.WithMany()
|
|
.HasForeignKey("SuggestedById")
|
|
.OnDelete(DeleteBehavior.Cascade)
|
|
.IsRequired();
|
|
});
|
|
|
|
modelBuilder.Entity("RMuseum.Models.DiwanIntegration.PinterestLink", b =>
|
|
{
|
|
b.HasOne("RMuseum.Models.Artifact.RArtifactMasterRecord", "Artifact")
|
|
.WithMany()
|
|
.HasForeignKey("ArtifactId");
|
|
|
|
b.HasOne("RMuseum.Models.Artifact.RArtifactItemRecord", "Item")
|
|
.WithMany()
|
|
.HasForeignKey("ItemId");
|
|
|
|
b.HasOne("RSecurityBackend.Models.Auth.Db.RAppUser", "Reviewer")
|
|
.WithMany()
|
|
.HasForeignKey("ReviewerId");
|
|
|
|
b.HasOne("RSecurityBackend.Models.Auth.Db.RAppUser", "SuggestedBy")
|
|
.WithMany()
|
|
.HasForeignKey("SuggestedById");
|
|
});
|
|
|
|
modelBuilder.Entity("RMuseum.Models.ImportJob.ImportJob", b =>
|
|
{
|
|
b.HasOne("RMuseum.Models.Artifact.RArtifactMasterRecord", "Artifact")
|
|
.WithMany()
|
|
.HasForeignKey("ArtifactId");
|
|
});
|
|
|
|
modelBuilder.Entity("RMuseum.Models.MusicCatalogue.DiwanAlbum", b =>
|
|
{
|
|
b.HasOne("RMuseum.Models.MusicCatalogue.DiwanSinger", "Singer")
|
|
.WithMany("Albums")
|
|
.HasForeignKey("SingerId")
|
|
.OnDelete(DeleteBehavior.Cascade)
|
|
.IsRequired();
|
|
});
|
|
|
|
modelBuilder.Entity("RMuseum.Models.MusicCatalogue.DiwanTrack", b =>
|
|
{
|
|
b.HasOne("RMuseum.Models.MusicCatalogue.DiwanAlbum", "Album")
|
|
.WithMany("Tracks")
|
|
.HasForeignKey("AlbumId")
|
|
.OnDelete(DeleteBehavior.Cascade)
|
|
.IsRequired();
|
|
});
|
|
|
|
modelBuilder.Entity("RMuseum.Models.MusicCatalogue.GolhaProgram", b =>
|
|
{
|
|
b.HasOne("RMuseum.Models.MusicCatalogue.GolhaCollection", "GolhaCollection")
|
|
.WithMany("Programs")
|
|
.HasForeignKey("GolhaCollectionId")
|
|
.OnDelete(DeleteBehavior.Cascade)
|
|
.IsRequired();
|
|
});
|
|
|
|
modelBuilder.Entity("RMuseum.Models.MusicCatalogue.GolhaTrack", b =>
|
|
{
|
|
b.HasOne("RMuseum.Models.MusicCatalogue.GolhaProgram", "GolhaProgram")
|
|
.WithMany("Tracks")
|
|
.HasForeignKey("GolhaProgramId")
|
|
.OnDelete(DeleteBehavior.Cascade)
|
|
.IsRequired();
|
|
|
|
b.HasOne("RMuseum.Models.MusicCatalogue.DiwanSinger", "Singer")
|
|
.WithMany()
|
|
.HasForeignKey("SingerId");
|
|
});
|
|
|
|
modelBuilder.Entity("RMuseum.Models.Note.RUserNote", b =>
|
|
{
|
|
b.HasOne("RSecurityBackend.Models.Auth.Db.RAppUser", "RAppUser")
|
|
.WithMany()
|
|
.HasForeignKey("RAppUserId")
|
|
.OnDelete(DeleteBehavior.Cascade)
|
|
.IsRequired();
|
|
|
|
b.HasOne("RMuseum.Models.Artifact.RArtifactItemRecord", "RArtifactItemRecord")
|
|
.WithMany()
|
|
.HasForeignKey("RArtifactItemRecordId");
|
|
|
|
b.HasOne("RMuseum.Models.Artifact.RArtifactMasterRecord", "RArtifactMasterRecord")
|
|
.WithMany()
|
|
.HasForeignKey("RArtifactMasterRecordId");
|
|
|
|
b.HasOne("RMuseum.Models.Note.RUserNote", "ReferenceNote")
|
|
.WithMany()
|
|
.HasForeignKey("ReferenceNoteId");
|
|
});
|
|
|
|
modelBuilder.Entity("RMuseum.Models.UploadSession.UploadSession", b =>
|
|
{
|
|
b.HasOne("RSecurityBackend.Models.Auth.Db.RAppUser", "User")
|
|
.WithMany()
|
|
.HasForeignKey("UserId");
|
|
});
|
|
|
|
modelBuilder.Entity("RMuseum.Models.UploadSession.UploadSessionFile", b =>
|
|
{
|
|
b.HasOne("RMuseum.Models.UploadSession.UploadSession", null)
|
|
.WithMany("UploadedFiles")
|
|
.HasForeignKey("UploadSessionId")
|
|
.OnDelete(DeleteBehavior.Cascade)
|
|
.IsRequired();
|
|
});
|
|
|
|
modelBuilder.Entity("RSecurityBackend.Models.Auth.Db.RAppUser", b =>
|
|
{
|
|
b.HasOne("RSecurityBackend.Models.Image.RImage", "RImage")
|
|
.WithMany()
|
|
.HasForeignKey("RImageId");
|
|
});
|
|
|
|
modelBuilder.Entity("RSecurityBackend.Models.Auth.Db.RCaptchaImage", b =>
|
|
{
|
|
b.HasOne("RSecurityBackend.Models.Image.RImage", "RImage")
|
|
.WithMany()
|
|
.HasForeignKey("RImageId")
|
|
.OnDelete(DeleteBehavior.Cascade)
|
|
.IsRequired();
|
|
});
|
|
|
|
modelBuilder.Entity("RSecurityBackend.Models.Auth.Db.RPermission", b =>
|
|
{
|
|
b.HasOne("RSecurityBackend.Models.Auth.Db.RAppRole", null)
|
|
.WithMany("Permissions")
|
|
.HasForeignKey("RAppRoleId");
|
|
});
|
|
|
|
modelBuilder.Entity("RSecurityBackend.Models.Auth.Db.RTemporaryUserSession", b =>
|
|
{
|
|
b.HasOne("RSecurityBackend.Models.Auth.Db.RAppUser", "RAppUser")
|
|
.WithMany()
|
|
.HasForeignKey("RAppUserId")
|
|
.OnDelete(DeleteBehavior.Cascade)
|
|
.IsRequired();
|
|
});
|
|
|
|
modelBuilder.Entity("RSecurityBackend.Models.Notification.RUserNotification", b =>
|
|
{
|
|
b.HasOne("RSecurityBackend.Models.Auth.Db.RAppUser", "User")
|
|
.WithMany()
|
|
.HasForeignKey("UserId")
|
|
.OnDelete(DeleteBehavior.Cascade)
|
|
.IsRequired();
|
|
});
|
|
|
|
modelBuilder.Entity("RMuseum.Models.Artifact.RPictureFile", b =>
|
|
{
|
|
b.HasOne("RMuseum.Models.Artifact.RArtifactItemRecord", null)
|
|
.WithMany("Images")
|
|
.HasForeignKey("RArtifactItemRecordId");
|
|
});
|
|
#pragma warning restore 612, 618
|
|
}
|
|
}
|
|
}
|