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"
|
"fmt"
|
||||||
"log"
|
"log"
|
||||||
"os"
|
"os"
|
||||||
|
"time"
|
||||||
|
|
||||||
"github.com/tribalwarshelp/golang-sdk/sdk"
|
"github.com/tribalwarshelp/golang-sdk/sdk"
|
||||||
"github.com/tribalwarshelp/shared/models"
|
"github.com/tribalwarshelp/shared/models"
|
||||||
|
@ -130,21 +131,28 @@ func main() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
ennoblements, err := api.LiveEnnoblement.Browse("pl151", &sdk.LiveEnnoblementInclude{
|
ennoblements, err := api.Ennoblement.Browse("pl151",
|
||||||
NewOwner: true,
|
100,
|
||||||
NewOwnerInclude: sdk.PlayerInclude{
|
0,
|
||||||
Tribe: true,
|
[]string{},
|
||||||
|
&models.EnnoblementFilter{
|
||||||
|
EnnobledAtGTE: time.Now().Add(-1 * time.Hour),
|
||||||
},
|
},
|
||||||
OldOwner: true,
|
&sdk.EnnoblementInclude{
|
||||||
OldOwnerInclude: sdk.PlayerInclude{
|
NewOwner: true,
|
||||||
Tribe: true,
|
NewOwnerInclude: sdk.PlayerInclude{
|
||||||
},
|
Tribe: true,
|
||||||
Village: true,
|
},
|
||||||
})
|
OldOwner: true,
|
||||||
|
OldOwnerInclude: sdk.PlayerInclude{
|
||||||
|
Tribe: true,
|
||||||
|
},
|
||||||
|
Village: true,
|
||||||
|
})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Fatal(err)
|
log.Fatal(err)
|
||||||
}
|
}
|
||||||
for _, ennoblement := range ennoblements {
|
for _, ennoblement := range ennoblements.Items {
|
||||||
fmt.Print("\n\n", ennoblement.EnnobledAt.String(), "\n")
|
fmt.Print("\n\n", ennoblement.EnnobledAt.String(), "\n")
|
||||||
if ennoblement.NewOwner != nil {
|
if ennoblement.NewOwner != nil {
|
||||||
log.Println(ennoblement.NewOwner.ID, ennoblement.NewOwner.Name)
|
log.Println(ennoblement.NewOwner.ID, ennoblement.NewOwner.Name)
|
||||||
|
|
2
go.mod
2
go.mod
|
@ -5,5 +5,5 @@ go 1.15
|
||||||
require (
|
require (
|
||||||
github.com/Kichiyaki/gqlgen-client v0.0.0-20200604145848-274796c104f4
|
github.com/Kichiyaki/gqlgen-client v0.0.0-20200604145848-274796c104f4
|
||||||
github.com/pkg/errors v0.9.1
|
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/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 h1:9lRDQMhESg+zvGYmW5DyG0UqvY96Bu5QYsTLvCHdrgo=
|
||||||
github.com/tmthrgd/go-hex v0.0.0-20190904060850-447a3041c3bc/go.mod h1:bciPuU6GHm1iF1pBvUfxfsH0Wmnc2VbpgvbI9ZWuIRs=
|
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-20210115163415-972e2df3f7db h1:RzMEF4BP3YJ7jJOyYO00TdeB6DY7g0Dp/8cQ8t6WKzw=
|
||||||
github.com/tribalwarshelp/shared v0.0.0-20210109140005-237443e96235/go.mod h1:vtDs7EjEysk4dpFPfu3c4lkICXZYIRV0BrT7rsqG0dw=
|
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 h1:gOq2WmBrq0i2yW5QJ16ykccQ4wH9UyEsgLm6czKAd94=
|
||||||
github.com/vmihailenco/bufpool v0.1.11/go.mod h1:AFf/MOy3l2CFTKbxwt0mp2MwnqjNEs5H/UxrkA5jxTQ=
|
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=
|
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 {
|
type SDK struct {
|
||||||
url string
|
url string
|
||||||
client *client.Client
|
client *client.Client
|
||||||
httpClient *http.Client
|
httpClient *http.Client
|
||||||
Version *Version
|
Version *Version
|
||||||
Server *Server
|
Server *Server
|
||||||
Player *Player
|
Player *Player
|
||||||
Tribe *Tribe
|
Tribe *Tribe
|
||||||
Village *Village
|
Village *Village
|
||||||
LiveEnnoblement *LiveEnnoblement
|
Ennoblement *Ennoblement
|
||||||
}
|
}
|
||||||
|
|
||||||
func New(url string) *SDK {
|
func New(url string) *SDK {
|
||||||
|
@ -104,7 +104,7 @@ func New(url string) *SDK {
|
||||||
sdk.Player = &Player{sdk}
|
sdk.Player = &Player{sdk}
|
||||||
sdk.Tribe = &Tribe{sdk}
|
sdk.Tribe = &Tribe{sdk}
|
||||||
sdk.Village = &Village{sdk}
|
sdk.Village = &Village{sdk}
|
||||||
sdk.LiveEnnoblement = &LiveEnnoblement{sdk}
|
sdk.Ennoblement = &Ennoblement{sdk}
|
||||||
return sdk
|
return sdk
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Reference in New Issue