Skip to content

Commit 94518ee

Browse files
committed
Pass the coderegistry builder to custom directives fix #268
1 parent 99dc9c2 commit 94518ee

File tree

2 files changed

+8
-7
lines changed

2 files changed

+8
-7
lines changed

src/main/kotlin/com/coxautodev/graphql/tools/SchemaParser.kt

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -172,7 +172,7 @@ class SchemaParser internal constructor(scanResult: ScannedSchemaObjects, privat
172172

173173
val objectType = builder.build()
174174

175-
return directiveGenerator.onObject(objectType, DirectiveBehavior.Params(runtimeWiring))
175+
return directiveGenerator.onObject(objectType, DirectiveBehavior.Params(runtimeWiring, codeRegistryBuilder))
176176
}
177177

178178
private fun buildDirectives(directives: List<Directive>, directiveDefinitions: Set<GraphQLDirective>, directiveLocation: Introspection.DirectiveLocation): Array<GraphQLDirective> {
@@ -207,7 +207,7 @@ class SchemaParser internal constructor(scanResult: ScannedSchemaObjects, privat
207207
builder.field(fieldBuilder.build())
208208
}
209209

210-
return directiveGenerator.onInputObject(builder.build(), DirectiveBehavior.Params(runtimeWiring))
210+
return directiveGenerator.onInputObject(builder.build(), DirectiveBehavior.Params(runtimeWiring, codeRegistryBuilder))
211211
}
212212

213213
private fun createEnumObject(definition: EnumTypeDefinition): GraphQLEnumType {
@@ -241,7 +241,7 @@ class SchemaParser internal constructor(scanResult: ScannedSchemaObjects, privat
241241
}
242242
}
243243

244-
return directiveGenerator.onEnum(builder.build(), DirectiveBehavior.Params(runtimeWiring))
244+
return directiveGenerator.onEnum(builder.build(), DirectiveBehavior.Params(runtimeWiring, codeRegistryBuilder))
245245
}
246246

247247
private fun createInterfaceObject(interfaceDefinition: InterfaceTypeDefinition): GraphQLInterfaceType {
@@ -257,7 +257,7 @@ class SchemaParser internal constructor(scanResult: ScannedSchemaObjects, privat
257257
builder.field { field -> createField(field, fieldDefinition) }
258258
}
259259

260-
return directiveGenerator.onInterface(builder.build(), DirectiveBehavior.Params(runtimeWiring))
260+
return directiveGenerator.onInterface(builder.build(), DirectiveBehavior.Params(runtimeWiring, codeRegistryBuilder))
261261
}
262262

263263
private fun createUnionObject(definition: UnionTypeDefinition, types: List<GraphQLObjectType>): GraphQLUnionType {
@@ -270,7 +270,7 @@ class SchemaParser internal constructor(scanResult: ScannedSchemaObjects, privat
270270
builder.withDirectives(*buildDirectives(definition.directives, setOf(), Introspection.DirectiveLocation.UNION))
271271

272272
getLeafUnionObjects(definition, types).forEach { builder.possibleType(it) }
273-
return directiveGenerator.onUnion(builder.build(), DirectiveBehavior.Params(runtimeWiring))
273+
return directiveGenerator.onUnion(builder.build(), DirectiveBehavior.Params(runtimeWiring, codeRegistryBuilder))
274274
}
275275

276276
private fun getLeafUnionObjects(definition: UnionTypeDefinition, types: List<GraphQLObjectType>): List<GraphQLObjectType> {

src/main/kotlin/graphql/schema/idl/DirectiveBehavior.kt

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package graphql.schema.idl
22

3+
import graphql.schema.GraphQLCodeRegistry
34
import graphql.schema.GraphQLEnumType
45
import graphql.schema.GraphQLInputObjectType
56
import graphql.schema.GraphQLInterfaceType
@@ -30,8 +31,8 @@ class DirectiveBehavior {
3031
fun onInputObject(element: GraphQLInputObjectType, params: Params): GraphQLInputObjectType =
3132
directiveHelper.onInputObjectType(element, params.toParameters())
3233

33-
data class Params(val runtimeWiring: RuntimeWiring) {
34-
internal fun toParameters() = SchemaGeneratorDirectiveHelper.Parameters(null, runtimeWiring, null, null)
34+
data class Params(val runtimeWiring: RuntimeWiring, val codeRegistryBuilder: GraphQLCodeRegistry.Builder) {
35+
internal fun toParameters() = SchemaGeneratorDirectiveHelper.Parameters(null, runtimeWiring, null, codeRegistryBuilder)
3536
}
3637

3738
}

0 commit comments

Comments
 (0)