Remove game tags and persona/nucleus ids everywhere. Forward score-fetch statuscode. Fix login issue.

This commit is contained in:
MaxJa4
2024-01-23 18:40:39 +01:00
parent 2139b83174
commit fa5728fba2
9 changed files with 91 additions and 195 deletions

View File

@@ -21,14 +21,7 @@ type UpdateCacheInput struct {
func GetCacheByPlayerID(c *gin.Context) {
playerId := utils.StringToUint(c.Param("player_id"))
game, err := GetActiveGame(c)
if err != nil {
c.JSON(http.StatusBadRequest, gin.H{"error": "No active game available!"})
utils.Logger.Warnf("[CACHE] No active game available! Error: %s", err.Error())
return
}
val, err := models.PlayerCache.GetScore(playerId, game.Tag)
val, err := models.PlayerCache.GetScore(playerId)
if err != nil {
c.JSON(http.StatusBadRequest, gin.H{"error": "Record not found!"})
utils.Logger.Warnf("[CACHE] Record not found! Error: %s", err.Error())
@@ -54,7 +47,7 @@ func AddCache(c *gin.Context) {
return
}
err := models.PlayerCache.SetScore(input.PlayerID, input.GameTag, input.Score)
err := models.PlayerCache.SetScore(input.PlayerID, input.Score)
if err != nil {
c.JSON(http.StatusBadRequest, gin.H{"error": "Cache update failed! Error: " + err.Error()})
utils.Logger.Warnf("[CACHE] Cache update failed! Error: %s", err.Error())
@@ -64,13 +57,12 @@ func AddCache(c *gin.Context) {
c.JSON(http.StatusOK, nil)
}
// UpdateCacheByPlayerID PATCH /cache/:id?game=TAG
// UpdateCacheByPlayerID PATCH /cache/:id
func UpdateCacheByPlayerID(c *gin.Context) {
playerID := utils.StringToUint(c.Param("id"))
gameTag := c.Request.URL.Query().Get("game")
score := utils.StringToFloat(c.PostForm("score"))
err := models.PlayerCache.SetScore(playerID, gameTag, score)
err := models.PlayerCache.SetScore(playerID, score)
if err != nil {
c.JSON(http.StatusBadRequest, gin.H{"error": "Cache update failed! Error: " + err.Error()})
utils.Logger.Warnf("[CACHE] Cache update failed! Error: %s", err.Error())
@@ -79,12 +71,11 @@ func UpdateCacheByPlayerID(c *gin.Context) {
}
}
// DeleteCacheByPlayerID DELETE /cache/:id?game=TAG
// DeleteCacheByPlayerID DELETE /cache/:id
func DeleteCacheByPlayerID(c *gin.Context) {
playerID := utils.StringToUint(c.Param("id"))
gameTag := c.Request.URL.Query().Get("game")
if err := models.PlayerCache.DeleteScore(playerID, gameTag); err != nil {
if err := models.PlayerCache.DeleteScore(playerID); err != nil {
c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()})
utils.Logger.Warnf("[CACHE] Cache deletion failed! Error: %s", err.Error())
} else {
@@ -121,15 +112,15 @@ func UpdateCacheAfterExpiry(key string) {
}
if player.Clan.KeepUpdated {
score := CalcPlayerScore(player.Name, "BF2042")
score, statusCode := GetPlayerScore(player.Name)
if score == score && score != -1 { // not NaN
if err := models.PlayerCache.SetScore(player.ID, "BF2042", score); err != nil {
if err := models.PlayerCache.SetScore(player.ID, score); err != nil {
utils.Logger.Warnf("[KeepUpdated] Failed to update cache for player %s! Error: %s", player.Name, err.Error())
} else {
utils.Logger.Infof("[KeepUpdated] Updated cache for player %s", player.Name)
}
} else {
utils.Logger.Warnf("[KeepUpdated] Failed to calculate score for player %s", player.Name)
utils.Logger.Warnf("[KeepUpdated] Failed to calculate score for player %s! Status code: %d", player.Name, statusCode)
}
}
}