Sha256: 41784e92ab95141e486ee722f4a5d93a4259155dcdf4ca0cae79b0828e2b35c6

Contents?: true

Size: 1008 Bytes

Versions: 5

Compression:

Stored size: 1008 Bytes

Contents

# frozen_string_literal: true

module Decidim
  # This module's job is to extend the API with custom fields related to
  # decidim-core.
  module QueryExtensions
    # Public: Extends a type with `decidim-core`'s fields.
    #
    # type - A GraphQL::BaseType to extend.
    #
    # Returns nothing.
    def self.extend!(type)
      type.define do
        field :processes do
          type !types[ProcessType]
          description "Lists all processes."

          resolve lambda { |_obj, _args, ctx|
            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
  end
end

Version data entries

5 entries across 5 versions & 2 rubygems

Version Path
decidim-core-0.5.1 lib/decidim/query_extensions.rb
decidim-0.5.1 decidim-core/lib/decidim/query_extensions.rb
decidim-core-0.5.0 lib/decidim/query_extensions.rb
decidim-0.5.0 decidim-core/lib/decidim/query_extensions.rb
decidim-core-0.4.4 lib/decidim/query_extensions.rb