Rank updates

This commit is contained in:
2021-11-06 23:23:57 -04:00
parent f23d108fe7
commit b5dfbcc09b
6 changed files with 1276 additions and 41 deletions

View File

@@ -8,6 +8,7 @@ using Microsoft.Extensions.Logging;
using TOOHUCardAPI.Data.Enums; using TOOHUCardAPI.Data.Enums;
using TOOHUCardAPI.Data.Services; using TOOHUCardAPI.Data.Services;
using TOOHUCardAPI.DTO; using TOOHUCardAPI.DTO;
using TOOHUCardAPI.DTO.RankData;
namespace TOOHUCardAPI.Controllers namespace TOOHUCardAPI.Controllers
{ {
@@ -32,8 +33,20 @@ namespace TOOHUCardAPI.Controllers
public async Task<IActionResult> GetRankData(string rank_type) public async Task<IActionResult> GetRankData(string rank_type)
{ {
RankType parsedRankType = RankTypeExtensions.ParseRankType(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);
} }
} }
} }

View File

@@ -1,5 +1,6 @@
using System.Collections.Generic; using System.Collections.Generic;
using Newtonsoft.Json; using Newtonsoft.Json;
using TOOHUCardAPI.Data.Models;
namespace TOOHUCardAPI.DTO.RankData namespace TOOHUCardAPI.DTO.RankData
{ {
@@ -11,8 +12,9 @@ namespace TOOHUCardAPI.DTO.RankData
public class RankDataGetResponseBody public class RankDataGetResponseBody
{ {
[JsonProperty()] [JsonProperty("S")]
public Dictionary<int, object> FFAEntries { get; set; } public List<RankEntryDTO> FFAEntries { get; set; }
public Dictionary<int, object> TeamEntries { get; set; } [JsonProperty("D")]
public List<RankEntryDTO> TeamEntries { get; set; }
} }
} }

File diff suppressed because it is too large Load Diff

View File

@@ -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<string>(
name: "EncodedData",
table: "RankTowerEntry",
type: "text",
nullable: true);
migrationBuilder.AddColumn<string>(
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<int>(
name: "Attack",
table: "RankTowerEntry",
type: "integer",
nullable: false,
defaultValue: 0);
migrationBuilder.AddColumn<int>(
name: "Damage",
table: "RankTowerEntry",
type: "integer",
nullable: false,
defaultValue: 0);
migrationBuilder.AddColumn<int>(
name: "Power",
table: "RankTowerEntry",
type: "integer",
nullable: false,
defaultValue: 0);
migrationBuilder.AddColumn<int>(
name: "Star",
table: "RankTowerEntry",
type: "integer",
nullable: false,
defaultValue: 0);
migrationBuilder.AddColumn<int>(
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);
}
}
}

View File

@@ -36,13 +36,8 @@ namespace TOOHUCardAPI.Migrations
b.Property<int>("Quality") b.Property<int>("Quality")
.HasColumnType("integer"); .HasColumnType("integer");
b.Property<int?>("RankTowerEntryId")
.HasColumnType("integer");
b.HasKey("ItemCode"); b.HasKey("ItemCode");
b.HasIndex("RankTowerEntryId");
b.ToTable("Cards"); b.ToTable("Cards");
b.HasData( b.HasData(
@@ -961,6 +956,9 @@ namespace TOOHUCardAPI.Migrations
b.Property<long?>("UserSteamId") b.Property<long?>("UserSteamId")
.HasColumnType("bigint"); .HasColumnType("bigint");
b.Property<string>("Username")
.HasColumnType("text");
b.Property<string>("Version") b.Property<string>("Version")
.HasColumnType("text"); .HasColumnType("text");
@@ -981,28 +979,17 @@ namespace TOOHUCardAPI.Migrations
.HasColumnType("integer") .HasColumnType("integer")
.HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn);
b.Property<int>("Attack") b.Property<string>("EncodedData")
.HasColumnType("integer");
b.Property<string>("BaseUnitItemCode")
.HasColumnType("text"); .HasColumnType("text");
b.Property<int>("Damage")
.HasColumnType("integer");
b.Property<int>("Power")
.HasColumnType("integer");
b.Property<int?>("RankEntryId") b.Property<int?>("RankEntryId")
.HasColumnType("integer"); .HasColumnType("integer");
b.Property<int>("Star") b.Property<string>("TowerKey")
.HasColumnType("integer"); .HasColumnType("text");
b.HasKey("Id"); b.HasKey("Id");
b.HasIndex("BaseUnitItemCode");
b.HasIndex("RankEntryId"); b.HasIndex("RankEntryId");
b.ToTable("RankTowerEntry"); b.ToTable("RankTowerEntry");
@@ -1065,13 +1052,6 @@ namespace TOOHUCardAPI.Migrations
b.ToTable("Users"); 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 => modelBuilder.Entity("TOOHUCardAPI.Data.Models.CardLevel", b =>
{ {
b.HasOne("TOOHUCardAPI.Data.Models.Card", "Card") b.HasOne("TOOHUCardAPI.Data.Models.Card", "Card")
@@ -1107,15 +1087,9 @@ namespace TOOHUCardAPI.Migrations
modelBuilder.Entity("TOOHUCardAPI.Data.Models.RankTowerEntry", b => modelBuilder.Entity("TOOHUCardAPI.Data.Models.RankTowerEntry", b =>
{ {
b.HasOne("TOOHUCardAPI.Data.Models.Card", "BaseUnit")
.WithMany()
.HasForeignKey("BaseUnitItemCode");
b.HasOne("TOOHUCardAPI.Data.Models.RankEntry", null) b.HasOne("TOOHUCardAPI.Data.Models.RankEntry", null)
.WithMany("TowersUsed") .WithMany("TowersUsed")
.HasForeignKey("RankEntryId"); .HasForeignKey("RankEntryId");
b.Navigation("BaseUnit");
}); });
modelBuilder.Entity("TOOHUCardAPI.Data.Models.RankEntry", b => modelBuilder.Entity("TOOHUCardAPI.Data.Models.RankEntry", b =>
@@ -1123,11 +1097,6 @@ namespace TOOHUCardAPI.Migrations
b.Navigation("TowersUsed"); b.Navigation("TowersUsed");
}); });
modelBuilder.Entity("TOOHUCardAPI.Data.Models.RankTowerEntry", b =>
{
b.Navigation("Equipment");
});
modelBuilder.Entity("TOOHUCardAPI.Data.Models.User", b => modelBuilder.Entity("TOOHUCardAPI.Data.Models.User", b =>
{ {
b.Navigation("CardLevels"); b.Navigation("CardLevels");

View File

@@ -51,6 +51,7 @@ namespace TOOHUCardAPI
services.AddScoped<CardRepository>(); services.AddScoped<CardRepository>();
services.AddScoped<UserService>(); services.AddScoped<UserService>();
services.AddScoped<RankService>(); services.AddScoped<RankService>();
services.AddScoped<RankRepository>();
services.AddScoped<GameConfigurationService>(); services.AddScoped<GameConfigurationService>();
services.AddLogging(opt => services.AddLogging(opt =>
{ {