Skip to content

Commit 691e3f3

Browse files
Merge pull request #2375 from CarsonF/bugfix/interface-of-interface-resolver
fix(): Merge in parent interface fields to interfaces
2 parents 43e5420 + 1c7da39 commit 691e3f3

File tree

1 file changed

+16
-1
lines changed

1 file changed

+16
-1
lines changed

packages/graphql/lib/schema-builder/factories/interface-definition.factory.ts

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,22 @@ export class InterfaceDefinitionFactory {
113113

114114
return () => {
115115
let fields: GraphQLFieldConfigMap<any, any> = {};
116-
metadata.properties.forEach((field) => {
116+
117+
let properties = [];
118+
if (metadata.interfaces) {
119+
const implementedInterfaces =
120+
TypeMetadataStorage.getInterfacesMetadata()
121+
.filter((it) =>
122+
getInterfacesArray(metadata.interfaces).includes(it.target),
123+
)
124+
.map((it) => it.properties);
125+
implementedInterfaces.forEach((fields) =>
126+
properties.push(...(fields || [])),
127+
);
128+
}
129+
properties = properties.concat(metadata.properties);
130+
131+
properties.forEach((field) => {
117132
const type = this.outputTypeFactory.create(
118133
field.name,
119134
field.typeFn(),

0 commit comments

Comments
 (0)