Sha256: 2a89323a23f936eed24fcaf60020f30ad4ae6cd122fa43556910fc0e2f6b4eb6

Contents?: true

Size: 904 Bytes

Versions: 37

Compression:

Stored size: 904 Bytes

Contents

# frozen_string_literal: true

module Decidim
  module Elections
    class ElectionsType < Decidim::Api::Types::BaseObject
      implements Decidim::Core::ComponentInterface

      graphql_name "Elections"
      description "An elections component of a participatory space."

      field :elections, Decidim::Elections::ElectionType.connection_type, null: true, connection: true

      def elections
        ElectionsTypeHelper.base_scope(object).includes(:component)
      end

      field :election, Decidim::Elections::ElectionType, null: true do
        argument :id, GraphQL::Types::ID, required: true
      end

      def election(**args)
        ElectionsTypeHelper.base_scope(object).find_by(id: args[:id])
      end
    end

    module ElectionsTypeHelper
      def self.base_scope(component)
        Election.where(component: component).where.not(published_at: nil)
      end
    end
  end
end

Version data entries

37 entries across 37 versions & 1 rubygems

Version Path
decidim-elections-0.27.9 lib/decidim/api/elections_type.rb
decidim-elections-0.27.8 lib/decidim/api/elections_type.rb
decidim-elections-0.27.7 lib/decidim/api/elections_type.rb
decidim-elections-0.27.6 lib/decidim/api/elections_type.rb
decidim-elections-0.26.10 lib/decidim/api/elections_type.rb
decidim-elections-0.26.9 lib/decidim/api/elections_type.rb
decidim-elections-0.27.5 lib/decidim/api/elections_type.rb
decidim-elections-0.26.8 lib/decidim/api/elections_type.rb
decidim-elections-0.27.4 lib/decidim/api/elections_type.rb
decidim-elections-0.27.3 lib/decidim/api/elections_type.rb
decidim-elections-0.26.7 lib/decidim/api/elections_type.rb
decidim-elections-0.26.5 lib/decidim/api/elections_type.rb
decidim-elections-0.27.2 lib/decidim/api/elections_type.rb
decidim-elections-0.27.1 lib/decidim/api/elections_type.rb
decidim-elections-0.26.4 lib/decidim/api/elections_type.rb
decidim-elections-0.27.0 lib/decidim/api/elections_type.rb
decidim-elections-0.26.3 lib/decidim/api/elections_type.rb
decidim-elections-0.27.0.rc2 lib/decidim/api/elections_type.rb
decidim-elections-0.27.0.rc1 lib/decidim/api/elections_type.rb
decidim-elections-0.26.2 lib/decidim/api/elections_type.rb