//
using System;
using Lieb.Data;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
#nullable disable
namespace Lieb.Migrations
{
[DbContext(typeof(LiebContext))]
partial class LiebContextModelSnapshot : ModelSnapshot
{
protected override void BuildModel(ModelBuilder modelBuilder)
{
#pragma warning disable 612, 618
modelBuilder.HasAnnotation("ProductVersion", "6.0.10");
modelBuilder.Entity("Lieb.Models.DiscordSettings", b =>
{
b.Property("DiscordSettingsId")
.ValueGeneratedOnAdd()
.HasColumnType("INTEGER");
b.Property("ChangeUserNames")
.HasColumnType("INTEGER");
b.Property("DiscordLogChannel")
.HasColumnType("INTEGER");
b.HasKey("DiscordSettingsId");
b.ToTable("DiscordSettings", (string)null);
});
modelBuilder.Entity("Lieb.Models.GuildWars2.Equipped", b =>
{
b.Property("EquippedId")
.ValueGeneratedOnAdd()
.HasColumnType("INTEGER");
b.Property("CanTank")
.HasColumnType("INTEGER");
b.Property("GuildWars2AccountId")
.HasColumnType("INTEGER");
b.Property("GuildWars2BuildId")
.HasColumnType("INTEGER");
b.HasKey("EquippedId");
b.HasIndex("GuildWars2AccountId");
b.HasIndex("GuildWars2BuildId");
b.ToTable("Equipped", (string)null);
});
modelBuilder.Entity("Lieb.Models.GuildWars2.GuildWars2Account", b =>
{
b.Property("GuildWars2AccountId")
.ValueGeneratedOnAdd()
.HasColumnType("INTEGER");
b.Property("AccountName")
.IsRequired()
.HasColumnType("TEXT");
b.Property("ApiKey")
.IsRequired()
.HasColumnType("TEXT");
b.Property("LiebUserId")
.HasColumnType("INTEGER");
b.HasKey("GuildWars2AccountId");
b.HasIndex("LiebUserId");
b.ToTable("GuildWars2Account", (string)null);
});
modelBuilder.Entity("Lieb.Models.GuildWars2.GuildWars2Build", b =>
{
b.Property("GuildWars2BuildId")
.ValueGeneratedOnAdd()
.HasColumnType("INTEGER");
b.Property("Alacrity")
.HasColumnType("INTEGER");
b.Property("BuildName")
.IsRequired()
.HasMaxLength(60)
.HasColumnType("TEXT");
b.Property("Class")
.HasColumnType("INTEGER");
b.Property("EliteSpecialization")
.HasColumnType("INTEGER");
b.Property("Heal")
.HasColumnType("INTEGER");
b.Property("Might")
.HasColumnType("INTEGER");
b.Property("Quickness")
.HasColumnType("INTEGER");
b.HasKey("GuildWars2BuildId");
b.ToTable("GuildWars2Build", (string)null);
});
modelBuilder.Entity("Lieb.Models.GuildWars2.Raid.DiscordRaidMessage", b =>
{
b.Property("DiscordRaidMessageId")
.ValueGeneratedOnAdd()
.HasColumnType("INTEGER");
b.Property("DiscordChannelId")
.HasColumnType("INTEGER");
b.Property("DiscordGuildId")
.HasColumnType("INTEGER");
b.Property("DiscordMessageId")
.HasColumnType("INTEGER");
b.Property("RaidId")
.HasColumnType("INTEGER");
b.Property("RaidTemplateId")
.HasColumnType("INTEGER");
b.HasKey("DiscordRaidMessageId");
b.HasIndex("RaidId");
b.HasIndex("RaidTemplateId");
b.ToTable("DiscordRaidMessage", (string)null);
});
modelBuilder.Entity("Lieb.Models.GuildWars2.Raid.Raid", b =>
{
b.Property("RaidId")
.ValueGeneratedOnAdd()
.HasColumnType("INTEGER");
b.Property("Description")
.IsRequired()
.HasMaxLength(1000)
.HasColumnType("TEXT");
b.Property("EndTimeUTC")
.HasColumnType("TEXT");
b.Property("FreeForAllTimeUTC")
.HasColumnType("TEXT");
b.Property("Guild")
.IsRequired()
.HasMaxLength(50)
.HasColumnType("TEXT");
b.Property("MoveFlexUsers")
.HasColumnType("INTEGER");
b.Property("Organizer")
.IsRequired()
.HasMaxLength(50)
.HasColumnType("TEXT");
b.Property("RaidOwnerId")
.HasColumnType("INTEGER");
b.Property("RaidType")
.HasColumnType("INTEGER");
b.Property("RequiredRole")
.IsRequired()
.HasColumnType("TEXT");
b.Property("StartTimeUTC")
.HasColumnType("TEXT");
b.Property("Title")
.IsRequired()
.HasMaxLength(100)
.HasColumnType("TEXT");
b.Property("VoiceChat")
.IsRequired()
.HasMaxLength(50)
.HasColumnType("TEXT");
b.HasKey("RaidId");
b.ToTable("Raid", (string)null);
});
modelBuilder.Entity("Lieb.Models.GuildWars2.Raid.RaidLog", b =>
{
b.Property("RaidLogId")
.ValueGeneratedOnAdd()
.HasColumnType("INTEGER");
b.Property("LogEntry")
.IsRequired()
.HasColumnType("TEXT");
b.Property("RaidId")
.HasColumnType("INTEGER");
b.Property("RaidTemplateId")
.HasColumnType("INTEGER");
b.Property("Time")
.HasColumnType("TEXT");
b.Property("Type")
.HasColumnType("INTEGER");
b.Property("UserId")
.HasColumnType("INTEGER");
b.HasKey("RaidLogId");
b.HasIndex("RaidId");
b.HasIndex("RaidTemplateId");
b.HasIndex("UserId");
b.ToTable("RaidLog", (string)null);
});
modelBuilder.Entity("Lieb.Models.GuildWars2.Raid.RaidReminder", b =>
{
b.Property("RaidReminderId")
.ValueGeneratedOnAdd()
.HasColumnType("INTEGER");
b.Property("DiscordChannelId")
.HasColumnType("INTEGER");
b.Property("DiscordServerId")
.HasColumnType("INTEGER");
b.Property("Message")
.IsRequired()
.HasMaxLength(1000)
.HasColumnType("TEXT");
b.Property("RaidId")
.HasColumnType("INTEGER");
b.Property("RaidTemplateId")
.HasColumnType("INTEGER");
b.Property("ReminderTimeUTC")
.HasColumnType("TEXT");
b.Property("Sent")
.HasColumnType("INTEGER");
b.Property("TimeType")
.HasColumnType("INTEGER");
b.Property("Type")
.HasColumnType("INTEGER");
b.HasKey("RaidReminderId");
b.HasIndex("RaidId");
b.HasIndex("RaidTemplateId");
b.ToTable("RaidReminder", (string)null);
});
modelBuilder.Entity("Lieb.Models.GuildWars2.Raid.RaidRole", b =>
{
b.Property("RaidRoleId")
.ValueGeneratedOnAdd()
.HasColumnType("INTEGER");
b.Property("Description")
.IsRequired()
.HasMaxLength(200)
.HasColumnType("TEXT");
b.Property("IsRandomSignUpRole")
.HasColumnType("INTEGER");
b.Property("Name")
.IsRequired()
.HasMaxLength(40)
.HasColumnType("TEXT");
b.Property("RaidId")
.HasColumnType("INTEGER");
b.Property("RaidTemplateId")
.HasColumnType("INTEGER");
b.Property("Spots")
.HasColumnType("INTEGER");
b.HasKey("RaidRoleId");
b.HasIndex("RaidId");
b.HasIndex("RaidTemplateId");
b.ToTable("RaidRole", (string)null);
});
modelBuilder.Entity("Lieb.Models.GuildWars2.Raid.RaidSignUp", b =>
{
b.Property("RaidSignUpId")
.ValueGeneratedOnAdd()
.HasColumnType("INTEGER");
b.Property("ExternalUserName")
.IsRequired()
.HasColumnType("TEXT");
b.Property("GuildWars2AccountId")
.HasColumnType("INTEGER");
b.Property("LiebUserId")
.HasColumnType("INTEGER");
b.Property("RaidId")
.HasColumnType("INTEGER");
b.Property("RaidRoleId")
.HasColumnType("INTEGER");
b.Property("SignUpType")
.HasColumnType("INTEGER");
b.HasKey("RaidSignUpId");
b.HasIndex("GuildWars2AccountId");
b.HasIndex("LiebUserId");
b.HasIndex("RaidId");
b.HasIndex("RaidRoleId");
b.ToTable("RaidSignUp", (string)null);
});
modelBuilder.Entity("Lieb.Models.GuildWars2.Raid.RaidTemplate", b =>
{
b.Property("RaidTemplateId")
.ValueGeneratedOnAdd()
.HasColumnType("INTEGER");
b.Property("CreateDaysBefore")
.HasColumnType("INTEGER");
b.Property("Description")
.IsRequired()
.HasMaxLength(1000)
.HasColumnType("TEXT");
b.Property("EndTime")
.HasColumnType("TEXT");
b.Property("FreeForAllTime")
.HasColumnType("TEXT");
b.Property("Guild")
.IsRequired()
.HasMaxLength(50)
.HasColumnType("TEXT");
b.Property("Interval")
.HasColumnType("INTEGER");
b.Property("MoveFlexUsers")
.HasColumnType("INTEGER");
b.Property("Organizer")
.IsRequired()
.HasMaxLength(50)
.HasColumnType("TEXT");
b.Property("RaidOwnerId")
.HasColumnType("INTEGER");
b.Property("RaidType")
.HasColumnType("INTEGER");
b.Property("RequiredRole")
.IsRequired()
.HasColumnType("TEXT");
b.Property("StartTime")
.HasColumnType("TEXT");
b.Property("TimeZone")
.IsRequired()
.HasColumnType("TEXT");
b.Property("Title")
.IsRequired()
.HasMaxLength(100)
.HasColumnType("TEXT");
b.Property("VoiceChat")
.IsRequired()
.HasMaxLength(50)
.HasColumnType("TEXT");
b.HasKey("RaidTemplateId");
b.ToTable("RaidTemplate", (string)null);
});
modelBuilder.Entity("Lieb.Models.LiebRole", b =>
{
b.Property("LiebRoleId")
.ValueGeneratedOnAdd()
.HasColumnType("INTEGER");
b.Property("Level")
.HasColumnType("INTEGER");
b.Property("LevelToAssign")
.HasColumnType("INTEGER");
b.Property("RoleName")
.IsRequired()
.HasMaxLength(40)
.HasColumnType("TEXT");
b.Property("Type")
.HasColumnType("INTEGER");
b.HasKey("LiebRoleId");
b.ToTable("LiebRole", (string)null);
});
modelBuilder.Entity("Lieb.Models.LiebUser", b =>
{
b.Property("Id")
.HasColumnType("INTEGER");
b.Property("AlwaysSignUpWithMainAccount")
.HasColumnType("INTEGER");
b.Property("BannedUntil")
.HasColumnType("TEXT");
b.Property("Birthday")
.HasColumnType("TEXT");
b.Property("MainGW2Account")
.HasColumnType("INTEGER");
b.Property("Name")
.IsRequired()
.HasMaxLength(40)
.HasColumnType("TEXT");
b.Property("Pronouns")
.IsRequired()
.HasMaxLength(60)
.HasColumnType("TEXT");
b.HasKey("Id");
b.ToTable("LiebUser", (string)null);
});
modelBuilder.Entity("Lieb.Models.RoleAssignment", b =>
{
b.Property("RoleAssignmentId")
.ValueGeneratedOnAdd()
.HasColumnType("INTEGER");
b.Property("LiebRoleId")
.HasColumnType("INTEGER");
b.Property("LiebUserId")
.HasColumnType("INTEGER");
b.HasKey("RoleAssignmentId");
b.HasIndex("LiebRoleId");
b.HasIndex("LiebUserId");
b.ToTable("RoleAssignment", (string)null);
});
modelBuilder.Entity("Lieb.Models.GuildWars2.Equipped", b =>
{
b.HasOne("Lieb.Models.GuildWars2.GuildWars2Account", "GuildWars2Account")
.WithMany("EquippedBuilds")
.HasForeignKey("GuildWars2AccountId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("Lieb.Models.GuildWars2.GuildWars2Build", "GuildWars2Build")
.WithMany("EquippedRoles")
.HasForeignKey("GuildWars2BuildId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("GuildWars2Account");
b.Navigation("GuildWars2Build");
});
modelBuilder.Entity("Lieb.Models.GuildWars2.GuildWars2Account", b =>
{
b.HasOne("Lieb.Models.LiebUser", null)
.WithMany("GuildWars2Accounts")
.HasForeignKey("LiebUserId");
});
modelBuilder.Entity("Lieb.Models.GuildWars2.Raid.DiscordRaidMessage", b =>
{
b.HasOne("Lieb.Models.GuildWars2.Raid.Raid", null)
.WithMany("DiscordRaidMessages")
.HasForeignKey("RaidId");
b.HasOne("Lieb.Models.GuildWars2.Raid.RaidTemplate", null)
.WithMany("DiscordRaidMessages")
.HasForeignKey("RaidTemplateId");
});
modelBuilder.Entity("Lieb.Models.GuildWars2.Raid.RaidLog", b =>
{
b.HasOne("Lieb.Models.GuildWars2.Raid.Raid", "Raid")
.WithMany("RaidLogs")
.HasForeignKey("RaidId");
b.HasOne("Lieb.Models.GuildWars2.Raid.RaidTemplate", "RaidTemplate")
.WithMany("TemplateLogs")
.HasForeignKey("RaidTemplateId");
b.HasOne("Lieb.Models.LiebUser", "User")
.WithMany()
.HasForeignKey("UserId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Raid");
b.Navigation("RaidTemplate");
b.Navigation("User");
});
modelBuilder.Entity("Lieb.Models.GuildWars2.Raid.RaidReminder", b =>
{
b.HasOne("Lieb.Models.GuildWars2.Raid.Raid", null)
.WithMany("Reminders")
.HasForeignKey("RaidId");
b.HasOne("Lieb.Models.GuildWars2.Raid.RaidTemplate", null)
.WithMany("Reminders")
.HasForeignKey("RaidTemplateId");
});
modelBuilder.Entity("Lieb.Models.GuildWars2.Raid.RaidRole", b =>
{
b.HasOne("Lieb.Models.GuildWars2.Raid.Raid", null)
.WithMany("Roles")
.HasForeignKey("RaidId");
b.HasOne("Lieb.Models.GuildWars2.Raid.RaidTemplate", null)
.WithMany("Roles")
.HasForeignKey("RaidTemplateId");
});
modelBuilder.Entity("Lieb.Models.GuildWars2.Raid.RaidSignUp", b =>
{
b.HasOne("Lieb.Models.GuildWars2.GuildWars2Account", "GuildWars2Account")
.WithMany()
.HasForeignKey("GuildWars2AccountId");
b.HasOne("Lieb.Models.LiebUser", "LiebUser")
.WithMany()
.HasForeignKey("LiebUserId");
b.HasOne("Lieb.Models.GuildWars2.Raid.Raid", "Raid")
.WithMany("SignUps")
.HasForeignKey("RaidId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("Lieb.Models.GuildWars2.Raid.RaidRole", "RaidRole")
.WithMany()
.HasForeignKey("RaidRoleId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("GuildWars2Account");
b.Navigation("LiebUser");
b.Navigation("Raid");
b.Navigation("RaidRole");
});
modelBuilder.Entity("Lieb.Models.RoleAssignment", b =>
{
b.HasOne("Lieb.Models.LiebRole", "LiebRole")
.WithMany("RoleAssignments")
.HasForeignKey("LiebRoleId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("Lieb.Models.LiebUser", "LiebUser")
.WithMany("RoleAssignments")
.HasForeignKey("LiebUserId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("LiebRole");
b.Navigation("LiebUser");
});
modelBuilder.Entity("Lieb.Models.GuildWars2.GuildWars2Account", b =>
{
b.Navigation("EquippedBuilds");
});
modelBuilder.Entity("Lieb.Models.GuildWars2.GuildWars2Build", b =>
{
b.Navigation("EquippedRoles");
});
modelBuilder.Entity("Lieb.Models.GuildWars2.Raid.Raid", b =>
{
b.Navigation("DiscordRaidMessages");
b.Navigation("RaidLogs");
b.Navigation("Reminders");
b.Navigation("Roles");
b.Navigation("SignUps");
});
modelBuilder.Entity("Lieb.Models.GuildWars2.Raid.RaidTemplate", b =>
{
b.Navigation("DiscordRaidMessages");
b.Navigation("Reminders");
b.Navigation("Roles");
b.Navigation("TemplateLogs");
});
modelBuilder.Entity("Lieb.Models.LiebRole", b =>
{
b.Navigation("RoleAssignments");
});
modelBuilder.Entity("Lieb.Models.LiebUser", b =>
{
b.Navigation("GuildWars2Accounts");
b.Navigation("RoleAssignments");
});
#pragma warning restore 612, 618
}
}
}