Optimizations. User-Role handling in templates and routes.

This commit is contained in:
MaxJa4
2024-01-21 17:24:29 +01:00
parent 8edbbb4347
commit 4aae0896aa
14 changed files with 221 additions and 119 deletions

View File

@@ -20,12 +20,17 @@ type UpdateCacheInput struct {
Score float32 `json:"score" gorm:"default:-1.0"`
}
// GetCacheByPlayerID GET /cache/:player_id?game_tag=TAG
// GetCacheByPlayerID GET /cache/:player_id
func GetCacheByPlayerID(c *gin.Context) {
playerId := utils.StringToUint(c.Param("player_id"))
gameTag := c.Request.URL.Query().Get("game_tag")
val, err := cache.GetScore(playerId, gameTag)
game, err := GetActiveGame(c)
if err != nil {
c.JSON(http.StatusBadRequest, gin.H{"error": "No active game available!"})
return
}
val, err := cache.GetScore(playerId, game.Tag)
if err != nil {
c.JSON(http.StatusBadRequest, gin.H{"error": "Record not found!"})
} else {
@@ -91,11 +96,11 @@ func DeleteAllCaches(c *gin.Context) {
}
}
// GetScoreByPlayerID GET /score/:player_id?game_tag=TAG
// GetScoreByPlayerID GET /score/:player_id
func GetScoreByPlayerID(c *gin.Context) {
var player models.Player
var gameTag = c.Request.URL.Query().Get("game_tag")
var playerId = utils.StringToUint(c.Param("player_id"))
if err := models.DB.
Model(&models.Player{}).
Where("id = ?", playerId).
@@ -105,11 +110,17 @@ func GetScoreByPlayerID(c *gin.Context) {
return
}
score, err := cache.GetScore(player.ID, gameTag)
game, err := GetActiveGame(c)
if err != nil {
c.JSON(http.StatusBadRequest, gin.H{"error": "No active game available!"})
return
}
score, err := cache.GetScore(player.ID, game.Tag)
if err != nil || score == -1 {
score = utils.CalcPlayerScore(player.Name, gameTag)
score = utils.CalcPlayerScore(player.Name, game.Tag)
if score == score && score != -1 { // not NaN
if err := cache.SetScore(player.ID, gameTag, score); err != nil {
if err := cache.SetScore(player.ID, game.Tag, score); err != nil {
log.Fatal(err)
}
}