Module: Decidim::QueryExtensions

Defined in:
lib/decidim/query_extensions.rb

Overview

This module’s job is to extend the API with custom fields related to decidim-core.

Class Method Summary collapse

Class Method Details

.extend!(type) ⇒ Object

Public: Extends a type with ‘decidim-core`’s fields.

type - A GraphQL::BaseType to extend.

Returns nothing.



12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# File 'lib/decidim/query_extensions.rb', line 12

def self.extend!(type)
  type.define do
    field :processes do
      type !types[ProcessType]
      description "Lists all processes."

      resolve lambda { |_obj, _args, ctx|
        ParticipatoryProcesses::OrganizationPublishedParticipatoryProcesses.new(ctx[:current_organization])
      }
    end

    field :session do
      type SessionType
      description "Return's information about the logged in user"

      resolve lambda { |_obj, _args, ctx|
        ctx[:current_user]
      }
    end

    field :decidim, DecidimType, "Decidim's framework properties." do
      resolve ->(_obj, _args, _ctx) { Decidim }
    end
  end
end