in graphql-dgs-codegen-core/src/main/kotlin/com/netflix/graphql/dgs/codegen/generators/EntitiesRepresentationTypeGeneratorUtils.kt [36:65]
fun generate(
config: CodeGenConfig,
definition: ObjectTypeDefinition,
generatedRepresentations: MutableMap<String, Any>,
representationGenerator: RepresentationGenerator,
): CodeGenResult {
if (config.skipEntityQueries) {
return CodeGenResult.EMPTY
}
val representationName = toRepresentationName(definition)
if (representationName in generatedRepresentations) {
return CodeGenResult.EMPTY
}
val directiveArg =
definition
.getDirectives("key")
.map { it.argumentsByName["fields"]?.value as StringValue }
.map { it.value }
val keyFields = parseKeyDirectiveValue(directiveArg)
return representationGenerator.generate(
definition.name,
representationName,
definition.fieldDefinitions,
generatedRepresentations,
keyFields,
)
}