Module: ActiveAdmin::GraphQL::SchemaBuilder::QueryType

Includes:
QueryTypeCollection, QueryTypeMember, QueryTypePages, QueryTypePolicies, QueryTypeRegistered
Included in:
ActiveAdmin::GraphQL::SchemaBuilder
Defined in:
lib/active_admin/graphql/schema_builder/query_type.rb

Constant Summary

Constants included from QueryTypePolicies

ActiveAdmin::GraphQL::SchemaBuilder::QueryTypePolicies::POLICY_ACTIONS

Instance Method Summary collapse

Methods included from QueryTypePolicies

#add_activeadmin_policies_query_field!

Methods included from QueryTypePages

#add_page_query_fields!

Methods included from QueryTypeMember

#define_query_member_field!

Methods included from QueryTypeCollection

#add_model_query_fields!, #define_query_collection_field!

Methods included from QueryTypeRegistered

#add_registered_resource_query_field!

Instance Method Details

#build_query_type(registered_resource_union:) ⇒ Object



13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
# File 'lib/active_admin/graphql/schema_builder/query_type.rb', line 13

def build_query_type(registered_resource_union:)
  builder = self
  ns = @namespace
  aa_by_model = @aa_by_model
  object_types = @object_types
  aa_by_graphql_type_name = @aa_by_graphql_type_name
  list_filter_input_types = @list_filter_input_types
  find_input_types = @find_input_types

  Class.new(::GraphQL::Schema::Object) do
    field_class ::ActiveAdmin::GraphQL::SchemaField

    graphql_name "Query"
    description "ActiveAdmin GraphQL API (#{ns.name})"

    if registered_resource_union
      builder.add_registered_resource_query_field!(
        self,
        builder: builder,
        ns: ns,
        registered_resource_union: registered_resource_union,
        aa_by_graphql_type_name: aa_by_graphql_type_name
      )
    end

    builder.add_model_query_fields!(
      self,
      builder: builder,
      ns: ns,
      aa_by_model: aa_by_model,
      object_types: object_types,
      list_filter_input_types: list_filter_input_types,
      find_input_types: find_input_types
    )

    builder.add_page_query_fields!(self, builder: builder, ns: ns)
    builder.add_activeadmin_policies_query_field!(
      self,
      builder: builder,
      ns: ns,
      aa_by_graphql_type_name: aa_by_graphql_type_name
    )
  end
end