Sha256: cf059c587e7eb77e1c90660edc624050d6a11018d729e17ecf8aa930e27b39a5
Contents?: true
Size: 1.08 KB
Versions: 10
Compression:
Stored size: 1.08 KB
Contents
# frozen_string_literal: true module Decidim module Core # An abstract resolver for the GraphQL component endpoints inside a participatory_space. # Used in the keyword "components", ie: # # participatoryProcesses { # components {...} # } # # Needs to be extended and add arguments. # # This is used by ParticipatorySpaceInterface to apply filter/orders when # searching raw components. When listing properly defined components, # use ComponentListBase instead class ComponentList < GraphQL::Function include NeedsApiFilterAndOrder attr_reader :model_class def initialize @model_class = Component end def call(participatory_space, args, _ctx) @query = Decidim::Component # remove default ordering if custom order required @query = @query.unscoped if args[:order] @query = @query.where( participatory_space: participatory_space ).published add_filter_keys(args[:filter]) add_order_keys(args[:order].to_h) @query end end end end
Version data entries
10 entries across 10 versions & 1 rubygems