@Override public GraphQLFieldDefinition getFieldDefinition(GraphQLFieldsContainer fieldsContainer, String fieldName) { GraphQLFieldDefinition fieldDefinition = fieldsContainer.getFieldDefinition(fieldName); if (fieldDefinition != null) { if (block(mkFQN(fieldsContainer.getName(), fieldDefinition.getName()))) { fieldDefinition = null; } } return fieldDefinition; }
@Override public List<GraphQLFieldDefinition> getFieldDefinitions(GraphQLFieldsContainer fieldsContainer) { return fieldsContainer.getFieldDefinitions().stream() .filter(fieldDefinition -> !block(mkFQN(fieldsContainer.getName(), fieldDefinition.getName()))) .collect(Collectors.toList()); }
@Override public GraphQLFieldDefinition getFieldDefinition(GraphQLFieldsContainer fieldsContainer, String fieldName) { return fieldsContainer.getFieldDefinition(fieldName); }
@Override public List<GraphQLFieldDefinition> getFieldDefinitions(GraphQLFieldsContainer fieldsContainer) { return fieldsContainer.getFieldDefinitions(); }
private static void register(GraphQLFieldsContainer parentType, String fieldName, DataFetcher dataFetcher) { introspectionDataFetchers.put(coordinates(parentType.getName(), fieldName), dataFetcher); }
private GraphQLFieldDefinition getFieldType(GraphQLType type) { if ( type instanceof GraphQLFieldsContainer ) { GraphQLFieldDefinition fieldType = ((GraphQLFieldsContainer)type).getFieldDefinition(propertyName); if (null == fieldType && null != this.graphQLPropertyName) { fieldType = ((GraphQLFieldsContainer)type).getFieldDefinition(graphQLPropertyName); } return fieldType; } return null; }
private void traverse(GraphQLOutputType root, List<SchemaValidationRule> rules, SchemaValidationErrorCollector validationErrorCollector) { if (processed.contains(root)) { return; } processed.add(root); if (root instanceof GraphQLFieldsContainer) { // this deliberately has open field visibility here since its validating the schema // when completely open for (GraphQLFieldDefinition fieldDefinition : ((GraphQLFieldsContainer) root).getFieldDefinitions()) { for (SchemaValidationRule rule : rules) { rule.check(fieldDefinition, validationErrorCollector); } traverse(fieldDefinition.getType(), rules, validationErrorCollector); } } } }
/** * Creates new field coordinates * * @param parentType the container of the field * @param fieldDefinition the field definition * * @return new field coordinates represented by the two parameters */ public static FieldCoordinates coordinates(GraphQLFieldsContainer parentType, GraphQLFieldDefinition fieldDefinition) { return new FieldCoordinates(parentType.getName(), fieldDefinition.getName()); }
@Override public GraphQLFieldDefinition getFieldDefinition(GraphQLFieldsContainer fieldsContainer, String fieldName) { if ("AdminType".equals(fieldsContainer.getName())) { if (!userAccessService.isAdminUser()) { return null; } } return fieldsContainer.getFieldDefinition(fieldName); } }
@Override public List<GraphQLFieldDefinition> getFieldDefinitions(GraphQLFieldsContainer fieldsContainer) { if ("AdminType".equals(fieldsContainer.getName())) { if (!userAccessService.isAdminUser()) { return Collections.emptyList(); } } return fieldsContainer.getFieldDefinitions(); }
private GraphQLFieldDefinition getFieldType(GraphQLType type) { if ( type instanceof GraphQLFieldsContainer ) { return ((GraphQLFieldsContainer)type).getFieldDefinition(propertyName); } return null; }
@Override public List<GraphQLFieldDefinition> getFieldDefinitions(GraphQLFieldsContainer fieldsContainer) { return fieldsContainer.getFieldDefinitions(); }
private static void register(GraphQLFieldsContainer parentType, String fieldName, DataFetcher dataFetcher) { introspectionDataFetchers.put(coordinates(parentType.getName(), fieldName), dataFetcher); }
@Override public GraphQLFieldDefinition getFieldDefinition(GraphQLFieldsContainer fieldsContainer, String fieldName) { GraphQLFieldDefinition fieldDefinition = fieldsContainer.getFieldDefinition(fieldName); if (fieldDefinition != null) { if (block(mkFQN(fieldsContainer.getName(), fieldDefinition.getName()))) { fieldDefinition = null; } } return fieldDefinition; }
@Override public List<GraphQLFieldDefinition> getFieldDefinitions(GraphQLFieldsContainer fieldsContainer) { return fieldsContainer.getFieldDefinitions().stream() .filter(fieldDefinition -> !block(mkFQN(fieldsContainer.getName(), fieldDefinition.getName()))) .collect(Collectors.toList()); }
@Override public GraphQLFieldDefinition getFieldDefinition(GraphQLFieldsContainer fieldsContainer, String fieldName) { return fieldsContainer.getFieldDefinition(fieldName); }
@Override public List<GraphQLFieldDefinition> getFieldDefinitions(GraphQLFieldsContainer fieldsContainer) { List<GraphQLFieldDefinition> graphQlFieldDefinitions = new ArrayList<>(); Iterator<GraphQLFieldDefinition> graphQlFieldDefinitionIterator = fieldsContainer.getFieldDefinitions().iterator(); while (graphQlFieldDefinitionIterator.hasNext()) { GraphQLFieldDefinition graphQlFieldDefinition = graphQlFieldDefinitionIterator.next(); if (!dataSetNamesWithOutReadPermission.contains(graphQlFieldDefinition.getName())) { graphQlFieldDefinitions.add(graphQlFieldDefinition); } } return graphQlFieldDefinitions; }
/** * Creates new field coordinates * * @param parentType the container of the field * @param fieldDefinition the field definition * * @return new field coordinates represented by the two parameters */ public static FieldCoordinates coordinates(GraphQLFieldsContainer parentType, GraphQLFieldDefinition fieldDefinition) { return new FieldCoordinates(parentType.getName(), fieldDefinition.getName()); }
private void collectField(FieldCollectorParameters parameters, Map<String, List<ResolvedField>> fields, Field field, GraphQLFieldsContainer parent) { if (!conditionalNodes.shouldInclude(parameters.getVariables(), field.getDirectives())) { return; } GraphQLFieldDefinition fieldDefinition = parent.getFieldDefinition(field.getName()); Map<String, Object> argumentValues = valuesResolver.getArgumentValues(fieldDefinition.getArguments(), field.getArguments(), parameters.getVariables()); ResolvedField node = new ResolvedField(field, fieldDefinition, argumentValues); fields.putIfAbsent(node.getName(), new ArrayList<>()); fields.get(node.getName()).add(node); }
@Override public GraphQLFieldDefinition getFieldDefinition(GraphQLFieldsContainer fieldsContainer, String fieldName) { Iterator<GraphQLFieldDefinition> graphQlFieldDefinitionIterator = fieldsContainer.getFieldDefinitions().iterator(); while (graphQlFieldDefinitionIterator.hasNext()) { GraphQLFieldDefinition graphQlFieldDefinition = graphQlFieldDefinitionIterator.next(); if (!dataSetNamesWithOutReadPermission.contains(graphQlFieldDefinition.getName()) && graphQlFieldDefinition.getName().equals(fieldName)) { return graphQlFieldDefinition; } } return null; }