From b5dfbcc09b01070b2d8bf61ed653c29980a986a3 Mon Sep 17 00:00:00 2001 From: littlefoot Date: Sat, 6 Nov 2021 23:23:57 -0400 Subject: [PATCH] Rank updates --- .../Controllers/RankDataController.cs | 15 +- .../DTO/RankData/RankDataGetResponse.cs | 8 +- .../20211107032243_rank update.Designer.cs | 1111 +++++++++++++++++ .../Migrations/20211107032243_rank update.cs | 139 +++ .../Migrations/AppDbContextModelSnapshot.cs | 43 +- TOOHUCardAPI/Startup.cs | 1 + 6 files changed, 1276 insertions(+), 41 deletions(-) create mode 100644 TOOHUCardAPI/Migrations/20211107032243_rank update.Designer.cs create mode 100644 TOOHUCardAPI/Migrations/20211107032243_rank update.cs diff --git a/TOOHUCardAPI/Controllers/RankDataController.cs b/TOOHUCardAPI/Controllers/RankDataController.cs index 89ae18e..9624d0c 100644 --- a/TOOHUCardAPI/Controllers/RankDataController.cs +++ b/TOOHUCardAPI/Controllers/RankDataController.cs @@ -8,6 +8,7 @@ using Microsoft.Extensions.Logging; using TOOHUCardAPI.Data.Enums; using TOOHUCardAPI.Data.Services; using TOOHUCardAPI.DTO; +using TOOHUCardAPI.DTO.RankData; namespace TOOHUCardAPI.Controllers { @@ -32,8 +33,20 @@ namespace TOOHUCardAPI.Controllers public async Task GetRankData(string rank_type) { RankType parsedRankType = RankTypeExtensions.ParseRankType(rank_type); + RankDataGetResponse response = new RankDataGetResponse() + { + Body = new RankDataGetResponseBody() + }; + if (parsedRankType == RankType.All || parsedRankType == RankType.Single) + { + response.Body.FFAEntries = await _rankService.GetRankEntries(RankType.Single); + } - return Ok(new OkResponse()); + if (parsedRankType == RankType.Team || parsedRankType == RankType.All) + { + response.Body.TeamEntries = await _rankService.GetRankEntries(RankType.Team); + } + return Ok(response); } } } \ No newline at end of file diff --git a/TOOHUCardAPI/DTO/RankData/RankDataGetResponse.cs b/TOOHUCardAPI/DTO/RankData/RankDataGetResponse.cs index 3012faa..cc48bda 100644 --- a/TOOHUCardAPI/DTO/RankData/RankDataGetResponse.cs +++ b/TOOHUCardAPI/DTO/RankData/RankDataGetResponse.cs @@ -1,5 +1,6 @@ using System.Collections.Generic; using Newtonsoft.Json; +using TOOHUCardAPI.Data.Models; namespace TOOHUCardAPI.DTO.RankData { @@ -11,8 +12,9 @@ namespace TOOHUCardAPI.DTO.RankData public class RankDataGetResponseBody { - [JsonProperty()] - public Dictionary FFAEntries { get; set; } - public Dictionary TeamEntries { get; set; } + [JsonProperty("S")] + public List FFAEntries { get; set; } + [JsonProperty("D")] + public List TeamEntries { get; set; } } } \ No newline at end of file diff --git a/TOOHUCardAPI/Migrations/20211107032243_rank update.Designer.cs b/TOOHUCardAPI/Migrations/20211107032243_rank update.Designer.cs new file mode 100644 index 0000000..3ceac2d --- /dev/null +++ b/TOOHUCardAPI/Migrations/20211107032243_rank update.Designer.cs @@ -0,0 +1,1111 @@ +// +using System; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Migrations; +using Microsoft.EntityFrameworkCore.Storage.ValueConversion; +using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; +using TOOHUCardAPI.Data; + +namespace TOOHUCardAPI.Migrations +{ + [DbContext(typeof(AppDbContext))] + [Migration("20211107032243_rank update")] + partial class rankupdate + { + protected override void BuildTargetModel(ModelBuilder modelBuilder) + { +#pragma warning disable 612, 618 + modelBuilder + .HasAnnotation("Relational:MaxIdentifierLength", 63) + .HasAnnotation("ProductVersion", "5.0.11") + .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); + + modelBuilder.Entity("TOOHUCardAPI.Data.Models.Card", b => + { + b.Property("ItemCode") + .HasColumnType("text"); + + b.Property("CardName") + .HasColumnType("text"); + + b.Property("HasPortrait") + .HasColumnType("boolean"); + + b.Property("HasVoice") + .HasColumnType("boolean"); + + b.Property("Quality") + .HasColumnType("integer"); + + b.HasKey("ItemCode"); + + b.ToTable("Cards"); + + b.HasData( + new + { + ItemCode = "item_0026", + CardName = "rin", + HasPortrait = true, + HasVoice = true, + Quality = 3 + }, + new + { + ItemCode = "item_0043", + CardName = "hatate", + HasPortrait = true, + HasVoice = true, + Quality = 2 + }, + new + { + ItemCode = "item_0014", + CardName = "merlin", + HasPortrait = true, + HasVoice = true, + Quality = 2 + }, + new + { + ItemCode = "item_0007", + CardName = "hanadayousei", + HasPortrait = false, + HasVoice = false, + Quality = 1 + }, + new + { + ItemCode = "item_2002", + CardName = "item_2002", + HasPortrait = false, + HasVoice = false, + Quality = 4 + }, + new + { + ItemCode = "item_0055", + CardName = "suika", + HasPortrait = true, + HasVoice = true, + Quality = 3 + }, + new + { + ItemCode = "item_0002", + CardName = "nazrin", + HasPortrait = true, + HasVoice = true, + Quality = 2 + }, + new + { + ItemCode = "item_0061", + CardName = "keine", + HasPortrait = true, + HasVoice = false, + Quality = 3 + }, + new + { + ItemCode = "item_0069", + CardName = "toramaru", + HasPortrait = true, + HasVoice = false, + Quality = 2 + }, + new + { + ItemCode = "item_0042", + CardName = "aya", + HasPortrait = true, + HasVoice = false, + Quality = 3 + }, + new + { + ItemCode = "item_1011", + CardName = "BonusEgg", + HasPortrait = false, + HasVoice = false, + Quality = 1 + }, + new + { + ItemCode = "item_0015", + CardName = "rumia", + HasPortrait = true, + HasVoice = true, + Quality = 2 + }, + new + { + ItemCode = "item_0030", + CardName = "remilia", + HasPortrait = true, + HasVoice = false, + Quality = 4 + }, + new + { + ItemCode = "item_0028", + CardName = "reimu", + HasPortrait = true, + HasVoice = true, + Quality = 4 + }, + new + { + ItemCode = "item_0045", + CardName = "kagerou", + HasPortrait = true, + HasVoice = false, + Quality = 3 + }, + new + { + ItemCode = "item_0019", + CardName = "marisa", + HasPortrait = true, + HasVoice = true, + Quality = 3 + }, + new + { + ItemCode = "item_0075", + CardName = "clownpiece", + HasPortrait = true, + HasVoice = false, + Quality = 3 + }, + new + { + ItemCode = "item_0050", + CardName = "nue", + HasPortrait = true, + HasVoice = false, + Quality = 3 + }, + new + { + ItemCode = "item_0044", + CardName = "momiji", + HasPortrait = true, + HasVoice = true, + Quality = 2 + }, + new + { + ItemCode = "item_0011", + CardName = "letty", + HasPortrait = true, + HasVoice = true, + Quality = 2 + }, + new + { + ItemCode = "item_1003", + CardName = "BonusEgg", + HasPortrait = false, + HasVoice = false, + Quality = 1 + }, + new + { + ItemCode = "item_0022", + CardName = "sakuya", + HasPortrait = true, + HasVoice = true, + Quality = 3 + }, + new + { + ItemCode = "item_0003", + CardName = "minoriko", + HasPortrait = true, + HasVoice = true, + Quality = 2 + }, + new + { + ItemCode = "item_2022", + CardName = "item_2022", + HasPortrait = false, + HasVoice = false, + Quality = 3 + }, + new + { + ItemCode = "item_2020", + CardName = "item_2020", + HasPortrait = false, + HasVoice = false, + Quality = 4 + }, + new + { + ItemCode = "item_2016", + CardName = "item_2016", + HasPortrait = false, + HasVoice = false, + Quality = 3 + }, + new + { + ItemCode = "item_2018", + CardName = "item_2018", + HasPortrait = false, + HasVoice = false, + Quality = 2 + }, + new + { + ItemCode = "item_2006", + CardName = "item_2006", + HasPortrait = false, + HasVoice = false, + Quality = 2 + }, + new + { + ItemCode = "item_2019", + CardName = "item_2019", + HasPortrait = false, + HasVoice = false, + Quality = 2 + }, + new + { + ItemCode = "item_2015", + CardName = "item_2015", + HasPortrait = false, + HasVoice = false, + Quality = 3 + }, + new + { + ItemCode = "item_2014", + CardName = "item_2014", + HasPortrait = false, + HasVoice = false, + Quality = 4 + }, + new + { + ItemCode = "item_0009", + CardName = "cirno", + HasPortrait = true, + HasVoice = false, + Quality = 2 + }, + new + { + ItemCode = "item_0038", + CardName = "chen", + HasPortrait = true, + HasVoice = false, + Quality = 2 + }, + new + { + ItemCode = "item_0074", + CardName = "hecatia", + HasPortrait = true, + HasVoice = false, + Quality = 4 + }, + new + { + ItemCode = "item_0080", + CardName = "shinki", + HasPortrait = true, + HasVoice = false, + Quality = 4 + }, + new + { + ItemCode = "item_0051", + CardName = "byakuren", + HasPortrait = true, + HasVoice = false, + Quality = 4 + }, + new + { + ItemCode = "item_1012", + CardName = "BonusEgg", + HasPortrait = false, + HasVoice = false, + Quality = 2 + }, + new + { + ItemCode = "item_0029", + CardName = "daiyousei", + HasPortrait = true, + HasVoice = true, + Quality = 4 + }, + new + { + ItemCode = "item_0073", + CardName = "junko", + HasPortrait = true, + HasVoice = false, + Quality = 4 + }, + new + { + ItemCode = "item_0063", + CardName = "kisume", + HasPortrait = true, + HasVoice = false, + Quality = 2 + }, + new + { + ItemCode = "item_2007", + CardName = "item_2007", + HasPortrait = false, + HasVoice = false, + Quality = 2 + }, + new + { + ItemCode = "item_0025", + CardName = "youmu", + HasPortrait = true, + HasVoice = true, + Quality = 3 + }, + new + { + ItemCode = "item_0004", + CardName = "mugiyousei", + HasPortrait = false, + HasVoice = false, + Quality = 1 + }, + new + { + ItemCode = "item_0096", + CardName = "seiga", + HasPortrait = true, + HasVoice = false, + Quality = 3 + }, + new + { + ItemCode = "item_0034", + CardName = "meirin", + HasPortrait = true, + HasVoice = false, + Quality = 2 + }, + new + { + ItemCode = "item_2011", + CardName = "item_2011", + HasPortrait = false, + HasVoice = false, + Quality = 3 + }, + new + { + ItemCode = "item_2010", + CardName = "item_2010", + HasPortrait = false, + HasVoice = false, + Quality = 3 + }, + new + { + ItemCode = "item_2008", + CardName = "item_2008", + HasPortrait = false, + HasVoice = false, + Quality = 2 + }, + new + { + ItemCode = "item_0036", + CardName = "yukari", + HasPortrait = true, + HasVoice = false, + Quality = 4 + }, + new + { + ItemCode = "item_0018", + CardName = "mystia", + HasPortrait = true, + HasVoice = true, + Quality = 2 + }, + new + { + ItemCode = "item_2009", + CardName = "item_2009", + HasPortrait = false, + HasVoice = false, + Quality = 3 + }, + new + { + ItemCode = "item_0046", + CardName = "sanae", + HasPortrait = true, + HasVoice = false, + Quality = 3 + }, + new + { + ItemCode = "item_2017", + CardName = "item_2017", + HasPortrait = false, + HasVoice = false, + Quality = 3 + }, + new + { + ItemCode = "item_2005", + CardName = "item_2005", + HasPortrait = false, + HasVoice = false, + Quality = 2 + }, + new + { + ItemCode = "item_0052", + CardName = "miko", + HasPortrait = true, + HasVoice = true, + Quality = 4 + }, + new + { + ItemCode = "item_0023", + CardName = "reisen", + HasPortrait = true, + HasVoice = true, + Quality = 3 + }, + new + { + ItemCode = "item_0049", + CardName = "minamitsu", + HasPortrait = true, + HasVoice = true, + Quality = 3 + }, + new + { + ItemCode = "item_2004", + CardName = "item_2004", + HasPortrait = false, + HasVoice = false, + Quality = 2 + }, + new + { + ItemCode = "item_2003", + CardName = "item_2003", + HasPortrait = false, + HasVoice = false, + Quality = 3 + }, + new + { + ItemCode = "item_0056", + CardName = "star", + HasPortrait = true, + HasVoice = true, + Quality = 2 + }, + new + { + ItemCode = "item_0006", + CardName = "hourainingyou", + HasPortrait = false, + HasVoice = false, + Quality = 1 + }, + new + { + ItemCode = "item_0057", + CardName = "sunny", + HasPortrait = true, + HasVoice = true, + Quality = 2 + }, + new + { + ItemCode = "item_0095", + CardName = "futo", + HasPortrait = true, + HasVoice = false, + Quality = 3 + }, + new + { + ItemCode = "item_2001", + CardName = "item_2001", + HasPortrait = false, + HasVoice = false, + Quality = 3 + }, + new + { + ItemCode = "item_1013", + CardName = "BonusEgg", + HasPortrait = false, + HasVoice = false, + Quality = 3 + }, + new + { + ItemCode = "item_0097", + CardName = "yoshika", + HasPortrait = true, + HasVoice = false, + Quality = 2 + }, + new + { + ItemCode = "item_0027", + CardName = "utsuho", + HasPortrait = true, + HasVoice = false, + Quality = 3 + }, + new + { + ItemCode = "item_0068", + CardName = "komachi", + HasPortrait = true, + HasVoice = false, + Quality = 4 + }, + new + { + ItemCode = "item_0047", + CardName = "kanako", + HasPortrait = true, + HasVoice = true, + Quality = 4 + }, + new + { + ItemCode = "item_0058", + CardName = "luna", + HasPortrait = true, + HasVoice = true, + Quality = 2 + }, + new + { + ItemCode = "item_2013", + CardName = "item_2013", + HasPortrait = false, + HasVoice = false, + Quality = 4 + }, + new + { + ItemCode = "item_0024", + CardName = "yuyuko", + HasPortrait = true, + HasVoice = true, + Quality = 3 + }, + new + { + ItemCode = "item_0093", + CardName = "kyouko", + HasPortrait = true, + HasVoice = true, + Quality = 2 + }, + new + { + ItemCode = "item_0005", + CardName = "shanghainingyou", + HasPortrait = false, + HasVoice = false, + Quality = 1 + }, + new + { + ItemCode = "item_1006", + CardName = "BonusEgg", + HasPortrait = false, + HasVoice = false, + Quality = 4 + }, + new + { + ItemCode = "item_0064", + CardName = "shikieiki", + HasPortrait = true, + HasVoice = false, + Quality = 4 + }, + new + { + ItemCode = "item_0092", + CardName = "medicine", + HasPortrait = true, + HasVoice = true, + Quality = 2 + }, + new + { + ItemCode = "item_0017", + CardName = "iku", + HasPortrait = true, + HasVoice = false, + Quality = 2 + }, + new + { + ItemCode = "item_0013", + CardName = "lunasa", + HasPortrait = true, + HasVoice = true, + Quality = 2 + }, + new + { + ItemCode = "item_0091", + CardName = "hina", + HasPortrait = true, + HasVoice = false, + Quality = 2 + }, + new + { + ItemCode = "item_1004", + CardName = "BonusEgg", + HasPortrait = false, + HasVoice = false, + Quality = 2 + }, + new + { + ItemCode = "item_0040", + CardName = "mokou", + HasPortrait = true, + HasVoice = true, + Quality = 3 + }, + new + { + ItemCode = "item_0088", + CardName = "sizuha", + HasPortrait = true, + HasVoice = true, + Quality = 2 + }, + new + { + ItemCode = "item_2012", + CardName = "item_2012", + HasPortrait = false, + HasVoice = false, + Quality = 4 + }, + new + { + ItemCode = "item_0010", + CardName = "kogasa", + HasPortrait = true, + HasVoice = true, + Quality = 2 + }, + new + { + ItemCode = "item_0062", + CardName = "inaba", + HasPortrait = true, + HasVoice = false, + Quality = 2 + }, + new + { + ItemCode = "item_0001", + CardName = "lily", + HasPortrait = true, + HasVoice = false, + Quality = 2 + }, + new + { + ItemCode = "item_1005", + CardName = "BonusEgg", + HasPortrait = false, + HasVoice = false, + Quality = 3 + }, + new + { + ItemCode = "item_0060", + CardName = "wriggle", + HasPortrait = true, + HasVoice = false, + Quality = 2 + }, + new + { + ItemCode = "item_0059", + CardName = "alice", + HasPortrait = true, + HasVoice = true, + Quality = 3 + }, + new + { + ItemCode = "item_0054", + CardName = "yuugi", + HasPortrait = true, + HasVoice = true, + Quality = 3 + }, + new + { + ItemCode = "item_0032", + CardName = "flandre", + HasPortrait = true, + HasVoice = true, + Quality = 4 + }, + new + { + ItemCode = "item_0033", + CardName = "koakuma", + HasPortrait = true, + HasVoice = true, + Quality = 2 + }, + new + { + ItemCode = "item_0041", + CardName = "kaguya", + HasPortrait = true, + HasVoice = true, + Quality = 3 + }, + new + { + ItemCode = "item_0039", + CardName = "eirin", + HasPortrait = true, + HasVoice = true, + Quality = 4 + }, + new + { + ItemCode = "item_0037", + CardName = "ran", + HasPortrait = true, + HasVoice = true, + Quality = 3 + }, + new + { + ItemCode = "item_0035", + CardName = "yuuka", + HasPortrait = true, + HasVoice = true, + Quality = 4 + }, + new + { + ItemCode = "item_0048", + CardName = "suwako", + HasPortrait = true, + HasVoice = false, + Quality = 3 + }, + new + { + ItemCode = "item_0016", + CardName = "satori", + HasPortrait = true, + HasVoice = true, + Quality = 2 + }, + new + { + ItemCode = "item_0053", + CardName = "kokoro", + HasPortrait = true, + HasVoice = true, + Quality = 3 + }, + new + { + ItemCode = "item_0008", + CardName = "maidyousei", + HasPortrait = false, + HasVoice = false, + Quality = 1 + }, + new + { + ItemCode = "item_0012", + CardName = "lyrica", + HasPortrait = true, + HasVoice = true, + Quality = 2 + }, + new + { + ItemCode = "item_0031", + CardName = "koishi", + HasPortrait = true, + HasVoice = true, + Quality = 4 + }, + new + { + ItemCode = "item_0094", + CardName = "soga", + HasPortrait = true, + HasVoice = true, + Quality = 3 + }, + new + { + ItemCode = "item_0021", + CardName = "patchouli", + HasPortrait = true, + HasVoice = true, + Quality = 3 + }, + new + { + ItemCode = "item_0020", + CardName = "tenshi", + HasPortrait = true, + HasVoice = false, + Quality = 3 + }, + new + { + ItemCode = "item_1014", + CardName = "BonusEgg", + HasPortrait = false, + HasVoice = false, + Quality = 4 + }); + }); + + modelBuilder.Entity("TOOHUCardAPI.Data.Models.CardLevel", b => + { + b.Property("UserSteamId") + .HasColumnType("bigint"); + + b.Property("CardItemCode") + .HasColumnType("text"); + + b.Property("Level") + .HasColumnType("integer"); + + b.HasKey("UserSteamId", "CardItemCode"); + + b.HasIndex("CardItemCode"); + + b.ToTable("CardLevel"); + }); + + modelBuilder.Entity("TOOHUCardAPI.Data.Models.EncodedCardGroup", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); + + b.Property("EncodedString") + .HasColumnType("text"); + + b.Property("GroupKey") + .HasColumnType("text"); + + b.Property("UserSteamId") + .HasColumnType("bigint"); + + b.HasKey("Id"); + + b.HasIndex("UserSteamId"); + + b.ToTable("EncodedCardGroup"); + }); + + modelBuilder.Entity("TOOHUCardAPI.Data.Models.RankEntry", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); + + b.Property("Damage") + .HasColumnType("bigint"); + + b.Property("RankType") + .HasColumnType("integer"); + + b.Property("UserSteamId") + .HasColumnType("bigint"); + + b.Property("Username") + .HasColumnType("text"); + + b.Property("Version") + .HasColumnType("text"); + + b.Property("Wave") + .HasColumnType("integer"); + + b.HasKey("Id"); + + b.HasIndex("UserSteamId"); + + b.ToTable("RankEntries"); + }); + + modelBuilder.Entity("TOOHUCardAPI.Data.Models.RankTowerEntry", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); + + b.Property("EncodedData") + .HasColumnType("text"); + + b.Property("RankEntryId") + .HasColumnType("integer"); + + b.Property("TowerKey") + .HasColumnType("text"); + + b.HasKey("Id"); + + b.HasIndex("RankEntryId"); + + b.ToTable("RankTowerEntry"); + }); + + modelBuilder.Entity("TOOHUCardAPI.Data.Models.User", b => + { + b.Property("SteamId") + .ValueGeneratedOnAdd() + .HasColumnType("bigint") + .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); + + b.Property("Ban") + .HasColumnType("boolean"); + + b.Property("EndTime") + .HasColumnType("timestamp without time zone"); + + b.Property("KeySaveDate") + .HasColumnType("timestamp without time zone"); + + b.Property("KeyTotal") + .HasColumnType("integer"); + + b.Property("KeyUseCount") + .HasColumnType("integer"); + + b.Property("LastDailyLoginBonus") + .HasColumnType("timestamp without time zone"); + + b.Property("LastFirstWin") + .HasColumnType("timestamp without time zone"); + + b.Property("MaxTeamWave") + .HasColumnType("integer"); + + b.Property("MaxWave") + .HasColumnType("integer"); + + b.Property("PetEffect") + .HasColumnType("text"); + + b.Property("PetLevel") + .HasColumnType("integer"); + + b.Property("PetModel") + .HasColumnType("text"); + + b.Property("Point") + .HasColumnType("integer"); + + b.Property("PowerMaxTotal") + .HasColumnType("integer"); + + b.Property("Vip") + .HasColumnType("boolean"); + + b.HasKey("SteamId"); + + b.ToTable("Users"); + }); + + modelBuilder.Entity("TOOHUCardAPI.Data.Models.CardLevel", b => + { + b.HasOne("TOOHUCardAPI.Data.Models.Card", "Card") + .WithMany() + .HasForeignKey("CardItemCode") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("TOOHUCardAPI.Data.Models.User", null) + .WithMany("CardLevels") + .HasForeignKey("UserSteamId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Card"); + }); + + modelBuilder.Entity("TOOHUCardAPI.Data.Models.EncodedCardGroup", b => + { + b.HasOne("TOOHUCardAPI.Data.Models.User", null) + .WithMany("EncodedCardGroups") + .HasForeignKey("UserSteamId"); + }); + + modelBuilder.Entity("TOOHUCardAPI.Data.Models.RankEntry", b => + { + b.HasOne("TOOHUCardAPI.Data.Models.User", "User") + .WithMany() + .HasForeignKey("UserSteamId"); + + b.Navigation("User"); + }); + + modelBuilder.Entity("TOOHUCardAPI.Data.Models.RankTowerEntry", b => + { + b.HasOne("TOOHUCardAPI.Data.Models.RankEntry", null) + .WithMany("TowersUsed") + .HasForeignKey("RankEntryId"); + }); + + modelBuilder.Entity("TOOHUCardAPI.Data.Models.RankEntry", b => + { + b.Navigation("TowersUsed"); + }); + + modelBuilder.Entity("TOOHUCardAPI.Data.Models.User", b => + { + b.Navigation("CardLevels"); + + b.Navigation("EncodedCardGroups"); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/TOOHUCardAPI/Migrations/20211107032243_rank update.cs b/TOOHUCardAPI/Migrations/20211107032243_rank update.cs new file mode 100644 index 0000000..4d8bde7 --- /dev/null +++ b/TOOHUCardAPI/Migrations/20211107032243_rank update.cs @@ -0,0 +1,139 @@ +using Microsoft.EntityFrameworkCore.Migrations; + +namespace TOOHUCardAPI.Migrations +{ + public partial class rankupdate : Migration + { + protected override void Up(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropForeignKey( + name: "FK_Cards_RankTowerEntry_RankTowerEntryId", + table: "Cards"); + + migrationBuilder.DropForeignKey( + name: "FK_RankTowerEntry_Cards_BaseUnitItemCode", + table: "RankTowerEntry"); + + migrationBuilder.DropIndex( + name: "IX_RankTowerEntry_BaseUnitItemCode", + table: "RankTowerEntry"); + + migrationBuilder.DropIndex( + name: "IX_Cards_RankTowerEntryId", + table: "Cards"); + + migrationBuilder.DropColumn( + name: "Attack", + table: "RankTowerEntry"); + + migrationBuilder.DropColumn( + name: "Damage", + table: "RankTowerEntry"); + + migrationBuilder.DropColumn( + name: "Power", + table: "RankTowerEntry"); + + migrationBuilder.DropColumn( + name: "Star", + table: "RankTowerEntry"); + + migrationBuilder.DropColumn( + name: "RankTowerEntryId", + table: "Cards"); + + migrationBuilder.RenameColumn( + name: "BaseUnitItemCode", + table: "RankTowerEntry", + newName: "TowerKey"); + + migrationBuilder.AddColumn( + name: "EncodedData", + table: "RankTowerEntry", + type: "text", + nullable: true); + + migrationBuilder.AddColumn( + name: "Username", + table: "RankEntries", + type: "text", + nullable: true); + } + + protected override void Down(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropColumn( + name: "EncodedData", + table: "RankTowerEntry"); + + migrationBuilder.DropColumn( + name: "Username", + table: "RankEntries"); + + migrationBuilder.RenameColumn( + name: "TowerKey", + table: "RankTowerEntry", + newName: "BaseUnitItemCode"); + + migrationBuilder.AddColumn( + name: "Attack", + table: "RankTowerEntry", + type: "integer", + nullable: false, + defaultValue: 0); + + migrationBuilder.AddColumn( + name: "Damage", + table: "RankTowerEntry", + type: "integer", + nullable: false, + defaultValue: 0); + + migrationBuilder.AddColumn( + name: "Power", + table: "RankTowerEntry", + type: "integer", + nullable: false, + defaultValue: 0); + + migrationBuilder.AddColumn( + name: "Star", + table: "RankTowerEntry", + type: "integer", + nullable: false, + defaultValue: 0); + + migrationBuilder.AddColumn( + name: "RankTowerEntryId", + table: "Cards", + type: "integer", + nullable: true); + + migrationBuilder.CreateIndex( + name: "IX_RankTowerEntry_BaseUnitItemCode", + table: "RankTowerEntry", + column: "BaseUnitItemCode"); + + migrationBuilder.CreateIndex( + name: "IX_Cards_RankTowerEntryId", + table: "Cards", + column: "RankTowerEntryId"); + + migrationBuilder.AddForeignKey( + name: "FK_Cards_RankTowerEntry_RankTowerEntryId", + table: "Cards", + column: "RankTowerEntryId", + principalTable: "RankTowerEntry", + principalColumn: "Id", + onDelete: ReferentialAction.Restrict); + + migrationBuilder.AddForeignKey( + name: "FK_RankTowerEntry_Cards_BaseUnitItemCode", + table: "RankTowerEntry", + column: "BaseUnitItemCode", + principalTable: "Cards", + principalColumn: "ItemCode", + onDelete: ReferentialAction.Restrict); + } + } +} diff --git a/TOOHUCardAPI/Migrations/AppDbContextModelSnapshot.cs b/TOOHUCardAPI/Migrations/AppDbContextModelSnapshot.cs index c9a4d0f..15db454 100644 --- a/TOOHUCardAPI/Migrations/AppDbContextModelSnapshot.cs +++ b/TOOHUCardAPI/Migrations/AppDbContextModelSnapshot.cs @@ -36,13 +36,8 @@ namespace TOOHUCardAPI.Migrations b.Property("Quality") .HasColumnType("integer"); - b.Property("RankTowerEntryId") - .HasColumnType("integer"); - b.HasKey("ItemCode"); - b.HasIndex("RankTowerEntryId"); - b.ToTable("Cards"); b.HasData( @@ -961,6 +956,9 @@ namespace TOOHUCardAPI.Migrations b.Property("UserSteamId") .HasColumnType("bigint"); + b.Property("Username") + .HasColumnType("text"); + b.Property("Version") .HasColumnType("text"); @@ -981,28 +979,17 @@ namespace TOOHUCardAPI.Migrations .HasColumnType("integer") .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); - b.Property("Attack") - .HasColumnType("integer"); - - b.Property("BaseUnitItemCode") + b.Property("EncodedData") .HasColumnType("text"); - b.Property("Damage") - .HasColumnType("integer"); - - b.Property("Power") - .HasColumnType("integer"); - b.Property("RankEntryId") .HasColumnType("integer"); - b.Property("Star") - .HasColumnType("integer"); + b.Property("TowerKey") + .HasColumnType("text"); b.HasKey("Id"); - b.HasIndex("BaseUnitItemCode"); - b.HasIndex("RankEntryId"); b.ToTable("RankTowerEntry"); @@ -1065,13 +1052,6 @@ namespace TOOHUCardAPI.Migrations b.ToTable("Users"); }); - modelBuilder.Entity("TOOHUCardAPI.Data.Models.Card", b => - { - b.HasOne("TOOHUCardAPI.Data.Models.RankTowerEntry", null) - .WithMany("Equipment") - .HasForeignKey("RankTowerEntryId"); - }); - modelBuilder.Entity("TOOHUCardAPI.Data.Models.CardLevel", b => { b.HasOne("TOOHUCardAPI.Data.Models.Card", "Card") @@ -1107,15 +1087,9 @@ namespace TOOHUCardAPI.Migrations modelBuilder.Entity("TOOHUCardAPI.Data.Models.RankTowerEntry", b => { - b.HasOne("TOOHUCardAPI.Data.Models.Card", "BaseUnit") - .WithMany() - .HasForeignKey("BaseUnitItemCode"); - b.HasOne("TOOHUCardAPI.Data.Models.RankEntry", null) .WithMany("TowersUsed") .HasForeignKey("RankEntryId"); - - b.Navigation("BaseUnit"); }); modelBuilder.Entity("TOOHUCardAPI.Data.Models.RankEntry", b => @@ -1123,11 +1097,6 @@ namespace TOOHUCardAPI.Migrations b.Navigation("TowersUsed"); }); - modelBuilder.Entity("TOOHUCardAPI.Data.Models.RankTowerEntry", b => - { - b.Navigation("Equipment"); - }); - modelBuilder.Entity("TOOHUCardAPI.Data.Models.User", b => { b.Navigation("CardLevels"); diff --git a/TOOHUCardAPI/Startup.cs b/TOOHUCardAPI/Startup.cs index fec629b..f40e569 100644 --- a/TOOHUCardAPI/Startup.cs +++ b/TOOHUCardAPI/Startup.cs @@ -51,6 +51,7 @@ namespace TOOHUCardAPI services.AddScoped(); services.AddScoped(); services.AddScoped(); + services.AddScoped(); services.AddScoped(); services.AddLogging(opt => {