//
using System;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
using Server.DB;
#nullable disable
namespace Server.DB.Migrations
{
[DbContext(typeof(WonderkingContext))]
partial class WonderkingContextModelSnapshot : ModelSnapshot
{
protected override void BuildModel(ModelBuilder modelBuilder)
{
#pragma warning disable 612, 618
modelBuilder
.HasAnnotation("ProductVersion", "8.0.0")
.HasAnnotation("Proxies:ChangeTracking", false)
.HasAnnotation("Proxies:CheckEquality", false)
.HasAnnotation("Proxies:LazyLoading", true)
.HasAnnotation("Relational:MaxIdentifierLength", 63);
NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder);
modelBuilder.Entity("Server.DB.Documents.Account", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("uuid");
b.Property("Email")
.HasColumnType("text");
b.Property("Password")
.HasColumnType("bytea");
b.Property("PermissionLevel")
.HasColumnType("smallint");
b.Property("Salt")
.HasColumnType("bytea");
b.Property("Username")
.HasMaxLength(20)
.HasColumnType("varchar(20)");
b.HasKey("Id");
b.HasIndex("Id")
.IsUnique();
b.HasIndex("Username")
.IsUnique();
b.ToTable("Accounts");
});
modelBuilder.Entity("Server.DB.Documents.Character", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("uuid");
b.Property("AccountId")
.HasColumnType("uuid");
b.Property("Experience")
.HasColumnType("bigint");
b.Property("Gender")
.HasColumnType("smallint");
b.Property("GuildId")
.HasColumnType("uuid");
b.Property("Health")
.HasColumnType("integer");
b.Property("LastXCoordinate")
.HasColumnType("smallint");
b.Property("LastYCoordinate")
.HasColumnType("smallint");
b.Property("Level")
.HasColumnType("smallint");
b.Property("Mana")
.HasColumnType("integer");
b.Property("MapId")
.HasColumnType("integer");
b.Property("Name")
.HasMaxLength(20)
.HasColumnType("varchar(20)");
b.Property("PvPLevel")
.HasColumnType("smallint");
b.HasKey("Id");
b.HasIndex("AccountId");
b.HasIndex("GuildId");
b.HasIndex("Id")
.IsUnique();
b.HasIndex("Name")
.IsUnique();
b.ToTable("Characters");
});
modelBuilder.Entity("Server.DB.Documents.Guild", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("uuid");
b.Property("Name")
.HasColumnType("text");
b.Property("Notice")
.HasColumnType("text");
b.HasKey("Id");
b.ToTable("Guild");
});
modelBuilder.Entity("Server.DB.Documents.GuildMember", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("uuid");
b.Property("CharacterId")
.HasColumnType("uuid");
b.Property("GuildId")
.HasColumnType("uuid");
b.Property("Rank")
.HasColumnType("smallint");
b.HasKey("Id");
b.HasIndex("CharacterId");
b.HasIndex("GuildId");
b.ToTable("GuildMember");
});
modelBuilder.Entity("Server.DB.Documents.InventoryItem", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("uuid");
b.Property("AddOption")
.HasColumnType("smallint");
b.Property("AddOption2")
.HasColumnType("smallint");
b.Property("AddOption3")
.HasColumnType("smallint");
b.Property("CharacterId")
.HasColumnType("uuid");
b.Property("Count")
.HasColumnType("integer");
b.Property("InventoryTab")
.HasColumnType("smallint");
b.Property("ItemId")
.HasColumnType("integer");
b.Property("Level")
.HasColumnType("smallint");
b.Property("Option")
.HasColumnType("smallint");
b.Property("Option2")
.HasColumnType("smallint");
b.Property("Option3")
.HasColumnType("smallint");
b.Property("Rarity")
.HasColumnType("smallint");
b.Property("Slot")
.HasColumnType("smallint");
b.HasKey("Id");
b.HasIndex("CharacterId");
b.ToTable("InventoryItem");
});
modelBuilder.Entity("Server.DB.Documents.Character", b =>
{
b.HasOne("Server.DB.Documents.Account", "Account")
.WithMany("Characters")
.HasForeignKey("AccountId");
b.HasOne("Server.DB.Documents.Guild", "Guild")
.WithMany()
.HasForeignKey("GuildId");
b.OwnsOne("Wonderking.Packets.Outgoing.Data.BaseStats", "BaseStats", b1 =>
{
b1.Property("CharacterId")
.HasColumnType("uuid");
b1.Property("Dexterity")
.HasColumnType("smallint");
b1.Property("Intelligence")
.HasColumnType("smallint");
b1.Property("Luck")
.HasColumnType("smallint");
b1.Property("Strength")
.HasColumnType("smallint");
b1.Property("Vitality")
.HasColumnType("smallint");
b1.Property("Wisdom")
.HasColumnType("smallint");
b1.HasKey("CharacterId");
b1.ToTable("Characters");
b1.WithOwner()
.HasForeignKey("CharacterId");
});
b.OwnsOne("Wonderking.Packets.Outgoing.Data.JobData", "JobData", b1 =>
{
b1.Property("CharacterId")
.HasColumnType("uuid");
b1.Property("FirstJob")
.HasColumnType("smallint");
b1.Property("FourthJob")
.HasColumnType("smallint");
b1.Property("SecondJob")
.HasColumnType("smallint");
b1.Property("ThirdJob")
.HasColumnType("smallint");
b1.HasKey("CharacterId");
b1.ToTable("Characters");
b1.WithOwner()
.HasForeignKey("CharacterId");
});
b.Navigation("Account");
b.Navigation("BaseStats");
b.Navigation("Guild");
b.Navigation("JobData");
});
modelBuilder.Entity("Server.DB.Documents.GuildMember", b =>
{
b.HasOne("Server.DB.Documents.Character", "Character")
.WithMany()
.HasForeignKey("CharacterId");
b.HasOne("Server.DB.Documents.Guild", "Guild")
.WithMany("GuildMembers")
.HasForeignKey("GuildId");
b.Navigation("Character");
b.Navigation("Guild");
});
modelBuilder.Entity("Server.DB.Documents.InventoryItem", b =>
{
b.HasOne("Server.DB.Documents.Character", "Character")
.WithMany("InventoryItems")
.HasForeignKey("CharacterId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Character");
});
modelBuilder.Entity("Server.DB.Documents.Account", b =>
{
b.Navigation("Characters");
});
modelBuilder.Entity("Server.DB.Documents.Character", b =>
{
b.Navigation("InventoryItems");
});
modelBuilder.Entity("Server.DB.Documents.Guild", b =>
{
b.Navigation("GuildMembers");
});
#pragma warning restore 612, 618
}
}
}