bump github.com/tribalwarshelp/shared, github.com/tribalwarshelp/map-generator and go-pg

This commit is contained in:
Dawid Wysokiński 2021-01-06 17:43:02 +01:00
parent 2448eebdf0
commit 3a7f608e14
43 changed files with 329 additions and 1061 deletions

View File

@ -8,7 +8,6 @@ import (
"github.com/go-pg/pg/v10"
"github.com/pkg/errors"
"github.com/tribalwarshelp/api/dailyplayerstats"
"github.com/tribalwarshelp/api/utils"
"github.com/tribalwarshelp/shared/models"
)
@ -28,33 +27,17 @@ func (repo *pgRepository) Fetch(ctx context.Context, cfg dailyplayerstats.FetchC
WithParam("SERVER", pg.Safe(cfg.Server)).
Model(&data).
Context(ctx).
Order(cfg.Sort...).
Limit(cfg.Limit).
Offset(cfg.Offset)
playerRequired := utils.FindStringWithPrefix(cfg.Sort, "player.") != ""
tribeRequired := utils.FindStringWithPrefix(cfg.Sort, "tribe.") != ""
relationshipAndSortAppender := &models.DailyPlayerStatsRelationshipAndSortAppender{
Filter: &models.DailyPlayerStatsFilter{},
Sort: cfg.Sort,
}
if cfg.Filter != nil {
query = query.
WhereStruct(cfg.Filter)
if cfg.Filter.PlayerFilter != nil {
playerRequired = true
query = query.WhereStruct(cfg.Filter.PlayerFilter)
if cfg.Filter.PlayerFilter.TribeFilter != nil {
tribeRequired = true
query = query.
WhereStruct(cfg.Filter.PlayerFilter.TribeFilter)
}
}
}
if playerRequired {
query = query.Relation("Player._")
}
if tribeRequired {
query = query.Join("LEFT JOIN ?SERVER.tribes AS tribe ON tribe.id = player.tribe_id")
query = query.Apply(cfg.Filter.Where)
relationshipAndSortAppender.Filter = cfg.Filter
}
query = query.Apply(relationshipAndSortAppender.Append)
if cfg.Count {
total, err = query.SelectAndCount()

View File

@ -22,24 +22,6 @@ func (ucase *usecase) Fetch(ctx context.Context, cfg dailyplayerstats.FetchConfi
cfg.Filter = &models.DailyPlayerStatsFilter{}
}
if cfg.Filter.Limit > 0 {
cfg.Limit = cfg.Filter.Limit
}
if cfg.Filter.Offset > 0 {
cfg.Offset = cfg.Filter.Offset
}
if cfg.Filter.Sort != "" {
cfg.Sort = append(cfg.Sort, cfg.Filter.Sort)
}
if cfg.Filter.PlayerFilter != nil {
if cfg.Filter.PlayerFilter.Sort != "" {
cfg.Sort = append(cfg.Sort, "player."+cfg.Filter.PlayerFilter.Sort)
}
if cfg.Filter.PlayerFilter.TribeFilter != nil && cfg.Filter.PlayerFilter.TribeFilter.Sort != "" {
cfg.Sort = append(cfg.Sort, "tribe."+cfg.Filter.PlayerFilter.TribeFilter.Sort)
}
}
if !middleware.CanExceedLimit(ctx) && (cfg.Limit > dailyplayerstats.PaginationLimit || cfg.Limit <= 0) {
cfg.Limit = dailyplayerstats.PaginationLimit
}

View File

@ -8,7 +8,6 @@ import (
"github.com/go-pg/pg/v10"
"github.com/pkg/errors"
"github.com/tribalwarshelp/api/dailytribestats"
"github.com/tribalwarshelp/api/utils"
"github.com/tribalwarshelp/shared/models"
)
@ -28,23 +27,17 @@ func (repo *pgRepository) Fetch(ctx context.Context, cfg dailytribestats.FetchCo
WithParam("SERVER", pg.Safe(cfg.Server)).
Model(&data).
Context(ctx).
Order(cfg.Sort...).
Limit(cfg.Limit).
Offset(cfg.Offset)
tribeRequired := utils.FindStringWithPrefix(cfg.Sort, "tribe.") != ""
relationshipAndSortAppender := &models.DailyTribeStatsRelationshipAndSortAppender{
Filter: &models.DailyTribeStatsFilter{},
Sort: cfg.Sort,
}
if cfg.Filter != nil {
query = query.
WhereStruct(cfg.Filter)
if cfg.Filter.TribeFilter != nil {
query = query.WhereStruct(cfg.Filter.TribeFilter)
tribeRequired = true
}
}
if tribeRequired {
query = query.Relation("Tribe._")
query = query.Apply(cfg.Filter.Where)
relationshipAndSortAppender.Filter = cfg.Filter
}
query = query.Apply(relationshipAndSortAppender.Append)
if cfg.Count {
total, err = query.SelectAndCount()

View File

@ -21,20 +21,6 @@ func (ucase *usecase) Fetch(ctx context.Context, cfg dailytribestats.FetchConfig
if cfg.Filter == nil {
cfg.Filter = &models.DailyTribeStatsFilter{}
}
if cfg.Filter.Limit > 0 {
cfg.Limit = cfg.Filter.Limit
}
if cfg.Filter.Offset > 0 {
cfg.Offset = cfg.Filter.Offset
}
if cfg.Filter.Sort != "" {
cfg.Sort = append(cfg.Sort, cfg.Filter.Sort)
}
if cfg.Filter.TribeFilter != nil {
if cfg.Filter.TribeFilter.Sort != "" {
cfg.Sort = append(cfg.Sort, "tribe."+cfg.Filter.TribeFilter.Sort)
}
}
if !middleware.CanExceedLimit(ctx) && (cfg.Limit > dailytribestats.PaginationLimit || cfg.Limit <= 0) {
cfg.Limit = dailytribestats.PaginationLimit

View File

@ -1,28 +0,0 @@
package repository
import (
"github.com/go-pg/pg/v10"
"github.com/go-pg/pg/v10/orm"
"github.com/tribalwarshelp/shared/models"
)
func appendOrFilter(or *models.EnnoblementFilterOr) func(*orm.Query) (*orm.Query, error) {
return func(q *orm.Query) (*orm.Query, error) {
if or != nil {
if len(or.NewOwnerID) > 0 {
q = q.WhereOr("new_owner_id IN (?)", pg.In(or.NewOwnerID))
}
if len(or.NewOwnerTribeID) > 0 {
q = q.WhereOr("new_owner_tribe_id IN (?)", pg.In(or.NewOwnerTribeID))
}
if len(or.OldOwnerID) > 0 {
q = q.WhereOr("old_owner_id IN (?)", pg.In(or.OldOwnerID))
}
if len(or.OldOwnerTribeID) > 0 {
q = q.WhereOr("old_owner_tribe_id IN (?)", pg.In(or.OldOwnerTribeID))
}
}
return q, nil
}
}

View File

@ -8,7 +8,6 @@ import (
"github.com/go-pg/pg/v10"
"github.com/pkg/errors"
"github.com/tribalwarshelp/api/ennoblement"
"github.com/tribalwarshelp/api/utils"
"github.com/tribalwarshelp/shared/models"
)
@ -28,36 +27,17 @@ func (repo *pgRepository) Fetch(ctx context.Context, cfg ennoblement.FetchConfig
WithParam("SERVER", pg.Safe(cfg.Server)).
Model(&data).
Context(ctx).
Order(cfg.Sort...).
Limit(cfg.Limit).
Offset(cfg.Offset)
villageRequired := utils.FindStringWithPrefix(cfg.Sort, "village.") != ""
newOwnerRequired := utils.FindStringWithPrefix(cfg.Sort, "new_owner.") != ""
newOwnerTribeRequired := utils.FindStringWithPrefix(cfg.Sort, "new_owner_tribe.") != ""
oldOwnerRequired := utils.FindStringWithPrefix(cfg.Sort, "old_owner.") != ""
oldOwnerTribeRequired := utils.FindStringWithPrefix(cfg.Sort, "old_owner_tribe.") != ""
relationshipAndSortAppender := &models.EnnoblementRelationshipAndSortAppender{
Filter: &models.EnnoblementFilter{},
Sort: cfg.Sort,
}
if cfg.Filter != nil {
query = query.
WhereStruct(cfg.Filter).
WhereGroup(appendOrFilter(cfg.Filter.Or))
}
if villageRequired {
query = query.Relation("Village._")
}
if newOwnerRequired {
query = query.Join("LEFT JOIN ?SERVER.players AS new_owner ON new_owner.id = ennoblement.new_owner_id")
}
if newOwnerTribeRequired {
query = query.Join("LEFT JOIN ?SERVER.tribes AS new_owner_tribe ON new_owner_tribe.id = ennoblement.new_owner_tribe_id")
}
if oldOwnerRequired {
query = query.Join("LEFT JOIN ?SERVER.players AS old_owner ON old_owner.id = ennoblement.old_owner_id")
}
if oldOwnerTribeRequired {
query = query.Join("LEFT JOIN ?SERVER.tribes AS old_owner_tribe ON old_owner_tribe.id = ennoblement.old_owner_tribe_id")
query = query.Apply(cfg.Filter.Where)
relationshipAndSortAppender.Filter = cfg.Filter
}
query = query.Apply(relationshipAndSortAppender.Append)
if cfg.Count {
total, err = query.SelectAndCount()

View File

@ -21,15 +21,6 @@ func (ucase *usecase) Fetch(ctx context.Context, cfg ennoblement.FetchConfig) ([
if cfg.Filter == nil {
cfg.Filter = &models.EnnoblementFilter{}
}
if cfg.Filter.Limit > 0 {
cfg.Limit = cfg.Filter.Limit
}
if cfg.Filter.Offset > 0 {
cfg.Offset = cfg.Filter.Offset
}
if cfg.Filter.Sort != "" {
cfg.Sort = append(cfg.Sort, cfg.Filter.Sort)
}
if !middleware.CanExceedLimit(ctx) && (cfg.Limit > ennoblement.PaginationLimit || cfg.Limit <= 0) {
cfg.Limit = ennoblement.PaginationLimit

16
go.mod
View File

@ -1,26 +1,22 @@
module github.com/tribalwarshelp/api
go 1.14
go 1.15
require (
github.com/99designs/gqlgen v0.13.0
github.com/gin-contrib/cors v1.3.1
github.com/gin-gonic/gin v1.6.3
github.com/go-pg/pg/v10 v10.0.0-beta.2
github.com/go-pg/pg/extra/pgdebug v0.2.0
github.com/go-pg/pg/v10 v10.7.3
github.com/go-playground/validator/v10 v10.3.0 // indirect
github.com/go-redis/redis/v8 v8.0.0-beta.7
github.com/go-redis/redis/v8 v8.4.4
github.com/joho/godotenv v1.3.0
github.com/json-iterator/go v1.1.10 // indirect
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
github.com/modern-go/reflect2 v1.0.1 // indirect
github.com/pkg/errors v0.9.1
github.com/segmentio/encoding v0.1.14 // indirect
github.com/tribalwarshelp/map-generator v0.0.0-20201230172408-9854b94d3578
github.com/tribalwarshelp/shared v0.0.0-20210101151135-e0b630c43ca9
github.com/tribalwarshelp/map-generator v0.0.0-20210106163923-fa048a59f5f2
github.com/tribalwarshelp/shared v0.0.0-20210106162314-d3488036ca2f
github.com/vektah/gqlparser/v2 v2.1.0
go.opentelemetry.io/otel v0.9.0 // indirect
golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208
golang.org/x/sys v0.0.0-20200625212154-ddb9806d33ae // indirect
google.golang.org/protobuf v1.25.0 // indirect
gopkg.in/yaml.v2 v2.3.0 // indirect
)

175
go.sum
View File

@ -1,11 +1,7 @@
cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU=
github.com/99designs/gqlgen v0.13.0 h1:haLTcUp3Vwp80xMVEg5KRNwzfUrgFdRmtBY8fuB8scA=
github.com/99designs/gqlgen v0.13.0/go.mod h1:NV130r6f4tpRWuAI+zsrSdooO/eWUv+Gyyoi3rEfXIk=
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo=
github.com/DataDog/sketches-go v0.0.0-20190923095040-43f19ad77ff7 h1:qELHH0AWCvf98Yf+CNIJx9vOZOfHFDDzgDRYsnNk/vs=
github.com/DataDog/sketches-go v0.0.0-20190923095040-43f19ad77ff7/go.mod h1:Q5DbzQ+3AkgGwymQO7aZFNP7ns2lZKGtvRBzRXfdi60=
github.com/agnivade/levenshtein v1.0.1/go.mod h1:CURSv5d9Uaml+FovSIICkLbAUZ9S4RqaHDIsdSBg7lM=
github.com/agnivade/levenshtein v1.0.3 h1:M5ZnqLOoZR8ygVq0FfkXsNOKzMCk0xRiow0R5+5VkQ0=
github.com/agnivade/levenshtein v1.0.3/go.mod h1:4SFRZbbXWLF4MU1T9Qg0pGgH3Pjs+t6ie5efyrwRJXs=
@ -13,34 +9,27 @@ github.com/andreyvit/diff v0.0.0-20170406064948-c7f18ee00883 h1:bvNMNQO63//z+xNg
github.com/andreyvit/diff v0.0.0-20170406064948-c7f18ee00883/go.mod h1:rCTlJbsFo29Kk6CurOXKm700vrz8f0KW0JNfpkRJY/8=
github.com/arbovm/levenshtein v0.0.0-20160628152529-48b4e1c0c4d0 h1:jfIu9sQUG6Ig+0+Ap1h4unLjW6YQJpKZVmUzxsD4E/Q=
github.com/arbovm/levenshtein v0.0.0-20160628152529-48b4e1c0c4d0/go.mod h1:t2tdKJDJF9BV14lnkjHmOQgcvEKgtqs5a1N3LNdJhGE=
github.com/benbjohnson/clock v1.0.0 h1:78Jk/r6m4wCi6sndMpty7A//t4dw/RW5fV4ZgDVfX1w=
github.com/benbjohnson/clock v1.0.0/go.mod h1:bGMdMPoPVvcYyt1gHDf4J2KE153Yf9BuiUKYMaxlTDM=
github.com/benbjohnson/clock v1.0.3 h1:vkLuvpK4fmtSCuo60+yC63p7y0BmQ8gm5ZXGuBCJyXg=
github.com/benbjohnson/clock v1.0.3/go.mod h1:bGMdMPoPVvcYyt1gHDf4J2KE153Yf9BuiUKYMaxlTDM=
github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU=
github.com/cespare/xxhash/v2 v2.1.1 h1:6MnRN8NT7+YBpUIWxHtefFZOKTAPgGjpQSxqLNn0+qY=
github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw=
github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc=
github.com/codemodus/kace v0.5.1 h1:4OCsBlE2c/rSJo375ggfnucv9eRzge/U5LrrOZd47HA=
github.com/codemodus/kace v0.5.1/go.mod h1:coddaHoX1ku1YFSe4Ip0mL9kQjJvKkzb9CfIdG1YR04=
github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d h1:U+s90UTSYgptZMwQh2aRr3LuazLJIa+Pg3Kc1ylSYVY=
github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU=
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/dgryski/go-rendezvous v0.0.0-20200624174652-8d2f3be8b2d9 h1:h2Ul3Ym2iVZWMQGYmulVUJ4LSkBm1erp9mUkPwtMoLg=
github.com/dgryski/go-rendezvous v0.0.0-20200624174652-8d2f3be8b2d9/go.mod h1:cuUVRXasLTGF7a8hSLbxyZXjz+1KgoB3wDUb6vlszIc=
github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f h1:lO4WD4F/rVNCu3HqELle0jiPLLBs70cWOduZpkS1E78=
github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f/go.mod h1:cuUVRXasLTGF7a8hSLbxyZXjz+1KgoB3wDUb6vlszIc=
github.com/dgryski/trifles v0.0.0-20190318185328-a8d75aae118c h1:TUuUh0Xgj97tLMNtWtNvI9mIV6isjEb9lBMNv+77IGM=
github.com/dgryski/trifles v0.0.0-20190318185328-a8d75aae118c/go.mod h1:if7Fbed8SFyPtHLHbg49SI7NAdJiC5WIA09pe59rfAA=
github.com/disintegration/imaging v1.6.2 h1:w1LecBlG2Lnp8B3jk5zSuNqd7b4DXhcjwek1ei82L+c=
github.com/disintegration/imaging v1.6.2/go.mod h1:44/5580QXChDfwIclfc/PCwrr44amcmDAg8hxG0Ewe4=
github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98=
github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c=
github.com/fsnotify/fsnotify v1.4.7 h1:IXs+QLmnXW2CcXuY+8Mzv/fWEsPGWxqefPtCP5CnV9I=
github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo=
github.com/fsnotify/fsnotify v1.4.9 h1:hsms1Qyu0jgnwNXIxa+/V/PDsU6CfLf6CNO8H7IWoS4=
github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ=
github.com/gin-contrib/cors v1.3.1 h1:doAsuITavI4IOcd0Y19U4B+O0dNWihRyX//nn4sEmgA=
github.com/gin-contrib/cors v1.3.1/go.mod h1:jjEJ4268OPZUcU7k9Pm653S7lXUGcqMADzFA61xsmDk=
github.com/gin-contrib/sse v0.1.0 h1:Y/yl/+YNO8GZSjAhjMsSuLt29uWRFHdHYUb5lYOV9qE=
@ -49,20 +38,13 @@ github.com/gin-gonic/gin v1.5.0/go.mod h1:Nd6IXA8m5kNZdNEHMBd93KT+mdY3+bewLgRvmC
github.com/gin-gonic/gin v1.6.3 h1:ahKqKTFpO5KTPHxWZjEdPScmYaGtLo8Y4DMHoEsnp14=
github.com/gin-gonic/gin v1.6.3/go.mod h1:75u5sXoLsGZoRN5Sgbi1eraJ4GU3++wFwWzhwvtwp4M=
github.com/go-chi/chi v3.3.2+incompatible/go.mod h1:eB3wogJHnLi3x/kFX2A+IbTBlXxmMeXJVKy9tTv1XzQ=
github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8=
github.com/go-pg/pg/v10 v10.0.0-beta.2 h1:8tNEJLtOEw5/Df0BLLBOHCiLaYAiu4uhdngjK955MK8=
github.com/go-pg/pg/v10 v10.0.0-beta.2/go.mod h1:UAuqGPC94ySi4rJ3DC5e4SY1rlwugZbJA/XoJ/kf5Rw=
github.com/go-pg/pg/v9 v9.0.0-beta.14/go.mod h1:T2Sr6bpTCOr2lUqOUMiXLMJqZHSUBKk1LdgSqjwhZfA=
github.com/go-pg/pg/v9 v9.0.3/go.mod h1:Tm/Q3Vt6gdQOH6TTN1H/xLlIXc+Qrka7TZ6uREtu/eA=
github.com/go-pg/pg/v9 v9.1.6 h1:IqBayenvp9EWjHncRE7//SRmQuktq60oeO1/MkEx3dY=
github.com/go-pg/pg/v9 v9.1.6/go.mod h1:QM13HBLkdml4zcKOfUfGLymM6hb72aKTJLrmaH8rsFg=
github.com/go-pg/urlstruct v0.1.0/go.mod h1:2Nag+BIny6G/KYCkdt++ZnqU/VinzimGapKfs4kwlN0=
github.com/go-pg/urlstruct v0.2.6/go.mod h1:dxENwVISWSOX+k87hDt0ueEJadD+gZWv3tHzwfmZPu8=
github.com/go-pg/urlstruct v0.3.0/go.mod h1:/XKyiUOUUS3onjF+LJxbfmSywYAdl6qMfVbX33Q8rgg=
github.com/go-pg/urlstruct v0.4.0 h1:3lmbUGYQclB3UOx9akDs2T251zwkKQuPkvPTmCm07+A=
github.com/go-pg/urlstruct v0.4.0/go.mod h1:/XKyiUOUUS3onjF+LJxbfmSywYAdl6qMfVbX33Q8rgg=
github.com/go-pg/zerochecker v0.1.1 h1:av77Qe7Gs+1oYGGh51k0sbZ0bUaxJEdeP0r8YE64Dco=
github.com/go-pg/zerochecker v0.1.1/go.mod h1:NJZ4wKL0NmTtz0GKCoJ8kym6Xn/EQzXRl2OnAe7MmDo=
github.com/go-pg/pg/extra/pgdebug v0.2.0 h1:t62UhMiV6KYAxSWojwIJiyX06TdepkzCeIzdeb00184=
github.com/go-pg/pg/extra/pgdebug v0.2.0/go.mod h1:KmW//PLshMAQunfInLv9mFIbYXuGplOY9bc6qo3CaY0=
github.com/go-pg/pg/v10 v10.6.2/go.mod h1:BfgPoQnD2wXNd986RYEHzikqv9iE875PrFaZ9vXvtNM=
github.com/go-pg/pg/v10 v10.7.3 h1:oL/Hz5MJie/9epmwxlZjfReO+2wlLPOK6BeGb9I+XHk=
github.com/go-pg/pg/v10 v10.7.3/go.mod h1:UsDYtA+ihbBNX1OeIvDejxkL4RXzL3wsZYoEv5NUEqM=
github.com/go-pg/zerochecker v0.2.0 h1:pp7f72c3DobMWOb2ErtZsnrPaSvHd2W4o9//8HtF4mU=
github.com/go-pg/zerochecker v0.2.0/go.mod h1:NJZ4wKL0NmTtz0GKCoJ8kym6Xn/EQzXRl2OnAe7MmDo=
github.com/go-playground/assert/v2 v2.0.1 h1:MsBgLAaY856+nPRTKrp3/OZK38U/wa0CcBYNjji3q3A=
github.com/go-playground/assert/v2 v2.0.1/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4=
github.com/go-playground/locales v0.12.1/go.mod h1:IUMDtCfWo/w/mtMfIE/IG2K+Ey3ygWanZIBtBW0W2TM=
@ -75,8 +57,8 @@ github.com/go-playground/validator/v10 v10.2.0 h1:KgJ0snyC2R9VXYN2rneOtQcw5aHQB1
github.com/go-playground/validator/v10 v10.2.0/go.mod h1:uOYAAleCW8F/7oMFd6aG0GOhaH6EGOAJShg8Id5JGkI=
github.com/go-playground/validator/v10 v10.3.0 h1:nZU+7q+yJoFmwvNgv/LnPUkwPal62+b2xXj0AU1Es7o=
github.com/go-playground/validator/v10 v10.3.0/go.mod h1:uOYAAleCW8F/7oMFd6aG0GOhaH6EGOAJShg8Id5JGkI=
github.com/go-redis/redis/v8 v8.0.0-beta.7 h1:4HiY+qfsyz8OUr9zyAP2T1CJ0SFRY4mKFvm9TEznuv8=
github.com/go-redis/redis/v8 v8.0.0-beta.7/go.mod h1:FGJAWDWFht1sQ4qxyJHZZbVyvnVcKQN0E3u5/5lRz+g=
github.com/go-redis/redis/v8 v8.4.4 h1:fGqgxCTR1sydaKI00oQf3OmkU/DIe/I/fYXvGklCIuc=
github.com/go-redis/redis/v8 v8.4.4/go.mod h1:nA0bQuF0i5JFx4Ta9RZxGKXFrQ8cRWntra97f0196iY=
github.com/gogo/protobuf v1.0.0/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ=
github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q=
github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A=
@ -94,6 +76,8 @@ github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvq
github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QDs8UjoX8=
github.com/golang/protobuf v1.4.2 h1:+Z5KGCizgyZCbGh1KZqA0fcLLkwbsjIzS4aV2v7wJX0=
github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI=
github.com/golang/protobuf v1.4.3 h1:JjCZWpVbqXDqFVmTfYWEVTMIYrL/NPdPSCHPJ0T/raM=
github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI=
github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M=
github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
@ -101,6 +85,10 @@ github.com/google/go-cmp v0.4.0 h1:xsAVV57WRhGj6kEIi8ReJzQlHHqcBYCElAvkovg3B/4=
github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.5.0 h1:/QaMHBdZ26BB3SSst0Iwl10Epc+xhTquomWX0oZEB6w=
github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.5.3/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.5.4 h1:L8R9j+yAqZuZjsqh/z+F1NCffTKKLShY6zXTItVIZ8M=
github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/gofuzz v1.0.0 h1:A8PeW59pxE9IoFRqBp37U+mSNaQoZ46F1f0f863XSXw=
github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
github.com/gorilla/context v0.0.0-20160226214623-1ea25387ff6f/go.mod h1:kBGZzfjB9CEq2AlWe17Uuf7NDRt0dE0s8S51q0aT7Yg=
@ -147,15 +135,22 @@ github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742 h1:Esafd1046DLD
github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0=
github.com/modern-go/reflect2 v1.0.1 h1:9f412s+6RmYXLWZSEzVVgPGK7C2PphHj5RJrvfx9AWI=
github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0=
github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e h1:fD57ERR4JtEqsWbfPhv4DMiApHyliiK5xCTNVSPiaAs=
github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno=
github.com/nxadm/tail v1.4.4 h1:DQuhQpB1tVlglWS2hLQ5OV6B5r8aGxSrPc5Qo6uTN78=
github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A=
github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
github.com/onsi/ginkgo v1.10.1 h1:q/mM8GF/n0shIN8SaAZ0V+jnLPzen6WIVZdiwrRlMlo=
github.com/onsi/ginkgo v1.10.1/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
github.com/onsi/gomega v1.7.0 h1:XPnZz8VVBHjVsy1vzJmRwIcSwiUO+JFfrv/xGiigmME=
github.com/onsi/gomega v1.7.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY=
github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108oapk=
github.com/onsi/ginkgo v1.14.2 h1:8mVmC9kjFFmA8H4pKMUhcblgifdkOIXPvbhN1T36q1M=
github.com/onsi/ginkgo v1.14.2/go.mod h1:iSB4RoI2tjJc9BBv4NKIKWKya62Rps+oPG/Lv9klQyY=
github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY=
github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo=
github.com/onsi/gomega v1.10.3 h1:gph6h/qe9GSUw1NhH1gp+qb+h8rXD8Cy60Z32Qw3ELA=
github.com/onsi/gomega v1.10.3/go.mod h1:V9xEwhxec5O8UDM77eCW8vLymOMltsqPVYWrpDsH8xc=
github.com/onsi/gomega v1.10.4 h1:NiTx7EEvBzu9sFOD1zORteLSt3o8gnlvZZwSE9TnY9U=
github.com/onsi/gomega v1.10.4/go.mod h1:g/HbgYopi++010VEqkFgJHKC09uJiW9UkXvMUuKHUCQ=
github.com/opentracing/basictracer-go v1.0.0/go.mod h1:QfBfYuafItcjQuMwinw9GhYKwFXS9KnPs5lxoYwgW74=
github.com/opentracing/opentracing-go v1.0.2/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o=
github.com/opentracing/opentracing-go v1.1.1-0.20190913142402-a7454ce5950e/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o=
github.com/opentracing/opentracing-go v1.2.0/go.mod h1:GxEUsuufX4nBwe+T+Wl9TAgYrxe9dPLANfrWvHYVTgc=
github.com/pkg/errors v0.8.1 h1:iURUrRGxPUNPdy5/HRSm+Yj6okJ6UtLINN0Q9M4+h3I=
github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
@ -166,11 +161,6 @@ github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:
github.com/rs/cors v1.6.0/go.mod h1:gFx+x8UowdsKA9AchylcLynDq+nNFfI8FkUZdN/jGCU=
github.com/russross/blackfriday/v2 v2.0.1 h1:lPqVAte+HuHNfhJ/0LC98ESWRz8afy9tM/0RK8m9o+Q=
github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
github.com/segmentio/encoding v0.1.10/go.mod h1:RWhr02uzMB9gQC1x+MfYxedtmBibb9cZ6Vv9VxRSSbw=
github.com/segmentio/encoding v0.1.13 h1:izH8HknGvMZvlqplu+kmCmbsW5VEvz4yBsZpdUUKUDM=
github.com/segmentio/encoding v0.1.13/go.mod h1:RWhr02uzMB9gQC1x+MfYxedtmBibb9cZ6Vv9VxRSSbw=
github.com/segmentio/encoding v0.1.14 h1:BfnglNbNRohLaBLf93uP5/IwKqeWrezXK/g6IRnj75c=
github.com/segmentio/encoding v0.1.14/go.mod h1:RWhr02uzMB9gQC1x+MfYxedtmBibb9cZ6Vv9VxRSSbw=
github.com/sergi/go-diff v1.1.0 h1:we8PVUC3FE2uYfodKH/nBHMSetSfHDR6scGdBi+erh0=
github.com/sergi/go-diff v1.1.0/go.mod h1:STckp+ISIX8hZLjrqAeVduY0gWCT9IjLuqbuNXdaHfM=
github.com/shurcooL/httpfs v0.0.0-20171119174359-809beceb2371/go.mod h1:ZY1cvUeJuFPAdZ/B6v7RHavJWZn2YPVFQ1OSXhCGOkg=
@ -190,12 +180,10 @@ 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/map-generator v0.0.0-20201230172408-9854b94d3578 h1:QEtIQtv+xquFv7kaPe9Y8uKd4+p/Ug31WsuSoFChOl8=
github.com/tribalwarshelp/map-generator v0.0.0-20201230172408-9854b94d3578/go.mod h1:LD8bRgTmZn9CA/0Yk4MrleDTJ5OYzvd8uALznvVUslI=
github.com/tribalwarshelp/shared v0.0.0-20201225112152-d1d8bc92fc33 h1:ItFd9kzpvO69r3Ta7S8+3OT6Wc56Ga5MEGBYW7DotUE=
github.com/tribalwarshelp/shared v0.0.0-20201225112152-d1d8bc92fc33/go.mod h1:Lxk6zaQhPTPrgz9ksMgg51m8XgflrCo/kRBx2cM3yfk=
github.com/tribalwarshelp/shared v0.0.0-20210101151135-e0b630c43ca9 h1:hyvU/HAwrfvoztsRBRLZqlSyXVLGZf9jgaNfEJIk4SE=
github.com/tribalwarshelp/shared v0.0.0-20210101151135-e0b630c43ca9/go.mod h1:Lxk6zaQhPTPrgz9ksMgg51m8XgflrCo/kRBx2cM3yfk=
github.com/tribalwarshelp/map-generator v0.0.0-20210106163923-fa048a59f5f2 h1:yYSQuWN6YvY0cL77Ha7Y350Xm2/J+6suHubv5F/ZluY=
github.com/tribalwarshelp/map-generator v0.0.0-20210106163923-fa048a59f5f2/go.mod h1:ywyp0CZ3JsJ+0GAbUJVWo3dipHcAohD7KkV2TNbiTHU=
github.com/tribalwarshelp/shared v0.0.0-20210106162314-d3488036ca2f h1:E8ahQd4yo3nB0eJMpL/M0s6iZaWMGmxga14kiqsHcQ4=
github.com/tribalwarshelp/shared v0.0.0-20210106162314-d3488036ca2f/go.mod h1:vtDs7EjEysk4dpFPfu3c4lkICXZYIRV0BrT7rsqG0dw=
github.com/ugorji/go v1.1.7 h1:/68gy2h+1mWMrwZFeD1kQialdSzAb432dtpeJ42ovdo=
github.com/ugorji/go v1.1.7/go.mod h1:kZn38zHttfInRq0xu/PH0az30d+z6vm202qpg1oXVMw=
github.com/ugorji/go/codec v1.1.7 h1:2SvQaVZ1ouYrrKKwoSk2pzd4A9evlKJb9oTL+OaLUSs=
@ -206,64 +194,54 @@ github.com/vektah/dataloaden v0.2.1-0.20190515034641-a19b9a6e7c9e h1:+w0Zm/9gaWp
github.com/vektah/dataloaden v0.2.1-0.20190515034641-a19b9a6e7c9e/go.mod h1:/HUdMve7rvxZma+2ZELQeNh88+003LL7Pf/CZ089j8U=
github.com/vektah/gqlparser/v2 v2.1.0 h1:uiKJ+T5HMGGQM2kRKQ8Pxw8+Zq9qhhZhz/lieYvCMns=
github.com/vektah/gqlparser/v2 v2.1.0/go.mod h1:SyUiHgLATUR8BiYURfTirrTcGpcE+4XkV2se04Px1Ms=
github.com/vmihailenco/bufpool v0.1.5/go.mod h1:fL9i/PRTuS7AELqAHwSU1Zf1c70xhkhGe/cD5ud9pJk=
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.5/go.mod h1:DuaveEe48abshDmz5UBKyZ+yDugvaeFk5ayfrewUOaw=
github.com/vmihailenco/msgpack/v4 v4.3.7/go.mod h1:Ii+PksJlvFT5ZRcB/4YLAInMIp6a0WOCm0L3BU0aNG4=
github.com/vmihailenco/msgpack/v4 v4.3.11 h1:Q47CePddpNGNhk4GCnAx9DDtASi2rasatE0cd26cZoE=
github.com/vmihailenco/msgpack/v4 v4.3.11/go.mod h1:gborTTJjAo/GWTqqRjrLCn9pgNN+NXzzngzBKDPIqw4=
github.com/vmihailenco/msgpack/v5 v5.0.0-beta.1 h1:d71/KA0LhvkrJ/Ok+Wx9qK7bU8meKA1Hk0jpVI5kJjk=
github.com/vmihailenco/msgpack/v5 v5.0.0-beta.1/go.mod h1:xlngVLeyQ/Qi05oQxhQ+oTuqa03RjMwMfk/7/TCs+QI=
github.com/vmihailenco/tagparser v0.1.0/go.mod h1:OeAg3pn3UbLjkWt+rN9oFYB6u/cQgqMEUPoW2WPyhdI=
github.com/vmihailenco/msgpack/v5 v5.0.0/go.mod h1:HVxBVPUK/+fZMonk4bi1islLa8V3cfnBug0+4dykPzo=
github.com/vmihailenco/msgpack/v5 v5.1.4 h1:6K44/cU6dMNGkVTGGuu7ef2NdSRFMhAFGGLfE3cqtHM=
github.com/vmihailenco/msgpack/v5 v5.1.4/go.mod h1:C5gboKD0TJPqWDTVTtrQNfRbiBwHZGo8UTqP/9/XvLI=
github.com/vmihailenco/tagparser v0.1.1 h1:quXMXlA39OCbd2wAdTsGDlK9RkOk6Wuw+x37wVyIuWY=
github.com/vmihailenco/tagparser v0.1.1/go.mod h1:OeAg3pn3UbLjkWt+rN9oFYB6u/cQgqMEUPoW2WPyhdI=
go.opentelemetry.io/otel v0.6.0 h1:+vkHm/XwJ7ekpISV2Ixew93gCrxTbuwTF5rSewnLLgw=
go.opentelemetry.io/otel v0.6.0/go.mod h1:jzBIgIzK43Iu1BpDAXwqOd6UPsSAk+ewVZ5ofSXw4Ek=
go.opentelemetry.io/otel v0.7.0/go.mod h1:aZMyHG5TqDOXEgH2tyLiXSUKly1jT3yqE9PmrzIeCdo=
go.opentelemetry.io/otel v0.9.0 h1:nsdCDHzQx1Yv8E2nwCPcMXMfg+EMIlx1LBOXNC8qSQ8=
go.opentelemetry.io/otel v0.9.0/go.mod h1:ckxzUEfk7tAkTwEMVdkllBM+YOfE/K9iwg6zYntFYSg=
github.com/vmihailenco/tagparser v0.1.2 h1:gnjoVuB/kljJ5wICEEOpx98oXMWPLj22G67Vbd1qPqc=
github.com/vmihailenco/tagparser v0.1.2/go.mod h1:OeAg3pn3UbLjkWt+rN9oFYB6u/cQgqMEUPoW2WPyhdI=
go.opentelemetry.io/otel v0.13.0/go.mod h1:dlSNewoRYikTkotEnxdmuBHgzT+k/idJSfDv/FxEnOY=
go.opentelemetry.io/otel v0.14.0/go.mod h1:vH5xEuwy7Rts0GNtsCW3HYQoZDY+OmBJ6t1bFGGlxgw=
go.opentelemetry.io/otel v0.15.0 h1:CZFy2lPhxd4HlhZnYK8gRyDotksO3Ip9rBweY1vVYJw=
go.opentelemetry.io/otel v0.15.0/go.mod h1:e4GKElweB8W2gWUqbghw0B8t5MCTccc9212eNHnOHwA=
golang.org/x/crypto v0.0.0-20180910181607-0e37d006457b/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
golang.org/x/crypto v0.0.0-20190923035154-9ee001bba392/go.mod h1:/lpIB1dKB+9EgE3H3cr1v9wB50oz8l4C4h62xy7jSTY=
golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
golang.org/x/crypto v0.0.0-20191029031824-8986dd9e96cf/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
golang.org/x/crypto v0.0.0-20191128160524-b544559bb6d1/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
golang.org/x/crypto v0.0.0-20200221231518-2aa609cf4a9d/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
golang.org/x/crypto v0.0.0-20200604202706-70a84ac30bf9 h1:vEg9joUBmeBcK9iSJftGNf3coIG4HqZElCPehJsfAYM=
golang.org/x/crypto v0.0.0-20200604202706-70a84ac30bf9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
golang.org/x/crypto v0.0.0-20201012173705-84dcc777aaee/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
golang.org/x/crypto v0.0.0-20201117144127-c1f2f97bffc9/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I=
golang.org/x/crypto v0.0.0-20201221181555-eec23a3978ad h1:DN0cp81fZ3njFcrLCytUHRSUkqBjfTo4Tx9RJTWs0EY=
golang.org/x/crypto v0.0.0-20201221181555-eec23a3978ad/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I=
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
golang.org/x/exp v0.0.0-20200513190911-00229845015e h1:rMqLP+9XLy+LdbCXHjJHAmTfXCr93W7oruWA6Hq1Alc=
golang.org/x/exp v0.0.0-20200513190911-00229845015e/go.mod h1:4M0jN8W1tt0AVLNr8HDosyJCDCDuyL9N9+3m7wDWgKw=
golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js=
golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0=
golang.org/x/image v0.0.0-20191009234506-e7c1f5e7dbb8/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0=
golang.org/x/image v0.0.0-20200618115811-c13761719519 h1:1e2ufUJNM3lCHEY5jIgac/7UTjd6cgJNdatjPdFWf34=
golang.org/x/image v0.0.0-20200618115811-c13761719519/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0=
golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU=
golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o=
golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg=
golang.org/x/mod v0.1.1-0.20191107180719-034126e5016b/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg=
golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
golang.org/x/net v0.0.0-20190420063019-afa5a82059c6/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks=
golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20190923162816-aa69164e4478/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20200222033325-078779b8f2d8/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20200301022130-244492dfa37a/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20200602114024-627f9648deb9 h1:pNX+40auqi2JqRfOP1akLGtYcn15TUbkhwuCO3foqqM=
golang.org/x/net v0.0.0-20200602114024-627f9648deb9/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
golang.org/x/net v0.0.0-20200520004742-59133d7f0dd7/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
golang.org/x/net v0.0.0-20201006153459-a7d1128ccaa0/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
golang.org/x/net v0.0.0-20201010224723-4f7140c49acb/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
golang.org/x/net v0.0.0-20201110031124-69a78807bb2b h1:uwuIcX0g4Yl1NC5XAz37xsr2lTtcqevgzYNVt49waME=
golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
golang.org/x/net v0.0.0-20201202161906-c7110b5ffcbb h1:eBmm0M9fYhWpKZLjQUUKka/LtIxf46G4fxeEz5KJr9U=
golang.org/x/net v0.0.0-20201202161906-c7110b5ffcbb/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
@ -275,24 +253,27 @@ golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5h
golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190813064441-fde4db37ae7a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190922100055-0a153f010e69/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-20190904154756-749cb33beabd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20191120155948-bd437916bb0e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200116001909-b77594299b42 h1:vEOn+mP2zCOVzKckCZy6YsCtDblrpj/w7B9nxGNELpg=
golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200602225109-6fdc65e7d980 h1:OjiUf46hAmXblsZdnoSXsEUSKU8r1UEzcL5RVZ4gO9Y=
golang.org/x/sys v0.0.0-20200602225109-6fdc65e7d980/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200615200032-f1bc736245b1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200625212154-ddb9806d33ae h1:Ih9Yo4hSPImZOpfGuA4bR/ORKTAbhZo2AbWNRCnevdo=
golang.org/x/sys v0.0.0-20200625212154-ddb9806d33ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200519105757-fe76b779f299/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20201015000850-e3ed0017c211/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210105210732-16f7687f5001 h1:/dSxr6gT0FNI1MO5WLJo8mTmItROeOKTkDn+7OwWBos=
golang.org/x/sys v0.0.0-20210105210732-16f7687f5001/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.2 h1:tW2bmiBqwgJj/UpqtC8EpXEZVYOwU0yG4iWbprSVAcs=
golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
golang.org/x/text v0.3.3 h1:cokOdA+Jmi5PJGXLlLllQSgYigAEfHXJAERHVMaCc2k=
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20190125232054-d66bd3c5d5a6/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
@ -302,30 +283,20 @@ golang.org/x/tools v0.0.0-20190515012406-7d7faa4812bd/go.mod h1:RgjU9mgBXZiqYHBn
golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
golang.org/x/tools v0.0.0-20200114235610-7ae403b6b589 h1:rjUrONFu4kLchcZTfp3/96bR8bW8dIa8uz3cR5n0cgM=
golang.org/x/tools v0.0.0-20200114235610-7ae403b6b589/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
golang.org/x/tools v0.0.0-20200207183749-b753a1ba74fa h1:5E4dL8+NgFOgjwbTKz+OOEGGhP+ectTmF842l6KjupQ=
golang.org/x/tools v0.0.0-20200207183749-b753a1ba74fa/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543 h1:E7g+9GITq07hpfrRu66IVDexMakfv52eLZ2CXBWiKr4=
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM=
google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc=
google.golang.org/appengine v1.6.6 h1:lMO5rYAqUxkmaj76jAkRUvt5JZgFymx/+Q5Mzfivuhc=
google.golang.org/appengine v1.6.6/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc=
google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc=
google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc=
google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc=
google.golang.org/genproto v0.0.0-20191009194640-548a555dbc03/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc=
google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013 h1:+kGHl1aib/qcwaRi1CbqBZ1rk19r85MNUf8HaBghugY=
google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo=
google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg=
google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY=
google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk=
google.golang.org/grpc v1.27.1/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk=
google.golang.org/grpc v1.29.1 h1:EC2SB8S04d2r73uptxphDSUG+kTKVgjRPF+N3xpxRB4=
google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk=
google.golang.org/grpc v1.30.0 h1:M5a8xTlYTxwMn5ZFkwhRabsygDY5G8TYLyQDBxJNAxE=
google.golang.org/grpc v1.30.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak=
google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8=
google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0=
google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM=
@ -335,24 +306,22 @@ google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2
google.golang.org/protobuf v1.23.0 h1:4MY060fB1DLGMB/7MBTLnwQUY6+F09GEiz6SsrNqyzM=
google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU=
google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU=
google.golang.org/protobuf v1.24.0 h1:UhZDfRO8JRQru4/+LlLE0BRKGF8L+PICnvYZmx/fEGA=
google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGjtUeSXeh4=
google.golang.org/protobuf v1.25.0 h1:Ejskq+SyPohKW+1uil0JJMtmHCgJPJ/qWTxr8qp+R4c=
google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15 h1:YR8cESwS4TdDjEe65xsg0ogRM/Nc3DYOhEAlW+xobZo=
gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f h1:BLraFXnmrev5lT+xlilqcH8XK9/i0At2xKjWk4p6zsU=
gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/fsnotify.v1 v1.4.7 h1:xOHLXZwVvI9hhs+cLKq5+I5onOuwQLhQwiu63xxlHs4=
gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys=
gopkg.in/go-playground/assert.v1 v1.2.1/go.mod h1:9RXL0bg/zibRAgZUYszZSwO/z8Y/a8bDuhia5mkpMnE=
gopkg.in/go-playground/validator.v9 v9.29.1/go.mod h1:+c9/zcJMFNgbLvly1L1V+PpxWdVbfP1avr/N00E2vyQ=
gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ=
gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw=
gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.2.7/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.2.8 h1:obN1ZagJSUGI0Ek/LBmuj4SNLPfIny3KsKFopxRdj10=
gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.3.0 h1:clyUAQHOM3G0M3f5vQj7LuJrETvjVot3Z5el9nffUtU=

View File

@ -3513,10 +3513,6 @@ input DailyPlayerStatsFilter {
createDateGTE: Time
createDateLT: Time
createDateLTE: Time
offset: Int @deprecated(reason: "Use a new variable added to the query dailyPlayerStats - ` + "`" + `offset` + "`" + `.")
limit: Int @deprecated(reason: "Use a new variable added to the query dailyPlayerStats - ` + "`" + `limit` + "`" + `.")
sort: String @deprecated(reason: "Use a new variable added to the query dailyPlayerStats - ` + "`" + `sort` + "`" + `.")
}
extend type Query {
@ -3561,10 +3557,6 @@ input DailyTribeStatsFilter {
createDateGTE: Time
createDateLT: Time
createDateLTE: Time
offset: Int @deprecated(reason: "Use a new variable added to the query dailyTribeStats - ` + "`" + `offset` + "`" + `.")
limit: Int @deprecated(reason: "Use a new variable added to the query dailyTribeStats - ` + "`" + `limit` + "`" + `.")
sort: String @deprecated(reason: "Use a new variable added to the query dailyTribeStats - ` + "`" + `sort` + "`" + `.")
}
extend type Query {
@ -3605,16 +3597,21 @@ input EnnoblementFilterOr {
input EnnoblementFilter {
villageID: [Int!]
villageIDNEQ: [Int!]
villageFilter: VillageFilter
newOwnerID: [Int!]
newOwnerIDNEQ: [Int!]
newOwnerFilter: PlayerFilter
newOwnerTribeID: [Int!]
newOwnerTribeIDNEQ: [Int!]
newOwnerTribeFilter: TribeFilter
oldOwnerID: [Int!]
oldOwnerIDNEQ: [Int!]
oldOwnerFilter: PlayerFilter
oldOwnerTribeID: [Int!]
oldOwnerTribeIDNEQ: [Int!]
oldOwnerTribeFilter: TribeFilter
ennobledAt: Time
ennobledAtGT: Time
@ -3623,19 +3620,6 @@ input EnnoblementFilter {
ennobledAtLTE: Time
or: EnnoblementFilterOr
offset: Int
@deprecated(
reason: "Use a new variable added to the query ennoblements - ` + "`" + `offset` + "`" + `."
)
limit: Int
@deprecated(
reason: "Use a new variable added to the query ennoblements - ` + "`" + `limit` + "`" + `."
)
sort: String
@deprecated(
reason: "Use a new variable added to the query ennoblements - ` + "`" + `sort` + "`" + `."
)
}
extend type Query {
@ -3797,19 +3781,6 @@ input PlayerFilter {
tribeID: [Int!]
tribeIDNEQ: [Int!]
tribeFilter: TribeFilter
offset: Int
@deprecated(
reason: "Use a new variable added to the query players - ` + "`" + `offset` + "`" + `."
)
limit: Int
@deprecated(
reason: "Use a new variable added to the query players - ` + "`" + `limit` + "`" + `."
)
sort: String
@deprecated(
reason: "Use a new variable added to the query players - ` + "`" + `sort` + "`" + `."
)
}
type FoundPlayer {
@ -3872,25 +3843,13 @@ type PlayerHistory {
input PlayerHistoryFilter {
playerID: [Int!]
playerIDNEQ: [Int!]
playerFilter: PlayerFilter
createDate: Time
createDateGT: Time
createDateGTE: Time
createDateLT: Time
createDateLTE: Time
offset: Int
@deprecated(
reason: "Use a new variable added to the query playerHistory - ` + "`" + `offset` + "`" + `."
)
limit: Int
@deprecated(
reason: "Use a new variable added to the query playerHistory - ` + "`" + `limit` + "`" + `."
)
sort: String
@deprecated(
reason: "Use a new variable added to the query playerHistory - ` + "`" + `sort` + "`" + `."
)
}
extend type Query {
@ -3944,19 +3903,6 @@ input ServerFilter {
versionCode: [VersionCode!]
versionCodeNEQ: [VersionCode!]
offset: Int
@deprecated(
reason: "Use a new variable added to the query players - ` + "`" + `offset` + "`" + `."
)
limit: Int
@deprecated(
reason: "Use a new variable added to the query players - ` + "`" + `limit` + "`" + `."
)
sort: String
@deprecated(
reason: "Use a new variable added to the query players - ` + "`" + `sort` + "`" + `."
)
}
extend type Query {
@ -4144,19 +4090,6 @@ input ServerStatsFilter {
createDateGTE: Time
createDateLT: Time
createDateLTE: Time
offset: Int
@deprecated(
reason: "Use a new variable added to the query serverStats - ` + "`" + `offset` + "`" + `."
)
limit: Int
@deprecated(
reason: "Use a new variable added to the query serverStats - ` + "`" + `limit` + "`" + `."
)
sort: String
@deprecated(
reason: "Use a new variable added to the query serverStats - ` + "`" + `sort` + "`" + `."
)
}
extend type Query {
@ -4201,6 +4134,12 @@ type TribeList {
total: Int!
}
input TribeFilterOr {
id: [Int!]
nameIEQ: String
tagIEQ: String
}
input TribeFilter {
id: [Int!]
idNEQ: [Int!]
@ -4301,18 +4240,7 @@ input TribeFilter {
deletedAtLT: Time
deletedAtLTE: Time
offset: Int
@deprecated(
reason: "Use a new variable added to the query tribes - ` + "`" + `offset` + "`" + `."
)
limit: Int
@deprecated(
reason: "Use a new variable added to the query tribes - ` + "`" + `limit` + "`" + `."
)
sort: String
@deprecated(
reason: "Use a new variable added to the query tribes - ` + "`" + `sort` + "`" + `."
)
or: TribeFilterOr
}
type FoundTribe {
@ -4368,12 +4296,15 @@ input TribeChangeFilterOr {
input TribeChangeFilter {
playerID: [Int!]
playerIDNEQ: [Int!]
playerFilter: PlayerFilter
oldTribeID: [Int!]
oldTribeIDNEQ: [Int!]
oldTribeFilter: TribeFilter
newTribeID: [Int!]
newTribeIDNEQ: [Int!]
newTribeFilter: TribeFilter
createdAt: Time
createdAtGT: Time
@ -4382,19 +4313,6 @@ input TribeChangeFilter {
createdAtLTE: Time
or: TribeChangeFilterOr
offset: Int
@deprecated(
reason: "Use a new variable added to the query tribeChanges - ` + "`" + `offset` + "`" + `."
)
limit: Int
@deprecated(
reason: "Use a new variable added to the query tribeChanges - ` + "`" + `limit` + "`" + `."
)
sort: String
@deprecated(
reason: "Use a new variable added to the query tribeChanges - ` + "`" + `sort` + "`" + `."
)
}
extend type Query {
@ -4432,25 +4350,13 @@ type TribeHistory {
input TribeHistoryFilter {
tribeID: [Int!]
tribeIDNEQ: [Int!]
tribeFilter: TribeFilter
createDate: Time
createDateGT: Time
createDateGTE: Time
createDateLT: Time
createDateLTE: Time
offset: Int
@deprecated(
reason: "Use a new variable added to the query tribeHistory - ` + "`" + `offset` + "`" + `."
)
limit: Int
@deprecated(
reason: "Use a new variable added to the query tribeHistory - ` + "`" + `limit` + "`" + `."
)
sort: String
@deprecated(
reason: "Use a new variable added to the query tribeHistory - ` + "`" + `sort` + "`" + `."
)
}
extend type Query {
@ -4546,19 +4452,6 @@ input VersionFilter {
hostNEQ: [String!]
hostMATCH: String
hostIEQ: String
offset: Int
@deprecated(
reason: "Use a new variable added to the query versions - ` + "`" + `offset` + "`" + `."
)
limit: Int
@deprecated(
reason: "Use a new variable added to the query versions - ` + "`" + `limit` + "`" + `."
)
sort: String
@deprecated(
reason: "Use a new variable added to the query versions - ` + "`" + `sort` + "`" + `."
)
}
type VersionList {
@ -4625,19 +4518,6 @@ input VillageFilter {
playerID: [Int!]
playerIDNEQ: [Int!]
playerFilter: PlayerFilter
offset: Int
@deprecated(
reason: "Use a new variable added to the query versions - ` + "`" + `offset` + "`" + `."
)
limit: Int
@deprecated(
reason: "Use a new variable added to the query versions - ` + "`" + `limit` + "`" + `."
)
sort: String
@deprecated(
reason: "Use a new variable added to the query versions - ` + "`" + `sort` + "`" + `."
)
}
extend type Query {
@ -19921,7 +19801,7 @@ func (ec *executionContext) unmarshalInputDailyPlayerStatsFilter(ctx context.Con
var err error
ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("playerIDNEQ"))
it.PlayerIdNEQ, err = ec.unmarshalOInt2ᚕintᚄ(ctx, v)
it.PlayerIDNEQ, err = ec.unmarshalOInt2ᚕintᚄ(ctx, v)
if err != nil {
return it, err
}
@ -19973,30 +19853,6 @@ func (ec *executionContext) unmarshalInputDailyPlayerStatsFilter(ctx context.Con
if err != nil {
return it, err
}
case "offset":
var err error
ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("offset"))
it.Offset, err = ec.unmarshalOInt2int(ctx, v)
if err != nil {
return it, err
}
case "limit":
var err error
ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("limit"))
it.Limit, err = ec.unmarshalOInt2int(ctx, v)
if err != nil {
return it, err
}
case "sort":
var err error
ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("sort"))
it.Sort, err = ec.unmarshalOString2string(ctx, v)
if err != nil {
return it, err
}
}
}
@ -20021,7 +19877,7 @@ func (ec *executionContext) unmarshalInputDailyTribeStatsFilter(ctx context.Cont
var err error
ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("tribeIDNEQ"))
it.TribeIdNEQ, err = ec.unmarshalOInt2ᚕintᚄ(ctx, v)
it.TribeIDNEQ, err = ec.unmarshalOInt2ᚕintᚄ(ctx, v)
if err != nil {
return it, err
}
@ -20073,30 +19929,6 @@ func (ec *executionContext) unmarshalInputDailyTribeStatsFilter(ctx context.Cont
if err != nil {
return it, err
}
case "offset":
var err error
ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("offset"))
it.Offset, err = ec.unmarshalOInt2int(ctx, v)
if err != nil {
return it, err
}
case "limit":
var err error
ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("limit"))
it.Limit, err = ec.unmarshalOInt2int(ctx, v)
if err != nil {
return it, err
}
case "sort":
var err error
ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("sort"))
it.Sort, err = ec.unmarshalOString2string(ctx, v)
if err != nil {
return it, err
}
}
}
@ -20121,7 +19953,15 @@ func (ec *executionContext) unmarshalInputEnnoblementFilter(ctx context.Context,
var err error
ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("villageIDNEQ"))
it.VillageIdNEQ, err = ec.unmarshalOInt2ᚕintᚄ(ctx, v)
it.VillageIDNEQ, err = ec.unmarshalOInt2ᚕintᚄ(ctx, v)
if err != nil {
return it, err
}
case "villageFilter":
var err error
ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("villageFilter"))
it.VillageFilter, err = ec.unmarshalOVillageFilter2ᚖgithubᚗcomᚋtribalwarshelpᚋsharedᚋmodelsᚐVillageFilter(ctx, v)
if err != nil {
return it, err
}
@ -20137,7 +19977,15 @@ func (ec *executionContext) unmarshalInputEnnoblementFilter(ctx context.Context,
var err error
ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("newOwnerIDNEQ"))
it.NewOwnerIdNEQ, err = ec.unmarshalOInt2ᚕintᚄ(ctx, v)
it.NewOwnerIDNEQ, err = ec.unmarshalOInt2ᚕintᚄ(ctx, v)
if err != nil {
return it, err
}
case "newOwnerFilter":
var err error
ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("newOwnerFilter"))
it.NewOwnerFilter, err = ec.unmarshalOPlayerFilter2ᚖgithubᚗcomᚋtribalwarshelpᚋsharedᚋmodelsᚐPlayerFilter(ctx, v)
if err != nil {
return it, err
}
@ -20153,7 +20001,15 @@ func (ec *executionContext) unmarshalInputEnnoblementFilter(ctx context.Context,
var err error
ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("newOwnerTribeIDNEQ"))
it.NewOwnerTribeIdNEQ, err = ec.unmarshalOInt2ᚕintᚄ(ctx, v)
it.NewOwnerTribeIDNEQ, err = ec.unmarshalOInt2ᚕintᚄ(ctx, v)
if err != nil {
return it, err
}
case "newOwnerTribeFilter":
var err error
ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("newOwnerTribeFilter"))
it.NewOwnerTribeFilter, err = ec.unmarshalOTribeFilter2ᚖgithubᚗcomᚋtribalwarshelpᚋsharedᚋmodelsᚐTribeFilter(ctx, v)
if err != nil {
return it, err
}
@ -20169,7 +20025,15 @@ func (ec *executionContext) unmarshalInputEnnoblementFilter(ctx context.Context,
var err error
ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("oldOwnerIDNEQ"))
it.OldOwnerIdNEQ, err = ec.unmarshalOInt2ᚕintᚄ(ctx, v)
it.OldOwnerIDNEQ, err = ec.unmarshalOInt2ᚕintᚄ(ctx, v)
if err != nil {
return it, err
}
case "oldOwnerFilter":
var err error
ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("oldOwnerFilter"))
it.OldOwnerFilter, err = ec.unmarshalOPlayerFilter2ᚖgithubᚗcomᚋtribalwarshelpᚋsharedᚋmodelsᚐPlayerFilter(ctx, v)
if err != nil {
return it, err
}
@ -20185,7 +20049,15 @@ func (ec *executionContext) unmarshalInputEnnoblementFilter(ctx context.Context,
var err error
ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("oldOwnerTribeIDNEQ"))
it.OldOwnerTribeIdNEQ, err = ec.unmarshalOInt2ᚕintᚄ(ctx, v)
it.OldOwnerTribeIDNEQ, err = ec.unmarshalOInt2ᚕintᚄ(ctx, v)
if err != nil {
return it, err
}
case "oldOwnerTribeFilter":
var err error
ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("oldOwnerTribeFilter"))
it.OldOwnerTribeFilter, err = ec.unmarshalOTribeFilter2ᚖgithubᚗcomᚋtribalwarshelpᚋsharedᚋmodelsᚐTribeFilter(ctx, v)
if err != nil {
return it, err
}
@ -20237,30 +20109,6 @@ func (ec *executionContext) unmarshalInputEnnoblementFilter(ctx context.Context,
if err != nil {
return it, err
}
case "offset":
var err error
ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("offset"))
it.Offset, err = ec.unmarshalOInt2int(ctx, v)
if err != nil {
return it, err
}
case "limit":
var err error
ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("limit"))
it.Limit, err = ec.unmarshalOInt2int(ctx, v)
if err != nil {
return it, err
}
case "sort":
var err error
ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("sort"))
it.Sort, err = ec.unmarshalOString2string(ctx, v)
if err != nil {
return it, err
}
}
}
@ -20329,7 +20177,7 @@ func (ec *executionContext) unmarshalInputPlayerFilter(ctx context.Context, obj
var err error
ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("idNEQ"))
it.IdNEQ, err = ec.unmarshalOInt2ᚕintᚄ(ctx, v)
it.IDNEQ, err = ec.unmarshalOInt2ᚕintᚄ(ctx, v)
if err != nil {
return it, err
}
@ -20945,7 +20793,7 @@ func (ec *executionContext) unmarshalInputPlayerFilter(ctx context.Context, obj
var err error
ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("tribeIDNEQ"))
it.TribeIdNEQ, err = ec.unmarshalOInt2ᚕintᚄ(ctx, v)
it.TribeIDNEQ, err = ec.unmarshalOInt2ᚕintᚄ(ctx, v)
if err != nil {
return it, err
}
@ -20957,30 +20805,6 @@ func (ec *executionContext) unmarshalInputPlayerFilter(ctx context.Context, obj
if err != nil {
return it, err
}
case "offset":
var err error
ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("offset"))
it.Offset, err = ec.unmarshalOInt2int(ctx, v)
if err != nil {
return it, err
}
case "limit":
var err error
ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("limit"))
it.Limit, err = ec.unmarshalOInt2int(ctx, v)
if err != nil {
return it, err
}
case "sort":
var err error
ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("sort"))
it.Sort, err = ec.unmarshalOString2string(ctx, v)
if err != nil {
return it, err
}
}
}
@ -21005,7 +20829,15 @@ func (ec *executionContext) unmarshalInputPlayerHistoryFilter(ctx context.Contex
var err error
ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("playerIDNEQ"))
it.PlayerIdNEQ, err = ec.unmarshalOInt2ᚕintᚄ(ctx, v)
it.PlayerIDNEQ, err = ec.unmarshalOInt2ᚕintᚄ(ctx, v)
if err != nil {
return it, err
}
case "playerFilter":
var err error
ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("playerFilter"))
it.PlayerFilter, err = ec.unmarshalOPlayerFilter2ᚖgithubᚗcomᚋtribalwarshelpᚋsharedᚋmodelsᚐPlayerFilter(ctx, v)
if err != nil {
return it, err
}
@ -21049,30 +20881,6 @@ func (ec *executionContext) unmarshalInputPlayerHistoryFilter(ctx context.Contex
if err != nil {
return it, err
}
case "offset":
var err error
ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("offset"))
it.Offset, err = ec.unmarshalOInt2int(ctx, v)
if err != nil {
return it, err
}
case "limit":
var err error
ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("limit"))
it.Limit, err = ec.unmarshalOInt2int(ctx, v)
if err != nil {
return it, err
}
case "sort":
var err error
ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("sort"))
it.Sort, err = ec.unmarshalOString2string(ctx, v)
if err != nil {
return it, err
}
}
}
@ -21149,30 +20957,6 @@ func (ec *executionContext) unmarshalInputServerFilter(ctx context.Context, obj
if err != nil {
return it, err
}
case "offset":
var err error
ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("offset"))
it.Offset, err = ec.unmarshalOInt2int(ctx, v)
if err != nil {
return it, err
}
case "limit":
var err error
ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("limit"))
it.Limit, err = ec.unmarshalOInt2int(ctx, v)
if err != nil {
return it, err
}
case "sort":
var err error
ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("sort"))
it.Sort, err = ec.unmarshalOString2string(ctx, v)
if err != nil {
return it, err
}
}
}
@ -21225,30 +21009,6 @@ func (ec *executionContext) unmarshalInputServerStatsFilter(ctx context.Context,
if err != nil {
return it, err
}
case "offset":
var err error
ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("offset"))
it.Offset, err = ec.unmarshalOInt2int(ctx, v)
if err != nil {
return it, err
}
case "limit":
var err error
ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("limit"))
it.Limit, err = ec.unmarshalOInt2int(ctx, v)
if err != nil {
return it, err
}
case "sort":
var err error
ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("sort"))
it.Sort, err = ec.unmarshalOString2string(ctx, v)
if err != nil {
return it, err
}
}
}
@ -21273,7 +21033,15 @@ func (ec *executionContext) unmarshalInputTribeChangeFilter(ctx context.Context,
var err error
ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("playerIDNEQ"))
it.PlayerIdNEQ, err = ec.unmarshalOInt2ᚕintᚄ(ctx, v)
it.PlayerIDNEQ, err = ec.unmarshalOInt2ᚕintᚄ(ctx, v)
if err != nil {
return it, err
}
case "playerFilter":
var err error
ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("playerFilter"))
it.PlayerFilter, err = ec.unmarshalOPlayerFilter2ᚖgithubᚗcomᚋtribalwarshelpᚋsharedᚋmodelsᚐPlayerFilter(ctx, v)
if err != nil {
return it, err
}
@ -21289,7 +21057,15 @@ func (ec *executionContext) unmarshalInputTribeChangeFilter(ctx context.Context,
var err error
ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("oldTribeIDNEQ"))
it.OldTribeIdNEQ, err = ec.unmarshalOInt2ᚕintᚄ(ctx, v)
it.OldTribeIDNEQ, err = ec.unmarshalOInt2ᚕintᚄ(ctx, v)
if err != nil {
return it, err
}
case "oldTribeFilter":
var err error
ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("oldTribeFilter"))
it.OldTribeFilter, err = ec.unmarshalOTribeFilter2ᚖgithubᚗcomᚋtribalwarshelpᚋsharedᚋmodelsᚐTribeFilter(ctx, v)
if err != nil {
return it, err
}
@ -21305,7 +21081,15 @@ func (ec *executionContext) unmarshalInputTribeChangeFilter(ctx context.Context,
var err error
ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("newTribeIDNEQ"))
it.NewTribeIdNEQ, err = ec.unmarshalOInt2ᚕintᚄ(ctx, v)
it.NewTribeIDNEQ, err = ec.unmarshalOInt2ᚕintᚄ(ctx, v)
if err != nil {
return it, err
}
case "newTribeFilter":
var err error
ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("newTribeFilter"))
it.NewTribeFilter, err = ec.unmarshalOTribeFilter2ᚖgithubᚗcomᚋtribalwarshelpᚋsharedᚋmodelsᚐTribeFilter(ctx, v)
if err != nil {
return it, err
}
@ -21357,30 +21141,6 @@ func (ec *executionContext) unmarshalInputTribeChangeFilter(ctx context.Context,
if err != nil {
return it, err
}
case "offset":
var err error
ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("offset"))
it.Offset, err = ec.unmarshalOInt2int(ctx, v)
if err != nil {
return it, err
}
case "limit":
var err error
ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("limit"))
it.Limit, err = ec.unmarshalOInt2int(ctx, v)
if err != nil {
return it, err
}
case "sort":
var err error
ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("sort"))
it.Sort, err = ec.unmarshalOString2string(ctx, v)
if err != nil {
return it, err
}
}
}
@ -21433,7 +21193,7 @@ func (ec *executionContext) unmarshalInputTribeFilter(ctx context.Context, obj i
var err error
ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("idNEQ"))
it.IdNEQ, err = ec.unmarshalOInt2ᚕintᚄ(ctx, v)
it.IDNEQ, err = ec.unmarshalOInt2ᚕintᚄ(ctx, v)
if err != nil {
return it, err
}
@ -22069,27 +21829,47 @@ func (ec *executionContext) unmarshalInputTribeFilter(ctx context.Context, obj i
if err != nil {
return it, err
}
case "offset":
case "or":
var err error
ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("offset"))
it.Offset, err = ec.unmarshalOInt2int(ctx, v)
ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("or"))
it.Or, err = ec.unmarshalOTribeFilterOr2ᚖgithubᚗcomᚋtribalwarshelpᚋsharedᚋmodelsᚐTribeFilterOr(ctx, v)
if err != nil {
return it, err
}
case "limit":
}
}
return it, nil
}
func (ec *executionContext) unmarshalInputTribeFilterOr(ctx context.Context, obj interface{}) (models.TribeFilterOr, error) {
var it models.TribeFilterOr
var asMap = obj.(map[string]interface{})
for k, v := range asMap {
switch k {
case "id":
var err error
ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("limit"))
it.Limit, err = ec.unmarshalOInt2int(ctx, v)
ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("id"))
it.ID, err = ec.unmarshalOInt2int(ctx, v)
if err != nil {
return it, err
}
case "sort":
case "nameIEQ":
var err error
ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("sort"))
it.Sort, err = ec.unmarshalOString2string(ctx, v)
ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("nameIEQ"))
it.NameIEQ, err = ec.unmarshalOString2string(ctx, v)
if err != nil {
return it, err
}
case "tagIEQ":
var err error
ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("tagIEQ"))
it.TagIEQ, err = ec.unmarshalOString2string(ctx, v)
if err != nil {
return it, err
}
@ -22117,7 +21897,15 @@ func (ec *executionContext) unmarshalInputTribeHistoryFilter(ctx context.Context
var err error
ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("tribeIDNEQ"))
it.TribeIdNEQ, err = ec.unmarshalOInt2ᚕintᚄ(ctx, v)
it.TribeIDNEQ, err = ec.unmarshalOInt2ᚕintᚄ(ctx, v)
if err != nil {
return it, err
}
case "tribeFilter":
var err error
ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("tribeFilter"))
it.TribeFilter, err = ec.unmarshalOTribeFilter2ᚖgithubᚗcomᚋtribalwarshelpᚋsharedᚋmodelsᚐTribeFilter(ctx, v)
if err != nil {
return it, err
}
@ -22161,30 +21949,6 @@ func (ec *executionContext) unmarshalInputTribeHistoryFilter(ctx context.Context
if err != nil {
return it, err
}
case "offset":
var err error
ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("offset"))
it.Offset, err = ec.unmarshalOInt2int(ctx, v)
if err != nil {
return it, err
}
case "limit":
var err error
ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("limit"))
it.Limit, err = ec.unmarshalOInt2int(ctx, v)
if err != nil {
return it, err
}
case "sort":
var err error
ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("sort"))
it.Sort, err = ec.unmarshalOString2string(ctx, v)
if err != nil {
return it, err
}
}
}
@ -22245,30 +22009,6 @@ func (ec *executionContext) unmarshalInputVersionFilter(ctx context.Context, obj
if err != nil {
return it, err
}
case "offset":
var err error
ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("offset"))
it.Offset, err = ec.unmarshalOInt2int(ctx, v)
if err != nil {
return it, err
}
case "limit":
var err error
ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("limit"))
it.Limit, err = ec.unmarshalOInt2int(ctx, v)
if err != nil {
return it, err
}
case "sort":
var err error
ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("sort"))
it.Sort, err = ec.unmarshalOString2string(ctx, v)
if err != nil {
return it, err
}
}
}
@ -22293,7 +22033,7 @@ func (ec *executionContext) unmarshalInputVillageFilter(ctx context.Context, obj
var err error
ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("idNEQ"))
it.IdNEQ, err = ec.unmarshalOInt2ᚕintᚄ(ctx, v)
it.IDNEQ, err = ec.unmarshalOInt2ᚕintᚄ(ctx, v)
if err != nil {
return it, err
}
@ -22493,7 +22233,7 @@ func (ec *executionContext) unmarshalInputVillageFilter(ctx context.Context, obj
var err error
ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("playerIDNEQ"))
it.PlayerIdNEQ, err = ec.unmarshalOInt2ᚕintᚄ(ctx, v)
it.PlayerIDNEQ, err = ec.unmarshalOInt2ᚕintᚄ(ctx, v)
if err != nil {
return it, err
}
@ -22505,30 +22245,6 @@ func (ec *executionContext) unmarshalInputVillageFilter(ctx context.Context, obj
if err != nil {
return it, err
}
case "offset":
var err error
ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("offset"))
it.Offset, err = ec.unmarshalOInt2int(ctx, v)
if err != nil {
return it, err
}
case "limit":
var err error
ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("limit"))
it.Limit, err = ec.unmarshalOInt2int(ctx, v)
if err != nil {
return it, err
}
case "sort":
var err error
ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("sort"))
it.Sort, err = ec.unmarshalOString2string(ctx, v)
if err != nil {
return it, err
}
}
}
@ -27651,6 +27367,14 @@ func (ec *executionContext) unmarshalOTribeFilter2ᚖgithubᚗcomᚋtribalwarshe
return &res, graphql.ErrorOnPath(ctx, err)
}
func (ec *executionContext) unmarshalOTribeFilterOr2ᚖgithubᚗcomᚋtribalwarshelpᚋsharedᚋmodelsᚐTribeFilterOr(ctx context.Context, v interface{}) (*models.TribeFilterOr, error) {
if v == nil {
return nil, nil
}
res, err := ec.unmarshalInputTribeFilterOr(ctx, v)
return &res, graphql.ErrorOnPath(ctx, err)
}
func (ec *executionContext) unmarshalOTribeHistoryFilter2ᚖgithubᚗcomᚋtribalwarshelpᚋsharedᚋmodelsᚐTribeHistoryFilter(ctx context.Context, v interface{}) (*models.TribeHistoryFilter, error) {
if v == nil {
return nil, nil

View File

@ -73,6 +73,8 @@ models:
model: github.com/tribalwarshelp/shared/models.Tribe
TribeFilter:
model: github.com/tribalwarshelp/shared/models.TribeFilter
TribeFilterOr:
model: github.com/tribalwarshelp/shared/models.TribeFilterOr
FoundTribe:
model: github.com/tribalwarshelp/shared/models.FoundTribe
Village:

View File

@ -29,10 +29,6 @@ input DailyPlayerStatsFilter {
createDateGTE: Time
createDateLT: Time
createDateLTE: Time
offset: Int @deprecated(reason: "Use a new variable added to the query dailyPlayerStats - `offset`.")
limit: Int @deprecated(reason: "Use a new variable added to the query dailyPlayerStats - `limit`.")
sort: String @deprecated(reason: "Use a new variable added to the query dailyPlayerStats - `sort`.")
}
extend type Query {

View File

@ -30,10 +30,6 @@ input DailyTribeStatsFilter {
createDateGTE: Time
createDateLT: Time
createDateLTE: Time
offset: Int @deprecated(reason: "Use a new variable added to the query dailyTribeStats - `offset`.")
limit: Int @deprecated(reason: "Use a new variable added to the query dailyTribeStats - `limit`.")
sort: String @deprecated(reason: "Use a new variable added to the query dailyTribeStats - `sort`.")
}
extend type Query {

View File

@ -22,16 +22,21 @@ input EnnoblementFilterOr {
input EnnoblementFilter {
villageID: [Int!]
villageIDNEQ: [Int!]
villageFilter: VillageFilter
newOwnerID: [Int!]
newOwnerIDNEQ: [Int!]
newOwnerFilter: PlayerFilter
newOwnerTribeID: [Int!]
newOwnerTribeIDNEQ: [Int!]
newOwnerTribeFilter: TribeFilter
oldOwnerID: [Int!]
oldOwnerIDNEQ: [Int!]
oldOwnerFilter: PlayerFilter
oldOwnerTribeID: [Int!]
oldOwnerTribeIDNEQ: [Int!]
oldOwnerTribeFilter: TribeFilter
ennobledAt: Time
ennobledAtGT: Time
@ -40,19 +45,6 @@ input EnnoblementFilter {
ennobledAtLTE: Time
or: EnnoblementFilterOr
offset: Int
@deprecated(
reason: "Use a new variable added to the query ennoblements - `offset`."
)
limit: Int
@deprecated(
reason: "Use a new variable added to the query ennoblements - `limit`."
)
sort: String
@deprecated(
reason: "Use a new variable added to the query ennoblements - `sort`."
)
}
extend type Query {

View File

@ -136,19 +136,6 @@ input PlayerFilter {
tribeID: [Int!]
tribeIDNEQ: [Int!]
tribeFilter: TribeFilter
offset: Int
@deprecated(
reason: "Use a new variable added to the query players - `offset`."
)
limit: Int
@deprecated(
reason: "Use a new variable added to the query players - `limit`."
)
sort: String
@deprecated(
reason: "Use a new variable added to the query players - `sort`."
)
}
type FoundPlayer {

View File

@ -23,25 +23,13 @@ type PlayerHistory {
input PlayerHistoryFilter {
playerID: [Int!]
playerIDNEQ: [Int!]
playerFilter: PlayerFilter
createDate: Time
createDateGT: Time
createDateGTE: Time
createDateLT: Time
createDateLTE: Time
offset: Int
@deprecated(
reason: "Use a new variable added to the query playerHistory - `offset`."
)
limit: Int
@deprecated(
reason: "Use a new variable added to the query playerHistory - `limit`."
)
sort: String
@deprecated(
reason: "Use a new variable added to the query playerHistory - `sort`."
)
}
extend type Query {

View File

@ -37,19 +37,6 @@ input ServerFilter {
versionCode: [VersionCode!]
versionCodeNEQ: [VersionCode!]
offset: Int
@deprecated(
reason: "Use a new variable added to the query players - `offset`."
)
limit: Int
@deprecated(
reason: "Use a new variable added to the query players - `limit`."
)
sort: String
@deprecated(
reason: "Use a new variable added to the query players - `sort`."
)
}
extend type Query {

View File

@ -23,19 +23,6 @@ input ServerStatsFilter {
createDateGTE: Time
createDateLT: Time
createDateLTE: Time
offset: Int
@deprecated(
reason: "Use a new variable added to the query serverStats - `offset`."
)
limit: Int
@deprecated(
reason: "Use a new variable added to the query serverStats - `limit`."
)
sort: String
@deprecated(
reason: "Use a new variable added to the query serverStats - `sort`."
)
}
extend type Query {

View File

@ -30,6 +30,12 @@ type TribeList {
total: Int!
}
input TribeFilterOr {
id: [Int!]
nameIEQ: String
tagIEQ: String
}
input TribeFilter {
id: [Int!]
idNEQ: [Int!]
@ -130,18 +136,7 @@ input TribeFilter {
deletedAtLT: Time
deletedAtLTE: Time
offset: Int
@deprecated(
reason: "Use a new variable added to the query tribes - `offset`."
)
limit: Int
@deprecated(
reason: "Use a new variable added to the query tribes - `limit`."
)
sort: String
@deprecated(
reason: "Use a new variable added to the query tribes - `sort`."
)
or: TribeFilterOr
}
type FoundTribe {

View File

@ -18,12 +18,15 @@ input TribeChangeFilterOr {
input TribeChangeFilter {
playerID: [Int!]
playerIDNEQ: [Int!]
playerFilter: PlayerFilter
oldTribeID: [Int!]
oldTribeIDNEQ: [Int!]
oldTribeFilter: TribeFilter
newTribeID: [Int!]
newTribeIDNEQ: [Int!]
newTribeFilter: TribeFilter
createdAt: Time
createdAtGT: Time
@ -32,19 +35,6 @@ input TribeChangeFilter {
createdAtLTE: Time
or: TribeChangeFilterOr
offset: Int
@deprecated(
reason: "Use a new variable added to the query tribeChanges - `offset`."
)
limit: Int
@deprecated(
reason: "Use a new variable added to the query tribeChanges - `limit`."
)
sort: String
@deprecated(
reason: "Use a new variable added to the query tribeChanges - `sort`."
)
}
extend type Query {

View File

@ -23,25 +23,13 @@ type TribeHistory {
input TribeHistoryFilter {
tribeID: [Int!]
tribeIDNEQ: [Int!]
tribeFilter: TribeFilter
createDate: Time
createDateGT: Time
createDateGTE: Time
createDateLT: Time
createDateLTE: Time
offset: Int
@deprecated(
reason: "Use a new variable added to the query tribeHistory - `offset`."
)
limit: Int
@deprecated(
reason: "Use a new variable added to the query tribeHistory - `limit`."
)
sort: String
@deprecated(
reason: "Use a new variable added to the query tribeHistory - `sort`."
)
}
extend type Query {

View File

@ -54,19 +54,6 @@ input VersionFilter {
hostNEQ: [String!]
hostMATCH: String
hostIEQ: String
offset: Int
@deprecated(
reason: "Use a new variable added to the query versions - `offset`."
)
limit: Int
@deprecated(
reason: "Use a new variable added to the query versions - `limit`."
)
sort: String
@deprecated(
reason: "Use a new variable added to the query versions - `sort`."
)
}
type VersionList {

View File

@ -47,19 +47,6 @@ input VillageFilter {
playerID: [Int!]
playerIDNEQ: [Int!]
playerFilter: PlayerFilter
offset: Int
@deprecated(
reason: "Use a new variable added to the query versions - `offset`."
)
limit: Int
@deprecated(
reason: "Use a new variable added to the query versions - `limit`."
)
sort: String
@deprecated(
reason: "Use a new variable added to the query versions - `sort`."
)
}
extend type Query {

View File

@ -10,6 +10,8 @@ import (
"strings"
"time"
"github.com/go-pg/pg/extra/pgdebug"
"github.com/gin-contrib/cors"
servermaphttpdelivery "github.com/tribalwarshelp/api/servermap/delivery/http"
@ -52,7 +54,6 @@ import (
villageucase "github.com/tribalwarshelp/api/village/usecase"
"github.com/go-pg/pg/v10"
"github.com/go-pg/pg/v10/pgext"
"github.com/joho/godotenv"
"github.com/gin-gonic/gin"
@ -80,7 +81,9 @@ func main() {
}
}()
if strings.ToUpper(os.Getenv("LOG_DB_QUERIES")) == "TRUE" {
db.AddQueryHook(pgext.DebugHook{})
db.AddQueryHook(pgdebug.DebugHook{
Verbose: true,
})
}
redisClient := redis.NewClient(&redis.Options{

View File

@ -9,7 +9,6 @@ import (
"github.com/go-pg/pg/v10/orm"
"github.com/pkg/errors"
"github.com/tribalwarshelp/api/player"
"github.com/tribalwarshelp/api/utils"
"github.com/tribalwarshelp/shared/models"
)
@ -29,26 +28,17 @@ func (repo *pgRepository) Fetch(ctx context.Context, cfg player.FetchConfig) ([]
WithParam("SERVER", pg.Safe(cfg.Server)).
Model(&data).
Context(ctx).
Order(cfg.Sort...).
Limit(cfg.Limit).
Offset(cfg.Offset)
tribeRequired := utils.FindStringWithPrefix(cfg.Sort, "tribe.") != ""
relationshipAndSortAppender := &models.PlayerRelationshipAndSortAppender{
Filter: &models.PlayerFilter{},
Sort: cfg.Sort,
}
if cfg.Filter != nil {
query = query.
WhereStruct(cfg.Filter)
if cfg.Filter.Exists != nil {
query = query.Where("exists = ?", *cfg.Filter.Exists)
}
if cfg.Filter.TribeFilter != nil {
tribeRequired = true
query = query.WhereStruct(cfg.Filter.TribeFilter)
}
}
if tribeRequired {
query = query.Relation("Tribe._")
query = query.Apply(cfg.Filter.Where)
relationshipAndSortAppender.Filter = cfg.Filter
}
query = query.Apply(relationshipAndSortAppender.Append)
if cfg.Count {
total, err = query.SelectAndCount()

View File

@ -23,18 +23,6 @@ func (ucase *usecase) Fetch(ctx context.Context, cfg player.FetchConfig) ([]*mod
if cfg.Filter == nil {
cfg.Filter = &models.PlayerFilter{}
}
if cfg.Filter.Limit > 0 {
cfg.Limit = cfg.Filter.Limit
}
if cfg.Filter.Offset > 0 {
cfg.Offset = cfg.Filter.Offset
}
if cfg.Filter.Sort != "" {
cfg.Sort = append(cfg.Sort, cfg.Filter.Sort)
}
if cfg.Filter.TribeFilter != nil && cfg.Filter.TribeFilter.Sort != "" {
cfg.Sort = append(cfg.Sort, "tribe."+cfg.Filter.TribeFilter.Sort)
}
if !middleware.CanExceedLimit(ctx) && (cfg.Limit > player.PaginationLimit || cfg.Limit <= 0) {
cfg.Limit = player.PaginationLimit

View File

@ -8,7 +8,6 @@ import (
"github.com/go-pg/pg/v10"
"github.com/pkg/errors"
"github.com/tribalwarshelp/api/playerhistory"
"github.com/tribalwarshelp/api/utils"
"github.com/tribalwarshelp/shared/models"
)
@ -28,17 +27,17 @@ func (repo *pgRepository) Fetch(ctx context.Context, cfg playerhistory.FetchConf
WithParam("SERVER", pg.Safe(cfg.Server)).
Model(&data).
Context(ctx).
Order(cfg.Sort...).
Limit(cfg.Limit).
Offset(cfg.Offset)
playerRequired := utils.FindStringWithPrefix(cfg.Sort, "player.") != ""
relationshipAndSortAppender := &models.PlayerHistoryRelationshipAndSortAppender{
Filter: &models.PlayerHistoryFilter{},
Sort: cfg.Sort,
}
if cfg.Filter != nil {
query = query.
WhereStruct(cfg.Filter)
}
if playerRequired {
query = query.Relation("Player._")
query = query.Apply(cfg.Filter.Where)
relationshipAndSortAppender.Filter = cfg.Filter
}
query = query.Apply(relationshipAndSortAppender.Append)
if cfg.Count {
total, err = query.SelectAndCount()

View File

@ -21,15 +21,6 @@ func (ucase *usecase) Fetch(ctx context.Context, cfg playerhistory.FetchConfig)
if cfg.Filter == nil {
cfg.Filter = &models.PlayerHistoryFilter{}
}
if cfg.Filter.Limit > 0 {
cfg.Limit = cfg.Filter.Limit
}
if cfg.Filter.Offset > 0 {
cfg.Offset = cfg.Filter.Offset
}
if cfg.Filter.Sort != "" {
cfg.Sort = append(cfg.Sort, cfg.Filter.Sort)
}
if !middleware.CanExceedLimit(ctx) && (cfg.Limit > playerhistory.PaginationLimit || cfg.Limit <= 0) {
cfg.Limit = playerhistory.PaginationLimit

View File

@ -7,7 +7,6 @@ import (
"github.com/go-pg/pg/v10/orm"
"github.com/pkg/errors"
"github.com/tribalwarshelp/api/server"
"github.com/tribalwarshelp/api/utils"
"github.com/tribalwarshelp/shared/models"
)
@ -16,7 +15,7 @@ type pgRepository struct {
}
func NewPGRepository(db *pg.DB) (server.Repository, error) {
if err := db.CreateTable((*models.Server)(nil), &orm.CreateTableOptions{
if err := db.Model(&models.Server{}).CreateTable(&orm.CreateTableOptions{
IfNotExists: true,
}); err != nil {
return nil, errors.Wrap(err, "Cannot create 'servers' table")
@ -34,13 +33,8 @@ func (repo *pgRepository) Fetch(ctx context.Context, cfg server.FetchConfig) ([]
Order(cfg.Sort...).
Limit(cfg.Limit).
Offset(cfg.Offset)
versionRequired := utils.FindStringWithPrefix(cfg.Sort, "version.") != ""
if cfg.Filter != nil {
query = query.
WhereStruct(cfg.Filter)
}
if versionRequired {
query = query.Relation("Version._")
query = query.Apply(cfg.Filter.Where)
}
if len(cfg.Columns) > 0 {
query = query.Column(cfg.Columns...)

View File

@ -22,16 +22,6 @@ func (ucase *usecase) Fetch(ctx context.Context, cfg server.FetchConfig) ([]*mod
if cfg.Filter == nil {
cfg.Filter = &models.ServerFilter{}
}
if cfg.Filter.Limit > 0 {
cfg.Limit = cfg.Filter.Limit
}
if cfg.Filter.Offset > 0 {
cfg.Offset = cfg.Filter.Offset
}
if cfg.Filter.Sort != "" {
cfg.Sort = append(cfg.Sort, cfg.Filter.Sort)
}
if !middleware.CanExceedLimit(ctx) && (cfg.Limit > server.PaginationLimit || cfg.Limit <= 0) {
cfg.Limit = server.PaginationLimit
}

View File

@ -78,8 +78,8 @@ func (ucase *usecase) GetMarkers(ctx context.Context, cfg servermap.GetMarkersCo
Server: cfg.Server,
Filter: &models.VillageFilter{
PlayerFilter: &models.PlayerFilter{
IdNEQ: append(playerIDs, 0),
TribeIdNEQ: tribeIDs,
IDNEQ: append(playerIDs, 0),
TribeIDNEQ: tribeIDs,
},
},
Columns: []string{"x", "y"},
@ -134,7 +134,7 @@ func (ucase *usecase) GetMarkers(ctx context.Context, cfg servermap.GetMarkersCo
Server: cfg.Server,
Filter: &models.VillageFilter{
PlayerFilter: &models.PlayerFilter{
IdNEQ: playerIDs,
IDNEQ: playerIDs,
TribeID: ids,
},
},

View File

@ -30,10 +30,8 @@ func (repo *pgRepository) Fetch(ctx context.Context, cfg serverstats.FetchConfig
Order(cfg.Sort...).
Limit(cfg.Limit).
Offset(cfg.Offset)
if cfg.Filter != nil {
query = query.
WhereStruct(cfg.Filter)
query = query.Apply(cfg.Filter.Where)
}
if cfg.Count {

View File

@ -21,15 +21,7 @@ func (ucase *usecase) Fetch(ctx context.Context, cfg serverstats.FetchConfig) ([
if cfg.Filter == nil {
cfg.Filter = &models.ServerStatsFilter{}
}
if cfg.Filter.Limit > 0 {
cfg.Limit = cfg.Filter.Limit
}
if cfg.Filter.Offset > 0 {
cfg.Offset = cfg.Filter.Offset
}
if cfg.Filter.Sort != "" {
cfg.Sort = append(cfg.Sort, cfg.Filter.Sort)
}
if !middleware.CanExceedLimit(ctx) && (cfg.Limit > serverstats.PaginationLimit || cfg.Limit <= 0) {
cfg.Limit = serverstats.PaginationLimit
}

View File

@ -32,12 +32,7 @@ func (repo *pgRepository) Fetch(ctx context.Context, cfg tribe.FetchConfig) ([]*
Limit(cfg.Limit).
Offset(cfg.Offset)
if cfg.Filter != nil {
query = query.
WhereStruct(cfg.Filter)
if cfg.Filter.Exists != nil {
query = query.Where("exists = ?", *cfg.Filter.Exists)
}
query = query.Apply(cfg.Filter.Where)
}
if cfg.Count {

View File

@ -23,15 +23,7 @@ func (ucase *usecase) Fetch(ctx context.Context, cfg tribe.FetchConfig) ([]*mode
if cfg.Filter == nil {
cfg.Filter = &models.TribeFilter{}
}
if cfg.Filter.Limit > 0 {
cfg.Limit = cfg.Filter.Limit
}
if cfg.Filter.Offset > 0 {
cfg.Offset = cfg.Filter.Offset
}
if cfg.Filter.Sort != "" {
cfg.Sort = append(cfg.Sort, cfg.Filter.Sort)
}
if !middleware.CanExceedLimit(ctx) && (cfg.Limit > tribe.PaginationLimit || cfg.Limit <= 0) {
cfg.Limit = tribe.PaginationLimit
}

View File

@ -8,7 +8,6 @@ import (
"github.com/go-pg/pg/v10"
"github.com/pkg/errors"
"github.com/tribalwarshelp/api/tribechange"
"github.com/tribalwarshelp/api/utils"
"github.com/tribalwarshelp/shared/models"
)
@ -28,29 +27,17 @@ func (repo *pgRepository) Fetch(ctx context.Context, cfg tribechange.FetchConfig
WithParam("SERVER", pg.Safe(cfg.Server)).
Model(&data).
Context(ctx).
Order(cfg.Sort...).
Limit(cfg.Limit).
Offset(cfg.Offset)
playerRequired := utils.FindStringWithPrefix(cfg.Sort, "player.") != ""
oldTribeRequired := utils.FindStringWithPrefix(cfg.Sort, "old_tribe.") != ""
newTribeRequired := utils.FindStringWithPrefix(cfg.Sort, "new_tribe.") != ""
relationshipAndSortAppender := &models.TribeChangeRelationshipAndSortAppender{
Filter: &models.TribeChangeFilter{},
Sort: cfg.Sort,
}
if cfg.Filter != nil {
query = query.
WhereStruct(cfg.Filter)
if cfg.Filter.Or != nil {
query = query.WhereGroup(appendTribeChangeFilterOr(cfg.Filter.Or))
}
}
if playerRequired {
query = query.Relation("Village._")
}
if oldTribeRequired {
query = query.Join("LEFT JOIN ?SERVER.tribes AS old_tribe ON old_tribe.id = ennoblement.old_tribe_id")
}
if newTribeRequired {
query = query.Join("LEFT JOIN ?SERVER.tribes AS new_tribe ON new_tribe.id = ennoblement.new_tribe_id")
query = query.Apply(cfg.Filter.Where)
relationshipAndSortAppender.Filter = cfg.Filter
}
query = query.Apply(relationshipAndSortAppender.Append)
if cfg.Count {
total, err = query.SelectAndCount()

View File

@ -21,15 +21,7 @@ func (ucase *usecase) Fetch(ctx context.Context, cfg tribechange.FetchConfig) ([
if cfg.Filter == nil {
cfg.Filter = &models.TribeChangeFilter{}
}
if cfg.Filter.Limit > 0 {
cfg.Limit = cfg.Filter.Limit
}
if cfg.Filter.Offset > 0 {
cfg.Offset = cfg.Filter.Offset
}
if cfg.Filter.Sort != "" {
cfg.Sort = append(cfg.Sort, cfg.Filter.Sort)
}
if !middleware.CanExceedLimit(ctx) && (cfg.Limit > tribechange.PaginationLimit || cfg.Limit <= 0) {
cfg.Limit = tribechange.PaginationLimit
}

View File

@ -8,7 +8,6 @@ import (
"github.com/go-pg/pg/v10"
"github.com/pkg/errors"
"github.com/tribalwarshelp/api/tribehistory"
"github.com/tribalwarshelp/api/utils"
"github.com/tribalwarshelp/shared/models"
)
@ -28,17 +27,17 @@ func (repo *pgRepository) Fetch(ctx context.Context, cfg tribehistory.FetchConfi
WithParam("SERVER", pg.Safe(cfg.Server)).
Model(&data).
Context(ctx).
Order(cfg.Sort...).
Limit(cfg.Limit).
Offset(cfg.Offset)
tribeRequired := utils.FindStringWithPrefix(cfg.Sort, "tribe.") != ""
relationshipAndSortAppender := &models.TribeHistoryRelationshipAndSortAppender{
Filter: &models.TribeHistoryFilter{},
Sort: cfg.Sort,
}
if cfg.Filter != nil {
query = query.
WhereStruct(cfg.Filter)
}
if tribeRequired {
query = query.Relation("Tribe._")
query = query.Apply(cfg.Filter.Where)
relationshipAndSortAppender.Filter = cfg.Filter
}
query = query.Apply(relationshipAndSortAppender.Append)
if cfg.Count {
total, err = query.SelectAndCount()

View File

@ -21,15 +21,7 @@ func (ucase *usecase) Fetch(ctx context.Context, cfg tribehistory.FetchConfig) (
if cfg.Filter == nil {
cfg.Filter = &models.TribeHistoryFilter{}
}
if cfg.Filter.Limit > 0 {
cfg.Limit = cfg.Filter.Limit
}
if cfg.Filter.Offset > 0 {
cfg.Offset = cfg.Filter.Offset
}
if cfg.Filter.Sort != "" {
cfg.Sort = append(cfg.Sort, cfg.Filter.Sort)
}
if !middleware.CanExceedLimit(ctx) && (cfg.Limit > tribehistory.PaginationLimit || cfg.Limit <= 0) {
cfg.Limit = tribehistory.PaginationLimit
}

View File

@ -15,7 +15,7 @@ type pgRepository struct {
}
func NewPGRepository(db *pg.DB) (version.Repository, error) {
if err := db.CreateTable((*models.Version)(nil), &orm.CreateTableOptions{
if err := db.Model(&models.Version{}).CreateTable(&orm.CreateTableOptions{
IfNotExists: true,
}); err != nil {
return nil, errors.Wrap(err, "Cannot create 'versions' table")
@ -34,8 +34,7 @@ func (repo *pgRepository) Fetch(ctx context.Context, cfg version.FetchConfig) ([
Limit(cfg.Limit).
Offset(cfg.Offset)
if cfg.Filter != nil {
query = query.
WhereStruct(cfg.Filter)
query = query.Apply(cfg.Filter.Where)
}
if cfg.Count {

View File

@ -25,15 +25,7 @@ func (ucase *usecase) Fetch(ctx context.Context, cfg version.FetchConfig) ([]*mo
if cfg.Filter == nil {
cfg.Filter = &models.VersionFilter{}
}
if cfg.Filter.Limit > 0 {
cfg.Limit = cfg.Filter.Limit
}
if cfg.Filter.Offset > 0 {
cfg.Offset = cfg.Filter.Offset
}
if cfg.Filter.Sort != "" {
cfg.Sort = append(cfg.Sort, cfg.Filter.Sort)
}
if !middleware.CanExceedLimit(ctx) && (cfg.Limit > version.PaginationLimit || cfg.Limit <= 0) {
cfg.Limit = version.PaginationLimit
}
@ -44,9 +36,9 @@ func (ucase *usecase) Fetch(ctx context.Context, cfg version.FetchConfig) ([]*mo
func (ucase *usecase) GetByCode(ctx context.Context, code models.VersionCode) (*models.Version, error) {
versions, _, err := ucase.repo.Fetch(ctx, version.FetchConfig{
Filter: &models.VersionFilter{
Code: []models.VersionCode{code},
Limit: 1,
Code: []models.VersionCode{code},
},
Limit: 1,
})
if err != nil {
return nil, err

View File

@ -3,13 +3,10 @@ package repository
import (
"context"
"fmt"
"strconv"
"strings"
"github.com/go-pg/pg/v10"
"github.com/go-pg/pg/v10/orm"
"github.com/pkg/errors"
"github.com/tribalwarshelp/api/utils"
"github.com/tribalwarshelp/api/village"
"github.com/tribalwarshelp/shared/models"
)
@ -29,82 +26,20 @@ func (repo *pgRepository) Fetch(ctx context.Context, cfg village.FetchConfig) ([
WithParam("SERVER", pg.Safe(cfg.Server)).
Model(&data).
Context(ctx).
Order(cfg.Sort...).
Limit(cfg.Limit).
Offset(cfg.Offset)
playerRequired := utils.FindStringWithPrefix(cfg.Sort, "player.") != ""
tribeRequired := utils.FindStringWithPrefix(cfg.Sort, "tribe.") != ""
if cfg.Filter != nil {
query = query.
WhereStruct(cfg.Filter)
if cfg.Filter.XGTE != 0 {
query = query.Where("x >= ?", cfg.Filter.XGTE)
} else if cfg.Filter.XGT != 0 {
query = query.Where("x > ?", cfg.Filter.XGT)
}
if cfg.Filter.XLTE != 0 {
query = query.Where("x <= ?", cfg.Filter.XLTE)
} else if cfg.Filter.XLT != 0 {
query = query.Where("x < ?", cfg.Filter.XLT)
}
if cfg.Filter.YGTE != 0 {
query = query.Where("y >= ?", cfg.Filter.YGTE)
} else if cfg.Filter.YGT != 0 {
query = query.Where("y > ?", cfg.Filter.YGT)
}
if cfg.Filter.YLTE != 0 {
query = query.Where("y <= ?", cfg.Filter.YLTE)
} else if cfg.Filter.YLT != 0 {
query = query.Where("y < ?", cfg.Filter.YLT)
}
if len(cfg.Filter.XY) > 0 {
query = query.WhereGroup(func(q *orm.Query) (*orm.Query, error) {
for _, xy := range cfg.Filter.XY {
splitted := strings.Split(xy, "|")
if len(splitted) != 2 {
continue
}
x, err := strconv.Atoi(splitted[0])
if err != nil {
continue
}
y, err := strconv.Atoi(splitted[1])
if err != nil {
continue
}
q = q.WhereOrGroup(func(q *orm.Query) (*orm.Query, error) {
q = q.Where("x = ?", x)
q = q.Where("y = ?", y)
return q, nil
})
}
return q, nil
})
}
if cfg.Filter.PlayerFilter != nil {
playerRequired = true
query = query.WhereStruct(cfg.Filter.PlayerFilter)
if cfg.Filter.PlayerFilter.TribeFilter != nil {
tribeRequired = true
query = query.
WhereStruct(cfg.Filter.PlayerFilter.TribeFilter)
}
}
}
if playerRequired {
query = query.Relation("Player._")
}
if tribeRequired {
query = query.Join("LEFT JOIN ?SERVER.tribes AS tribe ON tribe.id = player.tribe_id")
}
if len(cfg.Columns) > 0 {
query = query.Column(cfg.Columns...)
}
relationshipAndSortAppender := &models.VillageRelationshipAndSortAppender{
Filter: &models.VillageFilter{},
Sort: cfg.Sort,
}
if cfg.Filter != nil {
query = query.Apply(cfg.Filter.Where)
relationshipAndSortAppender.Filter = cfg.Filter
}
query = query.Apply(relationshipAndSortAppender.Append)
total := 0
if cfg.Count {

View File

@ -23,24 +23,6 @@ func (ucase *usecase) Fetch(ctx context.Context, cfg village.FetchConfig) ([]*mo
cfg.Filter = &models.VillageFilter{}
}
if cfg.Filter.Limit > 0 {
cfg.Limit = cfg.Filter.Limit
}
if cfg.Filter.Offset > 0 {
cfg.Offset = cfg.Filter.Offset
}
if cfg.Filter.Sort != "" {
cfg.Sort = append(cfg.Sort, cfg.Filter.Sort)
}
if cfg.Filter.PlayerFilter != nil {
if cfg.Filter.PlayerFilter.Sort != "" {
cfg.Sort = append(cfg.Sort, "player."+cfg.Filter.PlayerFilter.Sort)
}
if cfg.Filter.PlayerFilter.TribeFilter != nil && cfg.Filter.PlayerFilter.TribeFilter.Sort != "" {
cfg.Sort = append(cfg.Sort, "tribe."+cfg.Filter.PlayerFilter.TribeFilter.Sort)
}
}
if !middleware.CanExceedLimit(ctx) && (cfg.Limit > village.PaginationLimit || cfg.Limit <= 0) {
cfg.Limit = village.PaginationLimit
}
@ -51,9 +33,9 @@ func (ucase *usecase) Fetch(ctx context.Context, cfg village.FetchConfig) ([]*mo
func (ucase *usecase) GetByID(ctx context.Context, server string, id int) (*models.Village, error) {
villages, _, err := ucase.repo.Fetch(ctx, village.FetchConfig{
Filter: &models.VillageFilter{
ID: []int{id},
Limit: 1,
ID: []int{id},
},
Limit: 1,
Server: server,
})
if err != nil {