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