Module: Decidim::ParticipatoryProcesses::QueryExtensions

Defined in:
lib/decidim/participatory_processes/query_extensions.rb

Overview

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

Class Method Summary collapse

Class Method Details

.define(type) ⇒ Object

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

type - A GraphQL::BaseType to extend.

Returns nothing.



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
# File 'lib/decidim/participatory_processes/query_extensions.rb', line 13

def self.define(type)
  type.field :participatoryProcessGroups do
    type !types[ParticipatoryProcessGroupType]
    description "Lists all participatory process groups"

    resolve lambda { |_obj, _args, ctx|
      Decidim::ParticipatoryProcessGroup.where(
        organization: ctx[:current_organization]
      )
    }
  end

  type.field :participatoryProcessGroup do
    type ParticipatoryProcessGroupType
    description "Finds a participatory process group"
    argument :id, !types.ID, "The ID of the Participatory process group"

    resolve lambda { |_obj, args, ctx|
      Decidim::ParticipatoryProcessGroup.find_by(
        organization: ctx[:current_organization],
        id: args[:id]
      )
    }
  end
end