decidim-comments 0.8.4 → 0.9.0

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.
Files changed (44) hide show
  1. checksums.yaml +5 -5
  2. data/README.md +7 -0
  3. data/app/assets/javascripts/decidim/comments/bundle.js +115 -111
  4. data/app/assets/javascripts/decidim/comments/bundle.js.map +1 -1
  5. data/app/commands/decidim/comments/create_comment.rb +24 -2
  6. data/app/events/decidim/comments/comment_created_event.rb +13 -30
  7. data/app/events/decidim/comments/user_mentioned_event.rb +39 -0
  8. data/app/frontend/application/apollo_client.ts +10 -6
  9. data/app/frontend/application/application.component.test.tsx +0 -13
  10. data/app/frontend/application/application.component.tsx +0 -2
  11. data/app/frontend/comments/add_comment_form.component.tsx +23 -21
  12. data/app/frontend/comments/comment.component.test.tsx +9 -4
  13. data/app/frontend/comments/comment.component.tsx +80 -22
  14. data/app/frontend/comments/comments.component.test.tsx +1 -0
  15. data/app/frontend/comments/comments.component.tsx +2 -2
  16. data/app/frontend/comments/down_vote_button.component.tsx +48 -50
  17. data/app/frontend/comments/up_vote_button.component.tsx +13 -11
  18. data/app/frontend/fragments/comment_data.fragment.graphql +5 -2
  19. data/app/frontend/queries/comments.query.graphql +2 -0
  20. data/app/frontend/support/generate_comments_data.ts +10 -4
  21. data/app/frontend/support/generate_user_data.ts +2 -1
  22. data/app/frontend/support/schema.ts +419 -216
  23. data/app/models/decidim/comments/comment.rb +11 -0
  24. data/app/queries/decidim/comments/sorted_comments.rb +2 -2
  25. data/app/types/decidim/comments/commentable_interface.rb +10 -1
  26. data/config/locales/ca.yml +20 -16
  27. data/config/locales/en.yml +18 -13
  28. data/config/locales/es.yml +22 -18
  29. data/config/locales/eu.yml +18 -13
  30. data/config/locales/fi.yml +19 -14
  31. data/config/locales/fr.yml +18 -13
  32. data/config/locales/gl.yml +75 -0
  33. data/config/locales/it.yml +18 -13
  34. data/config/locales/nl.yml +18 -13
  35. data/config/locales/pl.yml +18 -13
  36. data/config/locales/pt-BR.yml +75 -0
  37. data/config/locales/pt.yml +18 -13
  38. data/config/locales/ru.yml +1 -14
  39. data/config/locales/sv.yml +75 -0
  40. data/config/locales/uk.yml +0 -13
  41. data/lib/decidim/comments/api/comment_type.rb +5 -1
  42. data/lib/decidim/comments/commentable.rb +2 -1
  43. data/lib/decidim/comments/version.rb +1 -1
  44. metadata +15 -11
@@ -37,9 +37,9 @@ export class Comments extends React.Component<CommentsProps> {
37
37
  };
38
38
 
