refactor, bump github.com/tribalwarshelp/shared
This commit is contained in:
parent
7b6975e64f
commit
84730508fc
|
@ -16,32 +16,29 @@ func init() {
|
||||||
func main() {
|
func main() {
|
||||||
api := sdk.New("https://api.tribalwarshelp.com/graphql")
|
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 {
|
if err != nil {
|
||||||
log.Fatal(err)
|
log.Fatal(err)
|
||||||
}
|
}
|
||||||
if err != nil {
|
log.Println(version.Name, version.Code, version.Host, version.Timezone)
|
||||||
log.Fatal(err)
|
|
||||||
}
|
|
||||||
log.Println(langVersion.Name, langVersion.Tag, langVersion.Host, langVersion.Timezone)
|
|
||||||
|
|
||||||
langVersionList, err := api.LangVersions.Browse(&models.LangVersionFilter{
|
versionList, err := api.Version.Browse(&models.VersionFilter{
|
||||||
HostMATCH: "plemiona%",
|
HostMATCH: "plemiona%",
|
||||||
})
|
})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Fatal(err)
|
log.Fatal(err)
|
||||||
}
|
}
|
||||||
for _, langVersion := range langVersionList.Items {
|
for _, version := range versionList.Items {
|
||||||
log.Println(langVersion.Name, langVersion.Tag, langVersion.Host, langVersion.Timezone)
|
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 {
|
if err != nil {
|
||||||
log.Fatal(err)
|
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 {
|
if err != nil {
|
||||||
log.Fatal(err)
|
log.Fatal(err)
|
||||||
}
|
}
|
||||||
|
@ -50,13 +47,13 @@ func main() {
|
||||||
log.Println(server.Key, server.Status)
|
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 {
|
if err != nil {
|
||||||
log.Fatal(err)
|
log.Fatal(err)
|
||||||
}
|
}
|
||||||
log.Println(player.ID, player.Name, player.RankAtt, player.RankDef, player.RankSup)
|
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",
|
Sort: "rank ASC",
|
||||||
Limit: 10,
|
Limit: 10,
|
||||||
}, &sdk.PlayerInclude{
|
}, &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 {
|
if err != nil {
|
||||||
log.Fatal(err)
|
log.Fatal(err)
|
||||||
}
|
}
|
||||||
log.Println(tribe.ID, tribe.Name, tribe.Tag, tribe.RankAtt, tribe.RankDef)
|
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: ":.+.:",
|
TagIEQ: ":.+.:",
|
||||||
})
|
})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
@ -89,7 +86,7 @@ func main() {
|
||||||
log.Println(tribe.ID, tribe.Name, tribe.Tag, tribe.RankAtt, tribe.RankDef)
|
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,
|
Player: true,
|
||||||
PlayerInclude: sdk.PlayerInclude{
|
PlayerInclude: sdk.PlayerInclude{
|
||||||
Tribe: true,
|
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},
|
PlayerID: []int{699270453},
|
||||||
Sort: "id ASC",
|
Sort: "id ASC",
|
||||||
Limit: 10,
|
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,
|
NewOwner: true,
|
||||||
NewOwnerInclude: sdk.PlayerInclude{
|
NewOwnerInclude: sdk.PlayerInclude{
|
||||||
Tribe: true,
|
Tribe: true,
|
||||||
|
|
4
go.mod
4
go.mod
|
@ -4,6 +4,8 @@ go 1.14
|
||||||
|
|
||||||
require (
|
require (
|
||||||
github.com/Kichiyaki/gqlgen-client v0.0.0-20200604145848-274796c104f4
|
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/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
|
||||||
)
|
)
|
||||||
|
|
5
go.sum
5
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 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
|
||||||
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
|
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/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/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.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
|
||||||
github.com/stretchr/testify v1.6.0 h1:jlIyCplCJFULU/01vCkhKuTyc3OorI3bJFuw6obfgho=
|
github.com/stretchr/testify v1.6.0 h1:jlIyCplCJFULU/01vCkhKuTyc3OorI3bJFuw6obfgho=
|
||||||
github.com/stretchr/testify v1.6.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
|
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-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 h1:mO3ZR+o5UlYN8uGX4L32H5HNpB0uHpLdZ3YiDA6ciW4=
|
||||||
github.com/tribalwarshelp/shared v0.0.0-20200809125423-2bc2e8dfde95/go.mod h1:SSWchTkQdgeIDr0C68C7zopEIcBLCUa8Ic2CHenUaac=
|
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.7.0/go.mod h1:aZMyHG5TqDOXEgH2tyLiXSUKly1jT3yqE9PmrzIeCdo=
|
||||||
go.opentelemetry.io/otel v0.9.0/go.mod h1:ckxzUEfk7tAkTwEMVdkllBM+YOfE/K9iwg6zYntFYSg=
|
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=
|
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-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-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-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/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.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
||||||
golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
|
golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
|
||||||
|
|
|
@ -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
|
|
||||||
}
|
|
|
@ -8,7 +8,7 @@ import (
|
||||||
"github.com/tribalwarshelp/shared/models"
|
"github.com/tribalwarshelp/shared/models"
|
||||||
)
|
)
|
||||||
|
|
||||||
type LiveEnnoblements struct {
|
type LiveEnnoblement struct {
|
||||||
sdk *SDK
|
sdk *SDK
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -52,7 +52,7 @@ type liveEnnoblementsResponse struct {
|
||||||
LiveEnnoblements []*models.LiveEnnoblement `json:"liveEnnoblements" gqlgen:"liveEnnoblements"`
|
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 == "" {
|
if server == "" {
|
||||||
return nil, ErrServerNameIsEmpty
|
return nil, ErrServerNameIsEmpty
|
||||||
}
|
}
|
|
@ -8,7 +8,7 @@ import (
|
||||||
"github.com/tribalwarshelp/shared/models"
|
"github.com/tribalwarshelp/shared/models"
|
||||||
)
|
)
|
||||||
|
|
||||||
type Players struct {
|
type Player struct {
|
||||||
sdk *SDK
|
sdk *SDK
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -28,7 +28,7 @@ func (incl PlayerInclude) String() string {
|
||||||
return i
|
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 == "" {
|
if server == "" {
|
||||||
return nil, ErrServerNameIsEmpty
|
return nil, ErrServerNameIsEmpty
|
||||||
}
|
}
|
||||||
|
@ -47,7 +47,7 @@ func (ps *Players) Read(server string, id int, include *PlayerInclude) (*models.
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
`, playerFields, include.String())
|
`, 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 {
|
if err != nil {
|
||||||
return nil, errors.Wrap(err, "twhelp sdk")
|
return nil, errors.Wrap(err, "twhelp sdk")
|
||||||
}
|
}
|
||||||
|
@ -59,7 +59,7 @@ type PlayerList struct {
|
||||||
Total int `json:"total" gqlgen:"total"`
|
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 == "" {
|
if server == "" {
|
||||||
return nil, ErrServerNameIsEmpty
|
return nil, ErrServerNameIsEmpty
|
||||||
}
|
}
|
||||||
|
@ -84,7 +84,7 @@ func (ps *Players) Browse(server string, filter *models.PlayerFilter, include *P
|
||||||
}
|
}
|
||||||
`, playerFields, include.String())
|
`, 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 {
|
if err != nil {
|
||||||
return nil, errors.Wrap(err, "twhelp sdk")
|
return nil, errors.Wrap(err, "twhelp sdk")
|
||||||
}
|
}
|
34
sdk/sdk.go
34
sdk/sdk.go
|
@ -71,8 +71,8 @@ var (
|
||||||
x
|
x
|
||||||
y
|
y
|
||||||
`
|
`
|
||||||
langVersionFields = `
|
versionFields = `
|
||||||
tag
|
code
|
||||||
name
|
name
|
||||||
host
|
host
|
||||||
timezone
|
timezone
|
||||||
|
@ -80,15 +80,15 @@ var (
|
||||||
)
|
)
|
||||||
|
|
||||||
type SDK struct {
|
type SDK struct {
|
||||||
url string
|
url string
|
||||||
client *client.Client
|
client *client.Client
|
||||||
httpClient *http.Client
|
httpClient *http.Client
|
||||||
LangVersions *LangVersions
|
Version *Version
|
||||||
Servers *Servers
|
Server *Server
|
||||||
Players *Players
|
Player *Player
|
||||||
Tribes *Tribes
|
Tribe *Tribe
|
||||||
Villages *Villages
|
Village *Village
|
||||||
LiveEnnoblements *LiveEnnoblements
|
LiveEnnoblement *LiveEnnoblement
|
||||||
}
|
}
|
||||||
|
|
||||||
func New(url string) *SDK {
|
func New(url string) *SDK {
|
||||||
|
@ -99,12 +99,12 @@ func New(url string) *SDK {
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
sdk.client = client.New(http.HandlerFunc(sdk.doRequest))
|
sdk.client = client.New(http.HandlerFunc(sdk.doRequest))
|
||||||
sdk.LangVersions = &LangVersions{sdk}
|
sdk.Version = &Version{sdk}
|
||||||
sdk.Servers = &Servers{sdk}
|
sdk.Server = &Server{sdk}
|
||||||
sdk.Players = &Players{sdk}
|
sdk.Player = &Player{sdk}
|
||||||
sdk.Tribes = &Tribes{sdk}
|
sdk.Tribe = &Tribe{sdk}
|
||||||
sdk.Villages = &Villages{sdk}
|
sdk.Village = &Village{sdk}
|
||||||
sdk.LiveEnnoblements = &LiveEnnoblements{sdk}
|
sdk.LiveEnnoblement = &LiveEnnoblement{sdk}
|
||||||
return sdk
|
return sdk
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -8,27 +8,27 @@ import (
|
||||||
"github.com/tribalwarshelp/shared/models"
|
"github.com/tribalwarshelp/shared/models"
|
||||||
)
|
)
|
||||||
|
|
||||||
type Servers struct {
|
type Server struct {
|
||||||
sdk *SDK
|
sdk *SDK
|
||||||
}
|
}
|
||||||
|
|
||||||
type ServerInclude struct {
|
type ServerInclude struct {
|
||||||
LangVersion bool
|
Version bool
|
||||||
}
|
}
|
||||||
|
|
||||||
func (incl ServerInclude) String() string {
|
func (incl ServerInclude) String() string {
|
||||||
i := ""
|
i := ""
|
||||||
if incl.LangVersion {
|
if incl.Version {
|
||||||
i += fmt.Sprintf(`
|
i += fmt.Sprintf(`
|
||||||
langVersion {
|
version {
|
||||||
%s
|
%s
|
||||||
}
|
}
|
||||||
`, langVersionFields)
|
`, versionFields)
|
||||||
}
|
}
|
||||||
return i
|
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 {
|
if incl == nil {
|
||||||
incl = &ServerInclude{}
|
incl = &ServerInclude{}
|
||||||
}
|
}
|
||||||
|
@ -50,7 +50,7 @@ func (ss *Servers) Read(key string, incl *ServerInclude) (*models.Server, error)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
`, incl.String())
|
`, 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 {
|
if err != nil {
|
||||||
return nil, errors.Wrap(err, "twhelp sdk")
|
return nil, errors.Wrap(err, "twhelp sdk")
|
||||||
}
|
}
|
||||||
|
@ -62,7 +62,7 @@ type ServerList struct {
|
||||||
Total int `json:"total" gqlgen:"total"`
|
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 {
|
if incl == nil {
|
||||||
incl = &ServerInclude{}
|
incl = &ServerInclude{}
|
||||||
}
|
}
|
||||||
|
@ -92,7 +92,7 @@ func (ss *Servers) Browse(filter *models.ServerFilter, incl *ServerInclude) (*Se
|
||||||
}
|
}
|
||||||
`, incl.String())
|
`, 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 {
|
if err != nil {
|
||||||
return nil, errors.Wrap(err, "twhelp sdk")
|
return nil, errors.Wrap(err, "twhelp sdk")
|
||||||
}
|
}
|
|
@ -8,11 +8,11 @@ import (
|
||||||
"github.com/tribalwarshelp/shared/models"
|
"github.com/tribalwarshelp/shared/models"
|
||||||
)
|
)
|
||||||
|
|
||||||
type Tribes struct {
|
type Tribe struct {
|
||||||
sdk *SDK
|
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 {
|
resp := struct {
|
||||||
Tribe models.Tribe `json:"tribe" gqlgen:"tribe"`
|
Tribe models.Tribe `json:"tribe" gqlgen:"tribe"`
|
||||||
}{}
|
}{}
|
||||||
|
@ -23,7 +23,7 @@ func (ts *Tribes) Read(server string, id int) (*models.Tribe, error) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
`, tribeFields)
|
`, 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 {
|
if err != nil {
|
||||||
return nil, errors.Wrap(err, "twhelp sdk")
|
return nil, errors.Wrap(err, "twhelp sdk")
|
||||||
}
|
}
|
||||||
|
@ -35,7 +35,7 @@ type TribeList struct {
|
||||||
Total int `json:"total" gqlgen:"total"`
|
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 {
|
if filter == nil {
|
||||||
filter = &models.TribeFilter{}
|
filter = &models.TribeFilter{}
|
||||||
}
|
}
|
||||||
|
@ -53,7 +53,7 @@ func (ts *Tribes) Browse(server string, filter *models.TribeFilter) (*TribeList,
|
||||||
}
|
}
|
||||||
`, tribeFields)
|
`, 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 {
|
if err != nil {
|
||||||
return nil, errors.Wrap(err, "twhelp sdk")
|
return nil, errors.Wrap(err, "twhelp sdk")
|
||||||
}
|
}
|
|
@ -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
|
||||||
|
}
|
|
@ -8,7 +8,7 @@ import (
|
||||||
"github.com/tribalwarshelp/shared/models"
|
"github.com/tribalwarshelp/shared/models"
|
||||||
)
|
)
|
||||||
|
|
||||||
type Villages struct {
|
type Village struct {
|
||||||
sdk *SDK
|
sdk *SDK
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -30,7 +30,7 @@ func (incl VillageInclude) String() string {
|
||||||
return i
|
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 == "" {
|
if server == "" {
|
||||||
return nil, ErrServerNameIsEmpty
|
return nil, ErrServerNameIsEmpty
|
||||||
}
|
}
|
||||||
|
@ -49,7 +49,7 @@ func (vs *Villages) Read(server string, id int, include *VillageInclude) (*model
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
`, villageFields, include.String())
|
`, 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 {
|
if err != nil {
|
||||||
return nil, errors.Wrap(err, "twhelp sdk")
|
return nil, errors.Wrap(err, "twhelp sdk")
|
||||||
}
|
}
|
||||||
|
@ -61,7 +61,7 @@ type VillageList struct {
|
||||||
Total int `json:"total" gqlgen:"total"`
|
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 == "" {
|
if server == "" {
|
||||||
return nil, ErrServerNameIsEmpty
|
return nil, ErrServerNameIsEmpty
|
||||||
}
|
}
|
||||||
|
@ -86,7 +86,7 @@ func (vs *Villages) Browse(server string, filter *models.VillageFilter, include
|
||||||
}
|
}
|
||||||
`, villageFields, include.String())
|
`, 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 {
|
if err != nil {
|
||||||
return nil, errors.Wrap(err, "twhelp sdk")
|
return nil, errors.Wrap(err, "twhelp sdk")
|
||||||
}
|
}
|
Reference in New Issue