Sha256: 251eb94fdf0f6c51e1b23f80751d2ddc4a75a235c0ec7f9070081c57b02521f0

Contents?: true

Size: 735 Bytes

Versions: 2

Compression:

Stored size: 735 Bytes

Contents

# frozen_string_literal: true

module Decidim
  module Surveys
    class SurveysType < Decidim::Core::ComponentType
      graphql_name "Surveys"
      description "A surveys component of a participatory space."

      field :survey, Decidim::Surveys::SurveyType, "A single Survey object", null: true do
        argument :id, GraphQL::Types::ID, "The id of the Survey requested", required: true
      end
      field :surveys, Decidim::Surveys::SurveyType.connection_type, "A collection of Surveys", null: true, connection: true

      def surveys
        Survey.where(component: object).includes(:component)
      end

      def survey(**args)
        Survey.where(component: object).find_by(id: args[:id])
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
decidim-surveys-0.30.0.rc2 lib/decidim/api/surveys_type.rb
decidim-surveys-0.30.0.rc1 lib/decidim/api/surveys_type.rb