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.Services;
using TOOHUCardAPI.DTO;
using TOOHUCardAPI.DTO.RankData;
namespace TOOHUCardAPI.Controllers
{
@@ -32,8 +33,20 @@ namespace TOOHUCardAPI.Controllers
public async Task<IActionResult> 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);
}
}
}

View File

@@ -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<int, object> FFAEntries { get; set; }
public Dictionary<int, object> TeamEntries { get; set; }
[JsonProperty("S")]
public List<RankEntryDTO> FFAEntries { 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")
.HasColumnType("integer");
b.Property<int?>("RankTowerEntryId")
.HasColumnType("integer");
b.HasKey("ItemCode");
b.HasIndex("RankTowerEntryId");
b.ToTable("Cards");
b.HasData(
@@ -961,6 +956,9 @@ namespace TOOHUCardAPI.Migrations
b.Property<long?>("UserSteamId")
.HasColumnType("bigint");
b.Property<string>("Username")
.HasColumnType("text");
b.Property<string>("Version")
.HasColumnType("text");
@@ -981,28 +979,17 @@ namespace TOOHUCardAPI.Migrations
.HasColumnType("integer")
.HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn);
b.Property<int>("Attack")
.HasColumnType("integer");
b.Property<string>("BaseUnitItemCode")
b.Property<string>("EncodedData")
.HasColumnType("text");
b.Property<int>("Damage")
.HasColumnType("integer");
b.Property<int>("Power")
.HasColumnType("integer");
b.Property<int?>("RankEntryId")
.HasColumnType("integer");
b.Property<int>("Star")
.HasColumnType("integer");
b.Property<string>("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");

View File

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