graphql 1.13.1 → 1.13.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of graphql might be problematic. Click here for more details.
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 381cd8cc5f2508805ccc69172566e28577652372b04e44b236ceaf903db1622f
|
4
|
+
data.tar.gz: 56c03d754890c85d6a6c7d5df6a50874f3986a1284f2666a256ea51d90028a82
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 31f7ab242f8b5efa5f2e77a9c79ab3c4a6b3b9d319dcdc4215d676009f472dc59a1fdf3303a3af86ab557c5b7f53ff2610d30dc36a58eb0937962ebe1ce388f9
|
7
|
+
data.tar.gz: 8c6295f3cdae55803aad1bb45abb97ec1f6a5b76d60f2150e449c5e8244619096c9462317358a048b9d5045a0246cfd2354b96d6c4de49968995e86dd6b2aafa
|
@@ -516,7 +516,7 @@ module GraphQL
|
|
516
516
|
after_lazy(app_result, owner: owner_type, field: field_defn, path: next_path, ast_node: ast_node, scoped_context: context.scoped_context, owner_object: object, arguments: resolved_arguments, result_name: result_name, result: selection_result) do |inner_result|
|
517
517
|
continue_value = continue_value(next_path, inner_result, owner_type, field_defn, return_type.non_null?, ast_node, result_name, selection_result)
|
518
518
|
if HALT != continue_value
|
519
|
-
continue_field(next_path, continue_value, owner_type, field_defn, return_type, ast_node, next_selections, false, object,
|
519
|
+
continue_field(next_path, continue_value, owner_type, field_defn, return_type, ast_node, next_selections, false, object, resolved_arguments, result_name, selection_result)
|
520
520
|
end
|
521
521
|
end
|
522
522
|
end
|
data/lib/graphql/schema/field.rb
CHANGED
@@ -617,13 +617,10 @@ module GraphQL
|
|
617
617
|
end
|
618
618
|
|
619
619
|
def authorized?(object, args, context)
|
620
|
-
|
620
|
+
if @resolver_class
|
621
621
|
# The resolver _instance_ will check itself during `resolve()`
|
622
622
|
@resolver_class.authorized?(object, context)
|
623
623
|
else
|
624
|
-
true
|
625
|
-
end
|
626
|
-
resolver_authed && begin
|
627
624
|
if (arg_values = context[:current_arguments])
|
628
625
|
# ^^ that's provided by the interpreter at runtime, and includes info about whether the default value was used or not.
|
629
626
|
using_arg_values = true
|
@@ -155,6 +155,14 @@ module GraphQL
|
|
155
155
|
end
|
156
156
|
end
|
157
157
|
end
|
158
|
+
|
159
|
+
private
|
160
|
+
|
161
|
+
def authorize_arguments(args, values)
|
162
|
+
# remove the `input` wrapper to match values
|
163
|
+
input_args = args["input"].type.unwrap.arguments(context)
|
164
|
+
super(input_args, values)
|
165
|
+
end
|
158
166
|
end
|
159
167
|
end
|
160
168
|
end
|
@@ -145,19 +145,9 @@ module GraphQL
|
|
145
145
|
# @raise [GraphQL::UnauthorizedError] To signal an authorization failure
|
146
146
|
# @return [Boolean, early_return_data] If `false`, execution will stop (and `early_return_data` will be returned instead, if present.)
|
147
147
|
def authorized?(**inputs)
|
148
|
-
self.class
|
149
|
-
|
150
|
-
|
151
|
-
arg_auth, err = argument.authorized?(self, arg_value, context)
|
152
|
-
if !arg_auth
|
153
|
-
return arg_auth, err
|
154
|
-
else
|
155
|
-
true
|
156
|
-
end
|
157
|
-
else
|
158
|
-
true
|
159
|
-
end
|
160
|
-
end
|
148
|
+
arg_owner = @field # || self.class
|
149
|
+
args = arg_owner.arguments(context)
|
150
|
+
authorize_arguments(args, inputs)
|
161
151
|
end
|
162
152
|
|
163
153
|
# Called when an object loaded by `loads:` fails the `.authorized?` check for its resolved GraphQL object type.
|
@@ -172,6 +162,22 @@ module GraphQL
|
|
172
162
|
|
173
163
|
private
|
174
164
|
|
165
|
+
def authorize_arguments(args, inputs)
|
166
|
+
args.each_value do |argument|
|
167
|
+
arg_keyword = argument.keyword
|
168
|
+
if inputs.key?(arg_keyword) && !(arg_value = inputs[arg_keyword]).nil? && (arg_value != argument.default_value)
|
169
|
+
arg_auth, err = argument.authorized?(self, arg_value, context)
|
170
|
+
if !arg_auth
|
171
|
+
return arg_auth, err
|
172
|
+
else
|
173
|
+
true
|
174
|
+
end
|
175
|
+
else
|
176
|
+
true
|
177
|
+
end
|
178
|
+
end
|
179
|
+
end
|
180
|
+
|
175
181
|
def load_arguments(args)
|
176
182
|
prepared_args = {}
|
177
183
|
prepare_lazies = []
|
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: 1.13.
|
4
|
+
version: 1.13.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Robert Mosolgo
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-12-
|
11
|
+
date: 2021-12-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: benchmark-ips
|