add or filter to TribeChange | bump github.com/tribalwarshelp/shared
This commit is contained in:
parent
dd9f7bd880
commit
cfd5cbfb69
|
@ -7,7 +7,7 @@ import (
|
|||
"github.com/tribalwarshelp/shared/models"
|
||||
)
|
||||
|
||||
func appendWhereClauseForEnnoblementFilterOr(or *models.EnnoblementFilterOr) func(*orm.Query) (*orm.Query, error) {
|
||||
func appendEnnoblementFilterOr(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 {
|
||||
|
|
|
@ -35,7 +35,7 @@ func (repo *pgRepository) Fetch(ctx context.Context, cfg ennoblement.FetchConfig
|
|||
query = query.Order(cfg.Filter.Sort)
|
||||
}
|
||||
|
||||
query = query.WhereGroup(appendWhereClauseForEnnoblementFilterOr(cfg.Filter.Or))
|
||||
query = query.WhereGroup(appendEnnoblementFilterOr(cfg.Filter.Or))
|
||||
}
|
||||
|
||||
if cfg.Count {
|
||||
|
|
2
go.mod
2
go.mod
|
@ -16,7 +16,7 @@ require (
|
|||
github.com/pkg/errors v0.9.1
|
||||
github.com/segmentio/encoding v0.1.14 // indirect
|
||||
github.com/tribalwarshelp/map-generator v0.0.0-20200623143352-cc037d744be2
|
||||
github.com/tribalwarshelp/shared v0.0.0-20200717091627-87f23d34cff8
|
||||
github.com/tribalwarshelp/shared v0.0.0-20200718090428-c0e8f4b03f39
|
||||
github.com/vektah/gqlparser/v2 v2.0.1
|
||||
golang.org/x/sys v0.0.0-20200625212154-ddb9806d33ae // indirect
|
||||
google.golang.org/protobuf v1.25.0 // indirect
|
||||
|
|
6
go.sum
6
go.sum
|
@ -187,10 +187,8 @@ github.com/tribalwarshelp/map-generator v0.0.0-20200623143352-cc037d744be2 h1:jk
|
|||
github.com/tribalwarshelp/map-generator v0.0.0-20200623143352-cc037d744be2/go.mod h1:h3INS/arc4MelQjePKvXdrqWjHVVm2s4PKSrsMmkZx8=
|
||||
github.com/tribalwarshelp/shared v0.0.0-20200622084436-3a768c8bf574 h1:y2EoH6zRK9Uc0AeswnJRYUUIQYcSLZB5VDFuxPCKxNM=
|
||||
github.com/tribalwarshelp/shared v0.0.0-20200622084436-3a768c8bf574/go.mod h1:tf+2yTHasV6jAF3V2deZ9slNoCyBzC0fMdTjI7clf6Y=
|
||||
github.com/tribalwarshelp/shared v0.0.0-20200716113106-11ff9ddf1bda h1:bMO271vY8rLlypSHzSfANe7rz7dUi/+uNkcv7qUOWxw=
|
||||
github.com/tribalwarshelp/shared v0.0.0-20200716113106-11ff9ddf1bda/go.mod h1:tf+2yTHasV6jAF3V2deZ9slNoCyBzC0fMdTjI7clf6Y=
|
||||
github.com/tribalwarshelp/shared v0.0.0-20200717091627-87f23d34cff8 h1:oHu1004MQm/Y/474uvp1iYAABQjSZsdrb3pxjRSdOb4=
|
||||
github.com/tribalwarshelp/shared v0.0.0-20200717091627-87f23d34cff8/go.mod h1:tf+2yTHasV6jAF3V2deZ9slNoCyBzC0fMdTjI7clf6Y=
|
||||
github.com/tribalwarshelp/shared v0.0.0-20200718090428-c0e8f4b03f39 h1:D+JMUryrPTiXZt09QY3OLLQfX4IOxIGd6/rcJWqRWH0=
|
||||
github.com/tribalwarshelp/shared v0.0.0-20200718090428-c0e8f4b03f39/go.mod h1:tf+2yTHasV6jAF3V2deZ9slNoCyBzC0fMdTjI7clf6Y=
|
||||
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=
|
||||
|
|
|
@ -4064,6 +4064,11 @@ type TribeChanges {
|
|||
items: [TribeChangeRecord!]
|
||||
}
|
||||
|
||||
input TribeChangeFilterOr {
|
||||
oldTribeID: [Int!]
|
||||
newTribeID: [Int!]
|
||||
}
|
||||
|
||||
input TribeChangeFilter {
|
||||
playerID: [Int!]
|
||||
playerIDNEQ: [Int!]
|
||||
|
@ -4080,6 +4085,8 @@ input TribeChangeFilter {
|
|||
createdAtLT: Time
|
||||
createdAtLTE: Time
|
||||
|
||||
or: TribeChangeFilterOr
|
||||
|
||||
offset: Int
|
||||
limit: Int
|
||||
sort: String
|
||||
|
@ -19035,6 +19042,12 @@ func (ec *executionContext) unmarshalInputTribeChangeFilter(ctx context.Context,
|
|||
if err != nil {
|
||||
return it, err
|
||||
}
|
||||
case "or":
|
||||
var err error
|
||||
it.Or, err = ec.unmarshalOTribeChangeFilterOr2ᚖgithubᚗcomᚋtribalwarshelpᚋsharedᚋmodelsᚐTribeChangeFilterOr(ctx, v)
|
||||
if err != nil {
|
||||
return it, err
|
||||
}
|
||||
case "offset":
|
||||
var err error
|
||||
it.Offset, err = ec.unmarshalOInt2int(ctx, v)
|
||||
|
@ -19059,6 +19072,30 @@ func (ec *executionContext) unmarshalInputTribeChangeFilter(ctx context.Context,
|
|||
return it, nil
|
||||
}
|
||||
|
||||
func (ec *executionContext) unmarshalInputTribeChangeFilterOr(ctx context.Context, obj interface{}) (models.TribeChangeFilterOr, error) {
|
||||
var it models.TribeChangeFilterOr
|
||||
var asMap = obj.(map[string]interface{})
|
||||
|
||||
for k, v := range asMap {
|
||||
switch k {
|
||||
case "oldTribeID":
|
||||
var err error
|
||||
it.OldTribeID, err = ec.unmarshalOInt2ᚕintᚄ(ctx, v)
|
||||
if err != nil {
|
||||
return it, err
|
||||
}
|
||||
case "newTribeID":
|
||||
var err error
|
||||
it.NewTribeID, err = ec.unmarshalOInt2ᚕintᚄ(ctx, v)
|
||||
if err != nil {
|
||||
return it, err
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return it, nil
|
||||
}
|
||||
|
||||
func (ec *executionContext) unmarshalInputTribeFilter(ctx context.Context, obj interface{}) (models.TribeFilter, error) {
|
||||
var it models.TribeFilter
|
||||
var asMap = obj.(map[string]interface{})
|
||||
|
@ -24742,6 +24779,18 @@ func (ec *executionContext) unmarshalOTribeChangeFilter2ᚖgithubᚗcomᚋtribal
|
|||
return &res, err
|
||||
}
|
||||
|
||||
func (ec *executionContext) unmarshalOTribeChangeFilterOr2githubᚗcomᚋtribalwarshelpᚋsharedᚋmodelsᚐTribeChangeFilterOr(ctx context.Context, v interface{}) (models.TribeChangeFilterOr, error) {
|
||||
return ec.unmarshalInputTribeChangeFilterOr(ctx, v)
|
||||
}
|
||||
|
||||
func (ec *executionContext) unmarshalOTribeChangeFilterOr2ᚖgithubᚗcomᚋtribalwarshelpᚋsharedᚋmodelsᚐTribeChangeFilterOr(ctx context.Context, v interface{}) (*models.TribeChangeFilterOr, error) {
|
||||
if v == nil {
|
||||
return nil, nil
|
||||
}
|
||||
res, err := ec.unmarshalOTribeChangeFilterOr2githubᚗcomᚋtribalwarshelpᚋsharedᚋmodelsᚐTribeChangeFilterOr(ctx, v)
|
||||
return &res, err
|
||||
}
|
||||
|
||||
func (ec *executionContext) marshalOTribeChangeRecord2ᚕᚖgithubᚗcomᚋtribalwarshelpᚋsharedᚋmodelsᚐTribeChangeᚄ(ctx context.Context, sel ast.SelectionSet, v []*models.TribeChange) graphql.Marshaler {
|
||||
if v == nil {
|
||||
return graphql.Null
|
||||
|
|
|
@ -96,6 +96,8 @@ models:
|
|||
model: github.com/tribalwarshelp/shared/models.TribeChange
|
||||
TribeChangeFilter:
|
||||
model: github.com/tribalwarshelp/shared/models.TribeChangeFilter
|
||||
TribeChangeFilterOr:
|
||||
model: github.com/tribalwarshelp/shared/models.TribeChangeFilterOr
|
||||
DailyPlayerStatsRecord:
|
||||
model: github.com/tribalwarshelp/shared/models.DailyPlayerStats
|
||||
DailyPlayerStatsFilter:
|
||||
|
|
|
@ -10,6 +10,11 @@ type TribeChanges {
|
|||
items: [TribeChangeRecord!]
|
||||
}
|
||||
|
||||
input TribeChangeFilterOr {
|
||||
oldTribeID: [Int!]
|
||||
newTribeID: [Int!]
|
||||
}
|
||||
|
||||
input TribeChangeFilter {
|
||||
playerID: [Int!]
|
||||
playerIDNEQ: [Int!]
|
||||
|
@ -26,6 +31,8 @@ input TribeChangeFilter {
|
|||
createdAtLT: Time
|
||||
createdAtLTE: Time
|
||||
|
||||
or: TribeChangeFilterOr
|
||||
|
||||
offset: Int
|
||||
limit: Int
|
||||
sort: String
|
||||
|
|
|
@ -0,0 +1,22 @@
|
|||
package repository
|
||||
|
||||
import (
|
||||
"github.com/go-pg/pg/v10"
|
||||
"github.com/go-pg/pg/v10/orm"
|
||||
|
||||
"github.com/tribalwarshelp/shared/models"
|
||||
)
|
||||
|
||||
func appendTribeChangeFilterOr(or *models.TribeChangeFilterOr) func(*orm.Query) (*orm.Query, error) {
|
||||
return func(q *orm.Query) (*orm.Query, error) {
|
||||
if or != nil {
|
||||
if len(or.NewTribeID) > 0 {
|
||||
q = q.WhereOr("new_tribe_id IN (?)", pg.In(or.NewTribeID))
|
||||
}
|
||||
if len(or.OldTribeID) > 0 {
|
||||
q = q.WhereOr("old_tribe_id IN (?)", pg.In(or.OldTribeID))
|
||||
}
|
||||
}
|
||||
return q, nil
|
||||
}
|
||||
}
|
|
@ -34,6 +34,10 @@ func (repo *pgRepository) Fetch(ctx context.Context, cfg tribechange.FetchConfig
|
|||
if cfg.Filter.Sort != "" {
|
||||
query = query.Order(cfg.Filter.Sort)
|
||||
}
|
||||
|
||||
if cfg.Filter.Or != nil {
|
||||
query = query.WhereGroup(appendTribeChangeFilterOr(cfg.Filter.Or))
|
||||
}
|
||||
}
|
||||
|
||||
if cfg.Count {
|
||||
|
|
Reference in New Issue