Minor Changes
-
Implement new directives to allow getting and setting context. This allows resolvers to reference and access data referenced by entities that exist in the GraphPath that was used to access the field. The following example demonstrates the ability to access the
prop
field within the Child resolver. (#2988)type Query { p: Parent! } type Parent @key(fields: "id") @context(name: "context") { id: ID! child: Child! prop: String! } type Child @key(fields: "id") { id: ID! b: String! field(a: String @fromContext(field: "$context { prop }")): Int! }
Patch Changes
-
Various set context bugfixes (#3017)
-
Fix bug in context-matching logic for interfaces-implementing-interfaces (#3014) (#3015)
A field is considered to match a context if the field's parent type (in the original query) either has
@context
on it, or implements/is a member of a type with@context
on it. We ended up missing the case where interfaces implement interfaces; this PR introduces a fix. -
Updated dependencies [
c4744da360235d8bb8270ea048f0e0fa5d03be1e
,8a936d741a0c05835ff2533714cf330d18209179
]:- @apollo/federation-internals@2.8.0