Module: GraphqlDevise::FieldAuthTracer

Defined in:
lib/graphql_devise/field_auth_tracer.rb

Instance Method Summary collapse

Instance Method Details

#execute_field(field:, query:, ast_node:, arguments:, object:) ⇒ Object



13
14
15
16
17
18
19
20
21
22
23
24
# File 'lib/graphql_devise/field_auth_tracer.rb', line 13

def execute_field(field:, query:, ast_node:, arguments:, object:)
  # Authenticate only root level queries
  return super unless query.context.current_path.count == 1

  auth_required = authenticate_option(field)

  if auth_required && !(public_introspection && introspection_field?(field.name))
    raise_on_missing_resource(query.context, field, auth_required)
  end

  super
end

#initialize(authenticate_default:, public_introspection:, unauthenticated_proc:, **_rest) ⇒ Object



5
6
7
8
9
10
11
# File 'lib/graphql_devise/field_auth_tracer.rb', line 5

def initialize(authenticate_default:, public_introspection:, unauthenticated_proc:, **_rest)
  @authenticate_default = authenticate_default
  @public_introspection = public_introspection
  @unauthenticated_proc = unauthenticated_proc

  super
end