Class: ActiveAdmin::GraphqlController

Inherits:
ApplicationController
  • Object
show all
Defined in:
app/controllers/active_admin/graphql_controller.rb

Overview

HTTP endpoint for the namespace GraphQL schema (graphql-ruby).

Authentication runs before any GraphQL work, including introspection. Supports single operations (application/json body or form params) and multiplexed batches (application/json array documented by graphql-ruby).

Instance Method Summary collapse

Instance Method Details

#active_admin_namespaceObject

Raises:

  • (ActionController::RoutingError)


22
23
24
25
26
27
28
29
# File 'app/controllers/active_admin/graphql_controller.rb', line 22

def active_admin_namespace
  key = request.path_parameters[:active_admin_namespace] || params[:active_admin_namespace]
  raise ActionController::RoutingError, "Missing active_admin_namespace route default" unless key

  ActiveAdmin.application.namespaces[key.to_sym].tap do |ns|
    raise ActionController::RoutingError, "Unknown ActiveAdmin namespace: #{key}" unless ns
  end
end

#executeObject



15
16
17
18
19
20
# File 'app/controllers/active_admin/graphql_controller.rb', line 15

def execute
  schema = ActiveAdmin::GraphQL.schema_for(active_admin_namespace)
  return render_multiplex(schema) if multiplex_request?

  render_single(schema)
end