slices - use nil declaration

This commit is contained in:
Dawid Wysokiński 2021-05-05 19:58:45 +02:00
parent 49b407ed23
commit 6a44193f31
18 changed files with 42 additions and 45 deletions

View File

@ -22,7 +22,7 @@ func NewPGRepository(db *pg.DB) dailytribestats.Repository {
func (repo *pgRepository) Fetch(ctx context.Context, cfg dailytribestats.FetchConfig) ([]*twmodel.DailyTribeStats, int, error) {
var err error
data := []*twmodel.DailyTribeStats{}
var data []*twmodel.DailyTribeStats
total := 0
query := repo.
WithParam("SERVER", pg.Safe(cfg.Server)).

View File

@ -23,7 +23,7 @@ func NewPGRepository(db *pg.DB) ennoblement.Repository {
func (repo *pgRepository) Fetch(ctx context.Context, cfg ennoblement.FetchConfig) ([]*twmodel.Ennoblement, int, error) {
var err error
total := 0
data := []*twmodel.Ennoblement{}
var data []*twmodel.Ennoblement
query := repo.
WithParam("SERVER", pg.Safe(cfg.Server)).
Model(&data).

View File

@ -32,7 +32,7 @@ func NewDataLoaders(cfg Config) *DataLoaders {
wait: wait,
maxBatch: 0,
fetch: func(keys []string) ([]*twmodel.Version, []error) {
codes := []twmodel.VersionCode{}
var codes []twmodel.VersionCode
for _, code := range keys {
codes = append(codes, twmodel.VersionCode(code))
}

View File

@ -5,9 +5,10 @@ import (
"fmt"
"github.com/99designs/gqlgen/graphql"
"github.com/pkg/errors"
"time"
"github.com/tribalwarshelp/api/graphql/querycomplexity"
"github.com/tribalwarshelp/api/middleware"
"time"
"github.com/99designs/gqlgen/graphql/handler"
"github.com/99designs/gqlgen/graphql/handler/extension"
@ -15,6 +16,7 @@ import (
"github.com/99designs/gqlgen/graphql/handler/transport"
"github.com/99designs/gqlgen/graphql/playground"
"github.com/gin-gonic/gin"
"github.com/tribalwarshelp/api/graphql/generated"
"github.com/tribalwarshelp/api/graphql/resolvers"
)

View File

@ -61,13 +61,10 @@ func (r *Resolver) DailyTribeStatsRecord() generated.DailyTribeStatsRecordResolv
type queryResolver struct{ *Resolver }
type playerResolver struct{ *Resolver }
type villageResolver struct{ *Resolver }
type tribeResolver struct{ *Resolver }
type ennoblementResolver struct{ *Resolver }
type serverResolver struct{ *Resolver }
type playerHistoryRecordResolver struct{ *Resolver }
type tribeHistoryRecordResolver struct{ *Resolver }
type serverStatsRecordResolver struct{ *Resolver }
type tribeChangeRecordResolver struct{ *Resolver }
type dailyPlayerStatsRecordResolver struct{ *Resolver }
type dailyTribeStatsRecordResolver struct{ *Resolver }
type versionResolver struct{ *Resolver }

View File

@ -10,13 +10,13 @@ import (
var limitWhitelistContextKey ContextKey = "limitWhitelist"
type NetworksAndIps struct {
type networksAndIPs struct {
Networks []*net.IPNet
Ips []net.IP
IPs []net.IP
}
func (networksAndIps NetworksAndIps) Contains(ip net.IP) bool {
for _, whitelistedIP := range networksAndIps.Ips {
func (networksAndIps networksAndIPs) Contains(ip net.IP) bool {
for _, whitelistedIP := range networksAndIps.IPs {
if whitelistedIP.Equal(ip) {
return true
}
@ -33,9 +33,9 @@ type LimitWhitelistConfig struct {
IPAddresses []string
}
func (cfg LimitWhitelistConfig) GetNetworksAndIps() NetworksAndIps {
networks := []*net.IPNet{}
ips := []net.IP{}
func (cfg LimitWhitelistConfig) getNetworksAndIps() networksAndIPs {
var networks []*net.IPNet
var ips []net.IP
for _, ip := range cfg.IPAddresses {
_, network, err := net.ParseCIDR(ip)
if err == nil {
@ -48,14 +48,14 @@ func (cfg LimitWhitelistConfig) GetNetworksAndIps() NetworksAndIps {
ips = append(ips, parsed)
}
}
return NetworksAndIps{
return networksAndIPs{
Networks: networks,
Ips: ips,
IPs: ips,
}
}
func LimitWhitelist(cfg LimitWhitelistConfig) gin.HandlerFunc {
networksAndIps := cfg.GetNetworksAndIps()
networksAndIps := cfg.getNetworksAndIps()
return func(c *gin.Context) {
ctx := c.Request.Context()
clientIP := net.ParseIP(c.ClientIP())

View File

@ -23,7 +23,7 @@ func NewPGRepository(db *pg.DB) player.Repository {
func (repo *pgRepository) Fetch(ctx context.Context, cfg player.FetchConfig) ([]*twmodel.Player, int, error) {
var err error
data := []*twmodel.Player{}
var data []*twmodel.Player
total := 0
query := repo.
WithParam("SERVER", pg.Safe(cfg.Server)).
@ -60,11 +60,11 @@ type fetchPlayerServersQueryResult struct {
}
func (repo *pgRepository) FetchNameChanges(ctx context.Context, code twmodel.VersionCode, playerID ...int) (map[int][]*twmodel.PlayerNameChange, error) {
data := []*twmodel.PlayerNameChange{}
var data []*twmodel.PlayerNameChange
if err := repo.Model(&data).
Context(ctx).
Where("version_code = ?", code).
Where("player_id IN (?)", pg.In(playerID)).
Where(gopgutil.BuildConditionArray("player_id"), pg.Array(playerID)).
Order("change_date ASC").
Select(); err != nil && err != pg.ErrNoRows {
return nil, errors.New("Internal server error")
@ -78,14 +78,14 @@ func (repo *pgRepository) FetchNameChanges(ctx context.Context, code twmodel.Ver
}
func (repo *pgRepository) FetchPlayerServers(ctx context.Context, code twmodel.VersionCode, playerID ...int) (map[int][]string, error) {
data := []*fetchPlayerServersQueryResult{}
var data []*fetchPlayerServersQueryResult
if err := repo.Model(&twmodel.PlayerToServer{}).
Context(ctx).
Column("player_id").
ColumnExpr("array_agg(server_key) as servers").
Relation("Server._").
Where("version_code = ?", code).
Where("player_id IN (?)", pg.In(playerID)).
Where(gopgutil.BuildConditionArray("player_id"), pg.Array(playerID)).
Group("player_id").
Select(&data); err != nil && err != pg.ErrNoRows {
return nil, errors.New("Internal server error")
@ -99,7 +99,7 @@ func (repo *pgRepository) FetchPlayerServers(ctx context.Context, code twmodel.V
}
func (repo *pgRepository) SearchPlayer(ctx context.Context, cfg player.SearchPlayerConfig) ([]*twmodel.FoundPlayer, int, error) {
servers := []*twmodel.Server{}
var servers []*twmodel.Server
if err := repo.
Model(&servers).
Context(ctx).
@ -110,7 +110,7 @@ func (repo *pgRepository) SearchPlayer(ctx context.Context, cfg player.SearchPla
}
var query *orm.Query
res := []*twmodel.FoundPlayer{}
var res []*twmodel.FoundPlayer
whereClause := "player.id = ?1 OR player.name ILIKE ?0"
if cfg.ID <= 0 {
whereClause = "player.name ILIKE ?0"

View File

@ -23,7 +23,7 @@ func NewPGRepository(db *pg.DB) playerhistory.Repository {
func (repo *pgRepository) Fetch(ctx context.Context, cfg playerhistory.FetchConfig) ([]*twmodel.PlayerHistory, int, error) {
var err error
total := 0
data := []*twmodel.PlayerHistory{}
var data []*twmodel.PlayerHistory
query := repo.
WithParam("SERVER", pg.Safe(cfg.Server)).
Model(&data).

View File

@ -28,7 +28,7 @@ func NewPGRepository(db *pg.DB) (server.Repository, error) {
func (repo *pgRepository) Fetch(ctx context.Context, cfg server.FetchConfig) ([]*twmodel.Server, int, error) {
var err error
total := 0
data := []*twmodel.Server{}
var data []*twmodel.Server
query := repo.
Model(&data).
Context(ctx).

View File

@ -75,7 +75,7 @@ func (h *handler) mapHandler(c *gin.Context) {
centerX, _ := strconv.Atoi(c.Query("centerX"))
centerY, _ := strconv.Atoi(c.Query("centerY"))
scale, _ := strconv.ParseFloat((c.Query("scale")), 32)
scale, _ := strconv.ParseFloat(c.Query("scale"), 32)
if scale > maxScale {
scale = maxScale
}

View File

@ -43,7 +43,7 @@ func (ucase *usecase) GetMarkers(ctx context.Context, cfg servermap.GetMarkersCo
return nil, err
}
otherMarkers := []*generator.Marker{}
var otherMarkers []*generator.Marker
var otherMarkersMutex sync.Mutex
if cfg.ShowOtherPlayerVillages {
color := cfg.PlayerVillageColor
@ -103,7 +103,7 @@ func (ucase *usecase) GetMarkers(ctx context.Context, cfg servermap.GetMarkersCo
})
}
tribeMarkers := []*generator.Marker{}
var tribeMarkers []*generator.Marker
var tribeMarkersMutex sync.Mutex
for color, tribeIDs := range tribes {
c := color
@ -135,7 +135,7 @@ func (ucase *usecase) GetMarkers(ctx context.Context, cfg servermap.GetMarkersCo
})
}
playerMarkers := []*generator.Marker{}
var playerMarkers []*generator.Marker
var playerMarkersMutex sync.Mutex
for color, playerIDs := range players {
c := color
@ -191,11 +191,11 @@ func concatMarkers(slices ...[]*generator.Marker) []*generator.Marker {
}
func toMarker(param string) (int, string, error) {
splitted := strings.Split(param, ",")
if len(splitted) != 2 {
parts := strings.Split(param, ",")
if len(parts) != 2 {
return 0, "", errors.Errorf("%s: Invalid marker format (should be id,#hexcolor)", param)
}
id, err := strconv.Atoi(splitted[0])
id, err := strconv.Atoi(parts[0])
if err != nil {
return 0, "", errors.Wrapf(err, "%s: Invalid marker format (should be id,#hexcolor)", param)
}
@ -203,12 +203,12 @@ func toMarker(param string) (int, string, error) {
return 0, "", errors.New("ID should be greater than 0")
}
return id, splitted[1], nil
return id, parts[1], nil
}
func toMarkers(params []string) (map[string][]int, []int, error) {
idsByColor := make(map[string][]int)
ids := []int{}
var ids []int
cache := make(map[int]bool)
for _, param := range params {
//id,#color

View File

@ -22,7 +22,7 @@ func NewPGRepository(db *pg.DB) serverstats.Repository {
func (repo *pgRepository) Fetch(ctx context.Context, cfg serverstats.FetchConfig) ([]*twmodel.ServerStats, int, error) {
var err error
data := []*twmodel.ServerStats{}
var data []*twmodel.ServerStats
total := 0
query := repo.
WithParam("SERVER", pg.Safe(cfg.Server)).

View File

@ -20,10 +20,8 @@ func (ucase *usecase) Fetch(ctx context.Context, cfg serverstats.FetchConfig) ([
if cfg.Filter == nil {
cfg.Filter = &twmodel.ServerStatsFilter{}
}
if !middleware.CanExceedLimit(ctx) && (cfg.Limit > serverstats.FetchLimit || cfg.Limit <= 0) {
cfg.Limit = serverstats.FetchLimit
}
return ucase.repo.Fetch(ctx, cfg)
}

View File

@ -23,7 +23,7 @@ func NewPGRepository(db *pg.DB) tribe.Repository {
func (repo *pgRepository) Fetch(ctx context.Context, cfg tribe.FetchConfig) ([]*twmodel.Tribe, int, error) {
var err error
data := []*twmodel.Tribe{}
var data []*twmodel.Tribe
total := 0
query := repo.
WithParam("SERVER", pg.Safe(cfg.Server)).
@ -55,7 +55,7 @@ func (repo *pgRepository) Fetch(ctx context.Context, cfg tribe.FetchConfig) ([]*
}
func (repo *pgRepository) SearchTribe(ctx context.Context, cfg tribe.SearchTribeConfig) ([]*twmodel.FoundTribe, int, error) {
servers := []*twmodel.Server{}
var servers []*twmodel.Server
if err := repo.
Model(&servers).
Context(ctx).
@ -66,7 +66,7 @@ func (repo *pgRepository) SearchTribe(ctx context.Context, cfg tribe.SearchTribe
}
var query *orm.Query
res := []*twmodel.FoundTribe{}
var res []*twmodel.FoundTribe
for _, server := range servers {
safeKey := pg.Safe(server.Key)
otherQuery := repo.

View File

@ -23,7 +23,7 @@ func NewPGRepository(db *pg.DB) tribechange.Repository {
func (repo *pgRepository) Fetch(ctx context.Context, cfg tribechange.FetchConfig) ([]*twmodel.TribeChange, int, error) {
var err error
total := 0
data := []*twmodel.TribeChange{}
var data []*twmodel.TribeChange
query := repo.
WithParam("SERVER", pg.Safe(cfg.Server)).
Model(&data).

View File

@ -23,7 +23,7 @@ func NewPGRepository(db *pg.DB) tribehistory.Repository {
func (repo *pgRepository) Fetch(ctx context.Context, cfg tribehistory.FetchConfig) ([]*twmodel.TribeHistory, int, error) {
var err error
total := 0
data := []*twmodel.TribeHistory{}
var data []*twmodel.TribeHistory
query := repo.
WithParam("SERVER", pg.Safe(cfg.Server)).
Model(&data).

View File

@ -27,7 +27,7 @@ func NewPGRepository(db *pg.DB) (version.Repository, error) {
func (repo *pgRepository) Fetch(ctx context.Context, cfg version.FetchConfig) ([]*twmodel.Version, int, error) {
var err error
data := []*twmodel.Version{}
var data []*twmodel.Version
total := 0
query := repo.
Model(&data).

View File

@ -22,7 +22,7 @@ func NewPGRepository(db *pg.DB) village.Repository {
func (repo *pgRepository) Fetch(ctx context.Context, cfg village.FetchConfig) ([]*twmodel.Village, int, error) {
var err error
data := []*twmodel.Village{}
var data []*twmodel.Village
query := repo.
WithParam("SERVER", pg.Safe(cfg.Server)).
Model(&data).