39
39
  public render() {
40
- const { commentable: { comments }, reorderComments, orderBy, loading } = this.props;
40
+ const { commentable: { comments, totalCommentsCount }, reorderComments, orderBy, loading } = this.props;
41
41
  let commentClasses = "comments";
42
- let commentHeader = I18n.t("components.comments.title", { count: comments.length });
42
+ let commentHeader = I18n.t("components.comments.title", { count: totalCommentsCount });
43
43
 
44
44
  if (loading) {
45
45
  commentClasses += " loading-comments";
@@ -1,5 +1,5 @@
1
1
  import * as React from "react";
2
- import { graphql } from "react-apollo";
2
+ import { graphql, MutationFunc } from "react-apollo";
3
3
 
4
4
  import VoteButton from "./vote_button.component";
5
5
 
@@ -55,62 +55,60 @@ const downVoteMutation = require("../mutations/down_vote.mutation.graphql");
55
55
  const getCommentsQuery = require("../queries/comments.query.graphql");
56
56
 
57
57
  const DownVoteButtonWithMutation = graphql<DownVoteMutation, DownVoteButtonProps>(downVoteMutation, {
58
- props: ({ ownProps, mutate }) => ({
59
- downVote() {
60
- if (mutate) {
61
- mutate({
62
- variables: {
63
- id: ownProps.comment.id,
58
+ props: ({ ownProps, mutate }: { ownProps: DownVoteButtonProps, mutate: MutationFunc<DownVoteMutation> }) => ({
59
+ downVote: () => mutate({
60
+ variables: {
61
+ id: ownProps.comment.id,
62
+ },
63
+ optimisticResponse: {
64
+ __typename: "Mutation",
65
+ comment: {
66
+ __typename: "CommentMutation",
67
+ downVote: {
68
+ __typename: "Comment",
69
+ ...ownProps.comment,
70
+ downVotes: ownProps.comment.downVotes + 1,
71
+ downVoted: true,
64
72
  },
65
- optimisticResponse: {
66
- __typename: "Mutation",
67
- comment: {
68
- __typename: "CommentMutation",
69
- downVote: {
70
- __typename: "Comment",
71
- ...ownProps.comment,
72
- downVotes: ownProps.comment.downVotes + 1,
73
- downVoted: true,
74
- },
75
- },
76
- },
77
- update: (store, { data }: { data: DownVoteMutation }) => {
78
- const variables = {
79
- commentableId: ownProps.rootCommentable.id,
80
- commentableType: ownProps.rootCommentable.type,
81
- orderBy: ownProps.orderBy,
82
- };
73
+ },
74
+ },
75
+ update: (store, { data }: { data: DownVoteMutation }) => {
76
+ const variables = {
77
+ commentableId: ownProps.rootCommentable.id,
78
+ commentableType: ownProps.rootCommentable.type,
79
+ orderBy: ownProps.orderBy,
80
+ };
83
81
 
84
- const commentReducer = (comment: CommentFragment): CommentFragment => {
85
- const replies = comment.comments || [];
82
+ const commentReducer = (comment: CommentFragment): CommentFragment => {
83
+ const replies = comment.comments || [];
86
84
 
87
- if (comment.id === ownProps.comment.id && data.comment) {
88
- return data.comment.downVote;
89
- }
85
+ if (comment.id === ownProps.comment.id && data.comment) {
86
+ return data.comment.downVote;
87
+ }
90
88
 
91
- return {
92
- ...comment,
93
- comments: replies.map(commentReducer),
94
- };
95
- };
89
+ return {
90
+ ...comment,
91
+ comments: replies.map(commentReducer),
92
+ };
93
+ };
96
94
 
97
- const prev = store.readQuery<GetCommentsQuery>({ query: getCommentsQuery, variables });
95
+ const prev = store.readQuery<GetCommentsQuery>({ query: getCommentsQuery, variables });
98
96
 
99
- store.writeQuery({
100
- query: getCommentsQuery,
101
- data: {
102
- ...prev,
103
- commentable: {
104
- ...prev.commentable,
105
- comments: prev.commentable.comments.map(commentReducer),
106
- },
97
+ if (prev) {
98
+ store.writeQuery({
99
+ query: getCommentsQuery,
100
+ data: {
101
+ ...prev,
102
+ commentable: {
103
+ ...prev.commentable,
104
+ comments: prev.commentable.comments.map(commentReducer),
107
105
  },
108
- variables,
109
- });
110
- },
111
- });
112
- }
113
- },
106
+ },
107
+ variables,
108
+ });
109
+ }
110
+ },
111
+ }),
114
112
  }),
115
113
  })(DownVoteButton);
116
114
 
@@ -54,7 +54,7 @@ export const UpVoteButton: React.SFC<UpVoteButtonProps> = ({
54
54
  const upVoteMutation = require("../mutations/up_vote.mutation.graphql");
55
55
  const getCommentsQuery = require("../queries/comments.query.graphql");
56
56
 
57
- const UpVoteButtonWithMutation = graphql(upVoteMutation, {
57
+ const UpVoteButtonWithMutation = graphql<UpVoteMutation, UpVoteButtonProps>(upVoteMutation, {
58
58
  props: ({ ownProps, mutate }: { ownProps: UpVoteButtonProps, mutate: MutationFunc<UpVoteMutation> }) => ({
59
59
  upVote: () => mutate({
60
60
  variables: {
@@ -94,17 +94,19 @@ const UpVoteButtonWithMutation = graphql(upVoteMutation, {
94
94
 
95
95
  const prev = store.readQuery<GetCommentsQuery>({ query: getCommentsQuery, variables });
96
96
 
97
- store.writeQuery({
98
- query: getCommentsQuery,
99
- data: {
100
- ...prev,
101
- commentable: {
102
- ...prev.commentable,
103
- comments: prev.commentable.comments.map(commentReducer),
97
+ if (prev) {
98
+ store.writeQuery({
99
+ query: getCommentsQuery,
100
+ data: {
101
+ ...prev,
102
+ commentable: {
103
+ ...prev.commentable,
104
+ comments: prev.commentable.comments.map(commentReducer),
105
+ },
104
106
  },
105
- },
106
- variables,
107
- });
107
+ variables,
108
+ });
109
+ }
108
110
  },
109
111
  }),
110
112
  }),
@@ -6,13 +6,16 @@ fragment CommentData on Comment {
6
6
  sgid
7
7
  type
8
8
  body
9
+ formattedBody
9
10
  createdAt
11
+ formattedCreatedAt
10
12
  author {
11
13
  name
14
+ nickname
12
15
  avatarUrl
13
- isVerified
14
- isUser
16
+ profilePath
15
17
  deleted
18
+ badge
16
19
  }
17
20
  hasComments
18
21
  acceptsNewComments
@@ -5,6 +5,7 @@ query GetComments($commentableId: String!, $commentableType: String!, $orderBy:
5
5
  session {
6
6
  user {
7
7
  name
8
+ nickname
8
9
  avatarUrl
9
10
  organizationName
10
11
  }
@@ -14,6 +15,7 @@ query GetComments($commentableId: String!, $commentableType: String!, $orderBy:
14
15
  acceptsNewComments
15
16
  commentsHaveAlignment
16
17
  commentsHaveVotes
18
+ totalCommentsCount
17
19
  comments(orderBy: $orderBy) {
18
20
  id
19
21
  ...CommentThread
@@ -11,17 +11,23 @@ const generateCommentsData = (num = 1) => {
11
11
  const commentsData: CommentFragment[] = [];
12
12
 
13
13
  for (let idx = 0; idx < num; idx += 1) {
14
+ const creationDate = date.recent();
15
+ const nickname = name.findName();
16
+
14
17
  commentsData.push({
15
18
  id: random.uuid(),
16
19
  type: "Decidim::Comments::Comment",
17
20
  body: lorem.words(),
18
- createdAt: date.past().toISOString(),
21
+ formattedBody: lorem.words(),
22
+ createdAt: creationDate.toISOString(),
23
+ formattedCreatedAt: creationDate.toLocaleTimeString(),
19
24
  author: {
20
- name: name.findName(),
25
+ name: `${name.firstName()} ${name.lastName()}`,
26
+ nickname: `@${nickname}`,
21
27
  avatarUrl: image.imageUrl(),
22
- isVerified: Math.random() >= 0.5,
23
- isUser: Math.random() >= 0.5,
28
+ profilePath: `/profiles/${nickname}`,
24
29
  deleted: false,
30
+ badge: "verified-badge",
25
31
  },
26
32
  hasComments: false,
27
33
  comments: [],
@@ -6,7 +6,8 @@ import { name } from "faker/locale/en";
6
6
  */
7
7
  const generateUserData = () => {
8
8
  return {
9
- name: name.findName(),
9
+ name: `${name.firstName()} ${name.lastName()}`,
10
+ nickname: `@${name.findName()}`,
10
11
  };
11
12
  };
12
13
 
@@ -1,7 +1,7 @@
1
1
  /* tslint:disable */
2
2
  // This file was automatically generated and should not be edited.
3
3
 
4
- export type addCommentMutationVariables = {
4
+ export interface addCommentMutationVariables {
5
5
  commentableId: string,
6
6
  commentableType: string,
7
7
  body: string,
@@ -9,7 +9,7 @@ export type addCommentMutationVariables = {
9
9
  userGroupId?: string | null,
10
10
  };
11
11
 
12
- export type addCommentMutation = {
12
+ export interface addCommentMutation {
13
13
  // A commentable
14
14
  commentable: {
15
15
  // Add a new comment to a commentable
@@ -24,31 +24,39 @@ export type addCommentMutation = {
24
24
  type: string,
25
25
  // The comment message
26
26
  body: string,
27
+ // The comment message ready to display (it is expected to include HTML)
28
+ formattedBody: string,
27
29
  // The creation date of the comment
28
30
  createdAt: string,
31
+ // The creation date of the comment in relative format
32
+ formattedCreatedAt: string,
29
33
  // The comment's author
30
34
  author: ( {
31
35
  // The author's name
32
36
  name: string,
37
+ // The author's nickname
38
+ nickname: string,
33
39
  // The author's avatar url
34
40
  avatarUrl: string,
35
- // Whether the author is verified or not
36
- isVerified: boolean,
37
- // Whether the author is a user or another kind of author (User Group)
38
- isUser: boolean,
41
+ // The author's profile path
42
+ profilePath: string,
39
43
  // Whether the author's account has been deleted or not
40
44
  deleted: boolean,
45
+ // The author's badge icon
46
+ badge: string,
41
47
  } | {
42
48
  // The author's name
43
49
  name: string,
50
+ // The author's nickname
51
+ nickname: string,
44
52
  // The author's avatar url
45
53
  avatarUrl: string,
46
- // Whether the author is verified or not
47
- isVerified: boolean,
48
- // Whether the author is a user or another kind of author (User Group)
49
- isUser: boolean,
54
+ // The author's profile path
55
+ profilePath: string,
50
56
  // Whether the author's account has been deleted or not
51
57
  deleted: boolean,
58
+ // The author's badge icon
59
+ badge: string,
52
60
  }
53
61
  ),
54
62
  // Whether the object can have new comments or not
@@ -74,31 +82,39 @@ export type addCommentMutation = {
74
82
  type: string,
75
83
  // The comment message
76
84
  body: string,
85
+ // The comment message ready to display (it is expected to include HTML)
86
+ formattedBody: string,
77
87
  // The creation date of the comment
78
88
  createdAt: string,
89
+ // The creation date of the comment in relative format
90
+ formattedCreatedAt: string,
79
91
  // The comment's author
80
92
  author: ( {
81
93
  // The author's name
82
94
  name: string,
95
+ // The author's nickname
96
+ nickname: string,
83
97
  // The author's avatar url
84
98
  avatarUrl: string,
85
- // Whether the author is verified or not
86
- isVerified: boolean,
87
- // Whether the author is a user or another kind of author (User Group)
88
- isUser: boolean,
99
+ // The author's profile path
100
+ profilePath: string,
89
101
  // Whether the author's account has been deleted or not
90
102
  deleted: boolean,
103
+ // The author's badge icon
104
+ badge: string,
91
105
  } | {
92
106
  // The author's name
93
107
  name: string,
108
+ // The author's nickname
109
+ nickname: string,
94
110
  // The author's avatar url
95
111
  avatarUrl: string,
96
- // Whether the author is verified or not
97
- isVerified: boolean,
98
- // Whether the author is a user or another kind of author (User Group)
99
- isUser: boolean,
112
+ // The author's profile path
113
+ profilePath: string,
100
114
  // Whether the author's account has been deleted or not
101
115
  deleted: boolean,
116
+ // The author's badge icon
117
+ badge: string,
102
118
  }
103
119
  ),
104
120
  // Check if the commentable has comments
@@ -126,31 +142,39 @@ export type addCommentMutation = {
126
142
  type: string,
127
143
  // The comment message
128
144
  body: string,
145
+ // The comment message ready to display (it is expected to include HTML)
146
+ formattedBody: string,
129
147
  // The creation date of the comment
130
148
  createdAt: string,
149
+ // The creation date of the comment in relative format
150
+ formattedCreatedAt: string,
131
151
  // The comment's author
132
152
  author: ( {
133
153
  // The author's name
134
154
  name: string,
155
+ // The author's nickname
156
+ nickname: string,
135
157
  // The author's avatar url
136
158
  avatarUrl: string,
137
- // Whether the author is verified or not
138
- isVerified: boolean,
139
- // Whether the author is a user or another kind of author (User Group)
140
- isUser: boolean,
159
+ // The author's profile path
160
+ profilePath: string,
141
161
  // Whether the author's account has been deleted or not
142
162
  deleted: boolean,
163
+ // The author's badge icon
164
+ badge: string,
143
165
  } | {
144
166
  // The author's name
145
167
  name: string,
168
+ // The author's nickname
169
+ nickname: string,
146
170
  // The author's avatar url
147
171
  avatarUrl: string,
148
- // Whether the author is verified or not
149
- isVerified: boolean,
150
- // Whether the author is a user or another kind of author (User Group)
151
- isUser: boolean,
172
+ // The author's profile path
173
+ profilePath: string,
152
174
  // Whether the author's account has been deleted or not
153
175
  deleted: boolean,
176
+ // The author's badge icon
177
+ badge: string,
154
178
  }
155
179
  ),
156
180
  // Check if the commentable has comments
@@ -178,31 +202,39 @@ export type addCommentMutation = {
178
202
  type: string,
179
203
  // The comment message
180
204
  body: string,
205
+ // The comment message ready to display (it is expected to include HTML)
206
+ formattedBody: string,
181
207
  // The creation date of the comment
182
208
  createdAt: string,
209
+ // The creation date of the comment in relative format
210
+ formattedCreatedAt: string,
183
211
  // The comment's author
184
212
  author: ( {
185
213
  // The author's name
186
214
  name: string,
215
+ // The author's nickname
216
+ nickname: string,
187
217
  // The author's avatar url
188
218
  avatarUrl: string,
189
- // Whether the author is verified or not
190
- isVerified: boolean,
191
- // Whether the author is a user or another kind of author (User Group)
192
- isUser: boolean,
219
+ // The author's profile path
220
+ profilePath: string,
193
221
  // Whether the author's account has been deleted or not
194
222
  deleted: boolean,
223
+ // The author's badge icon
224
+ badge: string,
195
225
  } | {
196
226
  // The author's name
197
227
  name: string,
228
+ // The author's nickname
229
+ nickname: string,
198
230
  // The author's avatar url
199
231
  avatarUrl: string,
200
- // Whether the author is verified or not
201
- isVerified: boolean,
202
- // Whether the author is a user or another kind of author (User Group)
203
- isUser: boolean,
232
+ // The author's profile path
233
+ profilePath: string,
204
234
  // Whether the author's account has been deleted or not
205
235
  deleted: boolean,
236
+ // The author's badge icon
237
+ badge: string,
206
238
  }
207
239
  ),
208
240
  // Check if the commentable has comments
@@ -228,11 +260,11 @@ export type addCommentMutation = {
228
260
  } | null,
229
261
  };
230
262
 
231
- export type DownVoteMutationVariables = {
263
+ export interface DownVoteMutationVariables {
232
264
  id: string,
233
265
  };
234
266
 
235
- export type DownVoteMutation = {
267
+ export interface DownVoteMutation {
236
268
  // A comment
237
269
  comment: {
238
270
  downVote: {
@@ -244,31 +276,39 @@ export type DownVoteMutation = {
244
276
  type: string,
245
277
  // The comment message
246
278
  body: string,
279
+ // The comment message ready to display (it is expected to include HTML)
280
+ formattedBody: string,
247
281
  // The creation date of the comment
248
282
  createdAt: string,
283
+ // The creation date of the comment in relative format
284
+ formattedCreatedAt: string,
249
285
  // The comment's author
250
286
  author: ( {
251
287
  // The author's name
252
288
  name: string,
289
+ // The author's nickname
290
+ nickname: string,
253
291
  // The author's avatar url
254
292
  avatarUrl: string,
255
- // Whether the author is verified or not
256
- isVerified: boolean,
257
- // Whether the author is a user or another kind of author (User Group)
258
- isUser: boolean,
293
+ // The author's profile path
294
+ profilePath: string,
259
295
  // Whether the author's account has been deleted or not
260
296
  deleted: boolean,
297
+ // The author's badge icon
298
+ badge: string,
261
299
  } | {
262
300
  // The author's name
263
301
  name: string,
302
+ // The author's nickname
303
+ nickname: string,
264
304
  // The author's avatar url
265
305
  avatarUrl: string,
266
- // Whether the author is verified or not
267
- isVerified: boolean,
268
- // Whether the author is a user or another kind of author (User Group)
269
- isUser: boolean,
306
+ // The author's profile path
307
+ profilePath: string,
270
308
  // Whether the author's account has been deleted or not
271
309
  deleted: boolean,
310
+ // The author's badge icon
311
+ badge: string,
272
312
  }
273
313
  ),
274
314
  // Check if the commentable has comments
@@ -296,31 +336,39 @@ export type DownVoteMutation = {
296
336
  type: string,
297
337
  // The comment message
298
338
  body: string,
339
+ // The comment message ready to display (it is expected to include HTML)
340
+ formattedBody: string,
299
341
  // The creation date of the comment
300
342
  createdAt: string,
343
+ // The creation date of the comment in relative format
344
+ formattedCreatedAt: string,
301
345
  // The comment's author
302
346
  author: ( {
303
347
  // The author's name
304
348
  name: string,
349
+ // The author's nickname
350
+ nickname: string,
305
351
  // The author's avatar url
306
352
  avatarUrl: string,
307
- // Whether the author is verified or not
308
- isVerified: boolean,
309
- // Whether the author is a user or another kind of author (User Group)
310
- isUser: boolean,
353
+ // The author's profile path
354
+ profilePath: string,
311
355
  // Whether the author's account has been deleted or not
312
356
  deleted: boolean,
357
+ // The author's badge icon
358
+ badge: string,
313
359
  } | {
314
360
  // The author's name
315
361
  name: string,
362
+ // The author's nickname
363
+ nickname: string,
316
364
  // The author's avatar url
317
365
  avatarUrl: string,
318
- // Whether the author is verified or not
319
- isVerified: boolean,
320
- // Whether the author is a user or another kind of author (User Group)
321
- isUser: boolean,
366
+ // The author's profile path
367
+ profilePath: string,
322
368
  // Whether the author's account has been deleted or not
323
369
  deleted: boolean,
370
+ // The author's badge icon
371
+ badge: string,
324
372
  }
325
373
  ),
326
374
  // Check if the commentable has comments
@@ -348,31 +396,39 @@ export type DownVoteMutation = {
348
396
  type: string,
349
397
  // The comment message
350
398
  body: string,
399
+ // The comment message ready to display (it is expected to include HTML)
400
+ formattedBody: string,
351
401
  // The creation date of the comment
352
402
  createdAt: string,
403
+ // The creation date of the comment in relative format
404
+ formattedCreatedAt: string,
353
405
  // The comment's author
354
406
  author: ( {
355
407
  // The author's name
356
408
  name: string,
409
+ // The author's nickname
410
+ nickname: string,
357
411
  // The author's avatar url
358
412
  avatarUrl: string,
359
- // Whether the author is verified or not
360
- isVerified: boolean,
361
- // Whether the author is a user or another kind of author (User Group)
362
- isUser: boolean,
413
+ // The author's profile path
414
+ profilePath: string,
363
415
  // Whether the author's account has been deleted or not
364
416
  deleted: boolean,
417
+ // The author's badge icon
418
+ badge: string,
365
419
  } | {
366
420
  // The author's name
367
421
  name: string,
422
+ // The author's nickname
423
+ nickname: string,
368
424
  // The author's avatar url
369
425
  avatarUrl: string,
370
- // Whether the author is verified or not
371
- isVerified: boolean,
372
- // Whether the author is a user or another kind of author (User Group)
373
- isUser: boolean,
426
+ // The author's profile path
427
+ profilePath: string,
374
428
  // Whether the author's account has been deleted or not
375
429
  deleted: boolean,
430
+ // The author's badge icon
431
+ badge: string,
376
432
  }
377
433
  ),
378
434
  // Check if the commentable has comments
@@ -400,31 +456,39 @@ export type DownVoteMutation = {
400
456
  type: string,
401
457
  // The comment message
402
458
  body: string,
459
+ // The comment message ready to display (it is expected to include HTML)
460
+ formattedBody: string,
403
461
  // The creation date of the comment
404
462
  createdAt: string,
463
+ // The creation date of the comment in relative format
464
+ formattedCreatedAt: string,
405
465
  // The comment's author
406
466
  author: ( {
407
467
  // The author's name
408
468
  name: string,
469
+ // The author's nickname
470
+ nickname: string,
409
471
  // The author's avatar url
410
472
  avatarUrl: string,
411
- // Whether the author is verified or not
412
- isVerified: boolean,
413
- // Whether the author is a user or another kind of author (User Group)
414
- isUser: boolean,
473
+ // The author's profile path
474
+ profilePath: string,
415
475
  // Whether the author's account has been deleted or not
416
476
  deleted: boolean,
477
+ // The author's badge icon
478
+ badge: string,
417
479
  } | {
418
480
  // The author's name
419
481
  name: string,
482
+ // The author's nickname
483
+ nickname: string,
420
484
  // The author's avatar url
421
485
  avatarUrl: string,
422
- // Whether the author is verified or not
423
- isVerified: boolean,
424
- // Whether the author is a user or another kind of author (User Group)
425
- isUser: boolean,
486
+ // The author's profile path
487
+ profilePath: string,
426
488
  // Whether the author's account has been deleted or not
427
489
  deleted: boolean,
490
+ // The author's badge icon
491
+ badge: string,
428
492
  }
429
493
  ),
430
494
  // Check if the commentable has comments
@@ -450,11 +514,11 @@ export type DownVoteMutation = {
450
514
  } | null,
451
515
  };
452
516
 
453
- export type UpVoteMutationVariables = {
517
+ export interface UpVoteMutationVariables {
454
518
  id: string,
455
519
  };
456
520
 
457
- export type UpVoteMutation = {
521
+ export interface UpVoteMutation {
458
522
  // A comment
459
523
  comment: {
460
524
  upVote: {
@@ -466,31 +530,39 @@ export type UpVoteMutation = {
466
530
  type: string,
467
531
  // The comment message
468
532
  body: string,
533
+ // The comment message ready to display (it is expected to include HTML)
534
+ formattedBody: string,
469
535
  // The creation date of the comment
470
536
  createdAt: string,
537
+ // The creation date of the comment in relative format
538
+ formattedCreatedAt: string,
471
539
  // The comment's author
472
540
  author: ( {
473
541
  // The author's name
474
542
  name: string,
543
+ // The author's nickname
544
+ nickname: string,
475
545
  // The author's avatar url
476
546
  avatarUrl: string,
477
- // Whether the author is verified or not
478
- isVerified: boolean,
479
- // Whether the author is a user or another kind of author (User Group)
480
- isUser: boolean,
547
+ // The author's profile path
548
+ profilePath: string,
481
549
  // Whether the author's account has been deleted or not
482
550
  deleted: boolean,
551
+ // The author's badge icon
552
+ badge: string,
483
553
  } | {
484
554
  // The author's name
485
555
  name: string,
556
+ // The author's nickname
557
+ nickname: string,
486
558
  // The author's avatar url
487
559
  avatarUrl: string,
488
- // Whether the author is verified or not
489
- isVerified: boolean,
490
- // Whether the author is a user or another kind of author (User Group)
491
- isUser: boolean,
560
+ // The author's profile path
561
+ profilePath: string,
492
562
  // Whether the author's account has been deleted or not
493
563
  deleted: boolean,
564
+ // The author's badge icon
565
+ badge: string,
494
566
  }
495
567
  ),
496
568
  // Check if the commentable has comments
@@ -518,31 +590,39 @@ export type UpVoteMutation = {
518
590
  type: string,
519
591
  // The comment message
520
592
  body: string,
593
+ // The comment message ready to display (it is expected to include HTML)
594
+ formattedBody: string,
521
595
  // The creation date of the comment
522
596
  createdAt: string,
597
+ // The creation date of the comment in relative format
598
+ formattedCreatedAt: string,
523
599
  // The comment's author
524
600
  author: ( {
525
601
  // The author's name
526
602
  name: string,
603
+ // The author's nickname
604
+ nickname: string,
527
605
  // The author's avatar url
528
606
  avatarUrl: string,
529
- // Whether the author is verified or not
530
- isVerified: boolean,
531
- // Whether the author is a user or another kind of author (User Group)
532
- isUser: boolean,
607
+ // The author's profile path
608
+ profilePath: string,
533
609
  // Whether the author's account has been deleted or not
534
610
  deleted: boolean,
611
+ // The author's badge icon
612
+ badge: string,
535
613
  } | {
536
614
  // The author's name
537
615
  name: string,
616
+ // The author's nickname
617
+ nickname: string,
538
618
  // The author's avatar url
539
619
  avatarUrl: string,
540
- // Whether the author is verified or not
541
- isVerified: boolean,
542
- // Whether the author is a user or another kind of author (User Group)
543
- isUser: boolean,
620
+ // The author's profile path
621
+ profilePath: string,
544
622
  // Whether the author's account has been deleted or not
545
623
  deleted: boolean,
624
+ // The author's badge icon
625
+ badge: string,
546
626
  }
547
627
  ),
548
628
  // Check if the commentable has comments
@@ -570,31 +650,39 @@ export type UpVoteMutation = {
570
650
  type: string,
571
651
  // The comment message
572
652
  body: string,
653
+ // The comment message ready to display (it is expected to include HTML)
654
+ formattedBody: string,
573
655
  // The creation date of the comment
574
656
  createdAt: string,
657
+ // The creation date of the comment in relative format
658
+ formattedCreatedAt: string,
575
659
  // The comment's author
576
660
  author: ( {
577
661
  // The author's name
578
662
  name: string,
663
+ // The author's nickname
664
+ nickname: string,
579
665
  // The author's avatar url
580
666
  avatarUrl: string,
581
- // Whether the author is verified or not
582
- isVerified: boolean,
583
- // Whether the author is a user or another kind of author (User Group)
584
- isUser: boolean,
667
+ // The author's profile path
668
+ profilePath: string,
585
669
  // Whether the author's account has been deleted or not
586
670
  deleted: boolean,
671
+ // The author's badge icon
672
+ badge: string,
587
673
  } | {
588
674
  // The author's name
589
675
  name: string,
676
+ // The author's nickname
677
+ nickname: string,
590
678
  // The author's avatar url
591
679
  avatarUrl: string,
592
- // Whether the author is verified or not
593
- isVerified: boolean,
594
- // Whether the author is a user or another kind of author (User Group)
595
- isUser: boolean,
680
+ // The author's profile path
681
+ profilePath: string,
596
682
  // Whether the author's account has been deleted or not
597
683
  deleted: boolean,
684
+ // The author's badge icon
685
+ badge: string,
598
686
  }
599
687
  ),
600
688
  // Check if the commentable has comments
@@ -622,31 +710,39 @@ export type UpVoteMutation = {
622
710
  type: string,
623
711
  // The comment message
624
712
  body: string,
713
+ // The comment message ready to display (it is expected to include HTML)
714
+ formattedBody: string,
625
715
  // The creation date of the comment
626
716
  createdAt: string,
717
+ // The creation date of the comment in relative format
718
+ formattedCreatedAt: string,
627
719
  // The comment's author
628
720
  author: ( {
629
721
  // The author's name
630
722
  name: string,
723
+ // The author's nickname
724
+ nickname: string,
631
725
  // The author's avatar url
632
726
  avatarUrl: string,
633
- // Whether the author is verified or not
634
- isVerified: boolean,
635
- // Whether the author is a user or another kind of author (User Group)
636
- isUser: boolean,
727
+ // The author's profile path
728
+ profilePath: string,
637
729
  // Whether the author's account has been deleted or not
638
730
  deleted: boolean,
731
+ // The author's badge icon
732
+ badge: string,
639
733
  } | {
640
734
  // The author's name
641
735
  name: string,
736
+ // The author's nickname
737
+ nickname: string,
642
738
  // The author's avatar url
643
739
  avatarUrl: string,
644
- // Whether the author is verified or not
645
- isVerified: boolean,
646
- // Whether the author is a user or another kind of author (User Group)
647
- isUser: boolean,
740
+ // The author's profile path
741
+ profilePath: string,
648
742
  // Whether the author's account has been deleted or not
649
743
  deleted: boolean,
744
+ // The author's badge icon
745
+ badge: string,
650
746
  }
651
747
  ),
652
748
  // Check if the commentable has comments
@@ -672,19 +768,21 @@ export type UpVoteMutation = {
672
768
  } | null,
673
769
  };
674
770
 
675
- export type GetCommentsQueryVariables = {
771
+ export interface GetCommentsQueryVariables {
676
772
  commentableId: string,
677
773
  commentableType: string,
678
774
  orderBy?: string | null,
679
775
  };
680
776
 
681
- export type GetCommentsQuery = {
777
+ export interface GetCommentsQuery {
682
778
  // Return's information about the logged in user
683
779
  session: {
684
780
  // The current user
685
781
  user: {
686
782
  // The user's name
687
783
  name: string,
784
+ // The user's nickname
785
+ nickname: string,
688
786
  // The user's avatar url
689
787
  avatarUrl: string,
690
788
  // The user's organization name
@@ -705,6 +803,8 @@ export type GetCommentsQuery = {
705
803
  commentsHaveAlignment: boolean,
706
804
  // Whether the object comments have votes or not
707
805
  commentsHaveVotes: boolean,
806
+ // The number of comments in all levels this resource holds
807
+ totalCommentsCount: number,
708
808
  comments: Array< {
709
809
  // The Comment's unique ID
710
810
  id: string,
@@ -716,31 +816,39 @@ export type GetCommentsQuery = {
716
816
  type: string,
717
817
  // The comment message
718
818
  body: string,
819
+ // The comment message ready to display (it is expected to include HTML)
820
+ formattedBody: string,
719
821
  // The creation date of the comment
720
822
  createdAt: string,
823
+ // The creation date of the comment in relative format
824
+ formattedCreatedAt: string,
721
825
  // The comment's author
722
826
  author: ( {
723
827
  // The author's name
724
828
  name: string,
829
+ // The author's nickname
830
+ nickname: string,
725
831
  // The author's avatar url
726
832
  avatarUrl: string,
727
- // Whether the author is verified or not
728
- isVerified: boolean,
729
- // Whether the author is a user or another kind of author (User Group)
730
- isUser: boolean,
833
+ // The author's profile path
834
+ profilePath: string,
731
835
  // Whether the author's account has been deleted or not
732
836
  deleted: boolean,
837
+ // The author's badge icon
838
+ badge: string,
733
839
  } | {
734
840
  // The author's name
735
841
  name: string,
842
+ // The author's nickname
843
+ nickname: string,
736
844
  // The author's avatar url
737
845
  avatarUrl: string,
738
- // Whether the author is verified or not
739
- isVerified: boolean,
740
- // Whether the author is a user or another kind of author (User Group)
741
- isUser: boolean,
846
+ // The author's profile path
847
+ profilePath: string,
742
848
  // Whether the author's account has been deleted or not
743
849
  deleted: boolean,
850
+ // The author's badge icon
851
+ badge: string,
744
852
  }
745
853
  ),
746
854
  // Whether the object can have new comments or not
@@ -766,31 +874,39 @@ export type GetCommentsQuery = {
766
874
  type: string,
767
875
  // The comment message
768
876
  body: string,
877
+ // The comment message ready to display (it is expected to include HTML)
878
+ formattedBody: string,
769
879
  // The creation date of the comment
770
880
  createdAt: string,
881
+ // The creation date of the comment in relative format
882
+ formattedCreatedAt: string,
771
883
  // The comment's author
772
884
  author: ( {
773
885
  // The author's name
774
886
  name: string,
887
+ // The author's nickname
888
+ nickname: string,
775
889
  // The author's avatar url
776
890
  avatarUrl: string,
777
- // Whether the author is verified or not
778
- isVerified: boolean,
779
- // Whether the author is a user or another kind of author (User Group)
780
- isUser: boolean,
891
+ // The author's profile path
892
+ profilePath: string,
781
893
  // Whether the author's account has been deleted or not
782
894
  deleted: boolean,
895
+ // The author's badge icon
896
+ badge: string,
783
897
  } | {
784
898
  // The author's name
785
899
  name: string,
900
+ // The author's nickname
901
+ nickname: string,
786
902
  // The author's avatar url
787
903
  avatarUrl: string,
788
- // Whether the author is verified or not
789
- isVerified: boolean,
790
- // Whether the author is a user or another kind of author (User Group)
791
- isUser: boolean,
904
+ // The author's profile path
905
+ profilePath: string,
792
906
  // Whether the author's account has been deleted or not
793
907
  deleted: boolean,
908
+ // The author's badge icon
909
+ badge: string,
794
910
  }
795
911
  ),
796
912
  // Check if the commentable has comments
@@ -818,31 +934,39 @@ export type GetCommentsQuery = {
818
934
  type: string,
819
935
  // The comment message
820
936
  body: string,
937
+ // The comment message ready to display (it is expected to include HTML)
938
+ formattedBody: string,
821
939
  // The creation date of the comment
822
940
  createdAt: string,
941
+ // The creation date of the comment in relative format
942
+ formattedCreatedAt: string,
823
943
  // The comment's author
824
944
  author: ( {
825
945
  // The author's name
826
946
  name: string,
947
+ // The author's nickname
948
+ nickname: string,
827
949
  // The author's avatar url
828
950
  avatarUrl: string,
829
- // Whether the author is verified or not
830
- isVerified: boolean,
831
- // Whether the author is a user or another kind of author (User Group)
832
- isUser: boolean,
951
+ // The author's profile path
952
+ profilePath: string,
833
953
  // Whether the author's account has been deleted or not
834
954
  deleted: boolean,
955
+ // The author's badge icon
956
+ badge: string,
835
957
  } | {
836
958
  // The author's name
837
959
  name: string,
960
+ // The author's nickname
961
+ nickname: string,
838
962
  // The author's avatar url
839
963
  avatarUrl: string,
840
- // Whether the author is verified or not
841
- isVerified: boolean,
842
- // Whether the author is a user or another kind of author (User Group)
843
- isUser: boolean,
964
+ // The author's profile path
965
+ profilePath: string,
844
966
  // Whether the author's account has been deleted or not
845
967
  deleted: boolean,
968
+ // The author's badge icon
969
+ badge: string,
846
970
  }
847
971
  ),
848
972
  // Check if the commentable has comments
@@ -870,31 +994,39 @@ export type GetCommentsQuery = {
870
994
  type: string,
871
995
  // The comment message
872
996
  body: string,
997
+ // The comment message ready to display (it is expected to include HTML)
998
+ formattedBody: string,
873
999
  // The creation date of the comment
874
1000
  createdAt: string,
1001
+ // The creation date of the comment in relative format
1002
+ formattedCreatedAt: string,
875
1003
  // The comment's author
876
1004
  author: ( {
877
1005
  // The author's name
878
1006
  name: string,
1007
+ // The author's nickname
1008
+ nickname: string,
879
1009
  // The author's avatar url
880
1010
  avatarUrl: string,
881
- // Whether the author is verified or not
882
- isVerified: boolean,
883
- // Whether the author is a user or another kind of author (User Group)
884
- isUser: boolean,
1011
+ // The author's profile path
1012
+ profilePath: string,
885
1013
  // Whether the author's account has been deleted or not
886
1014
  deleted: boolean,
1015
+ // The author's badge icon
1016
+ badge: string,
887
1017
  } | {
888
1018
  // The author's name
889
1019
  name: string,
1020
+ // The author's nickname
1021
+ nickname: string,
890
1022
  // The author's avatar url
891
1023
  avatarUrl: string,
892
- // Whether the author is verified or not
893
- isVerified: boolean,
894
- // Whether the author is a user or another kind of author (User Group)
895
- isUser: boolean,
1024
+ // The author's profile path
1025
+ profilePath: string,
896
1026
  // Whether the author's account has been deleted or not
897
1027
  deleted: boolean,
1028
+ // The author's badge icon
1029
+ badge: string,
898
1030
  }
899
1031
  ),
900
1032
  // Check if the commentable has comments
@@ -924,14 +1056,14 @@ export type GetCommentsQuery = {
924
1056
  },
925
1057
  };
926
1058
 
927
- export type AddCommentFormCommentableFragment = {
1059
+ export interface AddCommentFormCommentableFragment {
928
1060
  // The commentable's ID
929
1061
  id: string,
930
1062
  // The commentable's class name. i.e. `Decidim::ParticipatoryProcess`
931
1063
  type: string,
932
1064
  };
933
1065
 
934
- export type AddCommentFormSessionFragment = {
1066
+ export interface AddCommentFormSessionFragment {
935
1067
  // The current user verified user groups
936
1068
  verifiedUserGroups: Array< {
937
1069
  // The user group's id
@@ -941,7 +1073,7 @@ export type AddCommentFormSessionFragment = {
941
1073
  } >,
942
1074
  };
943
1075
 
944
- export type CommentFragment = {
1076
+ export interface CommentFragment {
945
1077
  // The Comment's unique ID
946
1078
  id: string,
947
1079
  // The Comment's signed global id
@@ -950,31 +1082,39 @@ export type CommentFragment = {
950
1082
  type: string,
951
1083
  // The comment message
952
1084
  body: string,
1085
+ // The comment message ready to display (it is expected to include HTML)
1086
+ formattedBody: string,
953
1087
  // The creation date of the comment
954
1088
  createdAt: string,
1089
+ // The creation date of the comment in relative format
1090
+ formattedCreatedAt: string,
955
1091
  // The comment's author
956
1092
  author: ( {
957
1093
  // The author's name
958
1094
  name: string,
1095
+ // The author's nickname
1096
+ nickname: string,
959
1097
  // The author's avatar url
960
1098
  avatarUrl: string,
961
- // Whether the author is verified or not
962
- isVerified: boolean,
963
- // Whether the author is a user or another kind of author (User Group)
964
- isUser: boolean,
1099
+ // The author's profile path
1100
+ profilePath: string,
965
1101
  // Whether the author's account has been deleted or not
966
1102
  deleted: boolean,
1103
+ // The author's badge icon
1104
+ badge: string,
967
1105
  } | {
968
1106
  // The author's name
969
1107
  name: string,
1108
+ // The author's nickname
1109
+ nickname: string,
970
1110
  // The author's avatar url
971
1111
  avatarUrl: string,
972
- // Whether the author is verified or not
973
- isVerified: boolean,
974
- // Whether the author is a user or another kind of author (User Group)
975
- isUser: boolean,
1112
+ // The author's profile path
1113
+ profilePath: string,
976
1114
  // Whether the author's account has been deleted or not
977
1115
  deleted: boolean,
1116
+ // The author's badge icon
1117
+ badge: string,
978
1118
  }
979
1119
  ),
980
1120
  // Check if the commentable has comments
@@ -1002,31 +1142,39 @@ export type CommentFragment = {
1002
1142
  type: string,
1003
1143
  // The comment message
1004
1144
  body: string,
1145
+ // The comment message ready to display (it is expected to include HTML)
1146
+ formattedBody: string,
1005
1147
  // The creation date of the comment
1006
1148
  createdAt: string,
1149
+ // The creation date of the comment in relative format
1150
+ formattedCreatedAt: string,
1007
1151
  // The comment's author
1008
1152
  author: ( {
1009
1153
  // The author's name
1010
1154
  name: string,
1155
+ // The author's nickname
1156
+ nickname: string,
1011
1157
  // The author's avatar url
1012
1158
  avatarUrl: string,
1013
- // Whether the author is verified or not
1014
- isVerified: boolean,
1015
- // Whether the author is a user or another kind of author (User Group)
1016
- isUser: boolean,
1159
+ // The author's profile path
1160
+ profilePath: string,
1017
1161
  // Whether the author's account has been deleted or not
1018
1162
  deleted: boolean,
1163
+ // The author's badge icon
1164
+ badge: string,
1019
1165
  } | {
1020
1166
  // The author's name
1021
1167
  name: string,
1168
+ // The author's nickname
1169
+ nickname: string,
1022
1170
  // The author's avatar url
1023
1171
  avatarUrl: string,
1024
- // Whether the author is verified or not
1025
- isVerified: boolean,
1026
- // Whether the author is a user or another kind of author (User Group)
1027
- isUser: boolean,
1172
+ // The author's profile path
1173
+ profilePath: string,
1028
1174
  // Whether the author's account has been deleted or not
1029
1175
  deleted: boolean,
1176
+ // The author's badge icon
1177
+ badge: string,
1030
1178
  }
1031
1179
  ),
1032
1180
  // Check if the commentable has comments
@@ -1054,31 +1202,39 @@ export type CommentFragment = {
1054
1202
  type: string,
1055
1203
  // The comment message
1056
1204
  body: string,
1205
+ // The comment message ready to display (it is expected to include HTML)
1206
+ formattedBody: string,
1057
1207
  // The creation date of the comment
1058
1208
  createdAt: string,
1209
+ // The creation date of the comment in relative format
1210
+ formattedCreatedAt: string,
1059
1211
  // The comment's author
1060
1212
  author: ( {
1061
1213
  // The author's name
1062
1214
  name: string,
1215
+ // The author's nickname
1216
+ nickname: string,
1063
1217
  // The author's avatar url
1064
1218
  avatarUrl: string,
1065
- // Whether the author is verified or not
1066
- isVerified: boolean,
1067
- // Whether the author is a user or another kind of author (User Group)
1068
- isUser: boolean,
1219
+ // The author's profile path
1220
+ profilePath: string,
1069
1221
  // Whether the author's account has been deleted or not
1070
1222
  deleted: boolean,
1223
+ // The author's badge icon
1224
+ badge: string,
1071
1225
  } | {
1072
1226
  // The author's name
1073
1227
  name: string,
1228
+ // The author's nickname
1229
+ nickname: string,
1074
1230
  // The author's avatar url
1075
1231
  avatarUrl: string,
1076
- // Whether the author is verified or not
1077
- isVerified: boolean,
1078
- // Whether the author is a user or another kind of author (User Group)
1079
- isUser: boolean,
1232
+ // The author's profile path
1233
+ profilePath: string,
1080
1234
  // Whether the author's account has been deleted or not
1081
1235
  deleted: boolean,
1236
+ // The author's badge icon
1237
+ badge: string,
1082
1238
  }
1083
1239
  ),
1084
1240
  // Check if the commentable has comments
@@ -1106,31 +1262,39 @@ export type CommentFragment = {
1106
1262
  type: string,
1107
1263
  // The comment message
1108
1264
  body: string,
1265
+ // The comment message ready to display (it is expected to include HTML)
1266
+ formattedBody: string,
1109
1267
  // The creation date of the comment
1110
1268
  createdAt: string,
1269
+ // The creation date of the comment in relative format
1270
+ formattedCreatedAt: string,
1111
1271
  // The comment's author
1112
1272
  author: ( {
1113
1273
  // The author's name
1114
1274
  name: string,
1275
+ // The author's nickname
1276
+ nickname: string,
1115
1277
  // The author's avatar url
1116
1278
  avatarUrl: string,
1117
- // Whether the author is verified or not
1118
- isVerified: boolean,
1119
- // Whether the author is a user or another kind of author (User Group)
1120
- isUser: boolean,
1279
+ // The author's profile path
1280
+ profilePath: string,
1121
1281
  // Whether the author's account has been deleted or not
1122
1282
  deleted: boolean,
1283
+ // The author's badge icon
1284
+ badge: string,
1123
1285
  } | {
1124
1286
  // The author's name
1125
1287
  name: string,
1288
+ // The author's nickname
1289
+ nickname: string,
1126
1290
  // The author's avatar url
1127
1291
  avatarUrl: string,
1128
- // Whether the author is verified or not
1129
- isVerified: boolean,
1130
- // Whether the author is a user or another kind of author (User Group)
1131
- isUser: boolean,
1292
+ // The author's profile path
1293
+ profilePath: string,
1132
1294
  // Whether the author's account has been deleted or not
1133
1295
  deleted: boolean,
1296
+ // The author's badge icon
1297
+ badge: string,
1134
1298
  }
1135
1299
  ),
1136
1300
  // Check if the commentable has comments
@@ -1154,7 +1318,7 @@ export type CommentFragment = {
1154
1318
  } >,
1155
1319
  };
1156
1320
 
1157
- export type CommentDataFragment = {
1321
+ export interface CommentDataFragment {
1158
1322
  // The Comment's unique ID
1159
1323
  id: string,
1160
1324
  // The Comment's signed global id
@@ -1163,31 +1327,39 @@ export type CommentDataFragment = {
1163
1327
  type: string,
1164
1328
  // The comment message
1165
1329
  body: string,
1330
+ // The comment message ready to display (it is expected to include HTML)
1331
+ formattedBody: string,
1166
1332
  // The creation date of the comment
1167
1333
  createdAt: string,
1334
+ // The creation date of the comment in relative format
1335
+ formattedCreatedAt: string,
1168
1336
  // The comment's author
1169
1337
  author: ( {
1170
1338
  // The author's name
1171
1339
  name: string,
1340
+ // The author's nickname
1341
+ nickname: string,
1172
1342
  // The author's avatar url
1173
1343
  avatarUrl: string,
1174
- // Whether the author is verified or not
1175
- isVerified: boolean,
1176
- // Whether the author is a user or another kind of author (User Group)
1177
- isUser: boolean,
1344
+ // The author's profile path
1345
+ profilePath: string,
1178
1346
  // Whether the author's account has been deleted or not
1179
1347
  deleted: boolean,
1348
+ // The author's badge icon
1349
+ badge: string,
1180
1350
  } | {
1181
1351
  // The author's name
1182
1352
  name: string,
1353
+ // The author's nickname
1354
+ nickname: string,
1183
1355
  // The author's avatar url
1184
1356
  avatarUrl: string,
1185
- // Whether the author is verified or not
1186
- isVerified: boolean,
1187
- // Whether the author is a user or another kind of author (User Group)
1188
- isUser: boolean,
1357
+ // The author's profile path
1358
+ profilePath: string,
1189
1359
  // Whether the author's account has been deleted or not
1190
1360
  deleted: boolean,
1361
+ // The author's badge icon
1362
+ badge: string,
1191
1363
  }
1192
1364
  ),
1193
1365
  // Check if the commentable has comments
@@ -1208,7 +1380,7 @@ export type CommentDataFragment = {
1208
1380
  downVotes: number,
1209
1381
  };
1210
1382
 
1211
- export type CommentThreadFragment = {
1383
+ export interface CommentThreadFragment {
1212
1384
  // Check if the commentable has comments
1213
1385
  hasComments: boolean,
1214
1386
  // The Comment's unique ID
@@ -1219,31 +1391,39 @@ export type CommentThreadFragment = {
1219
1391
  type: string,
1220
1392
  // The comment message
1221
1393
  body: string,
1394
+ // The comment message ready to display (it is expected to include HTML)
1395
+ formattedBody: string,
1222
1396
  // The creation date of the comment
1223
1397
  createdAt: string,
1398
+ // The creation date of the comment in relative format
1399
+ formattedCreatedAt: string,
1224
1400
  // The comment's author
1225
1401
  author: ( {
1226
1402
  // The author's name
1227
1403
  name: string,
1404
+ // The author's nickname
1405
+ nickname: string,
1228
1406
  // The author's avatar url
1229
1407
  avatarUrl: string,
1230
- // Whether the author is verified or not
1231
- isVerified: boolean,
1232
- // Whether the author is a user or another kind of author (User Group)
1233
- isUser: boolean,
1408
+ // The author's profile path
1409
+ profilePath: string,
1234
1410
  // Whether the author's account has been deleted or not
1235
1411
  deleted: boolean,
1412
+ // The author's badge icon
1413
+ badge: string,
1236
1414
  } | {
1237
1415
  // The author's name
1238
1416
  name: string,
1417
+ // The author's nickname
1418
+ nickname: string,
1239
1419
  // The author's avatar url
1240
1420
  avatarUrl: string,
1241
- // Whether the author is verified or not
1242
- isVerified: boolean,
1243
- // Whether the author is a user or another kind of author (User Group)
1244
- isUser: boolean,
1421
+ // The author's profile path
1422
+ profilePath: string,
1245
1423
  // Whether the author's account has been deleted or not
1246
1424
  deleted: boolean,
1425
+ // The author's badge icon
1426
+ badge: string,
1247
1427
  }
1248
1428
  ),
1249
1429
  // Whether the object can have new comments or not
@@ -1269,31 +1449,39 @@ export type CommentThreadFragment = {
1269
1449
  type: string,
1270
1450
  // The comment message
1271
1451
  body: string,
1452
+ // The comment message ready to display (it is expected to include HTML)
1453
+ formattedBody: string,
1272
1454
  // The creation date of the comment
1273
1455
  createdAt: string,
1456
+ // The creation date of the comment in relative format
1457
+ formattedCreatedAt: string,
1274
1458
  // The comment's author
1275
1459
  author: ( {
1276
1460
  // The author's name
1277
1461
  name: string,
1462
+ // The author's nickname
1463
+ nickname: string,
1278
1464
  // The author's avatar url
1279
1465
  avatarUrl: string,
1280
- // Whether the author is verified or not
1281
- isVerified: boolean,
1282
- // Whether the author is a user or another kind of author (User Group)
1283
- isUser: boolean,
1466
+ // The author's profile path
1467
+ profilePath: string,
1284
1468
  // Whether the author's account has been deleted or not
1285
1469
  deleted: boolean,
1470
+ // The author's badge icon
1471
+ badge: string,
1286
1472
  } | {
1287
1473
  // The author's name
1288
1474
  name: string,
1475
+ // The author's nickname
1476
+ nickname: string,
1289
1477
  // The author's avatar url
1290
1478
  avatarUrl: string,
1291
- // Whether the author is verified or not
1292
- isVerified: boolean,
1293
- // Whether the author is a user or another kind of author (User Group)
1294
- isUser: boolean,
1479
+ // The author's profile path
1480
+ profilePath: string,
1295
1481
  // Whether the author's account has been deleted or not
1296
1482
  deleted: boolean,
1483
+ // The author's badge icon
1484
+ badge: string,
1297
1485
  }
1298
1486
  ),
1299
1487
  // Check if the commentable has comments
@@ -1321,31 +1509,39 @@ export type CommentThreadFragment = {
1321
1509
  type: string,
1322
1510
  // The comment message
1323
1511
  body: string,
1512
+ // The comment message ready to display (it is expected to include HTML)
1513
+ formattedBody: string,
1324
1514
  // The creation date of the comment
1325
1515
  createdAt: string,
1516
+ // The creation date of the comment in relative format
1517
+ formattedCreatedAt: string,
1326
1518
  // The comment's author
1327
1519
  author: ( {
1328
1520
  // The author's name
1329
1521
  name: string,
1522
+ // The author's nickname
1523
+ nickname: string,
1330
1524
  // The author's avatar url
1331
1525
  avatarUrl: string,
1332
- // Whether the author is verified or not
1333
- isVerified: boolean,
1334
- // Whether the author is a user or another kind of author (User Group)
1335
- isUser: boolean,
1526
+ // The author's profile path
1527
+ profilePath: string,
1336
1528
  // Whether the author's account has been deleted or not
1337
1529
  deleted: boolean,
1530
+ // The author's badge icon
1531
+ badge: string,
1338
1532
  } | {
1339
1533
  // The author's name
1340
1534
  name: string,
1535
+ // The author's nickname
1536
+ nickname: string,
1341
1537
  // The author's avatar url
1342
1538
  avatarUrl: string,
1343
- // Whether the author is verified or not
1344
- isVerified: boolean,
1345
- // Whether the author is a user or another kind of author (User Group)
1346
- isUser: boolean,
1539
+ // The author's profile path
1540
+ profilePath: string,
1347
1541
  // Whether the author's account has been deleted or not
1348
1542
  deleted: boolean,
1543
+ // The author's badge icon
1544
+ badge: string,
1349
1545
  }
1350
1546
  ),
1351
1547
  // Check if the commentable has comments
@@ -1373,31 +1569,39 @@ export type CommentThreadFragment = {
1373
1569
  type: string,
1374
1570
  // The comment message
1375
1571
  body: string,
1572
+ // The comment message ready to display (it is expected to include HTML)
1573
+ formattedBody: string,
1376
1574
  // The creation date of the comment
1377
1575
  createdAt: string,
1576
+ // The creation date of the comment in relative format
1577
+ formattedCreatedAt: string,
1378
1578
  // The comment's author
1379
1579
  author: ( {
1380
1580
  // The author's name
1381
1581
  name: string,
1582
+ // The author's nickname
1583
+ nickname: string,
1382
1584
  // The author's avatar url
1383
1585
  avatarUrl: string,
1384
- // Whether the author is verified or not
1385
- isVerified: boolean,
1386
- // Whether the author is a user or another kind of author (User Group)
1387
- isUser: boolean,
1586
+ // The author's profile path
1587
+ profilePath: string,
1388
1588
  // Whether the author's account has been deleted or not
1389
1589
  deleted: boolean,
1590
+ // The author's badge icon
1591
+ badge: string,
1390
1592
  } | {
1391
1593
  // The author's name
1392
1594
  name: string,
1595
+ // The author's nickname
1596
+ nickname: string,
1393
1597
  // The author's avatar url
1394
1598
  avatarUrl: string,
1395
- // Whether the author is verified or not
1396
- isVerified: boolean,
1397
- // Whether the author is a user or another kind of author (User Group)
1398
- isUser: boolean,
1599
+ // The author's profile path
1600
+ profilePath: string,
1399
1601
  // Whether the author's account has been deleted or not
1400
1602
  deleted: boolean,
1603
+ // The author's badge icon
1604
+ badge: string,
1401
1605
  }
1402
1606
  ),
1403
1607
  // Check if the commentable has comments
@@ -1421,7 +1625,7 @@ export type CommentThreadFragment = {
1421
1625
  } >,
1422
1626
  };
1423
1627
 
1424
- export type DownVoteButtonFragment = {
1628
+ export interface DownVoteButtonFragment {
1425
1629
  // The Comment's unique ID
1426
1630
  id: string,
1427
1631
  // The number of comment's downVotes
@@ -1432,7 +1636,7 @@ export type DownVoteButtonFragment = {
1432
1636
  upVoted: boolean,
1433
1637
  };
1434
1638
 
1435
- export type UpVoteButtonFragment = {
1639
+ export interface UpVoteButtonFragment {
1436
1640
  // The Comment's unique ID
1437
1641
  id: string,
1438
1642
  // The number of comment's upVotes
@@ -1442,4 +1646,3 @@ export type UpVoteButtonFragment = {
1442
1646
  // Check if the current user has downvoted the comment
1443
1647
  downVoted: boolean,
1444
1648
  };
1445
- /* tslint:enable */