summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrett Walker <bwalker@gitlab.com>2019-06-05 10:16:50 -0500
committerBrett Walker <bwalker@gitlab.com>2019-06-05 10:17:54 -0500
commit0cedd43ef7aca863cbe41a544ce735c75390a5fb (patch)
tree813323bd27d7dc06a54623ee24977bb8b05058c8
parent95b3fe286349176be7f117211dcc0ffa9dfcb8bb (diff)
downloadgitlab-ce-62706-graphql-complexity-values-are-incorrectly-doubled.tar.gz
Grab field_defn to access certain values62706-graphql-complexity-values-are-incorrectly-doubled
-rw-r--r--app/graphql/types/base_field.rb6
1 files changed, 4 insertions, 2 deletions
diff --git a/app/graphql/types/base_field.rb b/app/graphql/types/base_field.rb
index 35763be685a..dd0d9105df6 100644
--- a/app/graphql/types/base_field.rb
+++ b/app/graphql/types/base_field.rb
@@ -32,9 +32,11 @@ module Types
# Resolvers may add extra complexity depending on used arguments
complexity = child_complexity + self.resolver&.try(:resolver_complexity, args, child_complexity: child_complexity).to_i
- if @connection
+ field_defn = to_graphql
+
+ if field_defn.connection?
# Resolvers may add extra complexity depending on number of items being loaded.
- page_size = @max_page_size || ctx.schema.default_max_page_size
+ page_size = field_defn.connection_max_page_size || ctx.schema.default_max_page_size
limit_value = [args[:first], args[:last], page_size].compact.min
multiplier = self.resolver&.try(:complexity_multiplier, args).to_f
complexity += complexity * limit_value * multiplier