1directive @extends on OBJECT 2directive @key(fields: String!) on OBJECT | INTERFACE 3directive @permission(permission: String!) on FIELD_DEFINITION 4type Dog { 5 name: String! 6 owner: Person! @permission(permission: "admin") 7} 8type Person @key(fields: "name") { 9 name: String! 10} 11type Query @extends { 12 dogs: [Dog!]! 13} 14type Subscription { 15 dogEvents: [Dog!]! 16}