github.com/99designs/gqlgen@v0.17.45/plugin/federation/testdata/explicitrequires/schema.graphql (about) 1 directive @entityResolver(multi: Boolean) on OBJECT 2 3 type Hello @key(fields: "name") { 4 name: String! 5 secondary: String! 6 } 7 8 type World @key(fields: "hello { name } foo ") { 9 foo: String! 10 bar: Int! 11 hello: Hello 12 } 13 14 type WorldWithMultipleKeys @key(fields: "hello { name } foo ") @key(fields: "bar") { 15 foo: String! 16 bar: Int! 17 hello: Hello 18 } 19 20 type WorldName @key(fields: "name") { 21 name: String! 22 } 23 24 type HelloWithErrors @key(fields: "name") { 25 name: String! 26 } 27 28 type PlanetRequires @key(fields: "name") { 29 name: String! 30 size: Int! @requires(fields: "diameter") 31 diameter: Int! 32 } 33 34 type PlanetMultipleRequires @key(fields: "name") { 35 name: String! @external 36 diameter: Int! @external 37 density: Int! @external 38 weight: Int! @requires(fields: "diameter density") 39 } 40 41 type PlanetRequiresNested @key(fields: "name") { 42 name: String! @external 43 world: World! @external 44 worlds: [World!] @external 45 size: Int! @requires(fields: "world{ foo }") 46 sizes: [Int!] @requires(fields: "worlds{ foo }") 47 } 48 49 type MultiPlanetRequiresNested @key(fields: "name") @entityResolver(multi: true) { 50 name: String! @external 51 world: World! @external 52 size: Int! @requires(fields: "world{ foo }") 53 } 54 55 type MultiHello @key(fields: "name") @entityResolver(multi: true) { 56 name: String! 57 } 58 59 type MultiHelloWithError @key(fields: "name") @entityResolver(multi: true) { 60 name: String! 61 } 62 63 type HelloMultiSingleKeys @key(fields: "key1 key2") { 64 key1: String! 65 key2: String! 66 } 67 68 type MultiHelloRequires @key(fields: "name") @entityResolver(multi: true) { 69 name: String! @external 70 key1: String! @external 71 key2: String! @requires(fields: "key1") 72 } 73 74 type MultiHelloMultipleRequires @key(fields: "name") @entityResolver(multi: true) { 75 name: String! @external 76 key1: String! @external 77 key2: String! @external 78 key3: String! @requires(fields: "key1 key2") 79 }