github.com/99designs/gqlgen@v0.17.45/plugin/federation/testdata/entityresolver/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 size: Int! @requires(fields: "world{ foo }") 45 } 46 47 type MultiPlanetRequiresNested @key(fields: "name") @entityResolver(multi: true) { 48 name: String! @external 49 world: World! @external 50 size: Int! @requires(fields: "world{ foo }") 51 } 52 53 type MultiHello @key(fields: "name") @entityResolver(multi: true) { 54 name: String! 55 } 56 57 type MultiHelloWithError @key(fields: "name") @entityResolver(multi: true) { 58 name: String! 59 } 60 61 type HelloMultiSingleKeys @key(fields: "key1 key2") { 62 key1: String! 63 key2: String! 64 } 65 66 type MultiHelloRequires @key(fields: "name") @entityResolver(multi: true) { 67 name: String! @external 68 key1: String! @external 69 key2: String! @requires(fields: "key1") 70 } 71 72 type MultiHelloMultipleRequires @key(fields: "name") @entityResolver(multi: true) { 73 name: String! @external 74 key1: String! @external 75 key2: String! @external 76 key3: String! @requires(fields: "key1 key2") 77 }