add PlayerFilter to VillageFilter and TribeFilter to PlayerFilter
This commit is contained in:
parent
6e814adae6
commit
373288e925
|
@ -2333,6 +2333,7 @@ input PlayerFilter {
|
|||
scoreTotalLTE: Int
|
||||
|
||||
tribeID: [Int!]
|
||||
tribeFilter: TribeFilter
|
||||
|
||||
offset: Int
|
||||
limit: Int
|
||||
|
@ -2730,6 +2731,7 @@ input VillageFilter {
|
|||
bonusLTE: Int
|
||||
|
||||
playerID: [Int!]
|
||||
playerFilter: PlayerFilter
|
||||
|
||||
offset: Int
|
||||
limit: Int
|
||||
|
@ -12488,6 +12490,12 @@ func (ec *executionContext) unmarshalInputPlayerFilter(ctx context.Context, obj
|
|||
if err != nil {
|
||||
return it, err
|
||||
}
|
||||
case "tribeFilter":
|
||||
var err error
|
||||
it.TribeFilter, err = ec.unmarshalOTribeFilter2ᚖgithubᚗcomᚋtribalwarshelpᚋsharedᚋmodelsᚐTribeFilter(ctx, v)
|
||||
if err != nil {
|
||||
return it, err
|
||||
}
|
||||
case "offset":
|
||||
var err error
|
||||
it.Offset, err = ec.unmarshalOInt2int(ctx, v)
|
||||
|
@ -13184,6 +13192,12 @@ func (ec *executionContext) unmarshalInputVillageFilter(ctx context.Context, obj
|
|||
if err != nil {
|
||||
return it, err
|
||||
}
|
||||
case "playerFilter":
|
||||
var err error
|
||||
it.PlayerFilter, err = ec.unmarshalOPlayerFilter2ᚖgithubᚗcomᚋtribalwarshelpᚋsharedᚋmodelsᚐPlayerFilter(ctx, v)
|
||||
if err != nil {
|
||||
return it, err
|
||||
}
|
||||
case "offset":
|
||||
var err error
|
||||
it.Offset, err = ec.unmarshalOInt2int(ctx, v)
|
||||
|
|
|
@ -99,6 +99,7 @@ input PlayerFilter {
|
|||
scoreTotalLTE: Int
|
||||
|
||||
tribeID: [Int!]
|
||||
tribeFilter: TribeFilter
|
||||
|
||||
offset: Int
|
||||
limit: Int
|
||||
|
|
|
@ -44,6 +44,7 @@ input VillageFilter {
|
|||
bonusLTE: Int
|
||||
|
||||
playerID: [Int!]
|
||||
playerFilter: PlayerFilter
|
||||
|
||||
offset: Int
|
||||
limit: Int
|
||||
|
|
|
@ -37,6 +37,10 @@ func (repo *pgRepository) Fetch(ctx context.Context, server string, f *models.Pl
|
|||
if f.Exist != nil {
|
||||
query = query.Where("exist = ?", *f.Exist)
|
||||
}
|
||||
|
||||
if f.TribeFilter != nil {
|
||||
query = query.Relation("Tribe._").WhereStruct(f.TribeFilter)
|
||||
}
|
||||
}
|
||||
|
||||
total, err := query.SelectAndCount()
|
||||
|
|
|
@ -55,6 +55,15 @@ func (repo *pgRepository) Fetch(ctx context.Context, server string, f *models.Vi
|
|||
if f.Sort != "" {
|
||||
query = query.Order(f.Sort)
|
||||
}
|
||||
|
||||
if f.PlayerFilter != nil {
|
||||
query = query.Relation("Player._").WhereStruct(f.PlayerFilter)
|
||||
if f.PlayerFilter.TribeFilter != nil {
|
||||
query = query.
|
||||
Join("LEFT JOIN ?SERVER.tribes AS tribe ON tribe.id = player.tribe_id", server).
|
||||
WhereStruct(f.PlayerFilter.TribeFilter)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
total, err := query.SelectAndCount()
|
||||
|
|
Reference in New Issue