updated deps; code cleanup; updated golangci linter conf
This commit is contained in:
126
utils/utils.go
126
utils/utils.go
@@ -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
|
||||
}
|
||||
|
Reference in New Issue
Block a user