7 Commits
v0.9 ... master

Author SHA1 Message Date
2d57930701 Update ranking handling to store all entries and only return top for each user, update drone config to push to dockerhub
All checks were successful
continuous-integration/drone/push Build is passing
2022-07-24 19:27:28 -04:00
3f46369022 removed api key from drone yml whoopsie, issued new one and secreted
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/tag Build is passing
2022-02-03 09:07:15 -05:00
593293a69a probably didnt need the volume
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/tag Build is passing
2022-02-03 01:26:16 -05:00
70210416d0 arrrr
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/tag Build is passing
2022-02-03 01:12:43 -05:00
a80e98df76 this should work
Some checks failed
continuous-integration/drone/push Build is failing
2022-02-03 01:12:06 -05:00
f0bc6c3de0 more debugging
All checks were successful
continuous-integration/drone/push Build is passing
2022-02-03 01:07:53 -05:00
1b2b28b6d8 update drone again
All checks were successful
continuous-integration/drone/push Build is passing
2022-02-03 01:04:27 -05:00
4 changed files with 25 additions and 28 deletions

View File

@@ -1,9 +1,11 @@
kind: pipeline
type: docker
name: default
steps:
- name: build
image: mcr.microsoft.com/dotnet/sdk:5.0
commands:
- cd TOOHUCardAPI
- dotnet restore TOOHUCardAPI.csproj
@@ -14,14 +16,24 @@ steps:
- dotnet publish TOOHUCardAPI.csproj -c Release -o publish
- tar -czvf dist/TOOHUCardAPI.tar.gz publish/*
- name: docker_release_api
image: plugins/docker
settings:
repo: littlefoot123/2huapi
tags: latest
username:
from_secret: docker-username
password:
from_secret: docker-password
dockerfile: TOOHUCardAPI/Dockerfile
- name: gitea_release
image: plugins/gitea-release
settings:
api_key: 7337ccbb62d765fedea5d8a5c0f35ada9f451363
api_key:
from_secret: gitea-api-key
base_url: https://git.orfl.xyz
files:
- dist/*
- TOOHUCardAPI/dist/*
when:
event: tag

View File

@@ -58,12 +58,12 @@ namespace TOOHUCardAPI.Controllers
};
if (parsedRankType == RankType.All || parsedRankType == RankType.Single)
{
response.Body.FFAEntries = await _rankService.GetRankEntries(RankType.Single);
response.Body.FFAEntries = await _rankService.GetRankEntries(RankType.Single, true);
}
if (parsedRankType == RankType.Team || parsedRankType == RankType.All)
{
response.Body.TeamEntries = await _rankService.GetRankEntries(RankType.Team);
response.Body.TeamEntries = await _rankService.GetRankEntries(RankType.Team, true);
}
return Ok(response);
}

View File

@@ -32,7 +32,7 @@ namespace TOOHUCardAPI.Data.Repositories
public async Task<RankEntry> GetRankEntry(long steamid, RankType rankType)
{
return await AllIncluded().Where(i => i.User.SteamId == steamid && i.RankType == rankType).FirstOrDefaultAsync();
return await AllIncluded().Where(i => i.User.SteamId == steamid && i.RankType == rankType).OrderByDescending(i => i.Wave).FirstOrDefaultAsync();
}
public async Task<RankEntry> InsertRankEntry(RankEntry entry)

View File

@@ -57,9 +57,14 @@ namespace TOOHUCardAPI.Data.Services
await _storeService.AwardPoints(steamid, bonus, $"reached rank index {index}");
}
public async Task<List<RankEntryDTO>> GetRankEntries(RankType rankType)
public async Task<List<RankEntryDTO>> GetRankEntries(RankType rankType, bool onlyTop = false)
{
var rankEntries = await _rankRepository.GetRankEntries(rankType);
if (onlyTop)
{
rankEntries = rankEntries.GroupBy(i => i.User)
.Select(i => i.OrderByDescending(e => e.Wave).FirstOrDefault());
}
_logger.LogInformation("Got rank entries for {RankType}", rankType.ToString());
return rankEntries.Select(entry => entry.ToRankEntryDTO()).ToList();
}
@@ -81,27 +86,7 @@ namespace TOOHUCardAPI.Data.Services
TowersUsed = towersUsed,
UpdateTime = DateTime.Now
};
var previousEntry = await _rankRepository.GetRankEntry(toUpload.User.SteamId, toUpload.RankType);
bool shouldPushNew = true;
if (previousEntry != null)
{
if (previousEntry.Wave < toUpload.Wave)
{
await ResetRank(toUpload.User.SteamId, toUpload.RankType);
}
else if (previousEntry.Wave == toUpload.Wave && previousEntry.Damage < toUpload.Damage)
{
await ResetRank(toUpload.User.SteamId, toUpload.RankType);
}
else
{
shouldPushNew = false;
}
}
if (shouldPushNew)
{
toUpload = await _rankRepository.InsertRankEntry(toUpload);
}
List<RankEntry> allEntries = (await _rankRepository.GetRankEntries(toUpload.RankType)).ToList();
await _userService.UpdateUserAccountDetails(entry.SteamId, entry.UserId, entry.Username);
await _userService.UpdateUserMaxWave(entry.SteamId, entry.Wave, toUpload.RankType);