Sha256: 9141db93fb0dbac6d232e93199323183b3e03424282a5f63948e2072a9104634
Contents?: true
Size: 929 Bytes
Versions: 1
Compression:
Stored size: 929 Bytes
Contents
# frozen_string_literal: true module GraphqlAuthorize module FieldResolveStep # rubocop:disable Metrics/ParameterLists def call(_parent_type, parent_object, field_definition, field_args, context, _next = nil) if authorized?(field_definition, parent_object, field_args, context) super else GraphQL::ExecutionError.new("Access to the field '#{field_definition.name}' is denied!") end end # rubocop:enable Metrics/ParameterLists private def authorized?(field_definition, object, args, context) return true if field_definition.authorize.nil? if field_definition.authorize.is_a?(Proc) return field_definition.authorize.call(object, args, context) end return false if auth_adapter.nil? auth_adapter.new(field_definition, context).authorize end def auth_adapter GraphqlAuthorize.config.auth_adapter end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
graphql_authorize-0.3.0 | lib/graphql_authorize/ext/field_resolve_step.rb |