Remove game tags and persona/nucleus ids everywhere. Forward score-fetch statuscode. Fix login issue.
This commit is contained in:
22
internal/cache/cache.go
vendored
22
internal/cache/cache.go
vendored
@@ -65,13 +65,13 @@ func (pc *PlayerCache) SetValue(key string, value interface{}, lifetime time.Dur
|
||||
return pc.cache.Set(ctx, key, value, lifetime).Err()
|
||||
}
|
||||
|
||||
func (pc *PlayerCache) SetScore(playerId uint, gameTag string, score float32) error {
|
||||
key := getPlayerCacheKey(playerId, gameTag)
|
||||
func (pc *PlayerCache) SetScore(playerId uint, score float32) error {
|
||||
key := getPlayerCacheKey(playerId)
|
||||
return pc.SetValue(key, score, pc.lifetime)
|
||||
}
|
||||
|
||||
func (pc *PlayerCache) GetScore(playerId uint, gameTag string) (float32, error) {
|
||||
key := getPlayerCacheKey(playerId, gameTag)
|
||||
func (pc *PlayerCache) GetScore(playerId uint) (float32, error) {
|
||||
key := getPlayerCacheKey(playerId)
|
||||
val, err := pc.GetValue(key)
|
||||
if errors.Is(err, redis.Nil) {
|
||||
return -1.0, nil // cache miss
|
||||
@@ -83,10 +83,10 @@ func (pc *PlayerCache) GetScore(playerId uint, gameTag string) (float32, error)
|
||||
}
|
||||
}
|
||||
|
||||
func (pc *PlayerCache) GetScores(playerIds []uint, gameTag string) ([]float32, error) {
|
||||
func (pc *PlayerCache) GetScores(playerIds []uint) ([]float32, error) {
|
||||
vals, err := pc.cache.Pipelined(ctx, func(pipe redis.Pipeliner) error {
|
||||
for _, id := range playerIds {
|
||||
key := getPlayerCacheKey(id, gameTag)
|
||||
key := getPlayerCacheKey(id)
|
||||
pipe.Get(ctx, key)
|
||||
}
|
||||
return nil
|
||||
@@ -111,8 +111,8 @@ func (pc *PlayerCache) GetScores(playerIds []uint, gameTag string) ([]float32, e
|
||||
return scores, nil
|
||||
}
|
||||
|
||||
func (pc *PlayerCache) DeleteScore(playerId uint, gameTag string) error {
|
||||
key := getPlayerCacheKey(playerId, gameTag)
|
||||
func (pc *PlayerCache) DeleteScore(playerId uint) error {
|
||||
key := getPlayerCacheKey(playerId)
|
||||
return pc.cache.Del(ctx, key).Err()
|
||||
}
|
||||
|
||||
@@ -120,12 +120,12 @@ func (pc *PlayerCache) PurgeCache() error {
|
||||
return pc.cache.FlushAll(ctx).Err()
|
||||
}
|
||||
|
||||
func getPlayerCacheKey(playerId uint, gameTag string) string {
|
||||
return fmt.Sprintf("player:%d:game:%s", playerId, gameTag)
|
||||
func getPlayerCacheKey(playerId uint) string {
|
||||
return fmt.Sprintf("player:%d", playerId)
|
||||
}
|
||||
|
||||
func (pc *PlayerCache) GetPlayerIdFromCacheKey(key string) (uint, error) {
|
||||
var playerId uint
|
||||
_, err := fmt.Sscanf(key, "player:%d:game:", &playerId)
|
||||
_, err := fmt.Sscanf(key, "player:%d", &playerId)
|
||||
return playerId, err
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user