type TribeChangeRecord { id: Int! player: Player @goField(forceResolver: true) oldTribe: Tribe @goField(forceResolver: true) newTribe: Tribe @goField(forceResolver: true) createdAt: Time! } type TribeChanges { total: Int! items: [TribeChangeRecord!] } input TribeChangeFilterOr { oldTribeID: [Int!] newTribeID: [Int!] } input TribeChangeFilter { playerID: [Int!] playerIDNEQ: [Int!] playerFilter: PlayerFilter oldTribeID: [Int!] oldTribeIDNEQ: [Int!] oldTribeFilter: TribeFilter newTribeID: [Int!] newTribeIDNEQ: [Int!] newTribeFilter: TribeFilter createdAt: Time createdAtGT: Time createdAtGTE: Time createdAtLT: Time createdAtLTE: Time or: TribeChangeFilterOr } extend type Query { tribeChanges( server: String! filter: TribeChangeFilter limit: Int offset: Int sort: [String!] ): TribeChanges! }