Module: Decidim::Api

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/errors/locale_error.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/errors/not_found_error.rb,
lib/decidim/api/introspection_analyzer.rb,
lib/decidim/api/types/access_mode_enum.rb,
lib/decidim/api/component_mutation_type.rb,
lib/decidim/api/errors/validation_error.rb,
lib/decidim/api/types/base_input_object.rb,
lib/decidim/api/errors/invalid_locale_error.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,
lib/decidim/api/errors/permission_not_set_error.rb,
lib/decidim/api/errors/unauthorized_field_error.rb,
lib/decidim/api/errors/unauthorized_object_error.rb,
lib/decidim/api/errors/attribute_validation_error.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/mutation_not_authorized_error.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



63
64
65
66
# File 'lib/decidim/api.rb', line 63

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

.configObject



15
# File 'lib/decidim/api.rb', line 15

def config = self

.configure {|_self| ... } ⇒ Object

Yields:

  • (_self)

Yield Parameters:

  • _self (Decidim::Api)

    the object that the method was called on



17
18
19
# File 'lib/decidim/api.rb', line 17

def configure
  yield self
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.



57
58
59
60
61
# File 'lib/decidim/api.rb', line 57

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.32.0.rc1"
end