server-master/srcs/_plugins/Plugin.DB.EF/Migrations/GameContextModelSnapshot.cs
2026-02-10 18:21:30 +01:00

1105 lines
41 KiB
C#

// <auto-generated />
using System;
using System.Collections.Generic;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
using Plugin.Database.DB;
using WingsAPI.Data.Character;
using WingsAPI.Data.Families;
using WingsAPI.Data.Miniland;
using WingsEmu.DTOs.Bonus;
using WingsEmu.DTOs.Buffs;
using WingsEmu.DTOs.Inventory;
using WingsEmu.DTOs.Items;
using WingsEmu.DTOs.Mates;
using WingsEmu.DTOs.Quests;
using WingsEmu.DTOs.Quicklist;
using WingsEmu.DTOs.Respawns;
using WingsEmu.DTOs.Skills;
using WingsEmu.DTOs.Titles;
namespace Plugin.Database.Migrations
{
[DbContext(typeof(GameContext))]
partial class GameContextModelSnapshot : ModelSnapshot
{
protected override void BuildModel(ModelBuilder modelBuilder)
{
#pragma warning disable 612, 618
modelBuilder
.HasAnnotation("Relational:MaxIdentifierLength", 63)
.HasAnnotation("ProductVersion", "5.0.7")
.HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn);
modelBuilder.Entity("Plugin.Database.Auth.ClientVersion.AuthorizedClientVersionEntity", b =>
{
b.Property<long>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint")
.HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn);
b.Property<string>("ClientVersion")
.IsRequired()
.HasColumnType("text");
b.Property<string>("DllHash")
.IsRequired()
.HasColumnType("text");
b.Property<string>("ExecutableHash")
.IsRequired()
.HasColumnType("text");
b.HasKey("Id");
b.ToTable("authorized_client_versions", "_config_auth");
});
modelBuilder.Entity("Plugin.Database.Auth.HWID.BlacklistedHwidEntity", b =>
{
b.Property<string>("HardwareId")
.HasColumnType("text");
b.Property<string>("Comment")
.IsRequired()
.HasColumnType("text");
b.Property<string>("Judge")
.IsRequired()
.HasColumnType("text");
b.HasKey("HardwareId");
b.ToTable("blacklisted_hardware_ids", "_config_auth");
});
modelBuilder.Entity("Plugin.Database.Bazaar.DbBazaarItemEntity", b =>
{
b.Property<long>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint")
.HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn);
b.Property<int>("Amount")
.HasColumnType("integer");
b.Property<long>("CharacterId")
.HasColumnType("bigint");
b.Property<DateTime?>("CreatedAt")
.HasColumnType("timestamp without time zone");
b.Property<short>("DayExpiryAmount")
.HasColumnType("smallint");
b.Property<DateTime?>("DeletedAt")
.HasColumnType("timestamp without time zone");
b.Property<DateTime>("ExpiryDate")
.HasColumnType("timestamp without time zone");
b.Property<bool>("IsPackage")
.HasColumnType("boolean");
b.Property<ItemInstanceDTO>("ItemInstance")
.HasColumnType("jsonb");
b.Property<long>("PricePerItem")
.HasColumnType("bigint");
b.Property<long>("SaleFee")
.HasColumnType("bigint");
b.Property<int>("SoldAmount")
.HasColumnType("integer");
b.Property<DateTime?>("UpdatedAt")
.HasColumnType("timestamp without time zone");
b.Property<bool>("UsedMedal")
.HasColumnType("boolean");
b.HasKey("Id");
b.HasIndex("CharacterId");
b.ToTable("items", "bazaar");
});
modelBuilder.Entity("Plugin.Database.Entities.Account.AccountBanEntity", b =>
{
b.Property<long>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint")
.HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn);
b.Property<long>("AccountId")
.HasColumnType("bigint");
b.Property<DateTime?>("End")
.HasColumnType("timestamp without time zone");
b.Property<string>("JudgeName")
.HasColumnType("text");
b.Property<string>("Reason")
.HasColumnType("text");
b.Property<DateTime>("Start")
.HasColumnType("timestamp without time zone");
b.Property<string>("TargetName")
.HasColumnType("text");
b.Property<string>("UnlockReason")
.HasColumnType("text");
b.HasKey("Id");
b.HasIndex("AccountId");
b.ToTable("accounts_bans", "accounts");
});
modelBuilder.Entity("Plugin.Database.Entities.Account.AccountEntity", b =>
{
b.Property<long>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint")
.HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn);
b.Property<short>("Authority")
.HasColumnType("smallint");
b.Property<long>("BankMoney")
.HasColumnType("bigint");
b.Property<DateTime?>("CreatedAt")
.HasColumnType("timestamp without time zone");
b.Property<DateTime?>("DeletedAt")
.HasColumnType("timestamp without time zone");
b.Property<bool>("IsPrimaryAccount")
.HasColumnType("boolean");
b.Property<int>("Language")
.HasColumnType("integer");
b.Property<Guid>("MasterAccountId")
.HasColumnType("uuid");
b.Property<string>("Name")
.HasMaxLength(255)
.HasColumnType("character varying(255)");
b.Property<string>("Password")
.HasMaxLength(255)
.IsUnicode(false)
.HasColumnType("character varying(255)");
b.Property<DateTime?>("UpdatedAt")
.HasColumnType("timestamp without time zone");
b.HasKey("Id");
b.ToTable("accounts", "accounts");
});
modelBuilder.Entity("Plugin.Database.Entities.Account.AccountPenaltyEntity", b =>
{
b.Property<long>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint")
.HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn);
b.Property<long>("AccountId")
.HasColumnType("bigint");
b.Property<string>("JudgeName")
.HasColumnType("text");
b.Property<byte>("PenaltyType")
.HasColumnType("smallint");
b.Property<string>("Reason")
.HasColumnType("text");
b.Property<int?>("RemainingTime")
.HasColumnType("integer");
b.Property<DateTime>("Start")
.HasColumnType("timestamp without time zone");
b.Property<string>("TargetName")
.HasColumnType("text");
b.Property<string>("UnlockReason")
.HasColumnType("text");
b.HasKey("Id");
b.HasIndex("AccountId");
b.ToTable("accounts_penalties", "accounts");
});
modelBuilder.Entity("Plugin.Database.Entities.PlayersData.CharacterRelationEntity", b =>
{
b.Property<long>("CharacterId")
.HasColumnType("bigint");
b.Property<long>("RelatedCharacterId")
.HasColumnType("bigint");
b.Property<string>("RelatedName")
.HasColumnType("text");
b.Property<short>("RelationType")
.HasColumnType("smallint");
b.HasKey("CharacterId", "RelatedCharacterId");
b.HasIndex("RelatedCharacterId");
b.ToTable("characters_relations", "characters");
});
modelBuilder.Entity("Plugin.Database.Entities.PlayersData.DbCharacter", b =>
{
b.Property<long>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint")
.HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn);
b.Property<long>("AccountId")
.HasColumnType("bigint");
b.Property<int>("Act4Dead")
.HasColumnType("integer");
b.Property<int>("Act4Kill")
.HasColumnType("integer");
b.Property<int>("Act4Points")
.HasColumnType("integer");
b.Property<int>("Act5RespawnType")
.HasColumnType("integer");
b.Property<List<CharacterQuestDto>>("ActiveQuests")
.HasColumnType("jsonb");
b.Property<int>("ArenaWinner")
.HasColumnType("integer");
b.Property<string>("Biography")
.HasMaxLength(255)
.HasColumnType("character varying(255)");
b.Property<List<CharacterStaticBonusDto>>("Bonus")
.HasColumnType("jsonb");
b.Property<bool>("BuffBlocked")
.HasColumnType("boolean");
b.Property<byte>("Class")
.HasColumnType("smallint");
b.Property<List<CharacterQuestDto>>("CompletedPeriodicQuests")
.HasColumnType("jsonb");
b.Property<List<CharacterQuestDto>>("CompletedQuests")
.HasColumnType("jsonb");
b.Property<List<CompletedScriptsDto>>("CompletedScripts")
.HasColumnType("jsonb");
b.Property<HashSet<long>>("CompletedTimeSpaces")
.HasColumnType("jsonb");
b.Property<short>("Compliment")
.HasColumnType("smallint");
b.Property<DateTime?>("CreatedAt")
.HasColumnType("timestamp without time zone");
b.Property<DateTime?>("DeletedAt")
.HasColumnType("timestamp without time zone");
b.Property<float>("Dignity")
.HasColumnType("real");
b.Property<bool>("EmoticonsBlocked")
.HasColumnType("boolean");
b.Property<List<CharacterInventoryItemDto>>("EquippedStuffs")
.HasColumnType("jsonb");
b.Property<bool>("ExchangeBlocked")
.HasColumnType("boolean");
b.Property<byte>("Faction")
.HasColumnType("smallint");
b.Property<bool>("FamilyRequestBlocked")
.HasColumnType("boolean");
b.Property<bool>("FriendRequestBlocked")
.HasColumnType("boolean");
b.Property<byte>("Gender")
.HasColumnType("smallint");
b.Property<long>("Gold")
.HasColumnType("bigint");
b.Property<bool>("GroupRequestBlocked")
.HasColumnType("boolean");
b.Property<byte>("HairColor")
.HasColumnType("smallint");
b.Property<byte>("HairStyle")
.HasColumnType("smallint");
b.Property<bool>("HeroChatBlocked")
.HasColumnType("boolean");
b.Property<byte>("HeroLevel")
.HasColumnType("smallint");
b.Property<long>("HeroXp")
.HasColumnType("bigint");
b.Property<bool>("HideHat")
.HasColumnType("boolean");
b.Property<int>("Hp")
.HasColumnType("integer");
b.Property<bool>("HpBlocked")
.HasColumnType("boolean");
b.Property<List<CharacterInventoryItemDto>>("Inventory")
.HasColumnType("jsonb");
b.Property<bool>("IsPartnerAutoRelive")
.HasColumnType("boolean");
b.Property<bool>("IsPetAutoRelive")
.HasColumnType("boolean");
b.Property<byte>("JobLevel")
.HasColumnType("smallint");
b.Property<long>("JobLevelXp")
.HasColumnType("bigint");
b.Property<List<CharacterSkillDTO>>("LearnedSkills")
.HasColumnType("jsonb");
b.Property<byte>("Level")
.HasColumnType("smallint");
b.Property<long>("LevelXp")
.HasColumnType("bigint");
b.Property<CharacterLifetimeStatsDto>("LifetimeStats")
.HasColumnType("jsonb");
b.Property<int>("MapId")
.HasColumnType("integer");
b.Property<short>("MapX")
.HasColumnType("smallint");
b.Property<short>("MapY")
.HasColumnType("smallint");
b.Property<int>("MasterPoints")
.HasColumnType("integer");
b.Property<int>("MasterTicket")
.HasColumnType("integer");
b.Property<byte>("MaxPartnerCount")
.HasColumnType("smallint");
b.Property<byte>("MaxPetCount")
.HasColumnType("smallint");
b.Property<bool>("MinilandInviteBlocked")
.HasColumnType("boolean");
b.Property<string>("MinilandMessage")
.HasMaxLength(255)
.HasColumnType("character varying(255)");
b.Property<List<CharacterMinilandObjectDto>>("MinilandObjects")
.HasColumnType("jsonb");
b.Property<short>("MinilandPoint")
.HasColumnType("smallint");
b.Property<byte>("MinilandState")
.HasColumnType("smallint");
b.Property<bool>("MouseAimLock")
.HasColumnType("boolean");
b.Property<int>("Mp")
.HasColumnType("integer");
b.Property<string>("Name")
.HasMaxLength(30)
.IsUnicode(false)
.HasColumnType("character varying(30)");
b.Property<List<MateDTO>>("NosMates")
.HasColumnType("jsonb");
b.Property<List<CharacterPartnerInventoryItemDto>>("PartnerInventory")
.HasColumnType("jsonb");
b.Property<List<PartnerWarehouseItemDto>>("PartnerWarehouse")
.HasColumnType("jsonb");
b.Property<string>("Prefix")
.HasMaxLength(25)
.HasColumnType("character varying(25)");
b.Property<bool>("QuickGetUp")
.HasColumnType("boolean");
b.Property<List<CharacterQuicklistEntryDto>>("Quicklist")
.HasColumnType("jsonb");
b.Property<long>("RagePoint")
.HasColumnType("bigint");
b.Property<CharacterRaidRestrictionDto>("RaidRestrictionDto")
.HasColumnType("jsonb");
b.Property<RainbowBattleLeaverBusterDto>("RainbowBattleLeaverBusterDto")
.HasColumnType("jsonb");
b.Property<long>("Reput")
.HasColumnType("bigint");
b.Property<int>("RespawnType")
.HasColumnType("integer");
b.Property<CharacterReturnDto>("ReturnPoint")
.HasColumnType("jsonb");
b.Property<byte>("Slot")
.HasColumnType("smallint");
b.Property<int>("SpPointsBasic")
.HasColumnType("integer");
b.Property<int>("SpPointsBonus")
.HasColumnType("integer");
b.Property<List<CharacterStaticBuffDto>>("StaticBuffs")
.HasColumnType("jsonb");
b.Property<int>("TalentLose")
.HasColumnType("integer");
b.Property<int>("TalentSurrender")
.HasColumnType("integer");
b.Property<int>("TalentWin")
.HasColumnType("integer");
b.Property<List<CharacterTitleDto>>("Titles")
.HasColumnType("jsonb");
b.Property<bool>("UiBlocked")
.HasColumnType("boolean");
b.Property<DateTime?>("UpdatedAt")
.HasColumnType("timestamp without time zone");
b.Property<bool>("WhisperBlocked")
.HasColumnType("boolean");
b.HasKey("Id");
b.HasIndex("AccountId");
b.ToTable("characters", "characters");
});
modelBuilder.Entity("Plugin.Database.Entities.ServerData.DbTimeSpaceRecord", b =>
{
b.Property<long>("TimeSpaceId")
.HasColumnType("bigint");
b.Property<string>("CharacterName")
.HasColumnType("text");
b.Property<DateTime>("Date")
.HasColumnType("timestamp without time zone");
b.Property<long>("Record")
.HasColumnType("bigint");
b.HasKey("TimeSpaceId");
b.ToTable("time_space_records", "characters");
});
modelBuilder.Entity("Plugin.Database.Families.DbFamily", b =>
{
b.Property<long>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint")
.HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn);
b.Property<FamilyAchievementsDto>("Achievements")
.HasColumnType("jsonb");
b.Property<bool>("AssistantCanGetHistory")
.HasColumnType("boolean");
b.Property<bool>("AssistantCanInvite")
.HasColumnType("boolean");
b.Property<bool>("AssistantCanNotice")
.HasColumnType("boolean");
b.Property<bool>("AssistantCanShout")
.HasColumnType("boolean");
b.Property<byte>("AssistantWarehouseAuthorityType")
.HasColumnType("smallint");
b.Property<DateTime?>("CreatedAt")
.HasColumnType("timestamp without time zone");
b.Property<DateTime?>("DeletedAt")
.HasColumnType("timestamp without time zone");
b.Property<long>("Experience")
.HasColumnType("bigint");
b.Property<byte>("Faction")
.HasColumnType("smallint");
b.Property<byte>("HeadGender")
.HasColumnType("smallint");
b.Property<byte>("Level")
.HasColumnType("smallint");
b.Property<bool>("MemberCanGetHistory")
.HasColumnType("boolean");
b.Property<byte>("MemberWarehouseAuthorityType")
.HasColumnType("smallint");
b.Property<string>("Message")
.HasMaxLength(50)
.HasColumnType("character varying(50)");
b.Property<FamilyMissionsDto>("Missions")
.HasColumnType("jsonb");
b.Property<string>("Name")
.IsRequired()
.HasMaxLength(30)
.IsUnicode(true)
.HasColumnType("character varying(30)");
b.Property<DateTime?>("UpdatedAt")
.HasColumnType("timestamp without time zone");
b.Property<FamilyUpgradeDto>("Upgrades")
.HasColumnType("jsonb");
b.HasKey("Id");
b.ToTable("families", "families");
});
modelBuilder.Entity("Plugin.Database.Families.DbFamilyLog", b =>
{
b.Property<long>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint")
.HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn);
b.Property<string>("Actor")
.HasMaxLength(32)
.HasColumnType("character varying(32)");
b.Property<string>("Argument1")
.HasMaxLength(16)
.HasColumnType("character varying(16)");
b.Property<string>("Argument2")
.HasMaxLength(16)
.HasColumnType("character varying(16)");
b.Property<string>("Argument3")
.HasMaxLength(16)
.HasColumnType("character varying(16)");
b.Property<DateTime?>("CreatedAt")
.HasColumnType("timestamp without time zone");
b.Property<DateTime?>("DeletedAt")
.HasColumnType("timestamp without time zone");
b.Property<long>("FamilyId")
.HasColumnType("bigint");
b.Property<byte>("FamilyLogType")
.HasColumnType("smallint");
b.Property<DateTime>("Timestamp")
.HasColumnType("timestamp without time zone");
b.Property<DateTime?>("UpdatedAt")
.HasColumnType("timestamp without time zone");
b.HasKey("Id");
b.HasIndex("FamilyId");
b.ToTable("families_logs", "families");
});
modelBuilder.Entity("Plugin.Database.Families.DbFamilyMembership", b =>
{
b.Property<long>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint")
.HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn);
b.Property<byte>("Authority")
.HasColumnType("smallint");
b.Property<long?>("CharacterId")
.HasColumnType("bigint");
b.Property<DateTime?>("CreatedAt")
.HasColumnType("timestamp without time zone");
b.Property<string>("DailyMessage")
.HasMaxLength(50)
.HasColumnType("character varying(50)");
b.Property<DateTime?>("DeletedAt")
.HasColumnType("timestamp without time zone");
b.Property<long>("Experience")
.HasColumnType("bigint");
b.Property<long>("FamilyId")
.HasColumnType("bigint");
b.Property<DateTime>("JoinDate")
.HasColumnType("timestamp without time zone");
b.Property<DateTime>("LastOnlineDate")
.HasColumnType("timestamp without time zone");
b.Property<byte>("Title")
.HasColumnType("smallint");
b.Property<DateTime?>("UpdatedAt")
.HasColumnType("timestamp without time zone");
b.HasKey("Id");
b.HasIndex("CharacterId");
b.HasIndex("FamilyId");
b.ToTable("families_memberships", "families");
});
modelBuilder.Entity("Plugin.Database.Families.FamilyWarehouseItemEntity", b =>
{
b.Property<long>("FamilyId")
.HasColumnType("bigint");
b.Property<short>("Slot")
.HasColumnType("smallint");
b.Property<DateTime?>("CreatedAt")
.HasColumnType("timestamp without time zone");
b.Property<DateTime?>("DeletedAt")
.HasColumnType("timestamp without time zone");
b.Property<ItemInstanceDTO>("ItemInstance")
.HasColumnType("jsonb");
b.Property<DateTime?>("UpdatedAt")
.HasColumnType("timestamp without time zone");
b.HasKey("FamilyId", "Slot");
b.ToTable("families_warehouses", "families");
});
modelBuilder.Entity("Plugin.Database.Families.FamilyWarehouseLogEntity", b =>
{
b.Property<long>("FamilyId")
.HasColumnType("bigint");
b.Property<DateTime?>("CreatedAt")
.HasColumnType("timestamp without time zone");
b.Property<DateTime?>("DeletedAt")
.HasColumnType("timestamp without time zone");
b.Property<List<FamilyWarehouseLogEntryDto>>("LogEntries")
.HasColumnType("jsonb");
b.Property<DateTime?>("UpdatedAt")
.HasColumnType("timestamp without time zone");
b.HasKey("FamilyId");
b.ToTable("families_warehouses_logs", "families");
});
modelBuilder.Entity("Plugin.Database.Mail.DbCharacterMail", b =>
{
b.Property<long>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint")
.HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn);
b.Property<DateTime?>("CreatedAt")
.HasColumnType("timestamp without time zone");
b.Property<DateTime>("Date")
.HasColumnType("timestamp without time zone");
b.Property<DateTime?>("DeletedAt")
.HasColumnType("timestamp without time zone");
b.Property<ItemInstanceDTO>("ItemInstance")
.HasColumnType("jsonb");
b.Property<int>("MailGiftType")
.HasColumnType("integer");
b.Property<long>("ReceiverId")
.HasColumnType("bigint");
b.Property<string>("SenderName")
.HasMaxLength(255)
.HasColumnType("character varying(255)");
b.Property<DateTime?>("UpdatedAt")
.HasColumnType("timestamp without time zone");
b.HasKey("Id");
b.HasIndex("ReceiverId");
b.ToTable("characters_mails", "mails");
});
modelBuilder.Entity("Plugin.Database.Mail.DbCharacterNote", b =>
{
b.Property<long>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint")
.HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn);
b.Property<DateTime?>("CreatedAt")
.HasColumnType("timestamp without time zone");
b.Property<DateTime>("Date")
.HasColumnType("timestamp without time zone");
b.Property<DateTime?>("DeletedAt")
.HasColumnType("timestamp without time zone");
b.Property<string>("EquipmentPackets")
.HasMaxLength(255)
.HasColumnType("character varying(255)");
b.Property<bool>("IsOpened")
.HasColumnType("boolean");
b.Property<bool>("IsSenderCopy")
.HasColumnType("boolean");
b.Property<string>("Message")
.HasMaxLength(255)
.HasColumnType("character varying(255)");
b.Property<long>("ReceiverId")
.HasColumnType("bigint");
b.Property<string>("ReceiverName")
.HasColumnType("text");
b.Property<byte>("SenderClass")
.HasColumnType("smallint");
b.Property<byte>("SenderGender")
.HasColumnType("smallint");
b.Property<byte>("SenderHairColor")
.HasColumnType("smallint");
b.Property<byte>("SenderHairStyle")
.HasColumnType("smallint");
b.Property<long>("SenderId")
.HasColumnType("bigint");
b.Property<string>("SenderName")
.HasColumnType("text");
b.Property<string>("Title")
.HasMaxLength(255)
.HasColumnType("character varying(255)");
b.Property<DateTime?>("UpdatedAt")
.HasColumnType("timestamp without time zone");
b.HasKey("Id");
b.HasIndex("ReceiverId");
b.HasIndex("SenderId");
b.ToTable("characters_notes", "mails");
});
modelBuilder.Entity("Plugin.Database.Warehouse.AccountWarehouseItemEntity", b =>
{
b.Property<long>("AccountId")
.HasColumnType("bigint");
b.Property<short>("Slot")
.HasColumnType("smallint");
b.Property<DateTime?>("CreatedAt")
.HasColumnType("timestamp without time zone");
b.Property<DateTime?>("DeletedAt")
.HasColumnType("timestamp without time zone");
b.Property<ItemInstanceDTO>("ItemInstance")
.HasColumnType("jsonb");
b.Property<DateTime?>("UpdatedAt")
.HasColumnType("timestamp without time zone");
b.HasKey("AccountId", "Slot");
b.ToTable("accounts_warehouse", "accounts");
});
modelBuilder.Entity("Plugin.Database.Bazaar.DbBazaarItemEntity", b =>
{
b.HasOne("Plugin.Database.Entities.PlayersData.DbCharacter", "DbCharacter")
.WithMany("BazaarItem")
.HasForeignKey("CharacterId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("DbCharacter");
});
modelBuilder.Entity("Plugin.Database.Entities.Account.AccountBanEntity", b =>
{
b.HasOne("Plugin.Database.Entities.Account.AccountEntity", "AccountEntity")
.WithMany("AccountBans")
.HasForeignKey("AccountId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("AccountEntity");
});
modelBuilder.Entity("Plugin.Database.Entities.Account.AccountPenaltyEntity", b =>
{
b.HasOne("Plugin.Database.Entities.Account.AccountEntity", "AccountEntity")
.WithMany("AccountPenalties")
.HasForeignKey("AccountId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("AccountEntity");
});
modelBuilder.Entity("Plugin.Database.Entities.PlayersData.CharacterRelationEntity", b =>
{
b.HasOne("Plugin.Database.Entities.PlayersData.DbCharacter", "Source")
.WithMany("SourceRelations")
.HasForeignKey("CharacterId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("Plugin.Database.Entities.PlayersData.DbCharacter", "Target")
.WithMany("TargetRelations")
.HasForeignKey("RelatedCharacterId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Source");
b.Navigation("Target");
});
modelBuilder.Entity("Plugin.Database.Entities.PlayersData.DbCharacter", b =>
{
b.HasOne("Plugin.Database.Entities.Account.AccountEntity", "AccountEntity")
.WithMany("Character")
.HasForeignKey("AccountId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("AccountEntity");
});
modelBuilder.Entity("Plugin.Database.Families.DbFamilyLog", b =>
{
b.HasOne("Plugin.Database.Families.DbFamily", "Family")
.WithMany("FamilyLogs")
.HasForeignKey("FamilyId")
.OnDelete(DeleteBehavior.NoAction)
.IsRequired();
b.Navigation("Family");
});
modelBuilder.Entity("Plugin.Database.Families.DbFamilyMembership", b =>
{
b.HasOne("Plugin.Database.Entities.PlayersData.DbCharacter", "DbCharacter")
.WithMany("FamilyCharacter")
.HasForeignKey("CharacterId")
.OnDelete(DeleteBehavior.SetNull);
b.HasOne("Plugin.Database.Families.DbFamily", "Family")
.WithMany("FamilyCharacters")
.HasForeignKey("FamilyId")
.OnDelete(DeleteBehavior.NoAction)
.IsRequired();
b.Navigation("DbCharacter");
b.Navigation("Family");
});
modelBuilder.Entity("Plugin.Database.Families.FamilyWarehouseItemEntity", b =>
{
b.HasOne("Plugin.Database.Families.DbFamily", "Family")
.WithMany("WarehouseItems")
.HasForeignKey("FamilyId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Family");
});
modelBuilder.Entity("Plugin.Database.Families.FamilyWarehouseLogEntity", b =>
{
b.HasOne("Plugin.Database.Families.DbFamily", "Family")
.WithOne("WarehouseLogs")
.HasForeignKey("Plugin.Database.Families.FamilyWarehouseLogEntity", "FamilyId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Family");
});
modelBuilder.Entity("Plugin.Database.Mail.DbCharacterMail", b =>
{
b.HasOne("Plugin.Database.Entities.PlayersData.DbCharacter", "Receiver")
.WithMany("ReceivedMails")
.HasForeignKey("ReceiverId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Receiver");
});
modelBuilder.Entity("Plugin.Database.Mail.DbCharacterNote", b =>
{
b.HasOne("Plugin.Database.Entities.PlayersData.DbCharacter", "Receiver")
.WithMany("ReceivedNotes")
.HasForeignKey("ReceiverId")
.OnDelete(DeleteBehavior.NoAction)
.IsRequired();
b.HasOne("Plugin.Database.Entities.PlayersData.DbCharacter", "Sender")
.WithMany("SentNotes")
.HasForeignKey("SenderId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Receiver");
b.Navigation("Sender");
});
modelBuilder.Entity("Plugin.Database.Warehouse.AccountWarehouseItemEntity", b =>
{
b.HasOne("Plugin.Database.Entities.Account.AccountEntity", "Account")
.WithMany("WarehouseItems")
.HasForeignKey("AccountId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Account");
});
modelBuilder.Entity("Plugin.Database.Entities.Account.AccountEntity", b =>
{
b.Navigation("AccountBans");
b.Navigation("AccountPenalties");
b.Navigation("Character");
b.Navigation("WarehouseItems");
});
modelBuilder.Entity("Plugin.Database.Entities.PlayersData.DbCharacter", b =>
{
b.Navigation("BazaarItem");
b.Navigation("FamilyCharacter");
b.Navigation("ReceivedMails");
b.Navigation("ReceivedNotes");
b.Navigation("SentNotes");
b.Navigation("SourceRelations");
b.Navigation("TargetRelations");
});
modelBuilder.Entity("Plugin.Database.Families.DbFamily", b =>
{
b.Navigation("FamilyCharacters");
b.Navigation("FamilyLogs");
b.Navigation("WarehouseItems");
b.Navigation("WarehouseLogs");
});
#pragma warning restore 612, 618
}
}
}