update sdk.Servers
This commit is contained in:
parent
9db5260115
commit
9b569d862c
6
main.go
6
main.go
|
@ -35,13 +35,13 @@ func main() {
|
|||
log.Println(langVersion.Name, langVersion.Tag, langVersion.Host, langVersion.Timezone)
|
||||
}
|
||||
|
||||
server, err := api.Servers.Read("pl151")
|
||||
server, err := api.Servers.Read("pl151", &sdk.ServerInclude{LangVersion: true})
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
log.Println(server.Key, server.Status)
|
||||
log.Println(server.Key, server.Status, server.LangVersion.Tag)
|
||||
|
||||
serversList, err := api.Servers.Browse(nil)
|
||||
serversList, err := api.Servers.Browse(nil, nil)
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
|
|
|
@ -1,6 +1,8 @@
|
|||
package sdk
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
|
||||
"github.com/Kichiyaki/gqlgen-client/client"
|
||||
"github.com/pkg/errors"
|
||||
"github.com/tribalwarshelp/shared/models"
|
||||
|
@ -14,16 +16,13 @@ func (lv *LangVersions) Read(tag models.LanguageTag) (*models.LangVersion, error
|
|||
resp := struct {
|
||||
LangVersion *models.LangVersion `json:"langVersion" gqlgen:"langVersion"`
|
||||
}{}
|
||||
query := `
|
||||
query := fmt.Sprintf(`
|
||||
query langVersion($tag: LanguageTag!) {
|
||||
langVersion(tag: $tag) {
|
||||
tag
|
||||
name
|
||||
host
|
||||
timezone
|
||||
%s
|
||||
}
|
||||
}
|
||||
`
|
||||
`, langVersionFields)
|
||||
err := lv.sdk.client.Post(minifyString(query), &resp, client.Var("tag", tag))
|
||||
if err != nil {
|
||||
return nil, errors.Wrap(err, "twhelp sdk")
|
||||
|
@ -43,19 +42,16 @@ func (lv *LangVersions) Browse(filter *models.LangVersionFilter) (*LangVersionsL
|
|||
resp := struct {
|
||||
LangVersions *LangVersionsList `json:"langVersions" gqlgen:"langVersions"`
|
||||
}{}
|
||||
query := `
|
||||
query := fmt.Sprintf(`
|
||||
query langVersions($filter: LangVersionFilter) {
|
||||
langVersions(filter: $filter) {
|
||||
items {
|
||||
tag
|
||||
name
|
||||
host
|
||||
timezone
|
||||
%s
|
||||
}
|
||||
total
|
||||
}
|
||||
}
|
||||
`
|
||||
`, langVersionFields)
|
||||
|
||||
err := lv.sdk.client.Post(minifyString(query), &resp, client.Var("filter", filter))
|
||||
if err != nil {
|
||||
|
|
|
@ -52,6 +52,12 @@ var (
|
|||
x
|
||||
y
|
||||
`
|
||||
langVersionFields = `
|
||||
tag
|
||||
name
|
||||
host
|
||||
timezone
|
||||
`
|
||||
)
|
||||
|
||||
type SDK struct {
|
||||
|
|
|
@ -1,6 +1,8 @@
|
|||
package sdk
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
|
||||
"github.com/Kichiyaki/gqlgen-client/client"
|
||||
"github.com/pkg/errors"
|
||||
"github.com/tribalwarshelp/shared/models"
|
||||
|
@ -10,20 +12,39 @@ type Servers struct {
|
|||
sdk *SDK
|
||||
}
|
||||
|
||||
func (ss *Servers) Read(key string) (*models.Server, error) {
|
||||
type ServerInclude struct {
|
||||
LangVersion bool
|
||||
}
|
||||
|
||||
func (incl ServerInclude) String() string {
|
||||
i := ""
|
||||
if incl.LangVersion {
|
||||
i += fmt.Sprintf(`
|
||||
langVersion {
|
||||
%s
|
||||
}
|
||||
`, langVersionFields)
|
||||
}
|
||||
return i
|
||||
}
|
||||
|
||||
func (ss *Servers) Read(key string, incl *ServerInclude) (*models.Server, error) {
|
||||
if incl == nil {
|
||||
incl = &ServerInclude{}
|
||||
}
|
||||
resp := struct {
|
||||
Server *models.Server `json:"server" gqlgen:"server"`
|
||||
}{}
|
||||
query := `
|
||||
query := fmt.Sprintf(`
|
||||
query server($key: String!) {
|
||||
server(key: $key) {
|
||||
id
|
||||
key
|
||||
status
|
||||
langVersionTag
|
||||
%s
|
||||
}
|
||||
}
|
||||
`
|
||||
`, incl.String())
|
||||
err := ss.sdk.client.Post(minifyString(query), &resp, client.Var("key", key))
|
||||
if err != nil {
|
||||
return nil, errors.Wrap(err, "twhelp sdk")
|
||||
|
@ -36,7 +57,10 @@ type ServersList struct {
|
|||
Total int `json:"total" gqlgen:"total"`
|
||||
}
|
||||
|
||||
func (ss *Servers) Browse(filter *models.ServerFilter) (*ServersList, error) {
|
||||
func (ss *Servers) Browse(filter *models.ServerFilter, incl *ServerInclude) (*ServersList, error) {
|
||||
if incl == nil {
|
||||
incl = &ServerInclude{}
|
||||
}
|
||||
if filter == nil {
|
||||
filter = &models.ServerFilter{}
|
||||
}
|
||||
|
@ -44,19 +68,19 @@ func (ss *Servers) Browse(filter *models.ServerFilter) (*ServersList, error) {
|
|||
Servers *ServersList `json:"servers" gqlgen:"servers"`
|
||||
}{}
|
||||
|
||||
query := `
|
||||
query := fmt.Sprintf(`
|
||||
query servers($filter: ServerFilter) {
|
||||
servers(filter: $filter) {
|
||||
items {
|
||||
id
|
||||
key
|
||||
status
|
||||
langVersionTag
|
||||
%s
|
||||
}
|
||||
total
|
||||
}
|
||||
}
|
||||
`
|
||||
`, incl.String())
|
||||
|
||||
err := ss.sdk.client.Post(minifyString(query), &resp, client.Var("filter", filter))
|
||||
if err != nil {
|
||||
|
|
Reference in New Issue