Sha256: e32ce08a377c067d8b1aa17fccd7ca57ada90bf11cdca9f7d438bf55f2cc57f8

Contents?: true

Size: 979 Bytes

Versions: 9

Compression:

Stored size: 979 Bytes

Contents

# frozen_string_literal: true

module Decidim
  module Blogs
    BlogsType = GraphQL::ObjectType.define do
      interfaces [-> { Decidim::Core::ComponentInterface }]

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

      connection :posts,
                 type: PostType.connection_type,
                 description: "List all posts",
                 function: PostListHelper.new(model_class: Post)
      field :post,
            type: PostType,
            description: "Finds one post",
            function: PostFinderHelper.new(model_class: Post)
    end

    class PostListHelper < Decidim::Core::ComponentListBase
      argument :order, PostInputSort, "Provides several methods to order the results"
      argument :filter, PostInputFilter, "Provides several methods to filter the results"
    end

    class PostFinderHelper < Decidim::Core::ComponentFinderBase
      argument :id, !types.ID, "The ID of the post"
    end
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
decidim-blogs-0.23.6 app/types/decidim/blogs/blogs_type.rb
decidim-blogs-0.23.5 app/types/decidim/blogs/blogs_type.rb
decidim-blogs-0.23.4 app/types/decidim/blogs/blogs_type.rb
decidim-blogs-0.23.3 app/types/decidim/blogs/blogs_type.rb
decidim-blogs-0.23.2 app/types/decidim/blogs/blogs_type.rb
decidim-blogs-0.23.1 app/types/decidim/blogs/blogs_type.rb
decidim-blogs-0.23.1.rc1 app/types/decidim/blogs/blogs_type.rb
decidim-blogs-0.23.0 app/types/decidim/blogs/blogs_type.rb
decidim-blogs-0.22.0 app/types/decidim/blogs/blogs_type.rb