Sha256: 14af44e0951216597d3e9ed9571a20b5b35fb662e25bbf29717b6bf8eb68054f

Contents?: true

Size: 1.13 KB

Versions: 37

Compression:

Stored size: 1.13 KB

Contents

# frozen_string_literal: true

module Decidim
  module Blogs
    class BlogsType < Decidim::Api::Types::BaseObject
      implements Decidim::Core::ComponentInterface

      graphql_name "Blogs"
      description "A blogs component of a participatory space."

      field :posts, type: Decidim::Blogs::PostType.connection_type, description: "List all posts", connection: true, null: false do
        argument :order, Decidim::Blogs::PostInputSort, "Provides several methods to order the results", required: false
        argument :filter, Decidim::Blogs::PostInputFilter, "Provides several methods to filter the results", required: false
      end

      field :post, type: Decidim::Blogs::PostType, description: "Finds one post", null: true do
        argument :id, GraphQL::Types::ID, "The ID of the post", required: true
      end

      def posts(filter: {}, order: {})
        Decidim::Core::ComponentListBase.new(model_class: Post).call(object, { filter: filter, order: order }, context)
      end

      def post(id:)
        Decidim::Core::ComponentFinderBase.new(model_class: Post).call(object, { id: id }, context)
      end
    end
  end
end

Version data entries

37 entries across 37 versions & 1 rubygems

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