1

Service A:

type A {
  id: ID!
  embeddedMetaData: MetaData
}
type MetaData{
  fieldA: String
}

Service B:

type A  @key(fields: "id") {
  id: ID! @external
  #I want to extend and resolve a new field into MetaData type without overriding
}

How can I extend embedded object without overriding any other fields and leaving the resolution of the other fields in the A service?

1 Answers1

0

You can extend type A in service B, by first making type A extendable:

Service A

type A @key(fields: "id") {
 id: ID!
  embeddedMetaData: MetaData
}
type MetaData{
 fieldA: String
}

Type A is now an entity. You can add new fields on type A that will be resolved by service B following below:

Service B

extend type A  @key(fields: "id") {
  id: ID! @external
  newField: String
}
Mohit
  • 590
  • 5
  • 13