bump github.com/tribalwarshelp/shared, rename sdk/live_ennoblement.go -> sdk/ennoblement.go
This commit is contained in:
parent
96a34cf3e7
commit
377475f612
|
@ -4,6 +4,7 @@ import (
|
|||
"fmt"
|
||||
"log"
|
||||
"os"
|
||||
"time"
|
||||
|
||||
"github.com/tribalwarshelp/golang-sdk/sdk"
|
||||
"github.com/tribalwarshelp/shared/models"
|
||||
|
@ -130,21 +131,28 @@ func main() {
|
|||
}
|
||||
}
|
||||
|
||||
ennoblements, err := api.LiveEnnoblement.Browse("pl151", &sdk.LiveEnnoblementInclude{
|
||||
NewOwner: true,
|
||||
NewOwnerInclude: sdk.PlayerInclude{
|
||||
Tribe: true,
|
||||
ennoblements, err := api.Ennoblement.Browse("pl151",
|
||||
100,
|
||||
0,
|
||||
[]string{},
|
||||
&models.EnnoblementFilter{
|
||||
EnnobledAtGTE: time.Now().Add(-1 * time.Hour),
|
||||
},
|
||||
OldOwner: true,
|
||||
OldOwnerInclude: sdk.PlayerInclude{
|
||||
Tribe: true,
|
||||
},
|
||||
Village: true,
|
||||
})
|
||||
&sdk.EnnoblementInclude{
|
||||
NewOwner: true,
|
||||
NewOwnerInclude: sdk.PlayerInclude{
|
||||
Tribe: true,
|
||||
},
|
||||
OldOwner: true,
|
||||
OldOwnerInclude: sdk.PlayerInclude{
|
||||
Tribe: true,
|
||||
},
|
||||
Village: true,
|
||||
})
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
for _, ennoblement := range ennoblements {
|
||||
for _, ennoblement := range ennoblements.Items {
|
||||
fmt.Print("\n\n", ennoblement.EnnobledAt.String(), "\n")
|
||||
if ennoblement.NewOwner != nil {
|
||||
log.Println(ennoblement.NewOwner.ID, ennoblement.NewOwner.Name)
|
||||
|
|
2
go.mod
2
go.mod
|
@ -5,5 +5,5 @@ go 1.15
|
|||
require (
|
||||
github.com/Kichiyaki/gqlgen-client v0.0.0-20200604145848-274796c104f4
|
||||
github.com/pkg/errors v0.9.1
|
||||
github.com/tribalwarshelp/shared v0.0.0-20210109140005-237443e96235
|
||||
github.com/tribalwarshelp/shared v0.0.0-20210115163415-972e2df3f7db
|
||||
)
|
||||
|
|
4
go.sum
4
go.sum
|
@ -76,8 +76,8 @@ github.com/stretchr/testify v1.6.1 h1:hDPOHmpOpP40lSULcqw7IrRb/u7w6RpDC9399XyoNd
|
|||
github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
|
||||
github.com/tmthrgd/go-hex v0.0.0-20190904060850-447a3041c3bc h1:9lRDQMhESg+zvGYmW5DyG0UqvY96Bu5QYsTLvCHdrgo=
|
||||
github.com/tmthrgd/go-hex v0.0.0-20190904060850-447a3041c3bc/go.mod h1:bciPuU6GHm1iF1pBvUfxfsH0Wmnc2VbpgvbI9ZWuIRs=
|
||||
github.com/tribalwarshelp/shared v0.0.0-20210109140005-237443e96235 h1:VMc5zgClXx9IPMK4ttyVpElrOr4dWZ/gKMlASzpiuzA=
|
||||
github.com/tribalwarshelp/shared v0.0.0-20210109140005-237443e96235/go.mod h1:vtDs7EjEysk4dpFPfu3c4lkICXZYIRV0BrT7rsqG0dw=
|
||||
github.com/tribalwarshelp/shared v0.0.0-20210115163415-972e2df3f7db h1:RzMEF4BP3YJ7jJOyYO00TdeB6DY7g0Dp/8cQ8t6WKzw=
|
||||
github.com/tribalwarshelp/shared v0.0.0-20210115163415-972e2df3f7db/go.mod h1:vtDs7EjEysk4dpFPfu3c4lkICXZYIRV0BrT7rsqG0dw=
|
||||
github.com/vmihailenco/bufpool v0.1.11 h1:gOq2WmBrq0i2yW5QJ16ykccQ4wH9UyEsgLm6czKAd94=
|
||||
github.com/vmihailenco/bufpool v0.1.11/go.mod h1:AFf/MOy3l2CFTKbxwt0mp2MwnqjNEs5H/UxrkA5jxTQ=
|
||||
github.com/vmihailenco/msgpack/v4 v4.3.11/go.mod h1:gborTTJjAo/GWTqqRjrLCn9pgNN+NXzzngzBKDPIqw4=
|
||||
|
|
|
@ -0,0 +1,93 @@
|
|||
package sdk
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
|
||||
"github.com/Kichiyaki/gqlgen-client/client"
|
||||
"github.com/pkg/errors"
|
||||
"github.com/tribalwarshelp/shared/models"
|
||||
)
|
||||
|
||||
type Ennoblement struct {
|
||||
sdk *SDK
|
||||
}
|
||||
|
||||
type EnnoblementInclude struct {
|
||||
NewOwner bool
|
||||
NewOwnerInclude PlayerInclude
|
||||
OldOwner bool
|
||||
OldOwnerInclude PlayerInclude
|
||||
Village bool
|
||||
}
|
||||
|
||||
func (incl EnnoblementInclude) String() string {
|
||||
i := ""
|
||||
if incl.NewOwner {
|
||||
i += fmt.Sprintf(`
|
||||
newOwner {
|
||||
%s
|
||||
%s
|
||||
}
|
||||
`, playerFields, incl.NewOwnerInclude.String())
|
||||
}
|
||||
if incl.OldOwner {
|
||||
i += fmt.Sprintf(`
|
||||
oldOwner {
|
||||
%s
|
||||
%s
|
||||
}
|
||||
`, playerFields, incl.OldOwnerInclude.String())
|
||||
}
|
||||
if incl.Village {
|
||||
i += fmt.Sprintf(`
|
||||
village {
|
||||
%s
|
||||
}
|
||||
`, villageFields)
|
||||
}
|
||||
return i
|
||||
}
|
||||
|
||||
type EnnoblementList struct {
|
||||
Items []*models.Ennoblement `json:"items" gqlgen:"items"`
|
||||
Total int `json:"total" gqlgen:"total"`
|
||||
}
|
||||
|
||||
func (en *Ennoblement) Browse(server string,
|
||||
limit,
|
||||
offset int,
|
||||
sort []string,
|
||||
filter *models.EnnoblementFilter,
|
||||
include *EnnoblementInclude) (*EnnoblementList, error) {
|
||||
if server == "" {
|
||||
return nil, ErrServerNameIsEmpty
|
||||
}
|
||||
if include == nil {
|
||||
include = &EnnoblementInclude{}
|
||||
}
|
||||
resp := struct {
|
||||
Ennoblements EnnoblementList `json:"ennoblements" gqlgen:"ennoblements"`
|
||||
}{}
|
||||
query := fmt.Sprintf(`
|
||||
query ennoblements($server: String!, $filter: EnnoblementFilter, $limit: Int, $offset: Int, $sort: [String!]) {
|
||||
ennoblements(server: $server, filter: $filter, limit: $limit, offset: $offset, sort: $sort) {
|
||||
items {
|
||||
ennobledAt
|
||||
%s
|
||||
}
|
||||
total
|
||||
}
|
||||
}
|
||||
`, include.String())
|
||||
err := en.sdk.Post(query,
|
||||
&resp,
|
||||
client.Var("filter", filter),
|
||||
client.Var("server", server),
|
||||
client.Var("limit", limit),
|
||||
client.Var("offset", offset),
|
||||
client.Var("sort", sort))
|
||||
if err != nil {
|
||||
return nil, errors.Wrap(err, "twhelp sdk")
|
||||
}
|
||||
return &resp.Ennoblements, nil
|
||||
}
|
|
@ -1,76 +0,0 @@
|
|||
package sdk
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
|
||||
"github.com/Kichiyaki/gqlgen-client/client"
|
||||
"github.com/pkg/errors"
|
||||
"github.com/tribalwarshelp/shared/models"
|
||||
)
|
||||
|
||||
type LiveEnnoblement struct {
|
||||
sdk *SDK
|
||||
}
|
||||
|
||||
type LiveEnnoblementInclude struct {
|
||||
NewOwner bool
|
||||
NewOwnerInclude PlayerInclude
|
||||
OldOwner bool
|
||||
OldOwnerInclude PlayerInclude
|
||||
Village bool
|
||||
}
|
||||
|
||||
func (incl LiveEnnoblementInclude) String() string {
|
||||
i := ""
|
||||
if incl.NewOwner {
|
||||
i += fmt.Sprintf(`
|
||||
newOwner {
|
||||
%s
|
||||
%s
|
||||
}
|
||||
`, playerFields, incl.NewOwnerInclude.String())
|
||||
}
|
||||
if incl.OldOwner {
|
||||
i += fmt.Sprintf(`
|
||||
oldOwner {
|
||||
%s
|
||||
%s
|
||||
}
|
||||
`, playerFields, incl.OldOwnerInclude.String())
|
||||
}
|
||||
if incl.Village {
|
||||
i += fmt.Sprintf(`
|
||||
village {
|
||||
%s
|
||||
}
|
||||
`, villageFields)
|
||||
}
|
||||
return i
|
||||
}
|
||||
|
||||
type liveEnnoblementsResponse struct {
|
||||
LiveEnnoblements []*models.LiveEnnoblement `json:"liveEnnoblements" gqlgen:"liveEnnoblements"`
|
||||
}
|
||||
|
||||
func (en *LiveEnnoblement) Browse(server string, include *LiveEnnoblementInclude) ([]*models.LiveEnnoblement, error) {
|
||||
if server == "" {
|
||||
return nil, ErrServerNameIsEmpty
|
||||
}
|
||||
if include == nil {
|
||||
include = &LiveEnnoblementInclude{}
|
||||
}
|
||||
resp := &liveEnnoblementsResponse{}
|
||||
query := fmt.Sprintf(`
|
||||
query liveEnnoblements($server: String!) {
|
||||
liveEnnoblements(server: $server) {
|
||||
ennobledAt
|
||||
%s
|
||||
}
|
||||
}
|
||||
`, include.String())
|
||||
err := en.sdk.Post(query, &resp, client.Var("server", server))
|
||||
if err != nil {
|
||||
return nil, errors.Wrap(err, "twhelp sdk")
|
||||
}
|
||||
return resp.LiveEnnoblements, nil
|
||||
}
|
20
sdk/sdk.go
20
sdk/sdk.go
|
@ -80,15 +80,15 @@ var (
|
|||
)
|
||||
|
||||
type SDK struct {
|
||||
url string
|
||||
client *client.Client
|
||||
httpClient *http.Client
|
||||
Version *Version
|
||||
Server *Server
|
||||
Player *Player
|
||||
Tribe *Tribe
|
||||
Village *Village
|
||||
LiveEnnoblement *LiveEnnoblement
|
||||
url string
|
||||
client *client.Client
|
||||
httpClient *http.Client
|
||||
Version *Version
|
||||
Server *Server
|
||||
Player *Player
|
||||
Tribe *Tribe
|
||||
Village *Village
|
||||
Ennoblement *Ennoblement
|
||||
}
|
||||
|
||||
func New(url string) *SDK {
|
||||
|
@ -104,7 +104,7 @@ func New(url string) *SDK {
|
|||
sdk.Player = &Player{sdk}
|
||||
sdk.Tribe = &Tribe{sdk}
|
||||
sdk.Village = &Village{sdk}
|
||||
sdk.LiveEnnoblement = &LiveEnnoblement{sdk}
|
||||
sdk.Ennoblement = &Ennoblement{sdk}
|
||||
return sdk
|
||||
}
|
||||
|
||||
|
|
Reference in New Issue