Sha256: 17ca742b4586b3705dfa93bd5bb24ab3c314205f16c4c70bed24a98d640cea4f
Contents?: true
Size: 894 Bytes
Versions: 8
Compression:
Stored size: 894 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:).where.not(published_at: nil) end end end end
Version data entries
8 entries across 8 versions & 1 rubygems