decidim-blogs 0.23.3 → 0.24.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/app/cells/decidim/blogs/post_m_cell.rb +1 -1
- data/app/models/decidim/blogs/post.rb +12 -6
- data/app/views/decidim/blogs/admin/posts/edit.html.erb +1 -1
- data/config/locales/ca.yml +1 -0
- data/config/locales/cs.yml +1 -0
- data/config/locales/de.yml +3 -2
- data/config/locales/en.yml +1 -0
- data/config/locales/es-MX.yml +1 -0
- data/config/locales/es-PY.yml +1 -0
- data/config/locales/es.yml +1 -0
- data/config/locales/fi-plain.yml +3 -2
- data/config/locales/fi.yml +3 -2
- data/config/locales/fr-CA.yml +1 -0
- data/config/locales/fr.yml +1 -0
- data/config/locales/gl.yml +1 -0
- data/config/locales/is-IS.yml +4 -0
- data/config/locales/ja.yml +1 -0
- data/config/locales/nl.yml +2 -1
- data/config/locales/pl.yml +1 -0
- data/config/locales/ro-RO.yml +1 -0
- data/config/locales/ru.yml +2 -2
- data/config/locales/sv.yml +1 -0
- data/config/locales/tr-TR.yml +1 -0
- data/config/locales/uk.yml +2 -2
- data/db/migrate/20210310120514_add_followable_counter_cache_to_blogs.rb +16 -0
- data/lib/decidim/api/blogs_type.rb +29 -0
- data/{app/types/decidim/blogs → lib/decidim/api}/post_input_filter.rb +0 -0
- data/{app/types/decidim/blogs → lib/decidim/api}/post_input_sort.rb +1 -1
- data/lib/decidim/api/post_type.rb +21 -0
- data/lib/decidim/blogs.rb +1 -0
- data/lib/decidim/blogs/api.rb +10 -0
- data/lib/decidim/blogs/component.rb +2 -2
- data/lib/decidim/blogs/version.rb +1 -1
- metadata +24 -36
- data/app/types/decidim/blogs/blogs_type.rb +0 -30
- data/app/types/decidim/blogs/post_type.rb +0 -24
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 70483abf959a69a9456cbdd3dd1049d27fefe0c9a135630bb6ee98bf82d5cc6d
|
4
|
+
data.tar.gz: 5bc12315bc6db0f8687334a996c9931c7e9ccb863ffe89405fbd3bdb681c566c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 46b72ebd4dd4a69cdde1b629d725e92b9db0021f7fc28c6a57f67ac11a4e8fbe323e3e85d0e877192479566db2bcf49415813cc0aac15450f02d6a76a7286cc7
|
7
|
+
data.tar.gz: 632b7d4ae8986d957febec86aef1cf31b7dfbc998812fecbfceb40a4f46890a0bedd952153a4213cd5d7d0c9fa7a1fc0e50c9cfce63a637a709f38a2a3623b2a
|
@@ -13,7 +13,7 @@ module Decidim
|
|
13
13
|
|
14
14
|
def endorsements_count
|
15
15
|
with_tooltip t("decidim.endorsable.endorsements") do
|
16
|
-
icon("bullhorn", class: "icon--small")
|
16
|
+
"#{icon("bullhorn", class: "icon--small")} #{model.endorsements_count}"
|
17
17
|
end
|
18
18
|
end
|
19
19
|
end
|
@@ -26,12 +26,18 @@ module Decidim
|
|
26
26
|
|
27
27
|
scope :created_at_desc, -> { order(arel_table[:created_at].desc) }
|
28
28
|
|
29
|
-
searchable_fields(
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
29
|
+
searchable_fields({
|
30
|
+
participatory_space: { component: :participatory_space },
|
31
|
+
A: :title,
|
32
|
+
D: :body,
|
33
|
+
datetime: :created_at
|
34
|
+
},
|
35
|
+
index_on_create: true,
|
36
|
+
index_on_update: ->(post) { post.visible? })
|
37
|
+
|
38
|
+
def visible?
|
39
|
+
participatory_space.try(:visible?) && component.try(:published?)
|
40
|
+
end
|
35
41
|
|
36
42
|
# Public: Overrides the `commentable?` Commentable concern method.
|
37
43
|
def commentable?
|
@@ -1,5 +1,5 @@
|
|
1
1
|
<%= decidim_form_for(@form, html: { class: "form edit_post" }) do |f| %>
|
2
|
-
<%= render partial: "form", object: f %>
|
2
|
+
<%= render partial: "form", object: f, locals: { title: t(".title") } %>
|
3
3
|
|
4
4
|
<div class="button--double form-general-submit">
|
5
5
|
<%= f.submit t(".save") %>
|
data/config/locales/ca.yml
CHANGED
data/config/locales/cs.yml
CHANGED
data/config/locales/de.yml
CHANGED
@@ -18,7 +18,7 @@ de:
|
|
18
18
|
admin:
|
19
19
|
models:
|
20
20
|
components:
|
21
|
-
body:
|
21
|
+
body: Haupttext
|
22
22
|
post:
|
23
23
|
name: Post
|
24
24
|
posts:
|
@@ -29,6 +29,7 @@ de:
|
|
29
29
|
success: Beitrag wurde erfolgreich gelöscht
|
30
30
|
edit:
|
31
31
|
save: Aktualisieren
|
32
|
+
title: Post bearbeiten
|
32
33
|
index:
|
33
34
|
title: Beiträge
|
34
35
|
new:
|
@@ -43,7 +44,7 @@ de:
|
|
43
44
|
post:
|
44
45
|
fields:
|
45
46
|
author: Autor
|
46
|
-
body:
|
47
|
+
body: Haupttext
|
47
48
|
created_at: Hergestellt in
|
48
49
|
title: Titel
|
49
50
|
posts:
|
data/config/locales/en.yml
CHANGED
data/config/locales/es-MX.yml
CHANGED
data/config/locales/es-PY.yml
CHANGED
data/config/locales/es.yml
CHANGED
data/config/locales/fi-plain.yml
CHANGED
@@ -29,6 +29,7 @@ fi-pl:
|
|
29
29
|
success: Artikkeli poistettu onnistuneesti
|
30
30
|
edit:
|
31
31
|
save: Päivitä
|
32
|
+
title: Muokkaa artikkelia
|
32
33
|
index:
|
33
34
|
title: Artikkelit
|
34
35
|
new:
|
@@ -78,7 +79,7 @@ fi-pl:
|
|
78
79
|
pages:
|
79
80
|
home:
|
80
81
|
statistics:
|
81
|
-
posts_count:
|
82
|
+
posts_count: Artikkelit
|
82
83
|
participatory_processes:
|
83
84
|
statistics:
|
84
|
-
posts_count:
|
85
|
+
posts_count: Artikkelit
|
data/config/locales/fi.yml
CHANGED
@@ -29,6 +29,7 @@ fi:
|
|
29
29
|
success: Artikkelin poisto onnistui
|
30
30
|
edit:
|
31
31
|
save: Päivitä
|
32
|
+
title: Muokkaa artikkelia
|
32
33
|
index:
|
33
34
|
title: Artikkelit
|
34
35
|
new:
|
@@ -78,7 +79,7 @@ fi:
|
|
78
79
|
pages:
|
79
80
|
home:
|
80
81
|
statistics:
|
81
|
-
posts_count:
|
82
|
+
posts_count: Artikkelit
|
82
83
|
participatory_processes:
|
83
84
|
statistics:
|
84
|
-
posts_count:
|
85
|
+
posts_count: Artikkelit
|
data/config/locales/fr-CA.yml
CHANGED
data/config/locales/fr.yml
CHANGED
data/config/locales/gl.yml
CHANGED
data/config/locales/is-IS.yml
CHANGED
@@ -51,6 +51,10 @@ is-IS:
|
|
51
51
|
email_outro: Þú hefur fengið þessa tilkynningu vegna þess að þú fylgist með "%{participatory_space_title}". Þú getur sleppt því frá fyrri tengilinn.
|
52
52
|
email_subject: Ný staða birt í %{participatory_space_title}
|
53
53
|
notification_title: Staða <a href="%{resource_path}">%{resource_title}</a> hefur verið birt í %{participatory_space_title}
|
54
|
+
pages:
|
55
|
+
home:
|
56
|
+
statistics:
|
57
|
+
posts_count: Innlegg
|
54
58
|
participatory_processes:
|
55
59
|
statistics:
|
56
60
|
posts_count: Innlegg
|
data/config/locales/ja.yml
CHANGED
data/config/locales/nl.yml
CHANGED
@@ -29,6 +29,7 @@ nl:
|
|
29
29
|
success: Post succesvol verwijderd
|
30
30
|
edit:
|
31
31
|
save: Bijwerken
|
32
|
+
title: Bericht bewerken
|
32
33
|
index:
|
33
34
|
title: berichten
|
34
35
|
new:
|
@@ -81,4 +82,4 @@ nl:
|
|
81
82
|
posts_count: berichten
|
82
83
|
participatory_processes:
|
83
84
|
statistics:
|
84
|
-
posts_count:
|
85
|
+
posts_count: berichten
|
data/config/locales/pl.yml
CHANGED
data/config/locales/ro-RO.yml
CHANGED
data/config/locales/ru.yml
CHANGED
data/config/locales/sv.yml
CHANGED
data/config/locales/tr-TR.yml
CHANGED
data/config/locales/uk.yml
CHANGED
@@ -0,0 +1,16 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
class AddFollowableCounterCacheToBlogs < ActiveRecord::Migration[5.2]
|
4
|
+
def change
|
5
|
+
add_column :decidim_blogs_posts, :follows_count, :integer, null: false, default: 0, index: true
|
6
|
+
|
7
|
+
reversible do |dir|
|
8
|
+
dir.up do
|
9
|
+
Decidim::Blogs::Post.reset_column_information
|
10
|
+
Decidim::Blogs::Post.find_each do |record|
|
11
|
+
record.class.reset_counters(record.id, :follows)
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Decidim
|
4
|
+
module Blogs
|
5
|
+
class BlogsType < Decidim::Api::Types::BaseObject
|
6
|
+
implements Decidim::Core::ComponentInterface
|
7
|
+
|
8
|
+
graphql_name "Blogs"
|
9
|
+
description "A blogs component of a participatory space."
|
10
|
+
|
11
|
+
field :posts, type: Decidim::Blogs::PostType.connection_type, description: "List all posts", connection: true, null: false do
|
12
|
+
argument :order, Decidim::Blogs::PostInputSort, "Provides several methods to order the results", required: false
|
13
|
+
argument :filter, Decidim::Blogs::PostInputFilter, "Provides several methods to filter the results", required: false
|
14
|
+
end
|
15
|
+
|
16
|
+
field :post, type: Decidim::Blogs::PostType, description: "Finds one post", null: true do
|
17
|
+
argument :id, GraphQL::Types::ID, "The ID of the post", required: true
|
18
|
+
end
|
19
|
+
|
20
|
+
def posts(filter: {}, order: {})
|
21
|
+
Decidim::Core::ComponentListBase.new(model_class: Post).call(object, { filter: filter, order: order }, context)
|
22
|
+
end
|
23
|
+
|
24
|
+
def post(id:)
|
25
|
+
Decidim::Core::ComponentFinderBase.new(model_class: Post).call(object, { id: id }, context)
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
File without changes
|
@@ -9,7 +9,7 @@ module Decidim
|
|
9
9
|
graphql_name "PostSort"
|
10
10
|
description "A type used for sorting blog posts"
|
11
11
|
|
12
|
-
argument :id, String, "Sort by ID, valid values are ASC or DESC", required: false
|
12
|
+
argument :id, GraphQL::Types::String, "Sort by ID, valid values are ASC or DESC", required: false
|
13
13
|
end
|
14
14
|
end
|
15
15
|
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Decidim
|
4
|
+
module Blogs
|
5
|
+
# This type represents a Post.
|
6
|
+
class PostType < Decidim::Api::Types::BaseObject
|
7
|
+
implements Decidim::Comments::CommentableInterface
|
8
|
+
implements Decidim::Core::AttachableInterface
|
9
|
+
implements Decidim::Core::AuthorableInterface
|
10
|
+
implements Decidim::Core::TraceableInterface
|
11
|
+
implements Decidim::Core::EndorsableInterface
|
12
|
+
implements Decidim::Core::TimestampsInterface
|
13
|
+
|
14
|
+
description "A post"
|
15
|
+
|
16
|
+
field :id, GraphQL::Types::ID, "The internal ID of this post", null: false
|
17
|
+
field :title, Decidim::Core::TranslatedFieldType, "The title for this post", null: true
|
18
|
+
field :body, Decidim::Core::TranslatedFieldType, "The body of this post", null: true
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
data/lib/decidim/blogs.rb
CHANGED
@@ -0,0 +1,10 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Decidim
|
4
|
+
module Blogs
|
5
|
+
autoload :PostInputSort, "decidim/api/post_input_sort"
|
6
|
+
autoload :PostInputFilter, "decidim/api/post_input_filter"
|
7
|
+
autoload :PostType, "decidim/api/post_type"
|
8
|
+
autoload :BlogsType, "decidim/api/blogs_type"
|
9
|
+
end
|
10
|
+
end
|
@@ -77,9 +77,9 @@ Decidim.register_component(:blogs) do |component|
|
|
77
77
|
|
78
78
|
params = {
|
79
79
|
component: component,
|
80
|
-
title: Decidim::Faker::Localized.sentence(5),
|
80
|
+
title: Decidim::Faker::Localized.sentence(word_count: 5),
|
81
81
|
body: Decidim::Faker::Localized.wrapped("<p>", "</p>") do
|
82
|
-
Decidim::Faker::Localized.paragraph(20)
|
82
|
+
Decidim::Faker::Localized.paragraph(sentence_count: 20)
|
83
83
|
end,
|
84
84
|
author: author
|
85
85
|
}
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: decidim-blogs
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.24.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Isaac Massot Gil
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-
|
11
|
+
date: 2021-04-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: decidim-admin
|
@@ -16,56 +16,42 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - '='
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 0.
|
19
|
+
version: 0.24.1
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - '='
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 0.
|
26
|
+
version: 0.24.1
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: decidim-comments
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - '='
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: 0.
|
33
|
+
version: 0.24.1
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - '='
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: 0.
|
40
|
+
version: 0.24.1
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: decidim-core
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
45
|
- - '='
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: 0.
|
47
|
+
version: 0.24.1
|
48
48
|
type: :runtime
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
52
|
- - '='
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: 0.
|
55
|
-
- !ruby/object:Gem::Dependency
|
56
|
-
name: httparty
|
57
|
-
requirement: !ruby/object:Gem::Requirement
|
58
|
-
requirements:
|
59
|
-
- - "~>"
|
60
|
-
- !ruby/object:Gem::Version
|
61
|
-
version: '0.17'
|
62
|
-
type: :runtime
|
63
|
-
prerelease: false
|
64
|
-
version_requirements: !ruby/object:Gem::Requirement
|
65
|
-
requirements:
|
66
|
-
- - "~>"
|
67
|
-
- !ruby/object:Gem::Version
|
68
|
-
version: '0.17'
|
54
|
+
version: 0.24.1
|
69
55
|
- !ruby/object:Gem::Dependency
|
70
56
|
name: jquery-tmpl-rails
|
71
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -106,56 +92,56 @@ dependencies:
|
|
106
92
|
requirements:
|
107
93
|
- - '='
|
108
94
|
- !ruby/object:Gem::Version
|
109
|
-
version: 0.
|
95
|
+
version: 0.24.1
|
110
96
|
type: :development
|
111
97
|
prerelease: false
|
112
98
|
version_requirements: !ruby/object:Gem::Requirement
|
113
99
|
requirements:
|
114
100
|
- - '='
|
115
101
|
- !ruby/object:Gem::Version
|
116
|
-
version: 0.
|
102
|
+
version: 0.24.1
|
117
103
|
- !ruby/object:Gem::Dependency
|
118
104
|
name: decidim-assemblies
|
119
105
|
requirement: !ruby/object:Gem::Requirement
|
120
106
|
requirements:
|
121
107
|
- - '='
|
122
108
|
- !ruby/object:Gem::Version
|
123
|
-
version: 0.
|
109
|
+
version: 0.24.1
|
124
110
|
type: :development
|
125
111
|
prerelease: false
|
126
112
|
version_requirements: !ruby/object:Gem::Requirement
|
127
113
|
requirements:
|
128
114
|
- - '='
|
129
115
|
- !ruby/object:Gem::Version
|
130
|
-
version: 0.
|
116
|
+
version: 0.24.1
|
131
117
|
- !ruby/object:Gem::Dependency
|
132
118
|
name: decidim-dev
|
133
119
|
requirement: !ruby/object:Gem::Requirement
|
134
120
|
requirements:
|
135
121
|
- - '='
|
136
122
|
- !ruby/object:Gem::Version
|
137
|
-
version: 0.
|
123
|
+
version: 0.24.1
|
138
124
|
type: :development
|
139
125
|
prerelease: false
|
140
126
|
version_requirements: !ruby/object:Gem::Requirement
|
141
127
|
requirements:
|
142
128
|
- - '='
|
143
129
|
- !ruby/object:Gem::Version
|
144
|
-
version: 0.
|
130
|
+
version: 0.24.1
|
145
131
|
- !ruby/object:Gem::Dependency
|
146
132
|
name: decidim-participatory_processes
|
147
133
|
requirement: !ruby/object:Gem::Requirement
|
148
134
|
requirements:
|
149
135
|
- - '='
|
150
136
|
- !ruby/object:Gem::Version
|
151
|
-
version: 0.
|
137
|
+
version: 0.24.1
|
152
138
|
type: :development
|
153
139
|
prerelease: false
|
154
140
|
version_requirements: !ruby/object:Gem::Requirement
|
155
141
|
requirements:
|
156
142
|
- - '='
|
157
143
|
- !ruby/object:Gem::Version
|
158
|
-
version: 0.
|
144
|
+
version: 0.24.1
|
159
145
|
description: A Blog component for decidim's participatory spaces.
|
160
146
|
email:
|
161
147
|
- isaac.mg@coditramuntana.com
|
@@ -187,10 +173,6 @@ files:
|
|
187
173
|
- app/models/decidim/blogs/post.rb
|
188
174
|
- app/permissions/decidim/blog/permissions.rb
|
189
175
|
- app/presenters/decidim/blogs/post_presenter.rb
|
190
|
-
- app/types/decidim/blogs/blogs_type.rb
|
191
|
-
- app/types/decidim/blogs/post_input_filter.rb
|
192
|
-
- app/types/decidim/blogs/post_input_sort.rb
|
193
|
-
- app/types/decidim/blogs/post_type.rb
|
194
176
|
- app/views/decidim/blogs/admin/posts/_form.html.erb
|
195
177
|
- app/views/decidim/blogs/admin/posts/edit.html.erb
|
196
178
|
- app/views/decidim/blogs/admin/posts/index.html.erb
|
@@ -275,9 +257,15 @@ files:
|
|
275
257
|
- db/migrate/20200128094730_add_endorsements_counter_cache_to_blogs.rb
|
276
258
|
- db/migrate/20200320105910_index_foreign_keys_in_decidim_blogs_posts.rb
|
277
259
|
- db/migrate/20200827153709_add_commentable_counter_cache_to_posts.rb
|
260
|
+
- db/migrate/20210310120514_add_followable_counter_cache_to_blogs.rb
|
261
|
+
- lib/decidim/api/blogs_type.rb
|
262
|
+
- lib/decidim/api/post_input_filter.rb
|
263
|
+
- lib/decidim/api/post_input_sort.rb
|
264
|
+
- lib/decidim/api/post_type.rb
|
278
265
|
- lib/decidim/blogs.rb
|
279
266
|
- lib/decidim/blogs/admin.rb
|
280
267
|
- lib/decidim/blogs/admin_engine.rb
|
268
|
+
- lib/decidim/blogs/api.rb
|
281
269
|
- lib/decidim/blogs/component.rb
|
282
270
|
- lib/decidim/blogs/engine.rb
|
283
271
|
- lib/decidim/blogs/test/factories.rb
|
@@ -294,14 +282,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
294
282
|
requirements:
|
295
283
|
- - ">="
|
296
284
|
- !ruby/object:Gem::Version
|
297
|
-
version: '2.
|
285
|
+
version: '2.7'
|
298
286
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
299
287
|
requirements:
|
300
288
|
- - ">="
|
301
289
|
- !ruby/object:Gem::Version
|
302
290
|
version: '0'
|
303
291
|
requirements: []
|
304
|
-
rubygems_version: 3.
|
292
|
+
rubygems_version: 3.1.2
|
305
293
|
signing_key:
|
306
294
|
specification_version: 4
|
307
295
|
summary: Decidim blogs module
|
@@ -1,30 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module Decidim
|
4
|
-
module Blogs
|
5
|
-
BlogsType = GraphQL::ObjectType.define do
|
6
|
-
interfaces [-> { Decidim::Core::ComponentInterface }]
|
7
|
-
|
8
|
-
name "Blogs"
|
9
|
-
description "A blogs component of a participatory space."
|
10
|
-
|
11
|
-
connection :posts,
|
12
|
-
type: PostType.connection_type,
|
13
|
-
description: "List all posts",
|
14
|
-
function: PostListHelper.new(model_class: Post)
|
15
|
-
field :post,
|
16
|
-
type: PostType,
|
17
|
-
description: "Finds one post",
|
18
|
-
function: PostFinderHelper.new(model_class: Post)
|
19
|
-
end
|
20
|
-
|
21
|
-
class PostListHelper < Decidim::Core::ComponentListBase
|
22
|
-
argument :order, PostInputSort, "Provides several methods to order the results"
|
23
|
-
argument :filter, PostInputFilter, "Provides several methods to filter the results"
|
24
|
-
end
|
25
|
-
|
26
|
-
class PostFinderHelper < Decidim::Core::ComponentFinderBase
|
27
|
-
argument :id, !types.ID, "The ID of the post"
|
28
|
-
end
|
29
|
-
end
|
30
|
-
end
|
@@ -1,24 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module Decidim
|
4
|
-
module Blogs
|
5
|
-
# This type represents a Post.
|
6
|
-
PostType = GraphQL::ObjectType.define do
|
7
|
-
interfaces [
|
8
|
-
-> { Decidim::Comments::CommentableInterface },
|
9
|
-
-> { Decidim::Core::AttachableInterface },
|
10
|
-
-> { Decidim::Core::AuthorableInterface },
|
11
|
-
-> { Decidim::Core::TraceableInterface },
|
12
|
-
-> { Decidim::Core::EndorsableInterface },
|
13
|
-
-> { Decidim::Core::TimestampsInterface }
|
14
|
-
]
|
15
|
-
|
16
|
-
name "Post"
|
17
|
-
description "A post"
|
18
|
-
|
19
|
-
field :id, !types.ID, "The internal ID of this post"
|
20
|
-
field :title, Decidim::Core::TranslatedFieldType, "The title for this post"
|
21
|
-
field :body, Decidim::Core::TranslatedFieldType, "The body of this post"
|
22
|
-
end
|
23
|
-
end
|
24
|
-
end
|