Sha256: ade9a8a2526e57b2e75da9a75dbc65d792406eae3126fef7834ede37db8c0fb8
Contents?: true
Size: 1008 Bytes
Versions: 3
Compression:
Stored size: 1008 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 rescue StandardError => err GraphQL::ExecutionError.new(err.inspect) 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
3 entries across 3 versions & 1 rubygems