@@ -28,7 +28,7 @@ | |||
"Authentication" | |||
], | |||
"license": "BSD-3-Clause", | |||
"main": "webpack.config.js", | |||
"main": "gulpfile.js", | |||
"name": "teknik", | |||
"repository": { | |||
"type": "git", | |||
@@ -39,10 +39,5 @@ | |||
"build": "npm install && gulp clean && gulp copy-assets && gulp min && gulp update-version", | |||
"gulp": "gulp" | |||
}, | |||
"version": "2.1.0", | |||
"-vs-binding": { | |||
"ProjectOpened": [ | |||
"pre-publish" | |||
] | |||
} | |||
"version": "2.1.0" | |||
} |
@@ -30,8 +30,11 @@ namespace Teknik.ServiceWorker | |||
Directory.CreateDirectory(config.PasteConfig.PasteDirectory); | |||
} | |||
foreach (var paste in db.Pastes) | |||
var pastes = db.Pastes.Select(p => p.PasteId).ToList(); | |||
foreach (var pasteId in pastes) | |||
{ | |||
var paste = db.Pastes.Where(p => p.PasteId == pasteId).FirstOrDefault(); | |||
if (!string.IsNullOrEmpty(paste.Content) && string.IsNullOrEmpty(paste.FileName) && string.IsNullOrEmpty(paste.HashedPassword)) | |||
{ | |||
// Generate a unique file name that does not currently exist |
@@ -1,743 +0,0 @@ | |||
// <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 Teknik.Data; | |||
namespace Teknik.Data.Migrations | |||
{ | |||
[DbContext(typeof(TeknikEntities))] | |||
[Migration("20181222043715_InitialMigration")] | |||
partial class InitialMigration | |||
{ | |||
protected override void BuildTargetModel(ModelBuilder modelBuilder) | |||
{ | |||
#pragma warning disable 612, 618 | |||
modelBuilder | |||
.HasAnnotation("ProductVersion", "2.2.0-preview3-35497") | |||
.HasAnnotation("Relational:MaxIdentifierLength", 128) | |||
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn); | |||
modelBuilder.Entity("Teknik.Areas.Blog.Models.Blog", b => | |||
{ | |||
b.Property<int>("BlogId") | |||
.ValueGeneratedOnAdd() | |||
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn); | |||
b.Property<int>("UserId"); | |||
b.HasKey("BlogId"); | |||
b.HasIndex("UserId"); | |||
b.ToTable("Blogs"); | |||
}); | |||
modelBuilder.Entity("Teknik.Areas.Blog.Models.BlogPost", b => | |||
{ | |||
b.Property<int>("BlogPostId") | |||
.ValueGeneratedOnAdd() | |||
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn); | |||
b.Property<string>("Article"); | |||
b.Property<int>("BlogId"); | |||
b.Property<DateTime>("DateEdited"); | |||
b.Property<DateTime>("DatePosted"); | |||
b.Property<DateTime>("DatePublished"); | |||
b.Property<bool>("Published"); | |||
b.Property<bool>("System"); | |||
b.Property<string>("Title"); | |||
b.HasKey("BlogPostId"); | |||
b.HasIndex("BlogId"); | |||
b.ToTable("BlogPosts"); | |||
}); | |||
modelBuilder.Entity("Teknik.Areas.Blog.Models.BlogPostComment", b => | |||
{ | |||
b.Property<int>("BlogPostCommentId") | |||
.ValueGeneratedOnAdd() | |||
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn); | |||
b.Property<string>("Article"); | |||
b.Property<int>("BlogPostId"); | |||
b.Property<DateTime>("DateEdited"); | |||
b.Property<DateTime>("DatePosted"); | |||
b.Property<int?>("UserId"); | |||
b.HasKey("BlogPostCommentId"); | |||
b.HasIndex("BlogPostId"); | |||
b.HasIndex("UserId"); | |||
b.ToTable("BlogPostComments"); | |||
}); | |||
modelBuilder.Entity("Teknik.Areas.Blog.Models.BlogPostTag", b => | |||
{ | |||
b.Property<int>("BlogPostTagId") | |||
.ValueGeneratedOnAdd() | |||
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn); | |||
b.Property<int>("BlogPostId"); | |||
b.Property<string>("Description"); | |||
b.Property<string>("Name"); | |||
b.HasKey("BlogPostTagId"); | |||
b.HasIndex("BlogPostId"); | |||
b.ToTable("BlogPostTags"); | |||
}); | |||
modelBuilder.Entity("Teknik.Areas.Contact.Models.Contact", b => | |||
{ | |||
b.Property<int>("ContactId") | |||
.ValueGeneratedOnAdd() | |||
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn); | |||
b.Property<DateTime>("DateAdded"); | |||
b.Property<string>("Email"); | |||
b.Property<string>("Message"); | |||
b.Property<string>("Name"); | |||
b.Property<string>("Subject"); | |||
b.HasKey("ContactId"); | |||
b.ToTable("Contact"); | |||
}); | |||
modelBuilder.Entity("Teknik.Areas.Paste.Models.Paste", b => | |||
{ | |||
b.Property<int>("PasteId") | |||
.ValueGeneratedOnAdd() | |||
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn); | |||
b.Property<int>("BlockSize"); | |||
b.Property<string>("Content"); | |||
b.Property<DateTime>("DatePosted"); | |||
b.Property<string>("DeleteKey") | |||
.HasAnnotation("CaseSensitive", true); | |||
b.Property<DateTime?>("ExpireDate"); | |||
b.Property<string>("FileName") | |||
.HasAnnotation("CaseSensitive", true); | |||
b.Property<string>("HashedPassword") | |||
.HasAnnotation("CaseSensitive", true); | |||
b.Property<bool>("Hide"); | |||
b.Property<string>("IV") | |||
.HasAnnotation("CaseSensitive", true); | |||
b.Property<string>("Key") | |||
.HasAnnotation("CaseSensitive", true); | |||
b.Property<int>("KeySize"); | |||
b.Property<int>("MaxViews"); | |||
b.Property<string>("Syntax"); | |||
b.Property<string>("Title"); | |||
b.Property<string>("Url") | |||
.HasAnnotation("CaseSensitive", true); | |||
b.Property<int?>("UserId"); | |||
b.Property<int>("Views"); | |||
b.HasKey("PasteId"); | |||
b.HasIndex("UserId"); | |||
b.ToTable("Pastes"); | |||
}); | |||
modelBuilder.Entity("Teknik.Areas.Podcast.Models.Podcast", b => | |||
{ | |||
b.Property<int>("PodcastId") | |||
.ValueGeneratedOnAdd() | |||
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn); | |||
b.Property<DateTime>("DateEdited"); | |||
b.Property<DateTime>("DatePosted"); | |||
b.Property<DateTime>("DatePublished"); | |||
b.Property<string>("Description"); | |||
b.Property<int>("Episode"); | |||
b.Property<bool>("Published"); | |||
b.Property<string>("Title"); | |||
b.HasKey("PodcastId"); | |||
b.ToTable("Podcasts"); | |||
}); | |||
modelBuilder.Entity("Teknik.Areas.Podcast.Models.PodcastComment", b => | |||
{ | |||
b.Property<int>("PodcastCommentId") | |||
.ValueGeneratedOnAdd() | |||
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn); | |||
b.Property<string>("Article"); | |||
b.Property<DateTime>("DateEdited"); | |||
b.Property<DateTime>("DatePosted"); | |||
b.Property<int>("PodcastId"); | |||
b.Property<int>("UserId"); | |||
b.HasKey("PodcastCommentId"); | |||
b.HasIndex("PodcastId"); | |||
b.HasIndex("UserId"); | |||
b.ToTable("PodcastComments"); | |||
}); | |||
modelBuilder.Entity("Teknik.Areas.Podcast.Models.PodcastFile", b => | |||
{ | |||
b.Property<int>("PodcastFileId") | |||
.ValueGeneratedOnAdd() | |||
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn); | |||
b.Property<long>("ContentLength"); | |||
b.Property<string>("ContentType"); | |||
b.Property<string>("FileName"); | |||
b.Property<string>("Path"); | |||
b.Property<int>("PodcastId"); | |||
b.Property<int>("Size"); | |||
b.HasKey("PodcastFileId"); | |||
b.HasIndex("PodcastId"); | |||
b.ToTable("PodcastFiles"); | |||
}); | |||
modelBuilder.Entity("Teknik.Areas.Podcast.Models.PodcastTag", b => | |||
{ | |||
b.Property<int>("PodcastTagId") | |||
.ValueGeneratedOnAdd() | |||
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn); | |||
b.Property<string>("Description"); | |||
b.Property<string>("Name"); | |||
b.Property<int>("PodcastId"); | |||
b.HasKey("PodcastTagId"); | |||
b.HasIndex("PodcastId"); | |||
b.ToTable("PodcastTags"); | |||
}); | |||
modelBuilder.Entity("Teknik.Areas.Shortener.Models.ShortenedUrl", b => | |||
{ | |||
b.Property<int>("ShortenedUrlId") | |||
.ValueGeneratedOnAdd() | |||
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn); | |||
b.Property<DateTime>("DateAdded"); | |||
b.Property<string>("OriginalUrl"); | |||
b.Property<string>("ShortUrl") | |||
.HasAnnotation("CaseSensitive", true); | |||
b.Property<int?>("UserId"); | |||
b.Property<int>("Views"); | |||
b.HasKey("ShortenedUrlId"); | |||
b.HasIndex("UserId"); | |||
b.ToTable("ShortenedUrls"); | |||
}); | |||
modelBuilder.Entity("Teknik.Areas.Stats.Models.Takedown", b => | |||
{ | |||
b.Property<int>("TakedownId") | |||
.ValueGeneratedOnAdd() | |||
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn); | |||
b.Property<string>("ActionTaken"); | |||
b.Property<DateTime>("DateActionTaken"); | |||
b.Property<DateTime>("DateRequested"); | |||
b.Property<string>("Reason"); | |||
b.Property<string>("Requester"); | |||
b.Property<string>("RequesterContact"); | |||
b.HasKey("TakedownId"); | |||
b.ToTable("Takedowns"); | |||
}); | |||
modelBuilder.Entity("Teknik.Areas.Stats.Models.Transaction", b => | |||
{ | |||
b.Property<int>("TransactionId") | |||
.ValueGeneratedOnAdd() | |||
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn); | |||
b.Property<decimal>("Amount") | |||
.HasColumnType("decimal(19, 5)"); | |||
b.Property<int>("Currency"); | |||
b.Property<DateTime>("DateSent"); | |||
b.Property<string>("Reason"); | |||
b.HasKey("TransactionId"); | |||
b.ToTable("Transactions"); | |||
}); | |||
modelBuilder.Entity("Teknik.Areas.Upload.Models.Upload", b => | |||
{ | |||
b.Property<int>("UploadId") | |||
.ValueGeneratedOnAdd() | |||
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn); | |||
b.Property<int>("BlockSize"); | |||
b.Property<long>("ContentLength"); | |||
b.Property<string>("ContentType"); | |||
b.Property<DateTime>("DateUploaded"); | |||
b.Property<string>("DeleteKey") | |||
.HasAnnotation("CaseSensitive", true); | |||
b.Property<int>("Downloads"); | |||
b.Property<DateTime?>("ExpireDate"); | |||
b.Property<string>("FileName") | |||
.HasAnnotation("CaseSensitive", true); | |||
b.Property<string>("IV") | |||
.HasAnnotation("CaseSensitive", true); | |||
b.Property<string>("Key") | |||
.HasAnnotation("CaseSensitive", true); | |||
b.Property<int>("KeySize"); | |||
b.Property<int>("MaxDownloads"); | |||
b.Property<int?>("Takedown_TakedownId"); | |||
b.Property<string>("Url") | |||
.HasAnnotation("CaseSensitive", true); | |||
b.Property<int?>("UserId"); | |||
b.HasKey("UploadId"); | |||
b.HasIndex("Takedown_TakedownId"); | |||
b.HasIndex("UserId"); | |||
b.ToTable("Uploads"); | |||
}); | |||
modelBuilder.Entity("Teknik.Areas.Users.Models.InviteCode", b => | |||
{ | |||
b.Property<int>("InviteCodeId") | |||
.ValueGeneratedOnAdd() | |||
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn); | |||
b.Property<bool>("Active"); | |||
b.Property<int?>("ClaimedUserId"); | |||
b.Property<string>("Code") | |||
.HasAnnotation("CaseSensitive", true); | |||
b.Property<int?>("OwnerId"); | |||
b.HasKey("InviteCodeId"); | |||
b.HasIndex("ClaimedUserId") | |||
.IsUnique() | |||
.HasFilter("[ClaimedUserId] IS NOT NULL"); | |||
b.HasIndex("OwnerId"); | |||
b.ToTable("InviteCodes"); | |||
}); | |||
modelBuilder.Entity("Teknik.Areas.Users.Models.LoginInfo", b => | |||
{ | |||
b.Property<int>("LoginInfoId") | |||
.ValueGeneratedOnAdd() | |||
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn); | |||
b.Property<string>("LoginProvider"); | |||
b.Property<string>("ProviderDisplayName"); | |||
b.Property<string>("ProviderKey"); | |||
b.Property<int>("UserId"); | |||
b.HasKey("LoginInfoId"); | |||
b.HasIndex("UserId"); | |||
b.ToTable("UserLogins"); | |||
}); | |||
modelBuilder.Entity("Teknik.Areas.Users.Models.User", b => | |||
{ | |||
b.Property<int>("UserId") | |||
.ValueGeneratedOnAdd() | |||
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn); | |||
b.Property<string>("Username"); | |||
b.HasKey("UserId"); | |||
b.ToTable("Users"); | |||
}); | |||
modelBuilder.Entity("Teknik.Areas.Vault.Models.Vault", b => | |||
{ | |||
b.Property<int>("VaultId") | |||
.ValueGeneratedOnAdd() | |||
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn); | |||
b.Property<DateTime>("DateCreated"); | |||
b.Property<DateTime>("DateEdited"); | |||
b.Property<string>("Description"); | |||
b.Property<string>("Title"); | |||
b.Property<string>("Url"); | |||
b.Property<int?>("UserId"); | |||
b.Property<int>("Views"); | |||
b.HasKey("VaultId"); | |||
b.HasIndex("UserId"); | |||
b.ToTable("Vaults"); | |||
}); | |||
modelBuilder.Entity("Teknik.Areas.Vault.Models.VaultItem", b => | |||
{ | |||
b.Property<int>("VaultItemId") | |||
.ValueGeneratedOnAdd() | |||
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn); | |||
b.Property<DateTime>("DateAdded"); | |||
b.Property<string>("Description"); | |||
b.Property<string>("Discriminator") | |||
.IsRequired(); | |||
b.Property<string>("Title"); | |||
b.Property<int>("VaultId"); | |||
b.HasKey("VaultItemId"); | |||
b.HasIndex("VaultId"); | |||
b.ToTable("VaultItems"); | |||
b.HasDiscriminator<string>("Discriminator").HasValue("VaultItem"); | |||
}); | |||
modelBuilder.Entity("Teknik.Areas.Vault.Models.PasteVaultItem", b => | |||
{ | |||
b.HasBaseType("Teknik.Areas.Vault.Models.VaultItem"); | |||
b.Property<int>("PasteId"); | |||
b.HasIndex("PasteId"); | |||
b.HasDiscriminator().HasValue("PasteVaultItem"); | |||
}); | |||
modelBuilder.Entity("Teknik.Areas.Vault.Models.UploadVaultItem", b => | |||
{ | |||
b.HasBaseType("Teknik.Areas.Vault.Models.VaultItem"); | |||
b.Property<int>("UploadId"); | |||
b.HasIndex("UploadId"); | |||
b.HasDiscriminator().HasValue("UploadVaultItem"); | |||
}); | |||
modelBuilder.Entity("Teknik.Areas.Blog.Models.Blog", b => | |||
{ | |||
b.HasOne("Teknik.Areas.Users.Models.User", "User") | |||
.WithMany() | |||
.HasForeignKey("UserId") | |||
.OnDelete(DeleteBehavior.Cascade); | |||
}); | |||
modelBuilder.Entity("Teknik.Areas.Blog.Models.BlogPost", b => | |||
{ | |||
b.HasOne("Teknik.Areas.Blog.Models.Blog", "Blog") | |||
.WithMany("BlogPosts") | |||
.HasForeignKey("BlogId") | |||
.OnDelete(DeleteBehavior.Cascade); | |||
}); | |||
modelBuilder.Entity("Teknik.Areas.Blog.Models.BlogPostComment", b => | |||
{ | |||
b.HasOne("Teknik.Areas.Blog.Models.BlogPost", "BlogPost") | |||
.WithMany("Comments") | |||
.HasForeignKey("BlogPostId") | |||
.OnDelete(DeleteBehavior.Cascade); | |||
b.HasOne("Teknik.Areas.Users.Models.User", "User") | |||
.WithMany() | |||
.HasForeignKey("UserId"); | |||
}); | |||
modelBuilder.Entity("Teknik.Areas.Blog.Models.BlogPostTag", b => | |||
{ | |||
b.HasOne("Teknik.Areas.Blog.Models.BlogPost", "BlogPost") | |||
.WithMany("Tags") | |||
.HasForeignKey("BlogPostId") | |||
.OnDelete(DeleteBehavior.Cascade); | |||
}); | |||
modelBuilder.Entity("Teknik.Areas.Paste.Models.Paste", b => | |||
{ | |||
b.HasOne("Teknik.Areas.Users.Models.User", "User") | |||
.WithMany("Pastes") | |||
.HasForeignKey("UserId"); | |||
}); | |||
modelBuilder.Entity("Teknik.Areas.Podcast.Models.PodcastComment", b => | |||
{ | |||
b.HasOne("Teknik.Areas.Podcast.Models.Podcast", "Podcast") | |||
.WithMany("Comments") | |||
.HasForeignKey("PodcastId") | |||
.OnDelete(DeleteBehavior.Cascade); | |||
b.HasOne("Teknik.Areas.Users.Models.User", "User") | |||
.WithMany() | |||
.HasForeignKey("UserId") | |||
.OnDelete(DeleteBehavior.Cascade); | |||
}); | |||
modelBuilder.Entity("Teknik.Areas.Podcast.Models.PodcastFile", b => | |||
{ | |||
b.HasOne("Teknik.Areas.Podcast.Models.Podcast", "Podcast") | |||
.WithMany("Files") | |||
.HasForeignKey("PodcastId") | |||
.OnDelete(DeleteBehavior.Cascade); | |||
}); | |||
modelBuilder.Entity("Teknik.Areas.Podcast.Models.PodcastTag", b => | |||
{ | |||
b.HasOne("Teknik.Areas.Podcast.Models.Podcast", "Podcast") | |||
.WithMany("Tags") | |||
.HasForeignKey("PodcastId") | |||
.OnDelete(DeleteBehavior.Cascade); | |||
}); | |||
modelBuilder.Entity("Teknik.Areas.Shortener.Models.ShortenedUrl", b => | |||
{ | |||
b.HasOne("Teknik.Areas.Users.Models.User", "User") | |||
.WithMany("ShortenedUrls") | |||
.HasForeignKey("UserId"); | |||
}); | |||
modelBuilder.Entity("Teknik.Areas.Upload.Models.Upload", b => | |||
{ | |||
b.HasOne("Teknik.Areas.Stats.Models.Takedown") | |||
.WithMany("Attachments") | |||
.HasForeignKey("Takedown_TakedownId"); | |||
b.HasOne("Teknik.Areas.Users.Models.User", "User") | |||
.WithMany("Uploads") | |||
.HasForeignKey("UserId"); | |||
}); | |||
modelBuilder.Entity("Teknik.Areas.Users.Models.InviteCode", b => | |||
{ | |||
b.HasOne("Teknik.Areas.Users.Models.User", "ClaimedUser") | |||
.WithOne("ClaimedInviteCode") | |||
.HasForeignKey("Teknik.Areas.Users.Models.InviteCode", "ClaimedUserId"); | |||
b.HasOne("Teknik.Areas.Users.Models.User", "Owner") | |||
.WithMany("OwnedInviteCodes") | |||
.HasForeignKey("OwnerId"); | |||
}); | |||
modelBuilder.Entity("Teknik.Areas.Users.Models.LoginInfo", b => | |||
{ | |||
b.HasOne("Teknik.Areas.Users.Models.User", "User") | |||
.WithMany("Logins") | |||
.HasForeignKey("UserId") | |||
.OnDelete(DeleteBehavior.Cascade); | |||
}); | |||
modelBuilder.Entity("Teknik.Areas.Users.Models.User", b => | |||
{ | |||
b.OwnsOne("Teknik.Areas.Users.Models.BlogSettings", "BlogSettings", b1 => | |||
{ | |||
b1.Property<int>("UserId") | |||
.ValueGeneratedOnAdd() | |||
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn); | |||
b1.Property<string>("Description") | |||
.HasColumnName("Description"); | |||
b1.Property<string>("Title") | |||
.HasColumnName("Title"); | |||
b1.HasKey("UserId"); | |||
b1.ToTable("Users"); | |||
b1.HasOne("Teknik.Areas.Users.Models.User") | |||
.WithOne("BlogSettings") | |||
.HasForeignKey("Teknik.Areas.Users.Models.BlogSettings", "UserId") | |||
.OnDelete(DeleteBehavior.Cascade); | |||
}); | |||
b.OwnsOne("Teknik.Areas.Users.Models.UploadSettings", "UploadSettings", b1 => | |||
{ | |||
b1.Property<int>("UserId") | |||
.ValueGeneratedOnAdd() | |||
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn); | |||
b1.Property<bool>("Encrypt") | |||
.HasColumnName("Encrypt"); | |||
b1.HasKey("UserId"); | |||
b1.ToTable("Users"); | |||
b1.HasOne("Teknik.Areas.Users.Models.User") | |||
.WithOne("UploadSettings") | |||
.HasForeignKey("Teknik.Areas.Users.Models.UploadSettings", "UserId") | |||
.OnDelete(DeleteBehavior.Cascade); | |||
}); | |||
b.OwnsOne("Teknik.Areas.Users.Models.UserSettings", "UserSettings", b1 => | |||
{ | |||
b1.Property<int>("UserId") | |||
.ValueGeneratedOnAdd() | |||
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn); | |||
b1.Property<string>("About") | |||
.HasColumnName("About"); | |||
b1.Property<string>("Quote") | |||
.HasColumnName("Quote"); | |||
b1.Property<string>("Website") | |||
.HasColumnName("Website"); | |||
b1.HasKey("UserId"); | |||
b1.ToTable("Users"); | |||
b1.HasOne("Teknik.Areas.Users.Models.User") | |||
.WithOne("UserSettings") | |||
.HasForeignKey("Teknik.Areas.Users.Models.UserSettings", "UserId") | |||
.OnDelete(DeleteBehavior.Cascade); | |||
}); | |||
}); | |||
modelBuilder.Entity("Teknik.Areas.Vault.Models.Vault", b => | |||
{ | |||
b.HasOne("Teknik.Areas.Users.Models.User", "User") | |||
.WithMany("Vaults") | |||
.HasForeignKey("UserId"); | |||
}); | |||
modelBuilder.Entity("Teknik.Areas.Vault.Models.VaultItem", b => | |||
{ | |||
b.HasOne("Teknik.Areas.Vault.Models.Vault", "Vault") | |||
.WithMany("VaultItems") | |||
.HasForeignKey("VaultId") | |||
.OnDelete(DeleteBehavior.Cascade); | |||
}); | |||
modelBuilder.Entity("Teknik.Areas.Vault.Models.PasteVaultItem", b => | |||
{ | |||
b.HasOne("Teknik.Areas.Paste.Models.Paste", "Paste") | |||
.WithMany("PasteVaultItems") | |||
.HasForeignKey("PasteId") | |||
.OnDelete(DeleteBehavior.Cascade); | |||
}); | |||
modelBuilder.Entity("Teknik.Areas.Vault.Models.UploadVaultItem", b => | |||
{ | |||
b.HasOne("Teknik.Areas.Upload.Models.Upload", "Upload") | |||
.WithMany("UploadVaultItems") | |||
.HasForeignKey("UploadId") | |||
.OnDelete(DeleteBehavior.Cascade); | |||
}); | |||
#pragma warning restore 612, 618 | |||
} | |||
} | |||
} |
@@ -1,641 +0,0 @@ | |||
using System; | |||
using Microsoft.EntityFrameworkCore.Metadata; | |||
using Microsoft.EntityFrameworkCore.Migrations; | |||
namespace Teknik.Data.Migrations | |||
{ | |||
public partial class InitialMigration : Migration | |||
{ | |||
protected override void Up(MigrationBuilder migrationBuilder) | |||
{ | |||
migrationBuilder.CreateTable( | |||
name: "Contact", | |||
columns: table => new | |||
{ | |||
ContactId = table.Column<int>(nullable: false) | |||
.Annotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn), | |||
Name = table.Column<string>(nullable: true), | |||
Email = table.Column<string>(nullable: true), | |||
Subject = table.Column<string>(nullable: true), | |||
Message = table.Column<string>(nullable: true), | |||
DateAdded = table.Column<DateTime>(nullable: false) | |||
}, | |||
constraints: table => | |||
{ | |||
table.PrimaryKey("PK_Contact", x => x.ContactId); | |||
}); | |||
migrationBuilder.CreateTable( | |||
name: "Podcasts", | |||
columns: table => new | |||
{ | |||
PodcastId = table.Column<int>(nullable: false) | |||
.Annotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn), | |||
Episode = table.Column<int>(nullable: false), | |||
Title = table.Column<string>(nullable: true), | |||
Description = table.Column<string>(nullable: true), | |||
Published = table.Column<bool>(nullable: false), | |||
DatePosted = table.Column<DateTime>(nullable: false), | |||
DatePublished = table.Column<DateTime>(nullable: false), | |||
DateEdited = table.Column<DateTime>(nullable: false) | |||
}, | |||
constraints: table => | |||
{ | |||
table.PrimaryKey("PK_Podcasts", x => x.PodcastId); | |||
}); | |||
migrationBuilder.CreateTable( | |||
name: "Takedowns", | |||
columns: table => new | |||
{ | |||
TakedownId = table.Column<int>(nullable: false) | |||
.Annotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn), | |||
Requester = table.Column<string>(nullable: true), | |||
RequesterContact = table.Column<string>(nullable: true), | |||
Reason = table.Column<string>(nullable: true), | |||
ActionTaken = table.Column<string>(nullable: true), | |||
DateRequested = table.Column<DateTime>(nullable: false), | |||
DateActionTaken = table.Column<DateTime>(nullable: false) | |||
}, | |||
constraints: table => | |||
{ | |||
table.PrimaryKey("PK_Takedowns", x => x.TakedownId); | |||
}); | |||
migrationBuilder.CreateTable( | |||
name: "Transactions", | |||
columns: table => new | |||
{ | |||
TransactionId = table.Column<int>(nullable: false) | |||
.Annotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn), | |||
Amount = table.Column<decimal>(type: "decimal(19, 5)", nullable: false), | |||
Currency = table.Column<int>(nullable: false), | |||
Reason = table.Column<string>(nullable: true), | |||
DateSent = table.Column<DateTime>(nullable: false) | |||
}, | |||
constraints: table => | |||
{ | |||
table.PrimaryKey("PK_Transactions", x => x.TransactionId); | |||
}); | |||
migrationBuilder.CreateTable( | |||
name: "Users", | |||
columns: table => new | |||
{ | |||
UserId = table.Column<int>(nullable: false) | |||
.Annotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn), | |||
Username = table.Column<string>(nullable: true), | |||
About = table.Column<string>(nullable: true), | |||
Website = table.Column<string>(nullable: true), | |||
Quote = table.Column<string>(nullable: true), | |||
Title = table.Column<string>(nullable: true), | |||
Description = table.Column<string>(nullable: true), | |||
Encrypt = table.Column<bool>(nullable: false) | |||
}, | |||
constraints: table => | |||
{ | |||
table.PrimaryKey("PK_Users", x => x.UserId); | |||
}); | |||
migrationBuilder.CreateTable( | |||
name: "PodcastFiles", | |||
columns: table => new | |||
{ | |||
PodcastFileId = table.Column<int>(nullable: false) | |||
.Annotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn), | |||
PodcastId = table.Column<int>(nullable: false), | |||
FileName = table.Column<string>(nullable: true), | |||
Path = table.Column<string>(nullable: true), | |||
ContentType = table.Column<string>(nullable: true), | |||
ContentLength = table.Column<long>(nullable: false), | |||
Size = table.Column<int>(nullable: false) | |||
}, | |||
constraints: table => | |||
{ | |||
table.PrimaryKey("PK_PodcastFiles", x => x.PodcastFileId); | |||
table.ForeignKey( | |||
name: "FK_PodcastFiles_Podcasts_PodcastId", | |||
column: x => x.PodcastId, | |||
principalTable: "Podcasts", | |||
principalColumn: "PodcastId", | |||
onDelete: ReferentialAction.Cascade); | |||
}); | |||
migrationBuilder.CreateTable( | |||
name: "PodcastTags", | |||
columns: table => new | |||
{ | |||
PodcastTagId = table.Column<int>(nullable: false) | |||
.Annotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn), | |||
PodcastId = table.Column<int>(nullable: false), | |||
Name = table.Column<string>(nullable: true), | |||
Description = table.Column<string>(nullable: true) | |||
}, | |||
constraints: table => | |||
{ | |||
table.PrimaryKey("PK_PodcastTags", x => x.PodcastTagId); | |||
table.ForeignKey( | |||
name: "FK_PodcastTags_Podcasts_PodcastId", | |||
column: x => x.PodcastId, | |||
principalTable: "Podcasts", | |||
principalColumn: "PodcastId", | |||
onDelete: ReferentialAction.Cascade); | |||
}); | |||
migrationBuilder.CreateTable( | |||
name: "Blogs", | |||
columns: table => new | |||
{ | |||
BlogId = table.Column<int>(nullable: false) | |||
.Annotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn), | |||
UserId = table.Column<int>(nullable: false) | |||
}, | |||
constraints: table => | |||
{ | |||
table.PrimaryKey("PK_Blogs", x => x.BlogId); | |||
table.ForeignKey( | |||
name: "FK_Blogs_Users_UserId", | |||
column: x => x.UserId, | |||
principalTable: "Users", | |||
principalColumn: "UserId", | |||
onDelete: ReferentialAction.Cascade); | |||
}); | |||
migrationBuilder.CreateTable( | |||
name: "InviteCodes", | |||
columns: table => new | |||
{ | |||
InviteCodeId = table.Column<int>(nullable: false) | |||
.Annotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn), | |||
Active = table.Column<bool>(nullable: false), | |||
Code = table.Column<string>(nullable: true), | |||
OwnerId = table.Column<int>(nullable: true), | |||
ClaimedUserId = table.Column<int>(nullable: true) | |||
}, | |||
constraints: table => | |||
{ | |||
table.PrimaryKey("PK_InviteCodes", x => x.InviteCodeId); | |||
table.ForeignKey( | |||
name: "FK_InviteCodes_Users_ClaimedUserId", | |||
column: x => x.ClaimedUserId, | |||
principalTable: "Users", | |||
principalColumn: "UserId", | |||
onDelete: ReferentialAction.Restrict); | |||
table.ForeignKey( | |||
name: "FK_InviteCodes_Users_OwnerId", | |||
column: x => x.OwnerId, | |||
principalTable: "Users", | |||
principalColumn: "UserId", | |||
onDelete: ReferentialAction.Restrict); | |||
}); | |||
migrationBuilder.CreateTable( | |||
name: "Pastes", | |||
columns: table => new | |||
{ | |||
PasteId = table.Column<int>(nullable: false) | |||
.Annotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn), | |||
UserId = table.Column<int>(nullable: true), | |||
DatePosted = table.Column<DateTime>(nullable: false), | |||
Url = table.Column<string>(nullable: true), | |||
FileName = table.Column<string>(nullable: true), | |||
Content = table.Column<string>(nullable: true), | |||
Title = table.Column<string>(nullable: true), | |||
Syntax = table.Column<string>(nullable: true), | |||
ExpireDate = table.Column<DateTime>(nullable: true), | |||
HashedPassword = table.Column<string>(nullable: true), | |||
Key = table.Column<string>(nullable: true), | |||
KeySize = table.Column<int>(nullable: false), | |||
IV = table.Column<string>(nullable: true), | |||
BlockSize = table.Column<int>(nullable: false), | |||
DeleteKey = table.Column<string>(nullable: true), | |||
Hide = table.Column<bool>(nullable: false), | |||
MaxViews = table.Column<int>(nullable: false), | |||
Views = table.Column<int>(nullable: false) | |||
}, | |||
constraints: table => | |||
{ | |||
table.PrimaryKey("PK_Pastes", x => x.PasteId); | |||
table.ForeignKey( | |||
name: "FK_Pastes_Users_UserId", | |||
column: x => x.UserId, | |||
principalTable: "Users", | |||
principalColumn: "UserId", | |||
onDelete: ReferentialAction.Restrict); | |||
}); | |||
migrationBuilder.CreateTable( | |||
name: "PodcastComments", | |||
columns: table => new | |||
{ | |||
PodcastCommentId = table.Column<int>(nullable: false) | |||
.Annotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn), | |||
PodcastId = table.Column<int>(nullable: false), | |||
UserId = table.Column<int>(nullable: false), | |||
DatePosted = table.Column<DateTime>(nullable: false), | |||
DateEdited = table.Column<DateTime>(nullable: false), | |||
Article = table.Column<string>(nullable: true) | |||
}, | |||
constraints: table => | |||
{ | |||
table.PrimaryKey("PK_PodcastComments", x => x.PodcastCommentId); | |||
table.ForeignKey( | |||
name: "FK_PodcastComments_Podcasts_PodcastId", | |||
column: x => x.PodcastId, | |||
principalTable: "Podcasts", | |||
principalColumn: "PodcastId", | |||
onDelete: ReferentialAction.Cascade); | |||
table.ForeignKey( | |||
name: "FK_PodcastComments_Users_UserId", | |||
column: x => x.UserId, | |||
principalTable: "Users", | |||
principalColumn: "UserId", | |||
onDelete: ReferentialAction.Cascade); | |||
}); | |||
migrationBuilder.CreateTable( | |||
name: "ShortenedUrls", | |||
columns: table => new | |||
{ | |||
ShortenedUrlId = table.Column<int>(nullable: false) | |||
.Annotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn), | |||
UserId = table.Column<int>(nullable: true), | |||
ShortUrl = table.Column<string>(nullable: true), | |||
OriginalUrl = table.Column<string>(nullable: true), | |||
DateAdded = table.Column<DateTime>(nullable: false), | |||
Views = table.Column<int>(nullable: false) | |||
}, | |||
constraints: table => | |||
{ | |||
table.PrimaryKey("PK_ShortenedUrls", x => x.ShortenedUrlId); | |||
table.ForeignKey( | |||
name: "FK_ShortenedUrls_Users_UserId", | |||
column: x => x.UserId, | |||
principalTable: "Users", | |||
principalColumn: "UserId", | |||
onDelete: ReferentialAction.Restrict); | |||
}); | |||
migrationBuilder.CreateTable( | |||
name: "Uploads", | |||
columns: table => new | |||
{ | |||
UploadId = table.Column<int>(nullable: false) | |||
.Annotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn), | |||
UserId = table.Column<int>(nullable: true), | |||
DateUploaded = table.Column<DateTime>(nullable: false), | |||
Url = table.Column<string>(nullable: true), | |||
FileName = table.Column<string>(nullable: true), | |||
ContentLength = table.Column<long>(nullable: false), | |||
ContentType = table.Column<string>(nullable: true), | |||
Key = table.Column<string>(nullable: true), | |||
IV = table.Column<string>(nullable: true), | |||
KeySize = table.Column<int>(nullable: false), | |||
BlockSize = table.Column<int>(nullable: false), | |||
DeleteKey = table.Column<string>(nullable: true), | |||
ExpireDate = table.Column<DateTime>(nullable: true), | |||
MaxDownloads = table.Column<int>(nullable: false), | |||
Downloads = table.Column<int>(nullable: false), | |||
Takedown_TakedownId = table.Column<int>(nullable: true) | |||
}, | |||
constraints: table => | |||
{ | |||
table.PrimaryKey("PK_Uploads", x => x.UploadId); | |||
table.ForeignKey( | |||
name: "FK_Uploads_Takedowns_Takedown_TakedownId", | |||
column: x => x.Takedown_TakedownId, | |||
principalTable: "Takedowns", | |||
principalColumn: "TakedownId", | |||
onDelete: ReferentialAction.Restrict); | |||
table.ForeignKey( | |||
name: "FK_Uploads_Users_UserId", | |||
column: x => x.UserId, | |||
principalTable: "Users", | |||
principalColumn: "UserId", | |||
onDelete: ReferentialAction.Restrict); | |||
}); | |||
migrationBuilder.CreateTable( | |||
name: "UserLogins", | |||
columns: table => new | |||
{ | |||
LoginInfoId = table.Column<int>(nullable: false) | |||
.Annotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn), | |||
LoginProvider = table.Column<string>(nullable: true), | |||
ProviderDisplayName = table.Column<string>(nullable: true), | |||
ProviderKey = table.Column<string>(nullable: true), | |||
UserId = table.Column<int>(nullable: false) | |||
}, | |||
constraints: table => | |||
{ | |||
table.PrimaryKey("PK_UserLogins", x => x.LoginInfoId); | |||
table.ForeignKey( | |||
name: "FK_UserLogins_Users_UserId", | |||
column: x => x.UserId, | |||
principalTable: "Users", | |||
principalColumn: "UserId", | |||
onDelete: ReferentialAction.Cascade); | |||
}); | |||
migrationBuilder.CreateTable( | |||
name: "Vaults", | |||
columns: table => new | |||
{ | |||
VaultId = table.Column<int>(nullable: false) | |||
.Annotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn), | |||
UserId = table.Column<int>(nullable: true), | |||
Url = table.Column<string>(nullable: true), | |||
Title = table.Column<string>(nullable: true), | |||
Description = table.Column<string>(nullable: true), | |||
DateCreated = table.Column<DateTime>(nullable: false), | |||
DateEdited = table.Column<DateTime>(nullable: false), | |||
Views = table.Column<int>(nullable: false) | |||
}, | |||
constraints: table => | |||
{ | |||
table.PrimaryKey("PK_Vaults", x => x.VaultId); | |||
table.ForeignKey( | |||
name: "FK_Vaults_Users_UserId", | |||
column: x => x.UserId, | |||
principalTable: "Users", | |||
principalColumn: "UserId", | |||
onDelete: ReferentialAction.Restrict); | |||
}); | |||
migrationBuilder.CreateTable( | |||
name: "BlogPosts", | |||
columns: table => new | |||
{ | |||
BlogPostId = table.Column<int>(nullable: false) | |||
.Annotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn), | |||
BlogId = table.Column<int>(nullable: false), | |||
System = table.Column<bool>(nullable: false), | |||
DatePosted = table.Column<DateTime>(nullable: false), | |||
DatePublished = table.Column<DateTime>(nullable: false), | |||
DateEdited = table.Column<DateTime>(nullable: false), | |||
Published = table.Column<bool>(nullable: false), | |||
Title = table.Column<string>(nullable: true), | |||
Article = table.Column<string>(nullable: true) | |||
}, | |||
constraints: table => | |||
{ | |||
table.PrimaryKey("PK_BlogPosts", x => x.BlogPostId); | |||
table.ForeignKey( | |||
name: "FK_BlogPosts_Blogs_BlogId", | |||
column: x => x.BlogId, | |||
principalTable: "Blogs", | |||
principalColumn: "BlogId", | |||
onDelete: ReferentialAction.Cascade); | |||
}); | |||
migrationBuilder.CreateTable( | |||
name: "VaultItems", | |||
columns: table => new | |||
{ | |||
VaultItemId = table.Column<int>(nullable: false) | |||
.Annotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn), | |||
VaultId = table.Column<int>(nullable: false), | |||
Title = table.Column<string>(nullable: true), | |||
Description = table.Column<string>(nullable: true), | |||
DateAdded = table.Column<DateTime>(nullable: false), | |||
Discriminator = table.Column<string>(nullable: false), | |||
PasteId = table.Column<int>(nullable: true), | |||
UploadId = table.Column<int>(nullable: true) | |||
}, | |||
constraints: table => | |||
{ | |||
table.PrimaryKey("PK_VaultItems", x => x.VaultItemId); | |||
table.ForeignKey( | |||
name: "FK_VaultItems_Pastes_PasteId", | |||
column: x => x.PasteId, | |||
principalTable: "Pastes", | |||
principalColumn: "PasteId", | |||
onDelete: ReferentialAction.Cascade); | |||
table.ForeignKey( | |||
name: "FK_VaultItems_Uploads_UploadId", | |||
column: x => x.UploadId, | |||
principalTable: "Uploads", | |||
principalColumn: "UploadId", | |||
onDelete: ReferentialAction.Cascade); | |||
table.ForeignKey( | |||
name: "FK_VaultItems_Vaults_VaultId", | |||
column: x => x.VaultId, | |||
principalTable: "Vaults", | |||
principalColumn: "VaultId", | |||
onDelete: ReferentialAction.Cascade); | |||
}); | |||
migrationBuilder.CreateTable( | |||
name: "BlogPostComments", | |||
columns: table => new | |||
{ | |||
BlogPostCommentId = table.Column<int>(nullable: false) | |||
.Annotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn), | |||
BlogPostId = table.Column<int>(nullable: false), | |||
UserId = table.Column<int>(nullable: true), | |||
DatePosted = table.Column<DateTime>(nullable: false), | |||
DateEdited = table.Column<DateTime>(nullable: false), | |||
Article = table.Column<string>(nullable: true) | |||
}, | |||
constraints: table => | |||
{ | |||
table.PrimaryKey("PK_BlogPostComments", x => x.BlogPostCommentId); | |||
table.ForeignKey( | |||
name: "FK_BlogPostComments_BlogPosts_BlogPostId", | |||
column: x => x.BlogPostId, | |||
principalTable: "BlogPosts", | |||
principalColumn: "BlogPostId", | |||
onDelete: ReferentialAction.Cascade); | |||
table.ForeignKey( | |||
name: "FK_BlogPostComments_Users_UserId", | |||
column: x => x.UserId, | |||
principalTable: "Users", | |||
principalColumn: "UserId", | |||
onDelete: ReferentialAction.Restrict); | |||
}); | |||
migrationBuilder.CreateTable( | |||
name: "BlogPostTags", | |||
columns: table => new | |||
{ | |||
BlogPostTagId = table.Column<int>(nullable: false) | |||
.Annotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn), | |||
BlogPostId = table.Column<int>(nullable: false), | |||
Name = table.Column<string>(nullable: true), | |||
Description = table.Column<string>(nullable: true) | |||
}, | |||
constraints: table => | |||
{ | |||
table.PrimaryKey("PK_BlogPostTags", x => x.BlogPostTagId); | |||
table.ForeignKey( | |||
name: "FK_BlogPostTags_BlogPosts_BlogPostId", | |||
column: x => x.BlogPostId, | |||
principalTable: "BlogPosts", | |||
principalColumn: "BlogPostId", | |||
onDelete: ReferentialAction.Cascade); | |||
}); | |||
migrationBuilder.CreateIndex( | |||
name: "IX_BlogPostComments_BlogPostId", | |||
table: "BlogPostComments", | |||
column: "BlogPostId"); | |||
migrationBuilder.CreateIndex( | |||
name: "IX_BlogPostComments_UserId", | |||
table: "BlogPostComments", | |||
column: "UserId"); | |||
migrationBuilder.CreateIndex( | |||
name: "IX_BlogPosts_BlogId", | |||
table: "BlogPosts", | |||
column: "BlogId"); | |||
migrationBuilder.CreateIndex( | |||
name: "IX_BlogPostTags_BlogPostId", | |||
table: "BlogPostTags", | |||
column: "BlogPostId"); | |||
migrationBuilder.CreateIndex( | |||
name: "IX_Blogs_UserId", | |||
table: "Blogs", | |||
column: "UserId"); | |||
migrationBuilder.CreateIndex( | |||
name: "IX_InviteCodes_ClaimedUserId", | |||
table: "InviteCodes", | |||
column: "ClaimedUserId", | |||
unique: true, | |||
filter: "[ClaimedUserId] IS NOT NULL"); | |||
migrationBuilder.CreateIndex( | |||
name: "IX_InviteCodes_OwnerId", | |||
table: "InviteCodes", | |||
column: "OwnerId"); | |||
migrationBuilder.CreateIndex( | |||
name: "IX_Pastes_UserId", | |||
table: "Pastes", | |||
column: "UserId"); | |||
migrationBuilder.CreateIndex( | |||
name: "IX_PodcastComments_PodcastId", | |||
table: "PodcastComments", | |||
column: "PodcastId"); | |||
migrationBuilder.CreateIndex( | |||
name: "IX_PodcastComments_UserId", | |||
table: "PodcastComments", | |||
column: "UserId"); | |||
migrationBuilder.CreateIndex( | |||
name: "IX_PodcastFiles_PodcastId", | |||
table: "PodcastFiles", | |||
column: "PodcastId"); | |||
migrationBuilder.CreateIndex( | |||
name: "IX_PodcastTags_PodcastId", | |||
table: "PodcastTags", | |||
column: "PodcastId"); | |||
migrationBuilder.CreateIndex( | |||
name: "IX_ShortenedUrls_UserId", | |||
table: "ShortenedUrls", | |||
column: "UserId"); | |||
migrationBuilder.CreateIndex( | |||
name: "IX_Uploads_Takedown_TakedownId", | |||
table: "Uploads", | |||
column: "Takedown_TakedownId"); | |||
migrationBuilder.CreateIndex( | |||
name: "IX_Uploads_UserId", | |||
table: "Uploads", | |||
column: "UserId"); | |||
migrationBuilder.CreateIndex( | |||
name: "IX_UserLogins_UserId", | |||
table: "UserLogins", | |||
column: "UserId"); | |||
migrationBuilder.CreateIndex( | |||
name: "IX_VaultItems_PasteId", | |||
table: "VaultItems", | |||
column: "PasteId"); | |||
migrationBuilder.CreateIndex( | |||
name: "IX_VaultItems_UploadId", | |||
table: "VaultItems", | |||
column: "UploadId"); | |||
migrationBuilder.CreateIndex( | |||
name: "IX_VaultItems_VaultId", | |||
table: "VaultItems", | |||
column: "VaultId"); | |||
migrationBuilder.CreateIndex( | |||
name: "IX_Vaults_UserId", | |||
table: "Vaults", | |||
column: "UserId"); | |||
} | |||
protected override void Down(MigrationBuilder migrationBuilder) | |||
{ | |||
migrationBuilder.DropTable( | |||
name: "BlogPostComments"); | |||
migrationBuilder.DropTable( | |||
name: "BlogPostTags"); | |||
migrationBuilder.DropTable( | |||
name: "Contact"); | |||
migrationBuilder.DropTable( | |||
name: "InviteCodes"); | |||
migrationBuilder.DropTable( | |||
name: "PodcastComments"); | |||
migrationBuilder.DropTable( | |||
name: "PodcastFiles"); | |||
migrationBuilder.DropTable( | |||
name: "PodcastTags"); | |||
migrationBuilder.DropTable( | |||
name: "ShortenedUrls"); | |||
migrationBuilder.DropTable( | |||
name: "Transactions"); | |||
migrationBuilder.DropTable( | |||
name: "UserLogins"); | |||
migrationBuilder.DropTable( | |||
name: "VaultItems"); | |||
migrationBuilder.DropTable( | |||
name: "BlogPosts"); | |||
migrationBuilder.DropTable( | |||
name: "Podcasts"); | |||
migrationBuilder.DropTable( | |||
name: "Pastes"); | |||
migrationBuilder.DropTable( | |||
name: "Uploads"); | |||
migrationBuilder.DropTable( | |||
name: "Vaults"); | |||
migrationBuilder.DropTable( | |||
name: "Blogs"); | |||
migrationBuilder.DropTable( | |||
name: "Takedowns"); | |||
migrationBuilder.DropTable( | |||
name: "Users"); | |||
} | |||
} | |||
} |
@@ -1,749 +0,0 @@ | |||
// <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 Teknik.Data; | |||
namespace Teknik.Data.Migrations | |||
{ | |||
[DbContext(typeof(TeknikEntities))] | |||
[Migration("20190116060104_UploadExpirationSettings")] | |||
partial class UploadExpirationSettings | |||
{ | |||
protected override void BuildTargetModel(ModelBuilder modelBuilder) | |||
{ | |||
#pragma warning disable 612, 618 | |||
modelBuilder | |||
.HasAnnotation("ProductVersion", "2.2.0-preview3-35497") | |||
.HasAnnotation("Relational:MaxIdentifierLength", 128) | |||
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn); | |||
modelBuilder.Entity("Teknik.Areas.Blog.Models.Blog", b => | |||
{ | |||
b.Property<int>("BlogId") | |||
.ValueGeneratedOnAdd() | |||
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn); | |||
b.Property<int>("UserId"); | |||
b.HasKey("BlogId"); | |||
b.HasIndex("UserId"); | |||
b.ToTable("Blogs"); | |||
}); | |||
modelBuilder.Entity("Teknik.Areas.Blog.Models.BlogPost", b => | |||
{ | |||
b.Property<int>("BlogPostId") | |||
.ValueGeneratedOnAdd() | |||
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn); | |||
b.Property<string>("Article"); | |||
b.Property<int>("BlogId"); | |||
b.Property<DateTime>("DateEdited"); | |||
b.Property<DateTime>("DatePosted"); | |||
b.Property<DateTime>("DatePublished"); | |||
b.Property<bool>("Published"); | |||
b.Property<bool>("System"); | |||
b.Property<string>("Title"); | |||
b.HasKey("BlogPostId"); | |||
b.HasIndex("BlogId"); | |||
b.ToTable("BlogPosts"); | |||
}); | |||
modelBuilder.Entity("Teknik.Areas.Blog.Models.BlogPostComment", b => | |||
{ | |||
b.Property<int>("BlogPostCommentId") | |||
.ValueGeneratedOnAdd() | |||
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn); | |||
b.Property<string>("Article"); | |||
b.Property<int>("BlogPostId"); | |||
b.Property<DateTime>("DateEdited"); | |||
b.Property<DateTime>("DatePosted"); | |||
b.Property<int?>("UserId"); | |||
b.HasKey("BlogPostCommentId"); | |||
b.HasIndex("BlogPostId"); | |||
b.HasIndex("UserId"); | |||
b.ToTable("BlogPostComments"); | |||
}); | |||
modelBuilder.Entity("Teknik.Areas.Blog.Models.BlogPostTag", b => | |||
{ | |||
b.Property<int>("BlogPostTagId") | |||
.ValueGeneratedOnAdd() | |||
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn); | |||
b.Property<int>("BlogPostId"); | |||
b.Property<string>("Description"); | |||
b.Property<string>("Name"); | |||
b.HasKey("BlogPostTagId"); | |||
b.HasIndex("BlogPostId"); | |||
b.ToTable("BlogPostTags"); | |||
}); | |||
modelBuilder.Entity("Teknik.Areas.Contact.Models.Contact", b => | |||
{ | |||
b.Property<int>("ContactId") | |||
.ValueGeneratedOnAdd() | |||
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn); | |||
b.Property<DateTime>("DateAdded"); | |||
b.Property<string>("Email"); | |||
b.Property<string>("Message"); | |||
b.Property<string>("Name"); | |||
b.Property<string>("Subject"); | |||
b.HasKey("ContactId"); | |||
b.ToTable("Contact"); | |||
}); | |||
modelBuilder.Entity("Teknik.Areas.Paste.Models.Paste", b => | |||
{ | |||
b.Property<int>("PasteId") | |||
.ValueGeneratedOnAdd() | |||
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn); | |||
b.Property<int>("BlockSize"); | |||
b.Property<string>("Content"); | |||
b.Property<DateTime>("DatePosted"); | |||
b.Property<string>("DeleteKey") | |||
.HasAnnotation("CaseSensitive", true); | |||
b.Property<DateTime?>("ExpireDate"); | |||
b.Property<string>("FileName") | |||
.HasAnnotation("CaseSensitive", true); | |||
b.Property<string>("HashedPassword") | |||
.HasAnnotation("CaseSensitive", true); | |||
b.Property<bool>("Hide"); | |||
b.Property<string>("IV") | |||
.HasAnnotation("CaseSensitive", true); | |||
b.Property<string>("Key") | |||
.HasAnnotation("CaseSensitive", true); | |||
b.Property<int>("KeySize"); | |||
b.Property<int>("MaxViews"); | |||
b.Property<string>("Syntax"); | |||
b.Property<string>("Title"); | |||
b.Property<string>("Url") | |||
.HasAnnotation("CaseSensitive", true); | |||
b.Property<int?>("UserId"); | |||
b.Property<int>("Views"); | |||
b.HasKey("PasteId"); | |||
b.HasIndex("UserId"); | |||
b.ToTable("Pastes"); | |||
}); | |||
modelBuilder.Entity("Teknik.Areas.Podcast.Models.Podcast", b => | |||
{ | |||
b.Property<int>("PodcastId") | |||
.ValueGeneratedOnAdd() | |||
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn); | |||
b.Property<DateTime>("DateEdited"); | |||
b.Property<DateTime>("DatePosted"); | |||
b.Property<DateTime>("DatePublished"); | |||
b.Property<string>("Description"); | |||
b.Property<int>("Episode"); | |||
b.Property<bool>("Published"); | |||
b.Property<string>("Title"); | |||
b.HasKey("PodcastId"); | |||
b.ToTable("Podcasts"); | |||
}); | |||
modelBuilder.Entity("Teknik.Areas.Podcast.Models.PodcastComment", b => | |||
{ | |||
b.Property<int>("PodcastCommentId") | |||
.ValueGeneratedOnAdd() | |||
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn); | |||
b.Property<string>("Article"); | |||
b.Property<DateTime>("DateEdited"); | |||
b.Property<DateTime>("DatePosted"); | |||
b.Property<int>("PodcastId"); | |||
b.Property<int>("UserId"); | |||
b.HasKey("PodcastCommentId"); | |||
b.HasIndex("PodcastId"); | |||
b.HasIndex("UserId"); | |||
b.ToTable("PodcastComments"); | |||
}); | |||
modelBuilder.Entity("Teknik.Areas.Podcast.Models.PodcastFile", b => | |||
{ | |||
b.Property<int>("PodcastFileId") | |||
.ValueGeneratedOnAdd() | |||
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn); | |||
b.Property<long>("ContentLength"); | |||
b.Property<string>("ContentType"); | |||
b.Property<string>("FileName"); | |||
b.Property<string>("Path"); | |||
b.Property<int>("PodcastId"); | |||
b.Property<int>("Size"); | |||
b.HasKey("PodcastFileId"); | |||
b.HasIndex("PodcastId"); | |||
b.ToTable("PodcastFiles"); | |||
}); | |||
modelBuilder.Entity("Teknik.Areas.Podcast.Models.PodcastTag", b => | |||
{ | |||
b.Property<int>("PodcastTagId") | |||
.ValueGeneratedOnAdd() | |||
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn); | |||
b.Property<string>("Description"); | |||
b.Property<string>("Name"); | |||
b.Property<int>("PodcastId"); | |||
b.HasKey("PodcastTagId"); | |||
b.HasIndex("PodcastId"); | |||
b.ToTable("PodcastTags"); | |||
}); | |||
modelBuilder.Entity("Teknik.Areas.Shortener.Models.ShortenedUrl", b => | |||
{ | |||
b.Property<int>("ShortenedUrlId") | |||
.ValueGeneratedOnAdd() | |||
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn); | |||
b.Property<DateTime>("DateAdded"); | |||
b.Property<string>("OriginalUrl"); | |||
b.Property<string>("ShortUrl") | |||
.HasAnnotation("CaseSensitive", true); | |||
b.Property<int?>("UserId"); | |||
b.Property<int>("Views"); | |||
b.HasKey("ShortenedUrlId"); | |||
b.HasIndex("UserId"); | |||
b.ToTable("ShortenedUrls"); | |||
}); | |||
modelBuilder.Entity("Teknik.Areas.Stats.Models.Takedown", b => | |||
{ | |||
b.Property<int>("TakedownId") | |||
.ValueGeneratedOnAdd() | |||
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn); | |||
b.Property<string>("ActionTaken"); | |||
b.Property<DateTime>("DateActionTaken"); | |||
b.Property<DateTime>("DateRequested"); | |||
b.Property<string>("Reason"); | |||
b.Property<string>("Requester"); | |||
b.Property<string>("RequesterContact"); | |||
b.HasKey("TakedownId"); | |||
b.ToTable("Takedowns"); | |||
}); | |||
modelBuilder.Entity("Teknik.Areas.Stats.Models.Transaction", b => | |||
{ | |||
b.Property<int>("TransactionId") | |||
.ValueGeneratedOnAdd() | |||
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn); | |||
b.Property<decimal>("Amount") | |||
.HasColumnType("decimal(19, 5)"); | |||
b.Property<int>("Currency"); | |||
b.Property<DateTime>("DateSent"); | |||
b.Property<string>("Reason"); | |||
b.HasKey("TransactionId"); | |||
b.ToTable("Transactions"); | |||
}); | |||
modelBuilder.Entity("Teknik.Areas.Upload.Models.Upload", b => | |||
{ | |||
b.Property<int>("UploadId") | |||
.ValueGeneratedOnAdd() | |||
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn); | |||
b.Property<int>("BlockSize"); | |||
b.Property<long>("ContentLength"); | |||
b.Property<string>("ContentType"); | |||
b.Property<DateTime>("DateUploaded"); | |||
b.Property<string>("DeleteKey") | |||
.HasAnnotation("CaseSensitive", true); | |||
b.Property<int>("Downloads"); | |||
b.Property<DateTime?>("ExpireDate"); | |||
b.Property<string>("FileName") | |||
.HasAnnotation("CaseSensitive", true); | |||
b.Property<string>("IV") | |||
.HasAnnotation("CaseSensitive", true); | |||
b.Property<string>("Key") | |||
.HasAnnotation("CaseSensitive", true); | |||
b.Property<int>("KeySize"); | |||
b.Property<int>("MaxDownloads"); | |||
b.Property<int?>("Takedown_TakedownId"); | |||
b.Property<string>("Url") | |||
.HasAnnotation("CaseSensitive", true); | |||
b.Property<int?>("UserId"); | |||
b.HasKey("UploadId"); | |||
b.HasIndex("Takedown_TakedownId"); | |||
b.HasIndex("UserId"); | |||
b.ToTable("Uploads"); | |||
}); | |||
modelBuilder.Entity("Teknik.Areas.Users.Models.InviteCode", b => | |||
{ | |||
b.Property<int>("InviteCodeId") | |||
.ValueGeneratedOnAdd() | |||
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn); | |||
b.Property<bool>("Active"); | |||
b.Property<int?>("ClaimedUserId"); | |||
b.Property<string>("Code") | |||
.HasAnnotation("CaseSensitive", true); | |||
b.Property<int?>("OwnerId"); | |||
b.HasKey("InviteCodeId"); | |||
b.HasIndex("ClaimedUserId") | |||
.IsUnique() | |||
.HasFilter("[ClaimedUserId] IS NOT NULL"); | |||
b.HasIndex("OwnerId"); | |||
b.ToTable("InviteCodes"); | |||
}); | |||
modelBuilder.Entity("Teknik.Areas.Users.Models.LoginInfo", b => | |||
{ | |||
b.Property<int>("LoginInfoId") | |||
.ValueGeneratedOnAdd() | |||
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn); | |||
b.Property<string>("LoginProvider"); | |||
b.Property<string>("ProviderDisplayName"); | |||
b.Property<string>("ProviderKey"); | |||
b.Property<int>("UserId"); | |||
b.HasKey("LoginInfoId"); | |||
b.HasIndex("UserId"); | |||
b.ToTable("UserLogins"); | |||
}); | |||
modelBuilder.Entity("Teknik.Areas.Users.Models.User", b => | |||
{ | |||
b.Property<int>("UserId") | |||
.ValueGeneratedOnAdd() | |||
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn); | |||
b.Property<string>("Username"); | |||
b.HasKey("UserId"); | |||
b.ToTable("Users"); | |||
}); | |||
modelBuilder.Entity("Teknik.Areas.Vault.Models.Vault", b => | |||
{ | |||
b.Property<int>("VaultId") | |||
.ValueGeneratedOnAdd() | |||
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn); | |||
b.Property<DateTime>("DateCreated"); | |||
b.Property<DateTime>("DateEdited"); | |||
b.Property<string>("Description"); | |||
b.Property<string>("Title"); | |||
b.Property<string>("Url"); | |||
b.Property<int?>("UserId"); | |||
b.Property<int>("Views"); | |||
b.HasKey("VaultId"); | |||
b.HasIndex("UserId"); | |||
b.ToTable("Vaults"); | |||
}); | |||
modelBuilder.Entity("Teknik.Areas.Vault.Models.VaultItem", b => | |||
{ | |||
b.Property<int>("VaultItemId") | |||
.ValueGeneratedOnAdd() | |||
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn); | |||
b.Property<DateTime>("DateAdded"); | |||
b.Property<string>("Description"); | |||
b.Property<string>("Discriminator") | |||
.IsRequired(); | |||
b.Property<string>("Title"); | |||
b.Property<int>("VaultId"); | |||
b.HasKey("VaultItemId"); | |||
b.HasIndex("VaultId"); | |||
b.ToTable("VaultItems"); | |||
b.HasDiscriminator<string>("Discriminator").HasValue("VaultItem"); | |||
}); | |||
modelBuilder.Entity("Teknik.Areas.Vault.Models.PasteVaultItem", b => | |||
{ | |||
b.HasBaseType("Teknik.Areas.Vault.Models.VaultItem"); | |||
b.Property<int>("PasteId"); | |||
b.HasIndex("PasteId"); | |||
b.HasDiscriminator().HasValue("PasteVaultItem"); | |||
}); | |||
modelBuilder.Entity("Teknik.Areas.Vault.Models.UploadVaultItem", b => | |||
{ | |||
b.HasBaseType("Teknik.Areas.Vault.Models.VaultItem"); | |||
b.Property<int>("UploadId"); | |||
b.HasIndex("UploadId"); | |||
b.HasDiscriminator().HasValue("UploadVaultItem"); | |||
}); | |||
modelBuilder.Entity("Teknik.Areas.Blog.Models.Blog", b => | |||
{ | |||
b.HasOne("Teknik.Areas.Users.Models.User", "User") | |||
.WithMany() | |||
.HasForeignKey("UserId") | |||
.OnDelete(DeleteBehavior.Cascade); | |||
}); | |||
modelBuilder.Entity("Teknik.Areas.Blog.Models.BlogPost", b => | |||
{ | |||
b.HasOne("Teknik.Areas.Blog.Models.Blog", "Blog") | |||
.WithMany("BlogPosts") | |||
.HasForeignKey("BlogId") | |||
.OnDelete(DeleteBehavior.Cascade); | |||
}); | |||
modelBuilder.Entity("Teknik.Areas.Blog.Models.BlogPostComment", b => | |||
{ | |||
b.HasOne("Teknik.Areas.Blog.Models.BlogPost", "BlogPost") | |||
.WithMany("Comments") | |||
.HasForeignKey("BlogPostId") | |||
.OnDelete(DeleteBehavior.Cascade); | |||
b.HasOne("Teknik.Areas.Users.Models.User", "User") | |||
.WithMany() | |||
.HasForeignKey("UserId"); | |||
}); | |||
modelBuilder.Entity("Teknik.Areas.Blog.Models.BlogPostTag", b => | |||
{ | |||
b.HasOne("Teknik.Areas.Blog.Models.BlogPost", "BlogPost") | |||
.WithMany("Tags") | |||
.HasForeignKey("BlogPostId") | |||
.OnDelete(DeleteBehavior.Cascade); | |||
}); | |||
modelBuilder.Entity("Teknik.Areas.Paste.Models.Paste", b => | |||
{ | |||
b.HasOne("Teknik.Areas.Users.Models.User", "User") | |||
.WithMany("Pastes") | |||
.HasForeignKey("UserId"); | |||
}); | |||
modelBuilder.Entity("Teknik.Areas.Podcast.Models.PodcastComment", b => | |||
{ | |||
b.HasOne("Teknik.Areas.Podcast.Models.Podcast", "Podcast") | |||
.WithMany("Comments") | |||
.HasForeignKey("PodcastId") | |||
.OnDelete(DeleteBehavior.Cascade); | |||
b.HasOne("Teknik.Areas.Users.Models.User", "User") | |||
.WithMany() | |||
.HasForeignKey("UserId") | |||
.OnDelete(DeleteBehavior.Cascade); | |||
}); | |||
modelBuilder.Entity("Teknik.Areas.Podcast.Models.PodcastFile", b => | |||
{ | |||
b.HasOne("Teknik.Areas.Podcast.Models.Podcast", "Podcast") | |||
.WithMany("Files") | |||
.HasForeignKey("PodcastId") | |||
.OnDelete(DeleteBehavior.Cascade); | |||
}); | |||
modelBuilder.Entity("Teknik.Areas.Podcast.Models.PodcastTag", b => | |||
{ | |||
b.HasOne("Teknik.Areas.Podcast.Models.Podcast", "Podcast") | |||
.WithMany("Tags") | |||
.HasForeignKey("PodcastId") | |||
.OnDelete(DeleteBehavior.Cascade); | |||
}); | |||
modelBuilder.Entity("Teknik.Areas.Shortener.Models.ShortenedUrl", b => | |||
{ | |||
b.HasOne("Teknik.Areas.Users.Models.User", "User") | |||
.WithMany("ShortenedUrls") | |||
.HasForeignKey("UserId"); | |||
}); | |||
modelBuilder.Entity("Teknik.Areas.Upload.Models.Upload", b => | |||
{ | |||
b.HasOne("Teknik.Areas.Stats.Models.Takedown") | |||
.WithMany("Attachments") | |||
.HasForeignKey("Takedown_TakedownId"); | |||
b.HasOne("Teknik.Areas.Users.Models.User", "User") | |||
.WithMany("Uploads") | |||
.HasForeignKey("UserId"); | |||
}); | |||
modelBuilder.Entity("Teknik.Areas.Users.Models.InviteCode", b => | |||
{ | |||
b.HasOne("Teknik.Areas.Users.Models.User", "ClaimedUser") | |||
.WithOne("ClaimedInviteCode") | |||
.HasForeignKey("Teknik.Areas.Users.Models.InviteCode", "ClaimedUserId"); | |||
b.HasOne("Teknik.Areas.Users.Models.User", "Owner") | |||
.WithMany("OwnedInviteCodes") | |||
.HasForeignKey("OwnerId"); | |||
}); | |||
modelBuilder.Entity("Teknik.Areas.Users.Models.LoginInfo", b => | |||
{ | |||
b.HasOne("Teknik.Areas.Users.Models.User", "User") | |||
.WithMany("Logins") | |||
.HasForeignKey("UserId") | |||
.OnDelete(DeleteBehavior.Cascade); | |||
}); | |||
modelBuilder.Entity("Teknik.Areas.Users.Models.User", b => | |||
{ | |||
b.OwnsOne("Teknik.Areas.Users.Models.BlogSettings", "BlogSettings", b1 => | |||
{ | |||
b1.Property<int>("UserId") | |||
.ValueGeneratedOnAdd() | |||
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn); | |||
b1.Property<string>("Description") | |||
.HasColumnName("Description"); | |||
b1.Property<string>("Title") | |||
.HasColumnName("Title"); | |||
< |