// 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("20260728061658_ClubPermissionsGalleryAndModeration")] partial class ClubPermissionsGalleryAndModeration { /// 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("CustomAvatarItemsJson") .IsRequired() .HasColumnType("TEXT"); 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("OutfitSelectionsV2") .IsRequired() .HasMaxLength(8192) .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.CharadesWordListEntity", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); b.Property("CreatedAt") .HasColumnType("TEXT"); b.Property("IsBuiltIn") .HasColumnType("INTEGER"); b.Property("Name") .IsRequired() .HasColumnType("TEXT"); b.Property("UpdatedAt") .HasColumnType("TEXT"); b.Property("WordsJson") .IsRequired() .HasColumnType("TEXT"); b.HasKey("Id"); b.ToTable("CharadesWordLists"); }); modelBuilder.Entity("DorkNet.Server.Data.Entities.ChatMessageEntity", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); b.Property("Body") .IsRequired() .HasMaxLength(2000) .HasColumnType("TEXT"); b.Property("ModerationState") .HasColumnType("INTEGER"); 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.ChatThreadEntity", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); b.Property("CreatedAt") .HasColumnType("TEXT"); b.Property("CreatorPlayerId") .HasColumnType("INTEGER"); b.Property("Name") .IsRequired() .HasMaxLength(128) .HasColumnType("TEXT"); b.Property("ThreadKey") .IsRequired() .HasMaxLength(96) .HasColumnType("TEXT"); b.Property("UpdatedAt") .HasColumnType("TEXT"); b.HasKey("Id"); b.HasIndex("ThreadKey") .IsUnique(); b.ToTable("ChatThreads"); }); modelBuilder.Entity("DorkNet.Server.Data.Entities.ChatThreadMemberEntity", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); b.Property("JoinedAt") .HasColumnType("TEXT"); b.Property("LastReadMessageId") .HasColumnType("INTEGER"); b.Property("PlayerId") .HasColumnType("INTEGER"); b.Property("SnoozeUntil") .HasColumnType("TEXT"); b.Property("ThreadKey") .IsRequired() .HasColumnType("TEXT"); b.HasKey("Id"); b.HasIndex("PlayerId"); b.HasIndex("ThreadKey", "PlayerId") .IsUnique(); b.ToTable("ChatThreadMembers"); }); 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.ClubAdditionalImageEntity", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); b.Property("ClubId") .HasColumnType("INTEGER"); b.Property("ImageName") .IsRequired() .HasMaxLength(256) .HasColumnType("TEXT"); b.Property("Slot") .HasColumnType("INTEGER"); b.Property("UpdatedAt") .HasColumnType("TEXT"); b.HasKey("Id"); b.HasIndex("ClubId", "Slot") .IsUnique(); b.ToTable("ClubAdditionalImages"); }); modelBuilder.Entity("DorkNet.Server.Data.Entities.ClubAnnouncementEntity", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); b.Property("AuthorPlayerId") .HasColumnType("INTEGER"); b.Property("Body") .IsRequired() .HasMaxLength(4000) .HasColumnType("TEXT"); b.Property("ClubId") .HasColumnType("INTEGER"); b.Property("CreatedAt") .HasColumnType("TEXT"); b.Property("ImageName") .IsRequired() .HasMaxLength(256) .HasColumnType("TEXT"); b.Property("Title") .IsRequired() .HasMaxLength(200) .HasColumnType("TEXT"); b.Property("UpdatedAt") .HasColumnType("TEXT"); b.HasKey("Id"); b.HasIndex("ClubId", "CreatedAt"); b.ToTable("ClubAnnouncements"); }); modelBuilder.Entity("DorkNet.Server.Data.Entities.ClubAnnouncementReadEntity", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); b.Property("AnnouncementId") .HasColumnType("INTEGER"); b.Property("PlayerId") .HasColumnType("INTEGER"); b.Property("ReadAt") .HasColumnType("TEXT"); b.HasKey("Id"); b.HasIndex("PlayerId"); b.HasIndex("AnnouncementId", "PlayerId") .IsUnique(); b.ToTable("ClubAnnouncementReads"); }); modelBuilder.Entity("DorkNet.Server.Data.Entities.ClubCategoryAssignmentEntity", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); b.Property("CategoryTagId") .HasColumnType("INTEGER"); b.Property("ClubId") .HasColumnType("INTEGER"); b.HasKey("Id"); b.HasIndex("CategoryTagId"); b.HasIndex("ClubId", "CategoryTagId") .IsUnique(); b.ToTable("ClubCategoryAssignments"); }); modelBuilder.Entity("DorkNet.Server.Data.Entities.ClubCategoryTagEntity", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); b.Property("Active") .HasColumnType("INTEGER"); b.Property("Name") .IsRequired() .HasMaxLength(64) .HasColumnType("TEXT"); b.Property("OrderIndex") .HasColumnType("INTEGER"); b.HasKey("Id"); b.HasIndex("Name"); b.ToTable("ClubCategoryTags"); }); modelBuilder.Entity("DorkNet.Server.Data.Entities.ClubEntity", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); b.Property("AllowJuniors") .HasColumnType("INTEGER"); b.Property("BanStatus") .HasColumnType("INTEGER"); b.Property("Category") .IsRequired() .HasMaxLength(64) .HasColumnType("TEXT"); b.Property("ClubChatEnabled") .HasColumnType("INTEGER"); b.Property("ClubType") .HasColumnType("INTEGER"); b.Property("ClubhouseRoomId") .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("IsRRO") .HasColumnType("INTEGER"); b.Property("Joinability") .HasColumnType("INTEGER"); b.Property("MinLevel") .HasColumnType("INTEGER"); b.Property("Name") .IsRequired() .HasMaxLength(128) .HasColumnType("TEXT") .UseCollation("NOCASE"); b.Property("State") .HasColumnType("INTEGER"); b.Property("UpdatedAt") .HasColumnType("TEXT"); b.Property("Visibility") .HasColumnType("INTEGER"); 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.ClubRolePermissionEntity", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); b.Property("ApproveMember") .HasColumnType("INTEGER"); b.Property("BanUnban") .HasColumnType("INTEGER"); b.Property("ClubId") .HasColumnType("INTEGER"); b.Property("CreateEvent") .HasColumnType("INTEGER"); b.Property("EditDetails") .HasColumnType("INTEGER"); b.Property("EditPermissionSettings") .HasColumnType("INTEGER"); b.Property("MembershipType") .HasColumnType("INTEGER"); b.Property("PostAnnouncement") .HasColumnType("INTEGER"); b.Property("UpdatedAt") .HasColumnType("TEXT"); b.HasKey("Id"); b.HasIndex("ClubId", "MembershipType") .IsUnique(); b.ToTable("ClubRolePermissions"); }); modelBuilder.Entity("DorkNet.Server.Data.Entities.ClubSubscriptionEntity", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); b.Property("ClubId") .HasColumnType("INTEGER"); b.Property("PlayerId") .HasColumnType("INTEGER"); b.Property("SubscribedAt") .HasColumnType("TEXT"); b.HasKey("Id"); b.HasIndex("ClubId"); b.HasIndex("PlayerId", "ClubId") .IsUnique(); b.ToTable("ClubSubscriptions"); }); 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.CustomAvatarItemEntity", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); b.Property("AssetName") .IsRequired() .HasMaxLength(256) .HasColumnType("TEXT"); b.Property("BaseAvatarItemId") .HasColumnType("INTEGER"); b.Property("CheerCount") .HasColumnType("INTEGER"); b.Property("Color") .IsRequired() .HasMaxLength(64) .HasColumnType("TEXT"); b.Property("CreatedAt") .HasColumnType("TEXT"); b.Property("CreatorPlayerId") .HasColumnType("INTEGER"); b.Property("Description") .IsRequired() .HasMaxLength(1024) .HasColumnType("TEXT"); b.Property("ImageName") .IsRequired() .HasMaxLength(256) .HasColumnType("TEXT"); b.Property("IsFeatured") .HasColumnType("INTEGER"); b.Property("IsPublic") .HasColumnType("INTEGER"); b.Property("ItemType") .HasColumnType("INTEGER"); b.Property("Name") .IsRequired() .HasMaxLength(128) .HasColumnType("TEXT"); b.Property("Price") .HasColumnType("INTEGER"); b.Property("PublicId") .HasColumnType("TEXT"); b.Property("PurchaseCount") .HasColumnType("INTEGER"); b.Property("UpdatedAt") .HasColumnType("TEXT"); b.HasKey("Id"); b.HasIndex("CreatorPlayerId"); b.HasIndex("IsFeatured"); b.HasIndex("IsPublic"); b.HasIndex("PublicId") .IsUnique(); b.ToTable("CustomAvatarItems"); }); modelBuilder.Entity("DorkNet.Server.Data.Entities.CustomAvatarItemOwnershipEntity", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); b.Property("AcquiredAt") .HasColumnType("TEXT"); b.Property("CustomAvatarItemId") .HasColumnType("INTEGER"); b.Property("PlayerId") .HasColumnType("INTEGER"); b.HasKey("Id"); b.HasIndex("CustomAvatarItemId"); b.HasIndex("PlayerId", "CustomAvatarItemId") .IsUnique(); b.ToTable("CustomAvatarItemOwnership"); }); 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.GameRewardSelectionEntity", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); b.Property("CreatedAt") .HasColumnType("TEXT"); b.Property("GiftContext") .HasColumnType("INTEGER"); b.Property("GrantedItemId") .HasColumnType("INTEGER"); b.Property("Message") .IsRequired() .HasMaxLength(256) .HasColumnType("TEXT"); b.Property("Offer1ItemId") .HasColumnType("INTEGER"); b.Property("Offer2ItemId") .HasColumnType("INTEGER"); b.Property("Offer3ItemId") .HasColumnType("INTEGER"); b.Property("PlayerId") .HasColumnType("INTEGER"); b.Property("RewardType") .HasColumnType("INTEGER"); b.Property("SelectedAt") .HasColumnType("TEXT"); b.Property("SelectedGiftDropId") .HasColumnType("INTEGER"); b.HasKey("Id"); b.HasIndex("PlayerId", "SelectedAt"); b.ToTable("GameRewardSelections"); }); 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("SourceStoreItemId") .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("Price") .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.ItemWishlistEntity", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); b.Property("CreatedAt") .HasColumnType("TEXT"); b.Property("ItemKey") .IsRequired() .HasMaxLength(128) .HasColumnType("TEXT"); b.Property("ItemType") .HasColumnType("INTEGER"); b.Property("PlayerId") .HasColumnType("INTEGER"); b.HasKey("Id"); b.HasIndex("PlayerId", "ItemKey", "ItemType") .IsUnique(); b.ToTable("ItemWishlists"); }); modelBuilder.Entity("DorkNet.Server.Data.Entities.KeepsakeEntity", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); b.Property("Category") .IsRequired() .HasMaxLength(64) .HasColumnType("TEXT"); b.Property("Description") .IsRequired() .HasMaxLength(1024) .HasColumnType("TEXT"); b.Property("EarnedAt") .HasColumnType("TEXT"); b.Property("EventKey") .IsRequired() .HasMaxLength(128) .HasColumnType("TEXT"); b.Property("ImageName") .IsRequired() .HasMaxLength(256) .HasColumnType("TEXT"); b.Property("PlayerId") .HasColumnType("INTEGER"); b.Property("Title") .IsRequired() .HasMaxLength(128) .HasColumnType("TEXT"); b.HasKey("Id"); b.HasIndex("PlayerId"); b.HasIndex("PlayerId", "EventKey"); b.ToTable("Keepsakes"); }); modelBuilder.Entity("DorkNet.Server.Data.Entities.LeaderboardChannelMetaEntity", b => { b.Property("RoomId") .HasColumnType("INTEGER"); b.Property("Channel") .HasColumnType("INTEGER"); b.Property("CreatedAt") .HasColumnType("TEXT"); b.Property("LowerIsBetter") .HasColumnType("INTEGER"); b.Property("Name") .IsRequired() .HasColumnType("TEXT"); b.Property("UpdatedAt") .HasColumnType("TEXT"); b.Property("ValueFormat") .IsRequired() .HasColumnType("TEXT"); b.HasKey("RoomId", "Channel"); b.HasIndex("RoomId"); b.ToTable("LeaderboardChannelMeta"); }); modelBuilder.Entity("DorkNet.Server.Data.Entities.LeaderboardStatEntity", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); b.Property("PlayerId") .HasColumnType("INTEGER"); b.Property("RoomId") .HasColumnType("INTEGER"); b.Property("StatChannel") .HasColumnType("INTEGER"); b.Property("UpdatedAt") .HasColumnType("TEXT"); b.Property("Value") .HasColumnType("INTEGER"); b.HasKey("Id"); b.HasIndex("RoomId", "PlayerId", "StatChannel") .IsUnique(); b.HasIndex("RoomId", "StatChannel", "Value"); b.ToTable("LeaderboardStats"); }); modelBuilder.Entity("DorkNet.Server.Data.Entities.LoadingScreenTipEntity", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); b.Property("Context") .HasColumnType("INTEGER"); b.Property("CreatedAt") .HasColumnType("TEXT"); b.Property("ImageName") .IsRequired() .HasMaxLength(128) .HasColumnType("TEXT"); b.Property("IsActive") .HasColumnType("INTEGER"); b.Property("Message") .IsRequired() .HasMaxLength(512) .HasColumnType("TEXT"); b.Property("PlatformMask") .HasColumnType("INTEGER"); b.Property("RoomNamesCsv") .IsRequired() .HasMaxLength(512) .HasColumnType("TEXT"); b.Property("SortOrder") .HasColumnType("INTEGER"); b.Property("Title") .IsRequired() .HasMaxLength(128) .HasColumnType("TEXT"); b.Property("UpdatedAt") .HasColumnType("TEXT"); b.HasKey("Id"); b.ToTable("LoadingScreenTips"); }); 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("RoomId") .HasColumnType("INTEGER"); b.Property("SenderPlayerId") .HasColumnType("INTEGER"); b.Property("SentAt") .HasColumnType("TEXT"); b.Property("Type") .HasColumnType("INTEGER"); 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.PendingDeviceEntity", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); b.Property("DeviceId") .IsRequired() .HasColumnType("TEXT"); b.Property("FirstSeenAt") .HasColumnType("TEXT"); b.Property("LastIp") .HasColumnType("TEXT"); b.Property("LastSeenAt") .HasColumnType("TEXT"); b.Property("Platform") .HasColumnType("INTEGER"); b.Property("PlatformId") .IsRequired() .HasColumnType("TEXT"); b.HasKey("Id"); b.ToTable("PendingDevices"); }); 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("IsCommunityTeam") .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("StartsAt") .HasColumnType("TEXT"); b.Property("Title") .IsRequired() .HasMaxLength(128) .HasColumnType("TEXT"); b.Property("UpdatedAt") .HasColumnType("TEXT"); b.HasKey("Id"); b.HasIndex("CreatorPlayerId"); b.HasIndex("StartsAt"); b.ToTable("PlayerEvents"); }); modelBuilder.Entity("DorkNet.Server.Data.Entities.PlayerEventResponseEntity", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); b.Property("CreatedAt") .HasColumnType("TEXT"); b.Property("EventId") .HasColumnType("INTEGER"); b.Property("PlayerId") .HasColumnType("INTEGER"); b.Property("Response") .HasColumnType("INTEGER"); b.HasKey("Id"); b.HasIndex("PlayerId"); b.HasIndex("EventId", "PlayerId") .IsUnique(); b.ToTable("PlayerEventResponses"); }); modelBuilder.Entity("DorkNet.Server.Data.Entities.PlayerInventoryEntity", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); b.Property("AcquiredAt") .HasColumnType("TEXT"); b.Property("IsActive") .HasColumnType("INTEGER"); b.Property("ItemSlug") .IsRequired() .HasMaxLength(128) .HasColumnType("TEXT"); b.Property("PlayerId") .HasColumnType("INTEGER"); b.Property("Quantity") .HasColumnType("INTEGER"); b.HasKey("Id"); b.HasIndex("PlayerId"); b.HasIndex("PlayerId", "ItemSlug") .IsUnique(); b.ToTable("PlayerInventory"); }); modelBuilder.Entity("DorkNet.Server.Data.Entities.PlayerSettingEntity", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); b.Property("Key") .IsRequired() .HasMaxLength(128) .HasColumnType("TEXT"); b.Property("PlayerId") .HasColumnType("INTEGER"); b.Property("Value") .IsRequired() .HasMaxLength(1024) .HasColumnType("TEXT"); b.HasKey("Id"); b.HasIndex("PlayerId", "Key") .IsUnique(); b.ToTable("PlayerSettings"); }); modelBuilder.Entity("DorkNet.Server.Data.Entities.PlaylistEntity", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); b.Property("Accessibility") .HasColumnType("INTEGER"); b.Property("CheerCount") .HasColumnType("INTEGER"); b.Property("CreatedAt") .HasColumnType("TEXT"); b.Property("CreatorPlayerId") .HasColumnType("INTEGER"); b.Property("CustomWarning") .IsRequired() .HasMaxLength(512) .HasColumnType("TEXT"); b.Property("Description") .IsRequired() .HasMaxLength(2000) .HasColumnType("TEXT"); b.Property("FavoriteCount") .HasColumnType("INTEGER"); b.Property("ImageName") .IsRequired() .HasMaxLength(256) .HasColumnType("TEXT"); b.Property("IsCurated") .HasColumnType("INTEGER"); b.Property("Name") .IsRequired() .HasMaxLength(128) .HasColumnType("TEXT") .UseCollation("NOCASE"); b.Property("OrderIndex") .HasColumnType("INTEGER"); b.Property("SupportsJuniors") .HasColumnType("INTEGER"); b.Property("SupportsLevelVoting") .HasColumnType("INTEGER"); b.Property("SupportsScreens") .HasColumnType("INTEGER"); b.Property("SupportsTeleportVR") .HasColumnType("INTEGER"); b.Property("SupportsWalkVR") .HasColumnType("INTEGER"); b.Property("TagsCsv") .IsRequired() .HasMaxLength(1024) .HasColumnType("TEXT"); b.Property("UpdatedAt") .HasColumnType("TEXT"); b.Property("VisitCount") .HasColumnType("INTEGER"); b.Property("VisitorCount") .HasColumnType("INTEGER"); b.Property("WarningMask") .HasColumnType("INTEGER"); b.HasKey("Id"); b.HasIndex("CreatorPlayerId"); b.HasIndex("IsCurated"); b.HasIndex("Name"); b.ToTable("Playlists"); }); modelBuilder.Entity("DorkNet.Server.Data.Entities.PlaylistInteractionEntity", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); b.Property("Cheered") .HasColumnType("INTEGER"); b.Property("Favorited") .HasColumnType("INTEGER"); b.Property("PlayerId") .HasColumnType("INTEGER"); b.Property("PlaylistId") .HasColumnType("INTEGER"); b.Property("UpdatedAt") .HasColumnType("TEXT"); b.HasKey("Id"); b.HasIndex("PlayerId"); b.HasIndex("PlaylistId", "PlayerId") .IsUnique(); b.ToTable("PlaylistInteractions"); }); modelBuilder.Entity("DorkNet.Server.Data.Entities.PlaylistRoomEntity", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); b.Property("OrderIndex") .HasColumnType("INTEGER"); b.Property("PlaylistId") .HasColumnType("INTEGER"); b.Property("RoomId") .HasColumnType("INTEGER"); b.HasKey("Id"); b.HasIndex("PlaylistId"); b.HasIndex("RoomId"); b.HasIndex("PlaylistId", "OrderIndex"); b.ToTable("PlaylistRooms"); }); modelBuilder.Entity("DorkNet.Server.Data.Entities.PrivateInstanceEntity", b => { b.Property("Id") .HasColumnType("INTEGER"); b.Property("CreatedAt") .HasColumnType("TEXT"); b.Property("DataBlob") .IsRequired() .HasMaxLength(256) .HasColumnType("TEXT"); b.Property("Location") .IsRequired() .HasMaxLength(64) .HasColumnType("TEXT"); b.Property("MaxCapacity") .HasColumnType("INTEGER"); b.Property("Name") .IsRequired() .HasMaxLength(128) .HasColumnType("TEXT"); b.Property("OwnerPlayerId") .HasColumnType("INTEGER"); b.Property("PhotonRegion") .IsRequired() .HasMaxLength(16) .HasColumnType("TEXT"); b.Property("PhotonRoomId") .IsRequired() .HasMaxLength(256) .HasColumnType("TEXT"); b.Property("RoomCode") .IsRequired() .HasMaxLength(16) .HasColumnType("TEXT"); b.Property("RoomId") .HasColumnType("INTEGER"); b.Property("SubRoomId") .HasColumnType("INTEGER"); b.HasKey("Id"); b.HasIndex("OwnerPlayerId"); b.HasIndex("RoomId", "SubRoomId"); b.ToTable("PrivateInstances"); }); modelBuilder.Entity("DorkNet.Server.Data.Entities.PrivateInstanceInviteeEntity", b => { b.Property("PrivateInstanceId") .HasColumnType("INTEGER"); b.Property("PlayerId") .HasColumnType("INTEGER"); b.Property("InvitedAt") .HasColumnType("TEXT"); b.Property("LatestInviteMessageId") .HasColumnType("INTEGER"); b.HasKey("PrivateInstanceId", "PlayerId"); b.HasIndex("PlayerId"); b.ToTable("PrivateInstanceInvitees"); }); modelBuilder.Entity("DorkNet.Server.Data.Entities.PushTokenEntity", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); b.Property("CreatedAt") .HasColumnType("TEXT"); b.Property("Platform") .IsRequired() .HasMaxLength(16) .HasColumnType("TEXT"); b.Property("PlayerId") .HasColumnType("INTEGER"); b.Property("Token") .IsRequired() .HasMaxLength(256) .HasColumnType("TEXT"); b.Property("UpdatedAt") .HasColumnType("TEXT"); b.HasKey("Id"); b.HasIndex("Token"); b.HasIndex("PlayerId", "Platform") .IsUnique(); b.ToTable("PushTokens"); }); modelBuilder.Entity("DorkNet.Server.Data.Entities.RelationshipEntity", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); b.Property("CreatedAt") .HasColumnType("TEXT"); b.Property("Favorited") .HasColumnType("INTEGER"); b.Property("Ignored") .HasColumnType("INTEGER"); b.Property("Muted") .HasColumnType("INTEGER"); b.Property("RequesterId") .HasColumnType("INTEGER"); b.Property("Status") .HasColumnType("INTEGER"); b.Property("TargetId") .HasColumnType("INTEGER"); b.Property("UpdatedAt") .HasColumnType("TEXT"); b.HasKey("Id"); b.HasIndex("RequesterId", "TargetId") .IsUnique(); b.ToTable("Relationships"); }); modelBuilder.Entity("DorkNet.Server.Data.Entities.ReportEntity", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); b.Property("Category") .HasColumnType("INTEGER"); b.Property("CreatedAt") .HasColumnType("TEXT"); b.Property("GameSessionId") .HasColumnType("INTEGER"); b.Property("Message") .IsRequired() .HasMaxLength(1000) .HasColumnType("TEXT"); b.Property("ReporterPlayerId") .HasColumnType("INTEGER"); b.Property("ResolutionNote") .IsRequired() .HasMaxLength(512) .HasColumnType("TEXT"); b.Property("ResolvedAt") .HasColumnType("TEXT"); b.Property("ResolverAdminId") .HasColumnType("INTEGER"); b.Property("RoomId") .HasColumnType("INTEGER"); b.Property("TargetEventId") .HasColumnType("INTEGER"); b.Property("TargetInventionId") .HasColumnType("INTEGER"); b.Property("TargetPlayerId") .HasColumnType("INTEGER"); b.Property("TargetRoomId") .HasColumnType("INTEGER"); b.HasKey("Id"); b.HasIndex("ReporterPlayerId"); b.HasIndex("ResolvedAt"); b.HasIndex("TargetPlayerId"); b.ToTable("Reports"); }); modelBuilder.Entity("DorkNet.Server.Data.Entities.RoomBanEntity", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); b.Property("BanType") .HasColumnType("INTEGER"); b.Property("BannedByPlayerId") .HasColumnType("INTEGER"); b.Property("BannedPlayerId") .HasColumnType("INTEGER"); b.Property("CreatedAt") .HasColumnType("TEXT"); b.Property("Reason") .IsRequired() .HasMaxLength(512) .HasColumnType("TEXT"); b.Property("RoomId") .HasColumnType("INTEGER"); b.Property("Until") .HasColumnType("TEXT"); b.HasKey("Id"); b.HasIndex("BannedPlayerId"); b.HasIndex("RoomId", "BannedPlayerId"); b.ToTable("RoomBans"); }); modelBuilder.Entity("DorkNet.Server.Data.Entities.RoomBookmarkEntity", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); b.Property("CreatedAt") .HasColumnType("TEXT"); b.Property("PlayerId") .HasColumnType("INTEGER"); b.Property("RoomId") .HasColumnType("INTEGER"); b.HasKey("Id"); b.HasIndex("PlayerId"); b.HasIndex("PlayerId", "RoomId") .IsUnique(); b.ToTable("RoomBookmarks"); }); modelBuilder.Entity("DorkNet.Server.Data.Entities.RoomConsumableEntity", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); b.Property("CreatedAt") .HasColumnType("TEXT"); b.Property("CreatorPlayerId") .HasColumnType("INTEGER"); b.Property("CurrencyId") .HasColumnType("TEXT"); b.Property("Description") .IsRequired() .HasMaxLength(1024) .HasColumnType("TEXT"); b.Property("ImageName") .IsRequired() .HasMaxLength(256) .HasColumnType("TEXT"); b.Property("IsDeleted") .HasColumnType("INTEGER"); b.Property("Name") .IsRequired() .HasMaxLength(128) .HasColumnType("TEXT"); b.Property("Price") .HasColumnType("INTEGER"); b.Property("PublicId") .HasColumnType("TEXT"); b.Property("RoomId") .HasColumnType("INTEGER"); b.Property("UpdatedAt") .HasColumnType("TEXT"); b.HasKey("Id"); b.HasIndex("CreatorPlayerId"); b.HasIndex("PublicId") .IsUnique(); b.HasIndex("RoomId"); b.ToTable("RoomConsumables"); }); modelBuilder.Entity("DorkNet.Server.Data.Entities.RoomConsumableOwnershipEntity", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); b.Property("ConcurrencyCode") .HasColumnType("TEXT"); b.Property("Count") .HasColumnType("INTEGER"); b.Property("ModifiedAt") .HasColumnType("TEXT"); b.Property("PlayerId") .HasColumnType("INTEGER"); b.Property("RoomConsumableId") .HasColumnType("INTEGER"); b.HasKey("Id"); b.HasIndex("RoomConsumableId"); b.HasIndex("PlayerId", "RoomConsumableId") .IsUnique(); b.ToTable("RoomConsumableOwnership"); }); modelBuilder.Entity("DorkNet.Server.Data.Entities.RoomCurrencyBalanceEntity", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); b.Property("Balance") .HasColumnType("INTEGER"); b.Property("PlayerId") .HasColumnType("INTEGER"); b.Property("RoomCurrencyId") .HasColumnType("INTEGER"); b.Property("UpdatedAt") .HasColumnType("TEXT"); b.HasKey("Id"); b.HasIndex("RoomCurrencyId"); b.HasIndex("PlayerId", "RoomCurrencyId") .IsUnique(); b.ToTable("RoomCurrencyBalances"); }); modelBuilder.Entity("DorkNet.Server.Data.Entities.RoomCurrencyEntity", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); b.Property("CreatedAt") .HasColumnType("TEXT"); b.Property("CreatorPlayerId") .HasColumnType("INTEGER"); b.Property("DailyLimit") .HasColumnType("INTEGER"); b.Property("Description") .IsRequired() .HasMaxLength(512) .HasColumnType("TEXT"); b.Property("ImageName") .IsRequired() .HasMaxLength(256) .HasColumnType("TEXT"); b.Property("IsDeleted") .HasColumnType("INTEGER"); b.Property("Name") .IsRequired() .HasMaxLength(64) .HasColumnType("TEXT"); b.Property("PublicId") .HasColumnType("TEXT"); b.Property("RoomId") .HasColumnType("INTEGER"); b.Property("UpdatedAt") .HasColumnType("TEXT"); b.HasKey("Id"); b.HasIndex("CreatorPlayerId"); b.HasIndex("PublicId") .IsUnique(); b.HasIndex("RoomId"); b.ToTable("RoomCurrencies"); }); modelBuilder.Entity("DorkNet.Server.Data.Entities.RoomCurrencyPurchaseOfferEntity", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); b.Property("Amount") .HasColumnType("INTEGER"); b.Property("CreatedAt") .HasColumnType("TEXT"); b.Property("CurrencyType") .HasColumnType("INTEGER"); b.Property("IsDeleted") .HasColumnType("INTEGER"); b.Property("Name") .IsRequired() .HasMaxLength(64) .HasColumnType("TEXT"); b.Property("Price") .HasColumnType("INTEGER"); b.Property("PublicId") .HasColumnType("TEXT"); b.Property("RoomCurrencyId") .HasColumnType("INTEGER"); b.Property("UpdatedAt") .HasColumnType("TEXT"); b.HasKey("Id"); b.HasIndex("PublicId") .IsUnique(); b.HasIndex("RoomCurrencyId"); b.ToTable("RoomCurrencyPurchaseOffers"); }); modelBuilder.Entity("DorkNet.Server.Data.Entities.RoomDataBlobEntity", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); b.Property("BlobName") .IsRequired() .HasMaxLength(128) .HasColumnType("TEXT"); b.Property("Bytes") .HasColumnType("BLOB"); b.Property("ReferencedFilenamesCsv") .IsRequired() .HasMaxLength(2048) .HasColumnType("TEXT"); b.Property("RoomId") .HasColumnType("INTEGER"); b.Property("SubRoomId") .HasColumnType("INTEGER"); b.Property("UploadedAt") .HasColumnType("TEXT"); b.Property("UploadedByPlayerId") .HasColumnType("INTEGER"); b.HasKey("Id"); b.HasIndex("BlobName") .IsUnique(); b.HasIndex("RoomId"); b.ToTable("RoomDataBlobs"); }); modelBuilder.Entity("DorkNet.Server.Data.Entities.RoomEntity", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); b.Property("Accessibility") .HasColumnType("INTEGER"); b.Property("AllowNewUsers") .HasColumnType("INTEGER"); b.Property("AllowsJuniors") .HasColumnType("INTEGER"); b.Property("CheerCount") .HasColumnType("INTEGER"); b.Property("CloningAllowed") .HasColumnType("INTEGER"); b.Property("CreatedAt") .HasColumnType("TEXT"); b.Property("CreatorPlayerId") .HasColumnType("INTEGER"); b.Property("CurrentDataBlobName") .IsRequired() .HasMaxLength(128) .HasColumnType("TEXT"); b.Property("CustomRoomWarning") .IsRequired() .HasMaxLength(512) .HasColumnType("TEXT"); b.Property("Description") .IsRequired() .HasMaxLength(2000) .HasColumnType("TEXT"); b.Property("DisableMicAutoMute") .HasColumnType("INTEGER"); b.Property("FavoriteCount") .HasColumnType("INTEGER"); b.Property("HiddenFromBrowse") .HasColumnType("INTEGER"); b.Property("HotScore") .HasColumnType("REAL"); b.Property("ImageName") .IsRequired() .HasMaxLength(256) .HasColumnType("TEXT"); b.Property("IsAGRoom") .HasColumnType("INTEGER"); b.Property("IsDormRoom") .HasColumnType("INTEGER"); b.Property("IsRoomLinkedToRecRoomStudio") .HasColumnType("INTEGER"); b.Property("IsStudioRoom") .HasColumnType("INTEGER"); b.Property("LoadScreensJson") .IsRequired() .HasMaxLength(4096) .HasColumnType("TEXT"); b.Property("LocationReplicationId") .IsRequired() .HasMaxLength(64) .HasColumnType("TEXT"); b.Property("MaxCapacity") .HasColumnType("INTEGER"); b.Property("MaxPlayerCalculationMode") .HasColumnType("INTEGER"); b.Property("MinLevel") .HasColumnType("INTEGER"); b.Property("Name") .IsRequired() .HasMaxLength(128) .HasColumnType("TEXT") .UseCollation("NOCASE"); b.Property("PromoExternalContentJson") .IsRequired() .HasMaxLength(4096) .HasColumnType("TEXT"); b.Property("PromoImagesJson") .IsRequired() .HasMaxLength(4096) .HasColumnType("TEXT"); b.Property("RoomWarningMask") .HasColumnType("INTEGER"); b.Property("State") .HasColumnType("INTEGER"); b.Property("StudioSessionId") .IsRequired() .HasMaxLength(128) .HasColumnType("TEXT"); b.Property("SupportsLevelVoting") .HasColumnType("INTEGER"); b.Property("SupportsMobile") .HasColumnType("INTEGER"); b.Property("SupportsScreens") .HasColumnType("INTEGER"); b.Property("SupportsTeleportVR") .HasColumnType("INTEGER"); b.Property("SupportsVRLow") .HasColumnType("INTEGER"); b.Property("SupportsWalkVR") .HasColumnType("INTEGER"); b.Property("TagsCsv") .IsRequired() .HasMaxLength(1024) .HasColumnType("TEXT"); b.Property("UpdatedAt") .HasColumnType("TEXT"); b.Property("VisitCount") .HasColumnType("INTEGER"); b.Property("VisitorCount") .HasColumnType("INTEGER"); b.HasKey("Id"); b.HasIndex("CreatorPlayerId"); b.HasIndex("HotScore"); b.HasIndex("Name") .IsUnique(); b.ToTable("Rooms"); }); modelBuilder.Entity("DorkNet.Server.Data.Entities.RoomKeyEntity", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); b.Property("CreatedAt") .HasColumnType("TEXT"); b.Property("CreatorPlayerId") .HasColumnType("INTEGER"); b.Property("Description") .IsRequired() .HasMaxLength(174) .HasColumnType("TEXT"); b.Property("IsDeleted") .HasColumnType("INTEGER"); b.Property("Name") .IsRequired() .HasMaxLength(40) .HasColumnType("TEXT"); b.Property("Price") .HasColumnType("INTEGER"); b.Property("ReplicationId") .IsRequired() .HasMaxLength(64) .HasColumnType("TEXT"); b.Property("RoomId") .HasColumnType("INTEGER"); b.Property("UpdatedAt") .HasColumnType("TEXT"); b.HasKey("Id"); b.HasIndex("CreatorPlayerId"); b.HasIndex("RoomId"); b.HasIndex("RoomId", "Name"); b.ToTable("RoomKeys"); }); modelBuilder.Entity("DorkNet.Server.Data.Entities.RoomKeyPurchaseEntity", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); b.Property("PaidPrice") .HasColumnType("INTEGER"); b.Property("PlayerId") .HasColumnType("INTEGER"); b.Property("PurchasedAt") .HasColumnType("TEXT"); b.Property("RoomKeyId") .HasColumnType("INTEGER"); b.HasKey("Id"); b.HasIndex("PlayerId"); b.HasIndex("RoomKeyId", "PlayerId") .IsUnique(); b.ToTable("RoomKeyPurchases"); }); modelBuilder.Entity("DorkNet.Server.Data.Entities.RoomRoleEntity", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); b.Property("Accepted") .HasColumnType("INTEGER"); b.Property("GrantedAt") .HasColumnType("TEXT"); b.Property("GrantedByPlayerId") .HasColumnType("INTEGER"); b.Property("PlayerId") .HasColumnType("INTEGER"); b.Property("Role") .HasColumnType("INTEGER"); b.Property("RoomId") .HasColumnType("INTEGER"); b.HasKey("Id"); b.HasIndex("RoomId"); b.HasIndex("RoomId", "PlayerId", "Role") .IsUnique(); b.ToTable("RoomRoles"); }); modelBuilder.Entity("DorkNet.Server.Data.Entities.RoomSceneEntity", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); b.Property("CanMatchmakeInto") .HasColumnType("INTEGER"); b.Property("DataBlobName") .IsRequired() .HasMaxLength(128) .HasColumnType("TEXT"); b.Property("DataModifiedAt") .HasColumnType("TEXT"); b.Property("IsSandbox") .HasColumnType("INTEGER"); b.Property("MaxPlayers") .HasColumnType("INTEGER"); b.Property("Name") .IsRequired() .HasMaxLength(128) .HasColumnType("TEXT") .UseCollation("NOCASE"); b.Property("OrderIndex") .HasColumnType("INTEGER"); b.Property("RoomId") .HasColumnType("INTEGER"); b.Property("RoomSceneLocationId") .IsRequired() .HasMaxLength(64) .HasColumnType("TEXT"); b.Property("StudioAssetBundleNamesCsv") .IsRequired() .HasMaxLength(4096) .HasColumnType("TEXT"); b.Property("StudioSubRoomDataSaveId") .HasColumnType("INTEGER"); b.Property("StudioUnityAssetId") .IsRequired() .HasMaxLength(64) .HasColumnType("TEXT"); b.HasKey("Id"); b.HasIndex("RoomId", "Name"); b.HasIndex("RoomId", "OrderIndex") .IsUnique(); b.ToTable("RoomScenes"); }); modelBuilder.Entity("DorkNet.Server.Data.Entities.RoomVisitEntity", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); b.Property("FirstVisitAt") .HasColumnType("TEXT"); b.Property("LastVisitAt") .HasColumnType("TEXT"); b.Property("PlayerId") .HasColumnType("INTEGER"); b.Property("RoomId") .HasColumnType("INTEGER"); b.Property("VisitCount") .HasColumnType("INTEGER"); b.HasKey("Id"); b.HasIndex("PlayerId"); b.HasIndex("RoomId", "LastVisitAt"); b.HasIndex("RoomId", "PlayerId") .IsUnique(); b.ToTable("RoomVisits"); }); modelBuilder.Entity("DorkNet.Server.Data.Entities.RoyaleMatchEntity", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); b.Property("ChestsOpened") .HasColumnType("INTEGER"); b.Property("CompletedAt") .HasColumnType("TEXT"); b.Property("CustomGame") .HasColumnType("INTEGER"); b.Property("HealthPotionsConsumed") .HasColumnType("INTEGER"); b.Property("NumEliminations") .HasColumnType("INTEGER"); b.Property("Rank") .HasColumnType("INTEGER"); b.Property("SecondsAlive") .HasColumnType("INTEGER"); b.Property("SecondsInAir") .HasColumnType("INTEGER"); b.Property("ShieldPotionsConsumed") .HasColumnType("INTEGER"); b.Property("WalkGame") .HasColumnType("INTEGER"); b.HasKey("Id"); b.HasIndex("CompletedAt"); b.ToTable("RoyaleMatches"); }); modelBuilder.Entity("DorkNet.Server.Data.Entities.RoyaleMatchPlayerEntity", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); b.Property("MatchId") .HasColumnType("INTEGER"); b.Property("NumEliminations") .HasColumnType("INTEGER"); b.Property("PlayerId") .HasColumnType("INTEGER"); b.Property("Rank") .HasColumnType("INTEGER"); b.Property("SecondsAlive") .HasColumnType("INTEGER"); b.HasKey("Id"); b.HasIndex("PlayerId"); b.HasIndex("MatchId", "PlayerId"); b.ToTable("RoyaleMatchPlayers"); }); modelBuilder.Entity("DorkNet.Server.Data.Entities.RoyalePlayerProgressEntity", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); b.Property("CurrentLevelXPThreshold") .HasColumnType("INTEGER"); b.Property("Level") .HasColumnType("INTEGER"); b.Property("NextLevelAcornReward") .HasColumnType("INTEGER"); b.Property("NextLevelXPThreshold") .HasColumnType("INTEGER"); b.Property("PlayerId") .HasColumnType("INTEGER"); b.Property("RankIdx") .HasColumnType("INTEGER"); b.Property("RankName") .IsRequired() .HasMaxLength(64) .HasColumnType("TEXT"); b.Property("TotalXP") .HasColumnType("INTEGER"); b.Property("UpdatedAt") .HasColumnType("TEXT"); b.HasKey("Id"); b.HasIndex("PlayerId") .IsUnique(); b.ToTable("RoyalePlayerProgress"); }); modelBuilder.Entity("DorkNet.Server.Data.Entities.ServerSettingsEntity", b => { b.Property("Id") .HasColumnType("INTEGER"); b.Property("AllAvatarItemsOwned") .HasColumnType("INTEGER"); b.Property("BaseRoomNamesJson") .IsRequired() .HasColumnType("TEXT"); b.Property("CharadesSlotBindingsJson") .IsRequired() .HasColumnType("TEXT"); b.Property("DiscoveredGameConfigsJson") .IsRequired() .ValueGeneratedOnAdd() .HasColumnType("TEXT") .HasDefaultValue(""); b.Property("GlobalFriendsEnabled") .HasColumnType("INTEGER"); b.Property("PlayMenuTagsJson") .IsRequired() .ValueGeneratedOnAdd() .HasColumnType("TEXT") .HasDefaultValue(""); b.Property("ProfanityFilterDisabled") .HasColumnType("INTEGER"); b.Property("RecCenterDoorsJson") .IsRequired() .ValueGeneratedOnAdd() .HasColumnType("TEXT") .HasDefaultValue(""); b.Property("RoomBlobVersionClampDisabled") .HasColumnType("INTEGER"); b.Property("SignupsDisabled") .HasColumnType("INTEGER"); b.Property("UpdatedAt") .HasColumnType("TEXT"); b.Property("WeeklyChallengeRewardJson") .IsRequired() .ValueGeneratedOnAdd() .HasColumnType("TEXT") .HasDefaultValue(""); b.Property("WeeklyChallengesCompletedRequired") .ValueGeneratedOnAdd() .HasColumnType("INTEGER") .HasDefaultValue(true); b.Property("WeeklyChallengesJson") .IsRequired() .ValueGeneratedOnAdd() .HasColumnType("TEXT") .HasDefaultValue(""); b.HasKey("Id"); b.ToTable("ServerSettings"); }); modelBuilder.Entity("DorkNet.Server.Data.Entities.SignupCodeEntity", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); b.Property("Code") .IsRequired() .HasColumnType("TEXT"); b.Property("CreatedAt") .HasColumnType("TEXT"); b.Property("CreatedByPlayerId") .HasColumnType("INTEGER"); b.Property("Descriptor") .IsRequired() .HasColumnType("TEXT"); b.Property("ExpiresAt") .HasColumnType("TEXT"); b.Property("RedeemedAt") .HasColumnType("TEXT"); b.Property("RedeemedByPlayerId") .HasColumnType("INTEGER"); b.Property("Revoked") .HasColumnType("INTEGER"); b.HasKey("Id"); b.ToTable("SignupCodes"); }); modelBuilder.Entity("DorkNet.Server.Data.Entities.StoreItemEntity", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); b.Property("AvailableUntil") .HasColumnType("TEXT"); b.Property("Category") .IsRequired() .HasMaxLength(32) .HasColumnType("TEXT"); b.Property("CreatedAt") .HasColumnType("TEXT"); b.Property("CurrencyType") .HasColumnType("INTEGER"); b.Property("Description") .IsRequired() .HasMaxLength(1024) .HasColumnType("TEXT"); b.Property("DisplayName") .IsRequired() .HasMaxLength(128) .HasColumnType("TEXT"); b.Property("ImageName") .IsRequired() .HasMaxLength(256) .HasColumnType("TEXT"); b.Property("IsActive") .HasColumnType("INTEGER"); b.Property("IsLimitedTime") .HasColumnType("INTEGER"); b.Property("Price") .HasColumnType("INTEGER"); b.Property("Slug") .IsRequired() .HasMaxLength(128) .HasColumnType("TEXT"); b.Property("Storefront") .IsRequired() .HasMaxLength(32) .HasColumnType("TEXT"); b.Property("UpdatedAt") .HasColumnType("TEXT"); b.HasKey("Id"); b.HasIndex("Slug") .IsUnique(); b.HasIndex("Storefront"); b.HasIndex("IsActive", "Category"); b.ToTable("StoreItems"); }); modelBuilder.Entity("DorkNet.Server.Data.Entities.SubscriptionEntity", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); b.Property("CreatedAt") .HasColumnType("TEXT"); b.Property("SubscriberPlayerId") .HasColumnType("INTEGER"); b.Property("TargetPlayerId") .HasColumnType("INTEGER"); b.HasKey("Id"); b.HasIndex("SubscriberPlayerId"); b.HasIndex("TargetPlayerId"); b.HasIndex("SubscriberPlayerId", "TargetPlayerId") .IsUnique(); b.ToTable("Subscriptions"); }); modelBuilder.Entity("DorkNet.Server.Data.Entities.TestCaseEntity", b => { b.Property("Pk") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); b.Property("AssignedPlayerIdsJson") .IsRequired() .HasColumnType("TEXT"); b.Property("AssignedPlayerNamesJson") .IsRequired() .HasColumnType("TEXT"); b.Property("CommentsJson") .IsRequired() .HasColumnType("TEXT"); b.Property("CreatedAt") .HasColumnType("TEXT"); b.Property("Description") .IsRequired() .HasMaxLength(2000) .HasColumnType("TEXT"); b.Property("Id") .HasMaxLength(64) .HasColumnType("TEXT"); b.Property("JiraBugUrl") .IsRequired() .HasMaxLength(512) .HasColumnType("TEXT"); b.Property("JiraUrl") .IsRequired() .HasMaxLength(512) .HasColumnType("TEXT"); b.Property("Key") .IsRequired() .HasMaxLength(64) .HasColumnType("TEXT"); b.Property("MinNumAssignedPlayers") .HasColumnType("INTEGER"); b.Property("RoomName") .IsRequired() .HasMaxLength(128) .HasColumnType("TEXT"); b.Property("Status") .HasColumnType("INTEGER"); b.Property("TagsJson") .IsRequired() .HasColumnType("TEXT"); b.Property("TestPassId") .HasColumnType("INTEGER"); b.Property("Title") .IsRequired() .HasMaxLength(256) .HasColumnType("TEXT"); b.Property("UpdatedAt") .HasColumnType("TEXT"); b.HasKey("Pk"); b.HasIndex("Id") .IsUnique(); b.HasIndex("Status"); b.HasIndex("TestPassId"); b.ToTable("TestCases"); }); modelBuilder.Entity("DorkNet.Server.Data.Entities.TestPassEntity", b => { b.Property("Id") .HasColumnType("INTEGER"); b.Property("Description") .IsRequired() .HasMaxLength(2000) .HasColumnType("TEXT"); b.Property("EndDate") .HasColumnType("TEXT"); b.Property("Name") .IsRequired() .HasMaxLength(128) .HasColumnType("TEXT"); b.Property("StartDate") .HasColumnType("TEXT"); b.Property("TagsJson") .IsRequired() .HasColumnType("TEXT"); b.Property("WasManuallyClosed") .HasColumnType("INTEGER"); b.HasKey("Id"); b.ToTable("TestPasses"); }); modelBuilder.Entity("DorkNet.Server.Data.Entities.UgcPurchasableEntity", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); b.Property("CreatedAt") .HasColumnType("TEXT"); b.Property("CreatorPlayerId") .HasColumnType("INTEGER"); b.Property("CurrencyType") .HasColumnType("INTEGER"); b.Property("Description") .IsRequired() .HasMaxLength(1024) .HasColumnType("TEXT"); b.Property("ImageName") .IsRequired() .HasMaxLength(256) .HasColumnType("TEXT"); b.Property("IsDeleted") .HasColumnType("INTEGER"); b.Property("IsFeatured") .HasColumnType("INTEGER"); b.Property("ItemType") .HasColumnType("INTEGER"); b.Property("Name") .IsRequired() .HasMaxLength(128) .HasColumnType("TEXT"); b.Property("Price") .HasColumnType("INTEGER"); b.Property("PublicId") .HasColumnType("TEXT"); b.Property("RoomId") .HasColumnType("INTEGER"); b.Property("SortOrder") .HasColumnType("INTEGER"); b.Property("UpdatedAt") .HasColumnType("TEXT"); b.HasKey("Id"); b.HasIndex("CreatorPlayerId"); b.HasIndex("PublicId") .IsUnique(); b.HasIndex("RoomId"); b.ToTable("UgcPurchasables"); }); modelBuilder.Entity("DorkNet.Server.Data.Entities.AvatarEntity", b => { b.HasOne("DorkNet.Server.Data.Entities.PlayerEntity", "Player") .WithOne("Avatar") .HasForeignKey("DorkNet.Server.Data.Entities.AvatarEntity", "PlayerId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Player"); }); modelBuilder.Entity("DorkNet.Server.Data.Entities.PlayerSettingEntity", b => { b.HasOne("DorkNet.Server.Data.Entities.PlayerEntity", "Player") .WithMany("Settings") .HasForeignKey("PlayerId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Player"); }); modelBuilder.Entity("DorkNet.Server.Data.Entities.RelationshipEntity", b => { b.HasOne("DorkNet.Server.Data.Entities.PlayerEntity", "Requester") .WithMany("Relationships") .HasForeignKey("RequesterId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Requester"); }); modelBuilder.Entity("DorkNet.Server.Data.Entities.PlayerEntity", b => { b.Navigation("Avatar"); b.Navigation("Relationships"); b.Navigation("Settings"); }); #pragma warning restore 612, 618 } } }