feat(missions): wire 6 entities into DbContext + AddMissionsAndAchievements migration

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
gamer147
2026-05-27 10:11:25 -04:00
parent 062adefb99
commit ebba3c0eef
4 changed files with 3809 additions and 0 deletions

View File

@@ -370,6 +370,48 @@ namespace SVSim.Database.Migrations
b.ToTable("ViewerStoryProgress");
});
modelBuilder.Entity("SVSim.Database.Models.AchievementCatalogEntry", b =>
{
b.Property<int>("AchievementType")
.HasColumnType("integer");
b.Property<int>("Level")
.HasColumnType("integer");
b.Property<int?>("EventArg")
.HasColumnType("integer");
b.Property<string>("EventType")
.HasColumnType("text");
b.Property<string>("Name")
.IsRequired()
.HasColumnType("text");
b.Property<int>("OrderNum")
.HasColumnType("integer");
b.Property<int>("RequireNumber")
.HasColumnType("integer");
b.Property<long>("RewardDetailId")
.HasColumnType("bigint");
b.Property<int>("RewardNumber")
.HasColumnType("integer");
b.Property<int>("RewardType")
.HasColumnType("integer");
b.HasKey("AchievementType", "Level");
b.HasIndex("AchievementType");
b.HasIndex("EventType", "EventArg");
b.ToTable("AchievementCatalog");
});
modelBuilder.Entity("SVSim.Database.Models.ArenaSeasonConfig", b =>
{
b.Property<int>("Id")
@@ -516,6 +558,64 @@ namespace SVSim.Database.Migrations
b.ToTable("BattlePassLevels");
});
modelBuilder.Entity("SVSim.Database.Models.BattlePassMonthlyMissionEntry", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
b.Property<int>("BattlePassPoint")
.HasColumnType("integer");
b.Property<DateTime>("DateCreated")
.HasColumnType("timestamp with time zone");
b.Property<DateTime?>("DateUpdated")
.HasColumnType("timestamp with time zone");
b.Property<int?>("EventArg")
.HasColumnType("integer");
b.Property<string>("EventType")
.HasColumnType("text");
b.Property<int>("Month")
.HasColumnType("integer");
b.Property<string>("Name")
.IsRequired()
.HasColumnType("text");
b.Property<int>("OrderNum")
.HasColumnType("integer");
b.Property<int>("RequireNumber")
.HasColumnType("integer");
b.Property<long?>("RewardDetailId")
.HasColumnType("bigint");
b.Property<int?>("RewardNumber")
.HasColumnType("integer");
b.Property<int?>("RewardType")
.HasColumnType("integer");
b.Property<int>("Year")
.HasColumnType("integer");
b.HasKey("Id");
b.HasIndex("Year", "Month");
b.HasIndex("Year", "Month", "OrderNum")
.IsUnique();
b.ToTable("BattlePassMonthlyMissions");
});
modelBuilder.Entity("SVSim.Database.Models.BattlePassRewardEntry", b =>
{
b.Property<long>("Id")
@@ -1094,6 +1194,63 @@ namespace SVSim.Database.Migrations
b.ToTable("MasterPointRankingPeriods");
});
modelBuilder.Entity("SVSim.Database.Models.MissionCatalogEntry", b =>
{
b.Property<int>("Id")
.HasColumnType("integer");
b.Property<int>("BattlePassPoint")
.HasColumnType("integer");
b.Property<DateTime>("DateCreated")
.HasColumnType("timestamp with time zone");
b.Property<DateTime?>("DateUpdated")
.HasColumnType("timestamp with time zone");
b.Property<bool>("DefaultFlag")
.HasColumnType("boolean");
b.Property<long?>("EndTime")
.HasColumnType("bigint");
b.Property<int?>("EventArg")
.HasColumnType("integer");
b.Property<string>("EventType")
.HasColumnType("text");
b.Property<int>("LotType")
.HasColumnType("integer");
b.Property<string>("Name")
.IsRequired()
.HasColumnType("text");
b.Property<int>("RequireNumber")
.HasColumnType("integer");
b.Property<long>("RewardDetailId")
.HasColumnType("bigint");
b.Property<int>("RewardNumber")
.HasColumnType("integer");
b.Property<int>("RewardType")
.HasColumnType("integer");
b.Property<long>("StartTime")
.HasColumnType("bigint");
b.HasKey("Id");
b.HasIndex("LotType");
b.HasIndex("EventType", "EventArg");
b.ToTable("MissionCatalog");
});
modelBuilder.Entity("SVSim.Database.Models.MyPageBackgroundEntry", b =>
{
b.Property<int>("Id")
@@ -1902,6 +2059,31 @@ namespace SVSim.Database.Migrations
b.ToTable("Viewers");
});
modelBuilder.Entity("SVSim.Database.Models.ViewerAchievement", b =>
{
b.Property<long>("ViewerId")
.HasColumnType("bigint");
b.Property<int>("AchievementType")
.HasColumnType("integer");
b.Property<int>("AchievementStatus")
.HasColumnType("integer");
b.Property<int>("Level")
.HasColumnType("integer");
b.Property<int>("NowAchievedLevel")
.HasColumnType("integer");
b.Property<int>("ResultAnnounceSawLevel")
.HasColumnType("integer");
b.HasKey("ViewerId", "AchievementType");
b.ToTable("ViewerAchievements");
});
modelBuilder.Entity("SVSim.Database.Models.ViewerBattlePassClaimEntry", b =>
{
b.Property<long>("Id")
@@ -1981,6 +2163,69 @@ namespace SVSim.Database.Migrations
b.ToTable("ViewerBattlePassProgress");
});
modelBuilder.Entity("SVSim.Database.Models.ViewerEventCounter", b =>
{
b.Property<long>("ViewerId")
.HasColumnType("bigint");
b.Property<string>("EventKey")
.HasColumnType("text");
b.Property<string>("Period")
.HasColumnType("text");
b.Property<int>("Count")
.HasColumnType("integer");
b.HasKey("ViewerId", "EventKey", "Period");
b.HasIndex("ViewerId", "Period");
b.ToTable("ViewerEventCounters");
});
modelBuilder.Entity("SVSim.Database.Models.ViewerMission", b =>
{
b.Property<long>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<long>("Id"));
b.Property<long>("AssignedAt")
.HasColumnType("bigint");
b.Property<long?>("ClaimedAt")
.HasColumnType("bigint");
b.Property<DateTime>("DateCreated")
.HasColumnType("timestamp with time zone");
b.Property<DateTime?>("DateUpdated")
.HasColumnType("timestamp with time zone");
b.Property<int>("MissionCatalogId")
.HasColumnType("integer");
b.Property<int>("MissionStatus")
.HasColumnType("integer");
b.Property<int>("Slot")
.HasColumnType("integer");
b.Property<long>("ViewerId")
.HasColumnType("bigint");
b.HasKey("Id");
b.HasIndex("ViewerId");
b.HasIndex("ViewerId", "Slot")
.IsUnique();
b.ToTable("ViewerMissions");
});
modelBuilder.Entity("SVSim.Database.Models.ViewerPuzzleClear", b =>
{
b.Property<long>("ViewerId")
@@ -2931,6 +3176,33 @@ namespace SVSim.Database.Migrations
b.Navigation("SocialAccountConnections");
});
modelBuilder.Entity("SVSim.Database.Models.ViewerAchievement", b =>
{
b.HasOne("SVSim.Database.Models.Viewer", null)
.WithMany("Achievements")
.HasForeignKey("ViewerId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
});
modelBuilder.Entity("SVSim.Database.Models.ViewerEventCounter", b =>
{
b.HasOne("SVSim.Database.Models.Viewer", null)
.WithMany("EventCounters")
.HasForeignKey("ViewerId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
});
modelBuilder.Entity("SVSim.Database.Models.ViewerMission", b =>
{
b.HasOne("SVSim.Database.Models.Viewer", null)
.WithMany("Missions")
.HasForeignKey("ViewerId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
});
modelBuilder.Entity("SleeveEntryViewer", b =>
{
b.HasOne("SVSim.Database.Models.SleeveEntry", null)
@@ -2973,7 +3245,13 @@ namespace SVSim.Database.Migrations
modelBuilder.Entity("SVSim.Database.Models.Viewer", b =>
{
b.Navigation("Achievements");
b.Navigation("Decks");
b.Navigation("EventCounters");
b.Navigation("Missions");
});
#pragma warning restore 612, 618
}