Compare commits
3 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 2d57930701 | |||
| 3f46369022 | |||
| 593293a69a |
31
.drone.yml
31
.drone.yml
@@ -1,36 +1,39 @@
|
|||||||
kind: pipeline
|
kind: pipeline
|
||||||
|
type: docker
|
||||||
name: default
|
name: default
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: build
|
- name: build
|
||||||
image: mcr.microsoft.com/dotnet/sdk:5.0
|
image: mcr.microsoft.com/dotnet/sdk:5.0
|
||||||
volumes:
|
|
||||||
- name: dist
|
|
||||||
path: /dist
|
|
||||||
commands:
|
commands:
|
||||||
- cd TOOHUCardAPI
|
- cd TOOHUCardAPI
|
||||||
- dotnet restore TOOHUCardAPI.csproj
|
- dotnet restore TOOHUCardAPI.csproj
|
||||||
- mkdir build
|
- mkdir build
|
||||||
- mkdir publish
|
- mkdir publish
|
||||||
|
- mkdir dist
|
||||||
- dotnet build TOOHUCardAPI.csproj -c Release -o build
|
- dotnet build TOOHUCardAPI.csproj -c Release -o build
|
||||||
- dotnet publish TOOHUCardAPI.csproj -c Release -o publish
|
- 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
|
- name: gitea_release
|
||||||
image: plugins/gitea-release
|
image: plugins/gitea-release
|
||||||
volumes:
|
|
||||||
- name: dist
|
|
||||||
path: /dist
|
|
||||||
settings:
|
settings:
|
||||||
api_key: 7337ccbb62d765fedea5d8a5c0f35ada9f451363
|
api_key:
|
||||||
|
from_secret: gitea-api-key
|
||||||
base_url: https://git.orfl.xyz
|
base_url: https://git.orfl.xyz
|
||||||
files:
|
files:
|
||||||
- /dist/*
|
- TOOHUCardAPI/dist/*
|
||||||
when:
|
when:
|
||||||
event: tag
|
event: tag
|
||||||
|
|
||||||
volumes:
|
|
||||||
- name: dist
|
|
||||||
temp: {}
|
|
||||||
@@ -58,12 +58,12 @@ namespace TOOHUCardAPI.Controllers
|
|||||||
};
|
};
|
||||||
if (parsedRankType == RankType.All || parsedRankType == RankType.Single)
|
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)
|
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);
|
return Ok(response);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -32,7 +32,7 @@ namespace TOOHUCardAPI.Data.Repositories
|
|||||||
|
|
||||||
public async Task<RankEntry> GetRankEntry(long steamid, RankType rankType)
|
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)
|
public async Task<RankEntry> InsertRankEntry(RankEntry entry)
|
||||||
|
|||||||
@@ -57,9 +57,14 @@ namespace TOOHUCardAPI.Data.Services
|
|||||||
await _storeService.AwardPoints(steamid, bonus, $"reached rank index {index}");
|
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);
|
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());
|
_logger.LogInformation("Got rank entries for {RankType}", rankType.ToString());
|
||||||
return rankEntries.Select(entry => entry.ToRankEntryDTO()).ToList();
|
return rankEntries.Select(entry => entry.ToRankEntryDTO()).ToList();
|
||||||
}
|
}
|
||||||
@@ -81,27 +86,7 @@ namespace TOOHUCardAPI.Data.Services
|
|||||||
TowersUsed = towersUsed,
|
TowersUsed = towersUsed,
|
||||||
UpdateTime = DateTime.Now
|
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();
|
List<RankEntry> allEntries = (await _rankRepository.GetRankEntries(toUpload.RankType)).ToList();
|
||||||
await _userService.UpdateUserAccountDetails(entry.SteamId, entry.UserId, entry.Username);
|
await _userService.UpdateUserAccountDetails(entry.SteamId, entry.UserId, entry.Username);
|
||||||
await _userService.UpdateUserMaxWave(entry.SteamId, entry.Wave, toUpload.RankType);
|
await _userService.UpdateUserMaxWave(entry.SteamId, entry.Wave, toUpload.RankType);
|
||||||
|
|||||||
Reference in New Issue
Block a user