Compare commits
3 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 2d57930701 | |||
| 3f46369022 | |||
| 593293a69a |
33
.drone.yml
33
.drone.yml
@@ -1,36 +1,39 @@
|
||||
kind: pipeline
|
||||
type: docker
|
||||
name: default
|
||||
|
||||
steps:
|
||||
- name: build
|
||||
image: mcr.microsoft.com/dotnet/sdk:5.0
|
||||
volumes:
|
||||
- name: dist
|
||||
path: /dist
|
||||
|
||||
commands:
|
||||
- cd TOOHUCardAPI
|
||||
- dotnet restore TOOHUCardAPI.csproj
|
||||
- mkdir build
|
||||
- mkdir publish
|
||||
- mkdir dist
|
||||
- dotnet build TOOHUCardAPI.csproj -c Release -o build
|
||||
- dotnet publish TOOHUCardAPI.csproj -c Release -o publish
|
||||
- tar -czvf /dist/TOOHUCardAPI.tar.gz 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
|
||||
volumes:
|
||||
- name: dist
|
||||
path: /dist
|
||||
settings:
|
||||
api_key: 7337ccbb62d765fedea5d8a5c0f35ada9f451363
|
||||
api_key:
|
||||
from_secret: gitea-api-key
|
||||
base_url: https://git.orfl.xyz
|
||||
files:
|
||||
- /dist/*
|
||||
- TOOHUCardAPI/dist/*
|
||||
when:
|
||||
event: tag
|
||||
|
||||
volumes:
|
||||
- name: dist
|
||||
temp: {}
|
||||
event: tag
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
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);
|
||||
|
||||
Reference in New Issue
Block a user