//
using System;
using DorkNet.Server.Data;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Migrations;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
#nullable disable
namespace DorkNet.Server.Migrations
{
[DbContext(typeof(DorkNetDbContext))]
[Migration("20260516205306_MakeRoomDataBlobBytesNullable")]
partial class MakeRoomDataBlobBytesNullable
{
///
protected override void BuildTargetModel(ModelBuilder modelBuilder)
{
#pragma warning disable 612, 618
modelBuilder.HasAnnotation("ProductVersion", "9.0.4");
modelBuilder.Entity("DorkNet.Server.Data.Entities.AdminActionEntity", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("INTEGER");
b.Property("Action")
.IsRequired()
.HasMaxLength(64)
.HasColumnType("TEXT");
b.Property("AdminPlayerId")
.HasColumnType("INTEGER");
b.Property("Reason")
.IsRequired()
.HasMaxLength(512)
.HasColumnType("TEXT");
b.Property("TargetId")
.HasColumnType("INTEGER");
b.Property("TargetType")
.IsRequired()
.HasMaxLength(32)
.HasColumnType("TEXT");
b.Property("Timestamp")
.HasColumnType("TEXT");
b.HasKey("Id");
b.HasIndex("AdminPlayerId");
b.HasIndex("Timestamp");
b.HasIndex("TargetType", "TargetId");
b.ToTable("AdminActions");
});
modelBuilder.Entity("DorkNet.Server.Data.Entities.AvatarEntity", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("INTEGER");
b.Property("EquippedItemsJson")
.IsRequired()
.HasColumnType("TEXT");
b.Property("FaceFeatures")
.IsRequired()
.HasMaxLength(8192)
.HasColumnType("TEXT");
b.Property("HairColor")
.IsRequired()
.HasMaxLength(64)
.HasColumnType("TEXT");
b.Property("InventoryJson")
.IsRequired()
.HasColumnType("TEXT");
b.Property("OutfitSelections")
.IsRequired()
.HasMaxLength(2048)
.HasColumnType("TEXT");
b.Property("PlayerId")
.HasColumnType("INTEGER");
b.Property("SavedOutfitsJson")
.IsRequired()
.HasColumnType("TEXT");
b.Property("SkinColor")
.IsRequired()
.HasMaxLength(64)
.HasColumnType("TEXT");
b.Property("UpdatedAt")
.HasColumnType("TEXT");
b.HasKey("Id");
b.HasIndex("PlayerId")
.IsUnique();
b.ToTable("Avatars");
});
modelBuilder.Entity("DorkNet.Server.Data.Entities.BugReportEntity", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("INTEGER");
b.Property("Body")
.IsRequired()
.HasMaxLength(4000)
.HasColumnType("TEXT");
b.Property("Category")
.IsRequired()
.HasMaxLength(32)
.HasColumnType("TEXT");
b.Property("ClientVersion")
.IsRequired()
.HasMaxLength(64)
.HasColumnType("TEXT");
b.Property("CreatedAt")
.HasColumnType("TEXT");
b.Property("GameSessionId")
.HasColumnType("INTEGER");
b.Property("Platform")
.IsRequired()
.HasMaxLength(32)
.HasColumnType("TEXT");
b.Property("ReadAt")
.HasColumnType("TEXT");
b.Property("ReporterPlayerId")
.HasColumnType("INTEGER");
b.Property("Title")
.IsRequired()
.HasMaxLength(128)
.HasColumnType("TEXT");
b.HasKey("Id");
b.HasIndex("ReadAt");
b.HasIndex("ReporterPlayerId");
b.ToTable("BugReports");
});
modelBuilder.Entity("DorkNet.Server.Data.Entities.CardEntity", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("INTEGER");
b.Property("ActionUrl")
.IsRequired()
.HasMaxLength(512)
.HasColumnType("TEXT");
b.Property("Body")
.IsRequired()
.HasMaxLength(2000)
.HasColumnType("TEXT");
b.Property("Category")
.IsRequired()
.HasMaxLength(32)
.HasColumnType("TEXT");
b.Property("CreatedAt")
.HasColumnType("TEXT");
b.Property("ExpiresAt")
.HasColumnType("TEXT");
b.Property("ImageName")
.IsRequired()
.HasMaxLength(256)
.HasColumnType("TEXT");
b.Property("PlayerId")
.HasColumnType("INTEGER");
b.Property("Priority")
.HasColumnType("INTEGER");
b.Property("Title")
.IsRequired()
.HasMaxLength(128)
.HasColumnType("TEXT");
b.HasKey("Id");
b.HasIndex("ExpiresAt");
b.HasIndex("PlayerId");
b.ToTable("Cards");
});
modelBuilder.Entity("DorkNet.Server.Data.Entities.ChatMessageEntity", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("INTEGER");
b.Property("Body")
.IsRequired()
.HasMaxLength(2000)
.HasColumnType("TEXT");
b.Property("SenderPlayerId")
.HasColumnType("INTEGER");
b.Property("SentAt")
.HasColumnType("TEXT");
b.Property("ThreadKey")
.IsRequired()
.HasMaxLength(64)
.HasColumnType("TEXT");
b.HasKey("Id");
b.HasIndex("ThreadKey", "SentAt");
b.ToTable("ChatMessages");
});
modelBuilder.Entity("DorkNet.Server.Data.Entities.CheerEntity", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("INTEGER");
b.Property("CheeredAt")
.HasColumnType("TEXT");
b.Property("FromPlayerId")
.HasColumnType("INTEGER");
b.Property("TargetInventionId")
.HasColumnType("INTEGER");
b.Property("TargetPhotoId")
.HasColumnType("INTEGER");
b.Property("TargetPlayerId")
.HasColumnType("INTEGER");
b.Property("TargetRoomId")
.HasColumnType("INTEGER");
b.Property("Type")
.HasColumnType("INTEGER");
b.HasKey("Id");
b.HasIndex("TargetPhotoId");
b.HasIndex("TargetPlayerId");
b.HasIndex("TargetRoomId");
b.HasIndex("FromPlayerId", "TargetPlayerId", "TargetRoomId", "TargetPhotoId", "Type")
.IsUnique();
b.ToTable("Cheers");
});
modelBuilder.Entity("DorkNet.Server.Data.Entities.ClubEntity", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("INTEGER");
b.Property("BanStatus")
.HasColumnType("INTEGER");
b.Property("CreatedAt")
.HasColumnType("TEXT");
b.Property("CreatorPlayerId")
.HasColumnType("INTEGER");
b.Property("Description")
.IsRequired()
.HasMaxLength(2000)
.HasColumnType("TEXT");
b.Property("ImageName")
.IsRequired()
.HasMaxLength(256)
.HasColumnType("TEXT");
b.Property("Name")
.IsRequired()
.HasMaxLength(128)
.HasColumnType("TEXT")
.UseCollation("NOCASE");
b.Property("UpdatedAt")
.HasColumnType("TEXT");
b.HasKey("Id");
b.HasIndex("CreatorPlayerId");
b.HasIndex("Name")
.IsUnique();
b.ToTable("Clubs");
});
modelBuilder.Entity("DorkNet.Server.Data.Entities.ClubMembershipEntity", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("INTEGER");
b.Property("ClubId")
.HasColumnType("INTEGER");
b.Property("JoinedAt")
.HasColumnType("TEXT");
b.Property("Permissions")
.HasColumnType("INTEGER");
b.Property("PlayerId")
.HasColumnType("INTEGER");
b.HasKey("Id");
b.HasIndex("PlayerId");
b.HasIndex("ClubId", "PlayerId")
.IsUnique();
b.ToTable("ClubMemberships");
});
modelBuilder.Entity("DorkNet.Server.Data.Entities.CohortAssignmentEntity", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("INTEGER");
b.Property("AssignedAt")
.HasColumnType("TEXT");
b.Property("CohortKey")
.IsRequired()
.HasMaxLength(64)
.HasColumnType("TEXT");
b.Property("PlayerId")
.HasColumnType("INTEGER");
b.Property("Variant")
.IsRequired()
.HasMaxLength(32)
.HasColumnType("TEXT");
b.HasKey("Id");
b.HasIndex("PlayerId", "CohortKey")
.IsUnique();
b.ToTable("CohortAssignments");
});
modelBuilder.Entity("DorkNet.Server.Data.Entities.CommunityBoardEntity", b =>
{
b.Property("Id")
.HasColumnType("INTEGER");
b.Property("Json")
.IsRequired()
.HasColumnType("TEXT");
b.Property("UpdatedAt")
.HasColumnType("TEXT");
b.HasKey("Id");
b.ToTable("CommunityBoardRows");
});
modelBuilder.Entity("DorkNet.Server.Data.Entities.CouponEntity", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("INTEGER");
b.Property("Code")
.IsRequired()
.HasMaxLength(64)
.HasColumnType("TEXT");
b.Property("CreatedAt")
.HasColumnType("TEXT");
b.Property("Description")
.IsRequired()
.HasMaxLength(256)
.HasColumnType("TEXT");
b.Property("ExpiresAt")
.HasColumnType("TEXT");
b.Property("IsActive")
.HasColumnType("INTEGER");
b.Property("MaxRedemptions")
.HasColumnType("INTEGER");
b.Property("RedemptionCount")
.HasColumnType("INTEGER");
b.Property("RewardAmount")
.HasColumnType("INTEGER");
b.Property("RewardCurrencyType")
.HasColumnType("INTEGER");
b.Property("RewardItemSlug")
.IsRequired()
.HasMaxLength(64)
.HasColumnType("TEXT");
b.Property("RewardType")
.HasColumnType("INTEGER");
b.HasKey("Id");
b.HasIndex("Code")
.IsUnique();
b.ToTable("Coupons");
});
modelBuilder.Entity("DorkNet.Server.Data.Entities.CouponRedemptionEntity", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("INTEGER");
b.Property("CouponId")
.HasColumnType("INTEGER");
b.Property("PlayerId")
.HasColumnType("INTEGER");
b.Property("RedeemedAt")
.HasColumnType("TEXT");
b.HasKey("Id");
b.HasIndex("CouponId", "PlayerId")
.IsUnique();
b.ToTable("CouponRedemptions");
});
modelBuilder.Entity("DorkNet.Server.Data.Entities.CurrencyBalanceEntity", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("INTEGER");
b.Property("Balance")
.HasColumnType("INTEGER");
b.Property("CurrencyType")
.HasColumnType("INTEGER");
b.Property("PlayerId")
.HasColumnType("INTEGER");
b.Property("UpdatedAt")
.HasColumnType("TEXT");
b.HasKey("Id");
b.HasIndex("PlayerId", "CurrencyType")
.IsUnique();
b.ToTable("CurrencyBalances");
});
modelBuilder.Entity("DorkNet.Server.Data.Entities.DormStateEntity", b =>
{
b.Property("PlayerId")
.ValueGeneratedOnAdd()
.HasColumnType("INTEGER");
b.Property("CreatedAt")
.HasColumnType("TEXT");
b.Property("CurrentDataBlobName")
.IsRequired()
.HasMaxLength(128)
.HasColumnType("TEXT");
b.Property("UpdatedAt")
.HasColumnType("TEXT");
b.HasKey("PlayerId");
b.ToTable("DormStates");
});
modelBuilder.Entity("DorkNet.Server.Data.Entities.GameSessionEntity", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("INTEGER");
b.Property("ActivityLevelId")
.IsRequired()
.HasMaxLength(64)
.HasColumnType("TEXT");
b.Property("CreatedAt")
.HasColumnType("TEXT");
b.Property("MaxCapacity")
.HasColumnType("INTEGER");
b.Property("PhotonRoomName")
.IsRequired()
.HasMaxLength(128)
.HasColumnType("TEXT");
b.Property("PlayerCount")
.HasColumnType("INTEGER");
b.Property("Region")
.IsRequired()
.HasMaxLength(16)
.HasColumnType("TEXT");
b.Property("RoomId")
.IsRequired()
.HasMaxLength(64)
.HasColumnType("TEXT");
b.HasKey("Id");
b.HasIndex("RoomId", "Region");
b.ToTable("GameSessions");
});
modelBuilder.Entity("DorkNet.Server.Data.Entities.GiftPackageEntity", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("INTEGER");
b.Property("AvatarItemDescOrHairDyeDesc")
.IsRequired()
.HasMaxLength(128)
.HasColumnType("TEXT");
b.Property("AvatarItemType")
.HasColumnType("INTEGER");
b.Property("ConsumableItemDesc")
.IsRequired()
.HasMaxLength(128)
.HasColumnType("TEXT");
b.Property("Consumed")
.HasColumnType("INTEGER");
b.Property("ConsumedAt")
.HasColumnType("TEXT");
b.Property("CreatedAt")
.HasColumnType("TEXT");
b.Property("Currency")
.HasColumnType("INTEGER");
b.Property("CurrencyType")
.HasColumnType("INTEGER");
b.Property("EquipmentModificationGuid")
.IsRequired()
.HasMaxLength(64)
.HasColumnType("TEXT");
b.Property("EquipmentPrefabName")
.IsRequired()
.HasMaxLength(128)
.HasColumnType("TEXT");
b.Property("ErrorMessage")
.IsRequired()
.HasMaxLength(512)
.HasColumnType("TEXT");
b.Property("FromPlayerId")
.HasColumnType("INTEGER");
b.Property("GiftContext")
.HasColumnType("INTEGER");
b.Property("GiftRarity")
.HasColumnType("INTEGER");
b.Property("IsGifted")
.HasColumnType("INTEGER");
b.Property("IsValid")
.HasColumnType("INTEGER");
b.Property("Level")
.HasColumnType("INTEGER");
b.Property("Message")
.IsRequired()
.HasMaxLength(512)
.HasColumnType("TEXT");
b.Property("PackageMaterial")
.IsRequired()
.HasMaxLength(128)
.HasColumnType("TEXT");
b.Property("PackageVariant")
.IsRequired()
.HasMaxLength(128)
.HasColumnType("TEXT");
b.Property("Platform")
.HasColumnType("INTEGER");
b.Property("RecipientPlayerId")
.HasColumnType("INTEGER");
b.Property("SupportsCurrentPlatform")
.HasColumnType("INTEGER");
b.Property("Xp")
.HasColumnType("INTEGER");
b.HasKey("Id");
b.HasIndex("RecipientPlayerId", "Consumed");
b.ToTable("GiftPackages");
});
modelBuilder.Entity("DorkNet.Server.Data.Entities.InventionEntity", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("INTEGER");
b.Property("CheerCount")
.HasColumnType("INTEGER");
b.Property("CreatedAt")
.HasColumnType("TEXT");
b.Property("CreationRoomId")
.HasColumnType("INTEGER");
b.Property("CreatorPermission")
.HasColumnType("INTEGER");
b.Property("CreatorPlayerId")
.HasColumnType("INTEGER");
b.Property("CurrentBlobName")
.IsRequired()
.HasMaxLength(128)
.HasColumnType("TEXT");
b.Property("CurrentVersionNumber")
.HasColumnType("INTEGER");
b.Property("Description")
.IsRequired()
.HasMaxLength(2000)
.HasColumnType("TEXT");
b.Property("FirstPublishedAt")
.HasColumnType("TEXT");
b.Property("GeneralPermission")
.HasColumnType("INTEGER");
b.Property("ImageName")
.IsRequired()
.HasMaxLength(256)
.HasColumnType("TEXT");
b.Property("IsAgInvention")
.HasColumnType("INTEGER");
b.Property("IsDeleted")
.HasColumnType("INTEGER");
b.Property("IsPublished")
.HasColumnType("INTEGER");
b.Property("Name")
.IsRequired()
.HasMaxLength(128)
.HasColumnType("TEXT");
b.Property("NumPlayersHaveUsedInRoom")
.HasColumnType("INTEGER");
b.Property("Permission")
.HasColumnType("INTEGER");
b.Property("ReplicationId")
.IsRequired()
.HasMaxLength(64)
.HasColumnType("TEXT");
b.Property("SpawnCount")
.HasColumnType("INTEGER");
b.Property("TagsCsv")
.IsRequired()
.HasMaxLength(1024)
.HasColumnType("TEXT");
b.Property("UpdatedAt")
.HasColumnType("TEXT");
b.HasKey("Id");
b.HasIndex("CheerCount");
b.HasIndex("CreatorPlayerId");
b.ToTable("Inventions");
});
modelBuilder.Entity("DorkNet.Server.Data.Entities.InventionVersionEntity", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("INTEGER");
b.Property("BlobName")
.IsRequired()
.HasMaxLength(128)
.HasColumnType("TEXT");
b.Property("CreatedAt")
.HasColumnType("TEXT");
b.Property("InstantiationCost")
.HasColumnType("INTEGER");
b.Property("InventionId")
.HasColumnType("INTEGER");
b.Property("LightsCost")
.HasColumnType("INTEGER");
b.Property("ReplicationId")
.IsRequired()
.HasMaxLength(64)
.HasColumnType("TEXT");
b.Property("VersionNumber")
.HasColumnType("INTEGER");
b.HasKey("Id");
b.HasIndex("InventionId", "VersionNumber")
.IsUnique();
b.ToTable("InventionVersions");
});
modelBuilder.Entity("DorkNet.Server.Data.Entities.IpBanEntity", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("INTEGER");
b.Property("BannedAt")
.HasColumnType("TEXT");
b.Property("BannedByAdminId")
.HasColumnType("INTEGER");
b.Property("Cidr")
.IsRequired()
.HasMaxLength(64)
.HasColumnType("TEXT");
b.Property("Reason")
.IsRequired()
.HasMaxLength(512)
.HasColumnType("TEXT");
b.Property("Until")
.HasColumnType("TEXT");
b.HasKey("Id");
b.HasIndex("Cidr");
b.ToTable("IpBans");
});
modelBuilder.Entity("DorkNet.Server.Data.Entities.LeaderboardStatEntity", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("INTEGER");
b.Property("PlayerId")
.HasColumnType("INTEGER");
b.Property("StatChannel")
.HasColumnType("INTEGER");
b.Property("UpdatedAt")
.HasColumnType("TEXT");
b.Property("Value")
.HasColumnType("INTEGER");
b.HasKey("Id");
b.HasIndex("PlayerId", "StatChannel")
.IsUnique();
b.HasIndex("StatChannel", "Value");
b.ToTable("LeaderboardStats");
});
modelBuilder.Entity("DorkNet.Server.Data.Entities.MessageEntity", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("INTEGER");
b.Property("Body")
.IsRequired()
.HasMaxLength(2000)
.HasColumnType("TEXT");
b.Property("ReadAt")
.HasColumnType("TEXT");
b.Property("RecipientPlayerId")
.HasColumnType("INTEGER");
b.Property("SenderPlayerId")
.HasColumnType("INTEGER");
b.Property("SentAt")
.HasColumnType("TEXT");
b.HasKey("Id");
b.HasIndex("RecipientPlayerId", "SentAt");
b.HasIndex("SenderPlayerId", "SentAt");
b.ToTable("Messages");
});
modelBuilder.Entity("DorkNet.Server.Data.Entities.NotificationPrefsEntity", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("INTEGER");
b.Property("AllowAll")
.HasColumnType("INTEGER");
b.Property("AllowAnnouncements")
.HasColumnType("INTEGER");
b.Property("AllowEventInvite")
.HasColumnType("INTEGER");
b.Property("AllowFriendRequest")
.HasColumnType("INTEGER");
b.Property("AllowMessage")
.HasColumnType("INTEGER");
b.Property("Platform")
.IsRequired()
.HasMaxLength(32)
.HasColumnType("TEXT");
b.Property("PlayerId")
.HasColumnType("INTEGER");
b.Property("UpdatedAt")
.HasColumnType("TEXT");
b.HasKey("Id");
b.HasIndex("PlayerId", "Platform")
.IsUnique();
b.ToTable("NotificationPrefs");
});
modelBuilder.Entity("DorkNet.Server.Data.Entities.ObjectiveProgressEntity", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("INTEGER");
b.Property("ClearedAt")
.HasColumnType("TEXT");
b.Property("IsCompleted")
.HasColumnType("INTEGER");
b.Property("Key")
.IsRequired()
.HasMaxLength(128)
.HasColumnType("TEXT");
b.Property("PlayerId")
.HasColumnType("INTEGER");
b.HasKey("Id");
b.HasIndex("PlayerId", "Key")
.IsUnique();
b.ToTable("ObjectiveProgress");
});
modelBuilder.Entity("DorkNet.Server.Data.Entities.PhotoEntity", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("INTEGER");
b.Property("BlobName")
.IsRequired()
.HasMaxLength(256)
.HasColumnType("TEXT");
b.Property("Caption")
.IsRequired()
.HasMaxLength(2048)
.HasColumnType("TEXT");
b.Property("CheerCount")
.HasColumnType("INTEGER");
b.Property("CreatedAt")
.HasColumnType("TEXT");
b.Property("DeletedAt")
.HasColumnType("TEXT");
b.Property("IsPublic")
.HasColumnType("INTEGER");
b.Property("RoomId")
.HasColumnType("INTEGER");
b.Property("TaggedPlayerIdsCsv")
.IsRequired()
.HasMaxLength(2048)
.HasColumnType("TEXT");
b.Property("UploaderPlayerId")
.HasColumnType("INTEGER");
b.Property("ViewCount")
.HasColumnType("INTEGER");
b.HasKey("Id");
b.HasIndex("BlobName");
b.HasIndex("CreatedAt");
b.HasIndex("RoomId");
b.HasIndex("UploaderPlayerId");
b.ToTable("Photos");
});
modelBuilder.Entity("DorkNet.Server.Data.Entities.PlatformIgnoreEntity", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("INTEGER");
b.Property("CreatedAt")
.HasColumnType("TEXT");
b.Property("Platform")
.HasColumnType("INTEGER");
b.Property("PlatformUserId")
.IsRequired()
.HasMaxLength(64)
.HasColumnType("TEXT");
b.Property("PlayerId")
.HasColumnType("INTEGER");
b.HasKey("Id");
b.HasIndex("PlayerId", "Platform", "PlatformUserId")
.IsUnique();
b.ToTable("PlatformIgnores");
});
modelBuilder.Entity("DorkNet.Server.Data.Entities.PlayerDeviceEntity", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("INTEGER");
b.Property("DeviceId")
.IsRequired()
.HasMaxLength(128)
.HasColumnType("TEXT");
b.Property("FirstSeen")
.HasColumnType("TEXT");
b.Property("IsBanned")
.HasColumnType("INTEGER");
b.Property("LastSeen")
.HasColumnType("TEXT");
b.Property("Platform")
.IsRequired()
.HasMaxLength(32)
.HasColumnType("TEXT");
b.Property("PlayerId")
.HasColumnType("INTEGER");
b.HasKey("Id");
b.HasIndex("DeviceId");
b.HasIndex("PlayerId");
b.ToTable("PlayerDevices");
});
modelBuilder.Entity("DorkNet.Server.Data.Entities.PlayerEloEntity", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("INTEGER");
b.Property("Elo")
.HasColumnType("INTEGER");
b.Property("GameMode")
.HasColumnType("INTEGER");
b.Property("Losses")
.HasColumnType("INTEGER");
b.Property("MatchesPlayed")
.HasColumnType("INTEGER");
b.Property("PlayerId")
.HasColumnType("INTEGER");
b.Property("UpdatedAt")
.HasColumnType("TEXT");
b.Property("Wins")
.HasColumnType("INTEGER");
b.HasKey("Id");
b.HasIndex("GameMode", "Elo");
b.HasIndex("PlayerId", "GameMode")
.IsUnique();
b.ToTable("PlayerElo");
});
modelBuilder.Entity("DorkNet.Server.Data.Entities.PlayerEntity", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("INTEGER");
b.Property("BannedUntil")
.HasColumnType("TEXT");
b.Property("Bio")
.IsRequired()
.HasMaxLength(512)
.HasColumnType("TEXT");
b.Property("Birthday")
.HasColumnType("TEXT");
b.Property("CanReceiveInvites")
.HasColumnType("INTEGER");
b.Property("CreatedAt")
.HasColumnType("TEXT");
b.Property("CreatedFromDeviceId")
.HasMaxLength(128)
.HasColumnType("TEXT");
b.Property("DeviceId")
.IsRequired()
.HasMaxLength(128)
.HasColumnType("TEXT");
b.Property("DisplayName")
.IsRequired()
.HasMaxLength(64)
.HasColumnType("TEXT");
b.Property("Email")
.HasMaxLength(256)
.HasColumnType("TEXT");
b.Property("IsAdmin")
.HasColumnType("INTEGER");
b.Property("IsDeveloper")
.HasColumnType("INTEGER");
b.Property("IsJunior")
.HasColumnType("INTEGER");
b.Property("IsVerified")
.HasColumnType("INTEGER");
b.Property("LastIp")
.HasMaxLength(64)
.HasColumnType("TEXT");
b.Property("LastPlatform")
.HasColumnType("INTEGER");
b.Property("LastPlatformId")
.IsRequired()
.HasMaxLength(128)
.HasColumnType("TEXT");
b.Property("LastSeenAt")
.HasColumnType("TEXT");
b.Property("Level")
.HasColumnType("INTEGER");
b.Property("Locale")
.HasMaxLength(16)
.HasColumnType("TEXT");
b.Property("PasswordHash")
.HasMaxLength(128)
.HasColumnType("TEXT");
b.Property("Phone")
.HasMaxLength(32)
.HasColumnType("TEXT");
b.Property("ProfileImageName")
.HasMaxLength(256)
.HasColumnType("TEXT");
b.Property("Reputation")
.HasColumnType("INTEGER");
b.Property("Username")
.IsRequired()
.HasMaxLength(64)
.HasColumnType("TEXT");
b.Property("XP")
.HasColumnType("INTEGER");
b.HasKey("Id");
b.HasIndex("Username")
.IsUnique();
b.ToTable("Players");
});
modelBuilder.Entity("DorkNet.Server.Data.Entities.PlayerEventEntity", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("INTEGER");
b.Property("Capacity")
.HasColumnType("INTEGER");
b.Property("CreatedAt")
.HasColumnType("TEXT");
b.Property("CreatorPlayerId")
.HasColumnType("INTEGER");
b.Property("Description")
.IsRequired()
.HasMaxLength(2000)
.HasColumnType("TEXT");
b.Property("EndsAt")
.HasColumnType("TEXT");
b.Property("RoomId")
.HasColumnType("INTEGER");
b.Property