Module: Decidim::Api

Includes:
ActiveSupport::Configurable
Defined in:
lib/decidim/api.rb,
lib/decidim/api/types.rb,
lib/decidim/api/engine.rb,
lib/decidim/api/schema.rb,
lib/decidim/api/version.rb,
lib/decidim/api/query_type.rb,
lib/decidim/api/mutation_type.rb,
lib/decidim/api/alias_analyzer.rb,
app/models/decidim/api/api_user.rb,
lib/decidim/api/required_scopes.rb,
lib/decidim/api/types/base_enum.rb,
lib/decidim/api/types/base_field.rb,
lib/decidim/api/types/base_union.rb,
lib/decidim/api/types/base_object.rb,
lib/decidim/api/types/base_scalar.rb,
lib/decidim/api/recursion_analyzer.rb,
app/models/decidim/api/jwt_denylist.rb,
lib/decidim/api/graphql_permissions.rb,
lib/decidim/api/types/base_argument.rb,
lib/decidim/api/types/base_mutation.rb,
lib/decidim/api/types/base_interface.rb,
lib/decidim/api/introspection_analyzer.rb,
lib/decidim/api/component_mutation_type.rb,
lib/decidim/api/types/base_input_object.rb,
app/presenters/decidim/api/api_user_presenter.rb,
lib/decidim/api/errors/too_many_aliases_error.rb,
app/controllers/decidim/api/queries_controller.rb,
app/controllers/decidim/api/graphiql_controller.rb,
app/controllers/decidim/api/sessions_controller.rb,
app/controllers/decidim/api/application_controller.rb,
lib/decidim/api/errors/introspection_disabled_error.rb,
app/controllers/decidim/api/documentation_controller.rb,
lib/decidim/api/errors/recursion_limit_exceeded_error.rb

Overview

This holds the decidim-api version.

Defined Under Namespace

Modules: Errors, GraphqlPermissions, IntrospectionAnalyzer, RequiredScopes, Types Classes: AliasAnalyzer, ApiUser, ApiUserPresenter, ApplicationController, ComponentMutationType, DocumentationController, Engine, GraphiQLController, JwtDenylist, MutationType, QueriesController, QueryType, RecursionAnalyzer, Schema, SessionsController

Class Method Summary collapse

Class Method Details

.add_orphan_type(type) ⇒ Object



73
74
75
76
# File 'lib/decidim/api.rb', line 73

def self.add_orphan_type(type)
  @orphan_types ||= []
  @orphan_types += [type]
end

.orphan_typesObject

This declares all the types an interface or union can resolve to. This needs to be done in order to be able to have them found. This is a shortcoming of graphql-ruby and the way it deals with loading types, in combination with rail’s infamous auto-loading.



67
68
69
70
71
# File 'lib/decidim/api.rb', line 67

def self.orphan_types
  Decidim.component_manifests.map(&:query_type).map(&:constantize).uniq +
    Decidim.participatory_space_manifests.map(&:query_type).map(&:constantize).uniq +
    (@orphan_types || [])
end

.versionObject



6
7
8
# File 'lib/decidim/api/version.rb', line 6

def self.version
  "0.31.2"
end