updated deps; code cleanup; updated golangci linter conf

This commit is contained in:
2023-08-07 22:38:24 +02:00
parent 3fd0a4204b
commit dacc86dd83
7 changed files with 220 additions and 193 deletions

View File

@@ -390,13 +390,13 @@ func GetMetaStats(dbPlayer *ent.Player) (*MetaStatsResponse, error) {
return mResponse.WeaponDmg[i].Dmg > mResponse.WeaponDmg[j].Dmg
})
if len(mResponse.BestMates) > 10 { //nolint:gomnd
if len(mResponse.BestMates) > 10 {
mResponse.BestMates = mResponse.BestMates[:10]
}
if len(mResponse.MostMates) > 10 { //nolint:gomnd
if len(mResponse.MostMates) > 10 {
mResponse.MostMates = mResponse.MostMates[:10]
}
if len(mResponse.WeaponDmg) > 10 { //nolint:gomnd
if len(mResponse.WeaponDmg) > 10 {
mResponse.WeaponDmg = mResponse.WeaponDmg[:10]
}
@@ -490,13 +490,13 @@ func IsAuthCodeValid(tPlayer *ent.Player, apiKey, shareCode, authCode string, rl
return false, err
}
return true, nil
} else {
_, err := getNextShareCode(shareCode, apiKey, authCode, tPlayer.ID, rl)
if err != nil {
return false, err
}
return true, nil
}
_, err = getNextShareCode(shareCode, apiKey, authCode, tPlayer.ID, rl)
if err != nil {
return false, err
}
return true, nil
}
func GetNewShareCodesForPlayer(tPlayer *ent.Player, apiKey string, rl *rate.Limiter) ([]string, error) {
@@ -562,7 +562,7 @@ func getNextShareCode(lastCode, apiKey, authCode string, steamID uint64, rl *rat
switch r.StatusCode {
case http.StatusAccepted:
return nil, nil
return nil, nil //nolint:nilnil
case http.StatusTooManyRequests:
return nil, ErrorAuthcodeRateLimit
case http.StatusServiceUnavailable:
@@ -620,65 +620,65 @@ func PlayerFromVanityURL(db *ent.Client, id, apiKey string, rl *rate.Limiter) (*
tPlayer, err := db.Player.Query().Where(player.VanityURL(strings.ToLower(id))).Only(context.Background())
if err == nil {
return tPlayer, nil
} else {
if rl != nil {
err := rl.Wait(context.Background())
if err != nil {
return nil, err
}
}
resp, err := steamapi.ResolveVanityURL(id, apiKey)
if err != nil {
return nil, err
}
if resp.Success != 1 {
return nil, fmt.Errorf("vanity url not found")
}
nPlayer, err := PlayerFromSteamID64(db, resp.SteamID, apiKey, rl)
if err != nil {
return nil, err
}
return nPlayer, nil
}
if rl != nil {
err := rl.Wait(context.Background())
if err != nil {
return nil, err
}
}
resp, err := steamapi.ResolveVanityURL(id, apiKey)
if err != nil {
return nil, err
}
if resp.Success != 1 {
return nil, fmt.Errorf("vanity url not found")
}
nPlayer, err := PlayerFromSteamID64(db, resp.SteamID, apiKey, rl)
if err != nil {
return nil, err
}
return nPlayer, nil
}
func PlayerFromSteamID64(db *ent.Client, steamID uint64, apiKey string, rl *rate.Limiter) (*ent.Player, error) {
tPlayer, err := db.Player.Get(context.Background(), steamID)
if err == nil {
return tPlayer, nil
} else {
nPlayer := &ent.Player{ID: steamID}
uPlayer, err := PlayerFromSteam([]*ent.Player{nPlayer}, nil, apiKey, rl)
}
nPlayer := &ent.Player{ID: steamID}
uPlayer, err := PlayerFromSteam([]*ent.Player{nPlayer}, nil, apiKey, rl)
if err != nil {
return nil, err
}
if len(uPlayer) > 0 {
nPlayer, err = db.Player.Create().
SetID(steamID).
SetName(uPlayer[0].Name).
SetAvatar(uPlayer[0].Avatar).
SetSteamUpdated(uPlayer[0].SteamUpdated).
SetVanityURL(uPlayer[0].VanityURL).
SetVanityURLReal(uPlayer[0].VanityURLReal).
SetProfileCreated(uPlayer[0].ProfileCreated).
SetGameBanCount(uPlayer[0].GameBanCount).
SetVacCount(uPlayer[0].VacCount).
SetVacDate(uPlayer[0].VacDate).
SetGameBanDate(uPlayer[0].GameBanDate).
Save(context.Background())
if err != nil {
return nil, err
}
if len(uPlayer) > 0 {
nPlayer, err = db.Player.Create().
SetID(steamID).
SetName(uPlayer[0].Name).
SetAvatar(uPlayer[0].Avatar).
SetSteamUpdated(uPlayer[0].SteamUpdated).
SetVanityURL(uPlayer[0].VanityURL).
SetVanityURLReal(uPlayer[0].VanityURLReal).
SetProfileCreated(uPlayer[0].ProfileCreated).
SetGameBanCount(uPlayer[0].GameBanCount).
SetVacCount(uPlayer[0].VacCount).
SetVacDate(uPlayer[0].VacDate).
SetGameBanDate(uPlayer[0].GameBanDate).
Save(context.Background())
if err != nil {
return nil, err
}
return nPlayer, nil
}
return nil, fmt.Errorf("player %d not found", steamID)
return nPlayer, nil
}
return nil, fmt.Errorf("player %d not found", steamID)
}
func TranslateWithDeepL(text, language, baseURL, apiKey string, timeout int) (translated, detectedLanguage string, err error) {
@@ -711,13 +711,13 @@ func TranslateWithDeepL(text, language, baseURL, apiKey string, timeout int) (tr
}
func PlayerFromSteam(players []*ent.Player, db *ent.Client, apiKey string, rl *rate.Limiter) ([]*ent.Player, error) {
var idsToUpdate []uint64
idsToUpdate := make([]uint64, 0, len(players))
for _, updatePlayer := range players {
idsToUpdate = append(idsToUpdate, updatePlayer.ID)
}
batches := int(math.Round((float64(len(players)) / 1000) + 0.5)) //nolint:gomnd
batches := int(math.Round((float64(len(players)) / 1000) + 0.5))
if rl != nil {
err := rl.WaitN(context.Background(), batches)
@@ -731,7 +731,7 @@ func PlayerFromSteam(players []*ent.Player, db *ent.Client, apiKey string, rl *r
}
// TODO: what happens if a player deleted their profile?
var nPlayers []*ent.Player
var nPlayers []*ent.Player //nolint:prealloc
for _, pS := range playerSum {
// check for vanityURL
if SteamID64RegEx.MatchString(path.Base(pS.ProfileURL)) {
@@ -817,14 +817,14 @@ func PlayerFromSteam(players []*ent.Player, db *ent.Client, apiKey string, rl *r
func RealIP(header *http.Header, fallback string) string {
if header.Get("X-Forwarded-For") != "" {
return header.Get("X-Forwarded-For")
} else {
return fallback
}
return fallback
}
func Rollback(tx *ent.Tx, err error) error {
if rErr := tx.Rollback(); rErr != nil {
err = fmt.Errorf("%w: %v", err, rErr)
err = fmt.Errorf("%w: %w", err, rErr)
}
return err
}