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
-
.included(type) ⇒ Object
Public: Extends a type with ‘decidim-participatory_processes`’s fields.
Instance Method Summary collapse
- #participatory_process(id: nil, slug: nil) ⇒ Object
- #participatory_process_group(id:) ⇒ Object
- #participatory_process_groups ⇒ Object
- #participatory_processes(filter: {}, order: {}) ⇒ Object
Class Method Details
.included(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 38 |
# File 'lib/decidim/participatory_processes/query_extensions.rb', line 13 def self.included(type) type.field :participatory_processes, [Decidim::ParticipatoryProcesses::ParticipatoryProcessType], null: true, description: "Lists all participatory_processes" do argument :filter, Decidim::ParticipatoryProcesses::ParticipatoryProcessInputFilter, "This argument lets you filter the results", required: false argument :order, Decidim::ParticipatoryProcesses::ParticipatoryProcessInputSort, "This argument lets you order the results", required: false end type.field :participatory_process, Decidim::ParticipatoryProcesses::ParticipatoryProcessType, null: true, description: "Finds a participatory_process" do argument :id, GraphQL::Types::ID, "The ID of the participatory space", required: false argument :slug, String, "The slug of the participatory process", required: false end type.field :participatory_process_groups, [ParticipatoryProcessGroupType], null: false, description: "Lists all participatory process groups" type.field :participatory_process_group, ParticipatoryProcessGroupType, null: true do description "Finds a participatory process group" argument :id, GraphQL::Types::ID, required: true, description: "The ID of the Participatory process group" end end |
Instance Method Details
#participatory_process(id: nil, slug: nil) ⇒ Object
45 46 47 48 |
# File 'lib/decidim/participatory_processes/query_extensions.rb', line 45 def participatory_process(id: nil, slug: nil) manifest = Decidim.participatory_space_manifests.select { |m| m.name == :participatory_processes }.first Decidim::Core::ParticipatorySpaceFinderBase.new(manifest:).call(object, { id:, slug: }, context) end |
#participatory_process_group(id:) ⇒ Object
54 55 56 |
# File 'lib/decidim/participatory_processes/query_extensions.rb', line 54 def participatory_process_group(id:) Decidim::ParticipatoryProcessGroup.where(organization:).find(id) end |
#participatory_process_groups ⇒ Object
50 51 52 |
# File 'lib/decidim/participatory_processes/query_extensions.rb', line 50 def participatory_process_groups(*) Decidim::ParticipatoryProcessGroup.where(organization:) end |
#participatory_processes(filter: {}, order: {}) ⇒ Object
40 41 42 43 |
# File 'lib/decidim/participatory_processes/query_extensions.rb', line 40 def participatory_processes(filter: {}, order: {}) manifest = Decidim.participatory_space_manifests.select { |m| m.name == :participatory_processes }.first Decidim::Core::ParticipatorySpaceListBase.new(manifest:).call(object, { filter:, order: }, context) end |