graphql 2.2.11 → 2.2.12
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/graphql/analysis/ast.rb +3 -0
- data/lib/graphql/execution/interpreter.rb +1 -1
- data/lib/graphql/pagination/array_connection.rb +4 -4
- data/lib/graphql/pagination/relation_connection.rb +3 -3
- data/lib/graphql/schema/field.rb +2 -0
- data/lib/graphql/schema/member/has_arguments.rb +2 -2
- data/lib/graphql/schema.rb +18 -10
- data/lib/graphql/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4bcb377d757eba98e3b88e8a3af21bacbf00b7bb28ee994b7d517b5fb296c47a
|
4
|
+
data.tar.gz: 43a94034f284af6ecb62dd0961a67e706a7032000c7c500a8029a02995dd1881
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: bb67bbe99e21ce0f88632d6f5e965e842ff2714540d924721fb9234d9502b8ed596954c2748c406079052799386075f65d079c0e900df38c06f1cb1d422c61d8
|
7
|
+
data.tar.gz: 2e982944076364c91bc5dac75ff496762d973b0eed0c7b5913e27f5e01de0c0c2394047343c90e96f3f4d54db055adabf0268377bed6d6a06784b2f941b13ac7
|
data/lib/graphql/analysis/ast.rb
CHANGED
@@ -81,6 +81,9 @@ module GraphQL
|
|
81
81
|
end
|
82
82
|
rescue Timeout::Error
|
83
83
|
[GraphQL::AnalysisError.new("Timeout on validation of query")]
|
84
|
+
rescue GraphQL::UnauthorizedError
|
85
|
+
# This error was raised during analysis and will be returned the client before execution
|
86
|
+
[]
|
84
87
|
end
|
85
88
|
|
86
89
|
def analysis_errors(results)
|
@@ -47,7 +47,7 @@ module GraphQL
|
|
47
47
|
begin
|
48
48
|
# Since this is basically the batching context,
|
49
49
|
# share it for a whole multiplex
|
50
|
-
multiplex.context[:interpreter_instance] ||= multiplex.schema.query_execution_strategy.new
|
50
|
+
multiplex.context[:interpreter_instance] ||= multiplex.schema.query_execution_strategy(deprecation_warning: false).new
|
51
51
|
# Do as much eager evaluation of the query as possible
|
52
52
|
results = []
|
53
53
|
queries.each_with_index do |query, idx|
|
@@ -56,12 +56,12 @@ module GraphQL
|
|
56
56
|
false
|
57
57
|
end
|
58
58
|
|
59
|
-
@has_next_page = if
|
60
|
-
# There are more items after these items
|
61
|
-
sliced_nodes.count > first
|
62
|
-
elsif before
|
59
|
+
@has_next_page = if before
|
63
60
|
# The original array is longer than the `before` index
|
64
61
|
index_from_cursor(before) < items.length + 1
|
62
|
+
elsif first
|
63
|
+
# There are more items after these items
|
64
|
+
sliced_nodes.count > first
|
65
65
|
else
|
66
66
|
false
|
67
67
|
end
|
@@ -29,14 +29,14 @@ module GraphQL
|
|
29
29
|
|
30
30
|
def has_next_page
|
31
31
|
if @has_next_page.nil?
|
32
|
-
@has_next_page = if
|
32
|
+
@has_next_page = if before_offset && before_offset > 0
|
33
|
+
true
|
34
|
+
elsif first
|
33
35
|
if @nodes && @nodes.count < first
|
34
36
|
false
|
35
37
|
else
|
36
38
|
relation_larger_than(sliced_nodes, @sliced_nodes_offset, first)
|
37
39
|
end
|
38
|
-
elsif before_offset && before_offset > 0
|
39
|
-
true
|
40
40
|
else
|
41
41
|
false
|
42
42
|
end
|
data/lib/graphql/schema/field.rb
CHANGED
@@ -471,6 +471,8 @@ module GraphQL
|
|
471
471
|
if arguments[:last] && (max_possible_page_size.nil? || arguments[:last] > max_possible_page_size)
|
472
472
|
max_possible_page_size = arguments[:last]
|
473
473
|
end
|
474
|
+
elsif arguments.is_a?(GraphQL::UnauthorizedError)
|
475
|
+
raise arguments
|
474
476
|
end
|
475
477
|
|
476
478
|
if max_possible_page_size.nil?
|
@@ -50,7 +50,7 @@ module GraphQL
|
|
50
50
|
if loads && arg_defn.type.list?
|
51
51
|
class_eval <<-RUBY, __FILE__, __LINE__ + 1
|
52
52
|
def #{method_owner}load_#{arg_defn.keyword}(values, context = nil)
|
53
|
-
argument = get_argument("#{arg_defn.graphql_name}")
|
53
|
+
argument = get_argument("#{arg_defn.graphql_name}", context || self.context)
|
54
54
|
(context || self.context).query.after_lazy(values) do |values2|
|
55
55
|
GraphQL::Execution::Lazy.all(values2.map { |value| load_application_object(argument, value, context || self.context) })
|
56
56
|
end
|
@@ -59,7 +59,7 @@ module GraphQL
|
|
59
59
|
elsif loads
|
60
60
|
class_eval <<-RUBY, __FILE__, __LINE__ + 1
|
61
61
|
def #{method_owner}load_#{arg_defn.keyword}(value, context = nil)
|
62
|
-
argument = get_argument("#{arg_defn.graphql_name}")
|
62
|
+
argument = get_argument("#{arg_defn.graphql_name}", context || self.context)
|
63
63
|
load_application_object(argument, value, context || self.context)
|
64
64
|
end
|
65
65
|
RUBY
|
data/lib/graphql/schema.rb
CHANGED
@@ -63,10 +63,6 @@ module GraphQL
|
|
63
63
|
# Schemas can restrict large incoming queries with `max_depth` and `max_complexity` configurations.
|
64
64
|
# (These configurations can be overridden by specific calls to {Schema#execute})
|
65
65
|
#
|
66
|
-
# Schemas can specify how queries should be executed against them.
|
67
|
-
# `query_execution_strategy`, `mutation_execution_strategy` and `subscription_execution_strategy`
|
68
|
-
# each apply to corresponding root types.
|
69
|
-
#
|
70
66
|
# @example defining a schema
|
71
67
|
# class MySchema < GraphQL::Schema
|
72
68
|
# query QueryType
|
@@ -651,27 +647,39 @@ module GraphQL
|
|
651
647
|
end
|
652
648
|
end
|
653
649
|
|
654
|
-
def query_execution_strategy(new_query_execution_strategy = nil)
|
650
|
+
def query_execution_strategy(new_query_execution_strategy = nil, deprecation_warning: true)
|
651
|
+
if deprecation_warning
|
652
|
+
warn "GraphQL::Schema.query_execution_strategy is deprecated without replacement. Use `GraphQL::Query.new` directly to create and execute a custom query instead."
|
653
|
+
warn " #{caller(1, 1).first}"
|
654
|
+
end
|
655
655
|
if new_query_execution_strategy
|
656
656
|
@query_execution_strategy = new_query_execution_strategy
|
657
657
|
else
|
658
|
-
@query_execution_strategy ||
|
658
|
+
@query_execution_strategy || (superclass.respond_to?(:query_execution_strategy) ? superclass.query_execution_strategy(deprecation_warning: false) : self.default_execution_strategy)
|
659
659
|
end
|
660
660
|
end
|
661
661
|
|
662
|
-
def mutation_execution_strategy(new_mutation_execution_strategy = nil)
|
662
|
+
def mutation_execution_strategy(new_mutation_execution_strategy = nil, deprecation_warning: true)
|
663
|
+
if deprecation_warning
|
664
|
+
warn "GraphQL::Schema.mutation_execution_strategy is deprecated without replacement. Use `GraphQL::Query.new` directly to create and execute a custom query instead."
|
665
|
+
warn " #{caller(1, 1).first}"
|
666
|
+
end
|
663
667
|
if new_mutation_execution_strategy
|
664
668
|
@mutation_execution_strategy = new_mutation_execution_strategy
|
665
669
|
else
|
666
|
-
@mutation_execution_strategy ||
|
670
|
+
@mutation_execution_strategy || (superclass.respond_to?(:mutation_execution_strategy) ? superclass.mutation_execution_strategy(deprecation_warning: false) : self.default_execution_strategy)
|
667
671
|
end
|
668
672
|
end
|
669
673
|
|
670
|
-
def subscription_execution_strategy(new_subscription_execution_strategy = nil)
|
674
|
+
def subscription_execution_strategy(new_subscription_execution_strategy = nil, deprecation_warning: true)
|
675
|
+
if deprecation_warning
|
676
|
+
warn "GraphQL::Schema.subscription_execution_strategy is deprecated without replacement. Use `GraphQL::Query.new` directly to create and execute a custom query instead."
|
677
|
+
warn " #{caller(1, 1).first}"
|
678
|
+
end
|
671
679
|
if new_subscription_execution_strategy
|
672
680
|
@subscription_execution_strategy = new_subscription_execution_strategy
|
673
681
|
else
|
674
|
-
@subscription_execution_strategy ||
|
682
|
+
@subscription_execution_strategy || (superclass.respond_to?(:subscription_execution_strategy) ? superclass.subscription_execution_strategy(deprecation_warning: false) : self.default_execution_strategy)
|
675
683
|
end
|
676
684
|
end
|
677
685
|
|
data/lib/graphql/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: graphql
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.2.
|
4
|
+
version: 2.2.12
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Robert Mosolgo
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-
|
11
|
+
date: 2024-03-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: base64
|