From 84730508fce572791baa03e1d6cb78c14804442d Mon Sep 17 00:00:00 2001 From: Kichiyaki Date: Fri, 6 Nov 2020 20:22:53 +0100 Subject: [PATCH] refactor, bump github.com/tribalwarshelp/shared --- example/main.go | 33 +++++----- go.mod | 4 +- go.sum | 5 ++ sdk/lang_versions.go | 61 ------------------- ...ve_ennoblements.go => live_ennoblement.go} | 4 +- sdk/{players.go => player.go} | 10 +-- sdk/sdk.go | 34 +++++------ sdk/{servers.go => server.go} | 18 +++--- sdk/{tribes.go => tribe.go} | 10 +-- sdk/version.go | 61 +++++++++++++++++++ sdk/{villages.go => village.go} | 10 +-- 11 files changed, 127 insertions(+), 123 deletions(-) delete mode 100644 sdk/lang_versions.go rename sdk/{live_ennoblements.go => live_ennoblement.go} (90%) rename sdk/{players.go => player.go} (78%) rename sdk/{servers.go => server.go} (78%) rename sdk/{tribes.go => tribe.go} (73%) create mode 100644 sdk/version.go rename sdk/{villages.go => village.go} (78%) diff --git a/example/main.go b/example/main.go index 869655f..65a0acb 100644 --- a/example/main.go +++ b/example/main.go @@ -16,32 +16,29 @@ func init() { func main() { api := sdk.New("https://api.tribalwarshelp.com/graphql") - langVersion, err := api.LangVersions.Read(models.LanguageTagPL) + version, err := api.Version.Read(models.VersionCodePL) if err != nil { log.Fatal(err) } - if err != nil { - log.Fatal(err) - } - log.Println(langVersion.Name, langVersion.Tag, langVersion.Host, langVersion.Timezone) + log.Println(version.Name, version.Code, version.Host, version.Timezone) - langVersionList, err := api.LangVersions.Browse(&models.LangVersionFilter{ + versionList, err := api.Version.Browse(&models.VersionFilter{ HostMATCH: "plemiona%", }) if err != nil { log.Fatal(err) } - for _, langVersion := range langVersionList.Items { - log.Println(langVersion.Name, langVersion.Tag, langVersion.Host, langVersion.Timezone) + for _, version := range versionList.Items { + log.Println(version.Name, version.Code, version.Host, version.Timezone) } - server, err := api.Servers.Read("pl151", &sdk.ServerInclude{LangVersion: true}) + server, err := api.Server.Read("pl151", &sdk.ServerInclude{Version: true}) if err != nil { log.Fatal(err) } - log.Println(server.Key, server.Status, server.LangVersion.Tag) + log.Println(server.Key, server.Status, server.Version.Code) - serverList, err := api.Servers.Browse(nil, nil) + serverList, err := api.Server.Browse(nil, nil) if err != nil { log.Fatal(err) } @@ -50,13 +47,13 @@ func main() { log.Println(server.Key, server.Status) } - player, err := api.Players.Read("pl151", 699813215, nil) + player, err := api.Player.Read("pl151", 699813215, nil) if err != nil { log.Fatal(err) } log.Println(player.ID, player.Name, player.RankAtt, player.RankDef, player.RankSup) - playerList, err := api.Players.Browse("pl151", &models.PlayerFilter{ + playerList, err := api.Player.Browse("pl151", &models.PlayerFilter{ Sort: "rank ASC", Limit: 10, }, &sdk.PlayerInclude{ @@ -73,13 +70,13 @@ func main() { } } - tribe, err := api.Tribes.Read("pl151", 894) + tribe, err := api.Tribe.Read("pl151", 894) if err != nil { log.Fatal(err) } log.Println(tribe.ID, tribe.Name, tribe.Tag, tribe.RankAtt, tribe.RankDef) - tribeList, err := api.Tribes.Browse("pl151", &models.TribeFilter{ + tribeList, err := api.Tribe.Browse("pl151", &models.TribeFilter{ TagIEQ: ":.+.:", }) if err != nil { @@ -89,7 +86,7 @@ func main() { log.Println(tribe.ID, tribe.Name, tribe.Tag, tribe.RankAtt, tribe.RankDef) } - village, err := api.Villages.Read("pl151", 28120, &sdk.VillageInclude{ + village, err := api.Village.Read("pl151", 28120, &sdk.VillageInclude{ Player: true, PlayerInclude: sdk.PlayerInclude{ Tribe: true, @@ -106,7 +103,7 @@ func main() { } } - villagelist, err := api.Villages.Browse("pl151", &models.VillageFilter{ + villagelist, err := api.Village.Browse("pl151", &models.VillageFilter{ PlayerID: []int{699270453}, Sort: "id ASC", Limit: 10, @@ -131,7 +128,7 @@ func main() { } } - ennoblements, err := api.LiveEnnoblements.Browse("pl151", &sdk.LiveEnnoblementInclude{ + ennoblements, err := api.LiveEnnoblement.Browse("pl151", &sdk.LiveEnnoblementInclude{ NewOwner: true, NewOwnerInclude: sdk.PlayerInclude{ Tribe: true, diff --git a/go.mod b/go.mod index 9426c39..6d8377d 100644 --- a/go.mod +++ b/go.mod @@ -4,6 +4,8 @@ go 1.14 require ( github.com/Kichiyaki/gqlgen-client v0.0.0-20200604145848-274796c104f4 + github.com/go-redis/redis/v8 v8.0.0-beta.7 // indirect github.com/pkg/errors v0.9.1 - github.com/tribalwarshelp/shared v0.0.0-20200809125423-2bc2e8dfde95 + github.com/tribalwarshelp/shared v0.0.0-20201106181031-7c5891c02013 + go.opentelemetry.io/otel v0.9.0 // indirect ) diff --git a/go.sum b/go.sum index 66e2f12..1e84a6e 100644 --- a/go.sum +++ b/go.sum @@ -55,7 +55,9 @@ github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINE github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= +github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.6.0 h1:jlIyCplCJFULU/01vCkhKuTyc3OorI3bJFuw6obfgho= github.com/stretchr/testify v1.6.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= @@ -66,6 +68,8 @@ github.com/tribalwarshelp/shared v0.0.0-20200721094728-9ea33a732990 h1:PwMCKm5Wv github.com/tribalwarshelp/shared v0.0.0-20200721094728-9ea33a732990/go.mod h1:tf+2yTHasV6jAF3V2deZ9slNoCyBzC0fMdTjI7clf6Y= github.com/tribalwarshelp/shared v0.0.0-20200809125423-2bc2e8dfde95 h1:mO3ZR+o5UlYN8uGX4L32H5HNpB0uHpLdZ3YiDA6ciW4= github.com/tribalwarshelp/shared v0.0.0-20200809125423-2bc2e8dfde95/go.mod h1:SSWchTkQdgeIDr0C68C7zopEIcBLCUa8Ic2CHenUaac= +github.com/tribalwarshelp/shared v0.0.0-20201106181031-7c5891c02013 h1:6KWK3MWsTfIIWeRfC6+Ba+GvlwbV9Mq+HefbE+QcU2s= +github.com/tribalwarshelp/shared v0.0.0-20201106181031-7c5891c02013/go.mod h1:Lxk6zaQhPTPrgz9ksMgg51m8XgflrCo/kRBx2cM3yfk= go.opentelemetry.io/otel v0.7.0/go.mod h1:aZMyHG5TqDOXEgH2tyLiXSUKly1jT3yqE9PmrzIeCdo= go.opentelemetry.io/otel v0.9.0/go.mod h1:ckxzUEfk7tAkTwEMVdkllBM+YOfE/K9iwg6zYntFYSg= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= @@ -101,6 +105,7 @@ golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191010194322-b09406accb47/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200615200032-f1bc736245b1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= diff --git a/sdk/lang_versions.go b/sdk/lang_versions.go deleted file mode 100644 index 2d7802a..0000000 --- a/sdk/lang_versions.go +++ /dev/null @@ -1,61 +0,0 @@ -package sdk - -import ( - "fmt" - - "github.com/Kichiyaki/gqlgen-client/client" - "github.com/pkg/errors" - "github.com/tribalwarshelp/shared/models" -) - -type LangVersions struct { - sdk *SDK -} - -func (lv *LangVersions) Read(tag models.LanguageTag) (*models.LangVersion, error) { - resp := struct { - LangVersion models.LangVersion `json:"langVersion" gqlgen:"langVersion"` - }{} - query := fmt.Sprintf(` - query langVersion($tag: LanguageTag!) { - langVersion(tag: $tag) { - %s - } - } - `, langVersionFields) - err := lv.sdk.Post(query, &resp, client.Var("tag", tag)) - if err != nil { - return nil, errors.Wrap(err, "twhelp sdk") - } - return &resp.LangVersion, nil -} - -type LangVersionList struct { - Items []*models.LangVersion `json:"items" gqlgen:"items"` - Total int `json:"total" gqlgen:"total"` -} - -func (lv *LangVersions) Browse(filter *models.LangVersionFilter) (*LangVersionList, error) { - if filter == nil { - filter = &models.LangVersionFilter{} - } - resp := struct { - LangVersions LangVersionList `json:"langVersions" gqlgen:"langVersions"` - }{} - query := fmt.Sprintf(` - query langVersions($filter: LangVersionFilter) { - langVersions(filter: $filter) { - items { - %s - } - total - } - } - `, langVersionFields) - - err := lv.sdk.Post(query, &resp, client.Var("filter", filter)) - if err != nil { - return nil, errors.Wrap(err, "twhelp sdk") - } - return &resp.LangVersions, nil -} diff --git a/sdk/live_ennoblements.go b/sdk/live_ennoblement.go similarity index 90% rename from sdk/live_ennoblements.go rename to sdk/live_ennoblement.go index 7e1defa..519531a 100644 --- a/sdk/live_ennoblements.go +++ b/sdk/live_ennoblement.go @@ -8,7 +8,7 @@ import ( "github.com/tribalwarshelp/shared/models" ) -type LiveEnnoblements struct { +type LiveEnnoblement struct { sdk *SDK } @@ -52,7 +52,7 @@ type liveEnnoblementsResponse struct { LiveEnnoblements []*models.LiveEnnoblement `json:"liveEnnoblements" gqlgen:"liveEnnoblements"` } -func (en *LiveEnnoblements) Browse(server string, include *LiveEnnoblementInclude) ([]*models.LiveEnnoblement, error) { +func (en *LiveEnnoblement) Browse(server string, include *LiveEnnoblementInclude) ([]*models.LiveEnnoblement, error) { if server == "" { return nil, ErrServerNameIsEmpty } diff --git a/sdk/players.go b/sdk/player.go similarity index 78% rename from sdk/players.go rename to sdk/player.go index 3b25818..f64ad23 100644 --- a/sdk/players.go +++ b/sdk/player.go @@ -8,7 +8,7 @@ import ( "github.com/tribalwarshelp/shared/models" ) -type Players struct { +type Player struct { sdk *SDK } @@ -28,7 +28,7 @@ func (incl PlayerInclude) String() string { return i } -func (ps *Players) Read(server string, id int, include *PlayerInclude) (*models.Player, error) { +func (p *Player) Read(server string, id int, include *PlayerInclude) (*models.Player, error) { if server == "" { return nil, ErrServerNameIsEmpty } @@ -47,7 +47,7 @@ func (ps *Players) Read(server string, id int, include *PlayerInclude) (*models. } } `, playerFields, include.String()) - err := ps.sdk.Post(query, &resp, client.Var("server", server), client.Var("id", id)) + err := p.sdk.Post(query, &resp, client.Var("server", server), client.Var("id", id)) if err != nil { return nil, errors.Wrap(err, "twhelp sdk") } @@ -59,7 +59,7 @@ type PlayerList struct { Total int `json:"total" gqlgen:"total"` } -func (ps *Players) Browse(server string, filter *models.PlayerFilter, include *PlayerInclude) (*PlayerList, error) { +func (p *Player) Browse(server string, filter *models.PlayerFilter, include *PlayerInclude) (*PlayerList, error) { if server == "" { return nil, ErrServerNameIsEmpty } @@ -84,7 +84,7 @@ func (ps *Players) Browse(server string, filter *models.PlayerFilter, include *P } `, playerFields, include.String()) - err := ps.sdk.Post(query, &resp, client.Var("filter", filter), client.Var("server", server)) + err := p.sdk.Post(query, &resp, client.Var("filter", filter), client.Var("server", server)) if err != nil { return nil, errors.Wrap(err, "twhelp sdk") } diff --git a/sdk/sdk.go b/sdk/sdk.go index 79932ec..85cc950 100644 --- a/sdk/sdk.go +++ b/sdk/sdk.go @@ -71,8 +71,8 @@ var ( x y ` - langVersionFields = ` - tag + versionFields = ` + code name host timezone @@ -80,15 +80,15 @@ var ( ) type SDK struct { - url string - client *client.Client - httpClient *http.Client - LangVersions *LangVersions - Servers *Servers - Players *Players - Tribes *Tribes - Villages *Villages - LiveEnnoblements *LiveEnnoblements + url string + client *client.Client + httpClient *http.Client + Version *Version + Server *Server + Player *Player + Tribe *Tribe + Village *Village + LiveEnnoblement *LiveEnnoblement } func New(url string) *SDK { @@ -99,12 +99,12 @@ func New(url string) *SDK { }, } sdk.client = client.New(http.HandlerFunc(sdk.doRequest)) - sdk.LangVersions = &LangVersions{sdk} - sdk.Servers = &Servers{sdk} - sdk.Players = &Players{sdk} - sdk.Tribes = &Tribes{sdk} - sdk.Villages = &Villages{sdk} - sdk.LiveEnnoblements = &LiveEnnoblements{sdk} + sdk.Version = &Version{sdk} + sdk.Server = &Server{sdk} + sdk.Player = &Player{sdk} + sdk.Tribe = &Tribe{sdk} + sdk.Village = &Village{sdk} + sdk.LiveEnnoblement = &LiveEnnoblement{sdk} return sdk } diff --git a/sdk/servers.go b/sdk/server.go similarity index 78% rename from sdk/servers.go rename to sdk/server.go index 39f3919..09fdc19 100644 --- a/sdk/servers.go +++ b/sdk/server.go @@ -8,27 +8,27 @@ import ( "github.com/tribalwarshelp/shared/models" ) -type Servers struct { +type Server struct { sdk *SDK } type ServerInclude struct { - LangVersion bool + Version bool } func (incl ServerInclude) String() string { i := "" - if incl.LangVersion { + if incl.Version { i += fmt.Sprintf(` - langVersion { + version { %s } - `, langVersionFields) + `, versionFields) } return i } -func (ss *Servers) Read(key string, incl *ServerInclude) (*models.Server, error) { +func (s *Server) Read(key string, incl *ServerInclude) (*models.Server, error) { if incl == nil { incl = &ServerInclude{} } @@ -50,7 +50,7 @@ func (ss *Servers) Read(key string, incl *ServerInclude) (*models.Server, error) } } `, incl.String()) - err := ss.sdk.Post(query, &resp, client.Var("key", key)) + err := s.sdk.Post(query, &resp, client.Var("key", key)) if err != nil { return nil, errors.Wrap(err, "twhelp sdk") } @@ -62,7 +62,7 @@ type ServerList struct { Total int `json:"total" gqlgen:"total"` } -func (ss *Servers) Browse(filter *models.ServerFilter, incl *ServerInclude) (*ServerList, error) { +func (s *Server) Browse(filter *models.ServerFilter, incl *ServerInclude) (*ServerList, error) { if incl == nil { incl = &ServerInclude{} } @@ -92,7 +92,7 @@ func (ss *Servers) Browse(filter *models.ServerFilter, incl *ServerInclude) (*Se } `, incl.String()) - err := ss.sdk.Post(query, &resp, client.Var("filter", filter)) + err := s.sdk.Post(query, &resp, client.Var("filter", filter)) if err != nil { return nil, errors.Wrap(err, "twhelp sdk") } diff --git a/sdk/tribes.go b/sdk/tribe.go similarity index 73% rename from sdk/tribes.go rename to sdk/tribe.go index dde1e47..d1c4678 100644 --- a/sdk/tribes.go +++ b/sdk/tribe.go @@ -8,11 +8,11 @@ import ( "github.com/tribalwarshelp/shared/models" ) -type Tribes struct { +type Tribe struct { sdk *SDK } -func (ts *Tribes) Read(server string, id int) (*models.Tribe, error) { +func (t *Tribe) Read(server string, id int) (*models.Tribe, error) { resp := struct { Tribe models.Tribe `json:"tribe" gqlgen:"tribe"` }{} @@ -23,7 +23,7 @@ func (ts *Tribes) Read(server string, id int) (*models.Tribe, error) { } } `, tribeFields) - err := ts.sdk.Post(query, &resp, client.Var("server", server), client.Var("id", id)) + err := t.sdk.Post(query, &resp, client.Var("server", server), client.Var("id", id)) if err != nil { return nil, errors.Wrap(err, "twhelp sdk") } @@ -35,7 +35,7 @@ type TribeList struct { Total int `json:"total" gqlgen:"total"` } -func (ts *Tribes) Browse(server string, filter *models.TribeFilter) (*TribeList, error) { +func (t *Tribe) Browse(server string, filter *models.TribeFilter) (*TribeList, error) { if filter == nil { filter = &models.TribeFilter{} } @@ -53,7 +53,7 @@ func (ts *Tribes) Browse(server string, filter *models.TribeFilter) (*TribeList, } `, tribeFields) - err := ts.sdk.Post(query, &resp, client.Var("server", server), client.Var("filter", filter)) + err := t.sdk.Post(query, &resp, client.Var("server", server), client.Var("filter", filter)) if err != nil { return nil, errors.Wrap(err, "twhelp sdk") } diff --git a/sdk/version.go b/sdk/version.go new file mode 100644 index 0000000..ed66f4d --- /dev/null +++ b/sdk/version.go @@ -0,0 +1,61 @@ +package sdk + +import ( + "fmt" + + "github.com/Kichiyaki/gqlgen-client/client" + "github.com/pkg/errors" + "github.com/tribalwarshelp/shared/models" +) + +type Version struct { + sdk *SDK +} + +func (lv *Version) Read(code models.VersionCode) (*models.Version, error) { + resp := struct { + Version models.Version `json:"version" gqlgen:"version"` + }{} + query := fmt.Sprintf(` + query version($code: VersionCode!) { + version(code: $code) { + %s + } + } + `, versionFields) + err := lv.sdk.Post(query, &resp, client.Var("code", code)) + if err != nil { + return nil, errors.Wrap(err, "twhelp sdk") + } + return &resp.Version, nil +} + +type VersionList struct { + Items []*models.Version `json:"items" gqlgen:"items"` + Total int `json:"total" gqlgen:"total"` +} + +func (lv *Version) Browse(filter *models.VersionFilter) (*VersionList, error) { + if filter == nil { + filter = &models.VersionFilter{} + } + resp := struct { + Versions VersionList `json:"versions" gqlgen:"versions"` + }{} + query := fmt.Sprintf(` + query versions($filter: VersionFilter) { + versions(filter: $filter) { + items { + %s + } + total + } + } + `, versionFields) + + err := lv.sdk.Post(query, &resp, client.Var("filter", filter)) + if err != nil { + return nil, errors.Wrap(err, "twhelp sdk") + } + return &resp.Versions, nil +} diff --git a/sdk/villages.go b/sdk/village.go similarity index 78% rename from sdk/villages.go rename to sdk/village.go index 2ba954f..d422d29 100644 --- a/sdk/villages.go +++ b/sdk/village.go @@ -8,7 +8,7 @@ import ( "github.com/tribalwarshelp/shared/models" ) -type Villages struct { +type Village struct { sdk *SDK } @@ -30,7 +30,7 @@ func (incl VillageInclude) String() string { return i } -func (vs *Villages) Read(server string, id int, include *VillageInclude) (*models.Village, error) { +func (v *Village) Read(server string, id int, include *VillageInclude) (*models.Village, error) { if server == "" { return nil, ErrServerNameIsEmpty } @@ -49,7 +49,7 @@ func (vs *Villages) Read(server string, id int, include *VillageInclude) (*model } } `, villageFields, include.String()) - err := vs.sdk.Post(query, &resp, client.Var("server", server), client.Var("id", id)) + err := v.sdk.Post(query, &resp, client.Var("server", server), client.Var("id", id)) if err != nil { return nil, errors.Wrap(err, "twhelp sdk") } @@ -61,7 +61,7 @@ type VillageList struct { Total int `json:"total" gqlgen:"total"` } -func (vs *Villages) Browse(server string, filter *models.VillageFilter, include *VillageInclude) (*VillageList, error) { +func (v *Village) Browse(server string, filter *models.VillageFilter, include *VillageInclude) (*VillageList, error) { if server == "" { return nil, ErrServerNameIsEmpty } @@ -86,7 +86,7 @@ func (vs *Villages) Browse(server string, filter *models.VillageFilter, include } `, villageFields, include.String()) - err := vs.sdk.Post(query, &resp, client.Var("filter", filter), client.Var("server", server)) + err := v.sdk.Post(query, &resp, client.Var("filter", filter), client.Var("server", server)) if err != nil { return nil, errors.Wrap(err, "twhelp sdk") }