Skip to content

Commit 89488da

Browse files
Add resolver argument annotation on input value
Signed-off-by: Clément BUCHART <[email protected]>
1 parent e129c47 commit 89488da

File tree

2 files changed

+13
-5
lines changed

2 files changed

+13
-5
lines changed

src/main/java/com/kobylynskyi/graphql/codegen/mapper/AnnotationsMapper.java

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
import java.util.Collections;
2121
import java.util.List;
2222
import java.util.Map;
23+
import java.util.stream.Collectors;
2324

2425
import static com.kobylynskyi.graphql.codegen.mapper.GraphQLTypeMapper.getDirectives;
2526
import static com.kobylynskyi.graphql.codegen.mapper.GraphQLTypeMapper.getMandatoryType;
@@ -123,9 +124,16 @@ public List<String> getAnnotations(MappingContext mappingContext, String graphQL
123124
}
124125
}
125126
// 6. Add annotations for resolver arguments
126-
if (!Utils.isEmpty(mappingContext.getResolverArgumentAnnotations())
127-
&& mappingContext.getOperationsName().contains(parentTypeName)) {
128-
annotations.addAll(mappingContext.getResolverArgumentAnnotations());
127+
if (!Utils.isEmpty(mappingContext.getResolverArgumentAnnotations())) {
128+
if (mappingContext.getOperationsName().contains(parentTypeName)
129+
|| (def instanceof InputValueDefinition
130+
&& !mappingContext.getDocument().getInputDefinitions()
131+
.stream()
132+
.map(o -> o.getName())
133+
.collect(Collectors.toList())
134+
.contains(parentTypeName))) {
135+
annotations.addAll(mappingContext.getResolverArgumentAnnotations());
136+
}
129137
}
130138
// 7. Add annotations for parametrized resolvers
131139
if (!Utils.isEmpty(mappingContext.getParametrizedResolverAnnotations())

src/test/resources/expected-classes/annotation/EventPropertyResolver_ArgumentAnnotations.java.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,11 @@ public interface EventPropertyResolver {
1313
/**
1414
* Properties
1515
*/
16-
java.util.List<EventProperty> child(EventProperty eventProperty, Integer first, Integer last, graphql.schema.DataFetchingEnvironment env) throws Exception;
16+
java.util.List<EventProperty> child(EventProperty eventProperty, @org.springframework.graphql.data.method.annotation.Argument Integer first, @org.springframework.graphql.data.method.annotation.Argument Integer last, graphql.schema.DataFetchingEnvironment env) throws Exception;
1717

1818
/**
1919
* Parent event of the property
2020
*/
21-
Event parent(EventProperty eventProperty, EventStatus withStatus, String createdAfter, graphql.schema.DataFetchingEnvironment env) throws Exception;
21+
Event parent(EventProperty eventProperty, @org.springframework.graphql.data.method.annotation.Argument EventStatus withStatus, @org.springframework.graphql.data.method.annotation.Argument String createdAfter, graphql.schema.DataFetchingEnvironment env) throws Exception;
2222

2323
}

0 commit comments

Comments
 (0)