Bugfixes. Optimizations/refactor. Add redis for player-cache. Add docker files. Replace sqlite dep. Single-Calc for existing players. Game-Metrics in JSON.
This commit is contained in:
@@ -7,6 +7,7 @@ import (
|
||||
"github.com/gin-gonic/gin"
|
||||
"gorm.io/gorm"
|
||||
"gorm.io/gorm/clause"
|
||||
"internal/cache"
|
||||
"log"
|
||||
"net/http"
|
||||
"os"
|
||||
@@ -37,24 +38,36 @@ func GetPlayersByClanHTML(c *gin.Context) {
|
||||
if err := models.DB.
|
||||
Where("clan_id = ?", utils.StringToUint(clanId)).
|
||||
Find(&players).Error; err != nil {
|
||||
|
||||
c.String(http.StatusBadRequest, "")
|
||||
log.Fatal(err)
|
||||
return
|
||||
}
|
||||
|
||||
file, err := os.ReadFile("./templates/player_list_item.html")
|
||||
if err != nil {
|
||||
c.String(http.StatusBadRequest, "")
|
||||
log.Fatal(err)
|
||||
return
|
||||
}
|
||||
playerItem := string(file)
|
||||
|
||||
game, err := GetActiveGame(c)
|
||||
if err != nil {
|
||||
c.String(http.StatusBadRequest, "")
|
||||
log.Fatal(err)
|
||||
return
|
||||
}
|
||||
|
||||
var htmlOptions string
|
||||
for _, player := range players {
|
||||
var score string
|
||||
if val, err := GetCacheByPlayerIDGorm(player.ID, 0); err != nil {
|
||||
score = "----"
|
||||
if val, err := cache.GetScore(player.ID, game.Tag); err != nil || val == -1.0 {
|
||||
score = "<i class=\"bi bi-dash me-2\" style=\"margin-left:0.7rem;\"></i>"
|
||||
} else {
|
||||
score = utils.FloatToString(val)
|
||||
score = fmt.Sprintf("%.2f", val)
|
||||
}
|
||||
htmlOptions += fmt.Sprintf(playerItem, player.Name, score, player.ID, player.ID)
|
||||
htmlOptions += fmt.Sprintf(playerItem, player.Name, score, utils.UintToString(player.ID)+"?game_tag="+game.Tag, player.ID, player.ID)
|
||||
}
|
||||
|
||||
c.Header("Content-Type", "text/html")
|
||||
|
||||
Reference in New Issue
Block a user