提交 ee4ba6ce 编写于 作者: B Bob Van Landuyt

Adjust GraphQL helper to query empty fields

These adjustments make sure our GraphQL helpers support rendering
queries for empty fields like this:

      {
        echo(text: "Hello world")
      }

Instead of like this:

     {
       echo(text: "Hello world") {
       }
     }

The latter would be an invalid query, causing parsing errors.
上级 2e154942
......@@ -79,12 +79,21 @@ module GraphqlHelpers
attributes = attributes_to_graphql(attributes)
attributes = "(#{attributes})" if attributes.present?
<<~QUERY
#{name}#{attributes} {
#{fields}
}
#{name}#{attributes}
#{wrap_fields(fields)}
QUERY
end
def wrap_fields(fields)
return unless fields.strip.present?
<<~FIELDS
{
#{fields}
}
FIELDS
end
def all_graphql_fields_for(class_name, parent_types = Set.new)
type = GitlabSchema.types[class_name.to_s]
return "" unless type
......@@ -116,8 +125,8 @@ module GraphqlHelpers
end.join(", ")
end
def post_graphql(query, current_user: nil, variables: nil)
post api('/', current_user, version: 'graphql'), params: { query: query, variables: variables }
def post_graphql(query, current_user: nil, variables: nil, headers: {})
post api('/', current_user, version: 'graphql'), params: { query: query, variables: variables }, headers: headers
end
def post_graphql_mutation(mutation, current_user: nil)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册