diff --git a/backend/src/schema/resolvers/users.js b/backend/src/schema/resolvers/users.js
index 74561c5fe..4710942b6 100644
--- a/backend/src/schema/resolvers/users.js
+++ b/backend/src/schema/resolvers/users.js
@@ -151,7 +151,6 @@ export default {
friendsCount: '<-[:FRIENDS]->(related:User)',
followingCount: '-[:FOLLOWS]->(related:User)',
followedByCount: '<-[:FOLLOWS]-(related:User)',
- commentsCount: '-[:WROTE]->(r:Comment)',
commentedCount: '-[:WROTE]->(:Comment)-[:COMMENTS]->(related:Post)',
shoutedCount: '-[:SHOUTED]->(related:Post)',
badgesCount: '<-[:REWARDED]-(related:Badge)',
diff --git a/backend/src/schema/types/type/Post.gql b/backend/src/schema/types/type/Post.gql
index 519af14ae..cbbcddfc9 100644
--- a/backend/src/schema/types/type/Post.gql
+++ b/backend/src/schema/types/type/Post.gql
@@ -29,11 +29,6 @@ type Post {
categories: [Category]! @relation(name: "CATEGORIZED", direction: "OUT")
comments: [Comment]! @relation(name: "COMMENTS", direction: "IN")
- commentsCount: Int!
- @cypher(
- statement: "MATCH (this)<-[:COMMENTS]-(r:Comment) WHERE NOT r.deleted = true AND NOT r.disabled = true RETURN COUNT(r)"
- )
-
shoutedBy: [User]! @relation(name: "SHOUTED", direction: "IN")
shoutedCount: Int!
@cypher(
diff --git a/backend/src/schema/types/type/User.gql b/backend/src/schema/types/type/User.gql
index e3e8f8450..46e699410 100644
--- a/backend/src/schema/types/type/User.gql
+++ b/backend/src/schema/types/type/User.gql
@@ -64,7 +64,6 @@ type User {
)
comments: [Comment]! @relation(name: "WROTE", direction: "OUT")
- commentsCount: Int! @cypher(statement: "MATCH (this)-[:WROTE]->(r:Comment) WHERE NOT r.deleted = true AND NOT r.disabled = true RETURN COUNT(r)")
commentedCount: Int! @cypher(statement: "MATCH (this)-[:WROTE]->(r:Comment)-[:COMMENTS]->(p:Post) WHERE NOT r.deleted = true AND NOT r.disabled = true AND NOT p.deleted = true AND NOT p.disabled = true RETURN COUNT(DISTINCT(p))")
shouted: [Post]! @relation(name: "SHOUTED", direction: "OUT")
@@ -143,7 +142,6 @@ type Query {
followedByCount: Int
followedByCurrentUser: Boolean
contributionsCount: Int
- commentsCount: Int
commentedCount: Int
shoutedCount: Int
badgesCount: Int
diff --git a/webapp/components/Comment.vue b/webapp/components/Comment.vue
index 9096fb6e8..c53d0a231 100644
--- a/webapp/components/Comment.vue
+++ b/webapp/components/Comment.vue
@@ -67,7 +67,7 @@ import { mapGetters, mapMutations } from 'vuex'
import HcUser from '~/components/User'
import ContentMenu from '~/components/ContentMenu'
import ContentViewer from '~/components/Editor/ContentViewer'
-import HcEditCommentForm from '~/components/comments/EditCommentForm/EditCommentForm'
+import HcEditCommentForm from '~/components/EditCommentForm/EditCommentForm'
export default {
data: function() {
diff --git a/webapp/components/comments/CommentForm/spec.js b/webapp/components/CommentForm/CommentForm.spec.js
similarity index 98%
rename from webapp/components/comments/CommentForm/spec.js
rename to webapp/components/CommentForm/CommentForm.spec.js
index 2d212c91d..5e7c952af 100644
--- a/webapp/components/comments/CommentForm/spec.js
+++ b/webapp/components/CommentForm/CommentForm.spec.js
@@ -1,5 +1,5 @@
import { mount, createLocalVue } from '@vue/test-utils'
-import CommentForm from './index.vue'
+import CommentForm from './CommentForm'
import Styleguide from '@human-connection/styleguide'
import Vuex from 'vuex'
import MutationObserver from 'mutation-observer'
diff --git a/webapp/components/comments/CommentForm/index.vue b/webapp/components/CommentForm/CommentForm.vue
similarity index 97%
rename from webapp/components/comments/CommentForm/index.vue
rename to webapp/components/CommentForm/CommentForm.vue
index a04b4f068..795727578 100644
--- a/webapp/components/comments/CommentForm/index.vue
+++ b/webapp/components/CommentForm/CommentForm.vue
@@ -69,7 +69,7 @@ export default {
this.disabled = true
this.$apollo
.mutate({
- mutation: CommentMutations().CreateComment,
+ mutation: CommentMutations(this.$i18n).CreateComment,
variables: {
postId: this.post.id,
content: this.form.content,
diff --git a/webapp/components/comments/CommentList/CommentList.spec.js b/webapp/components/CommentList/CommentList.spec.js
similarity index 68%
rename from webapp/components/comments/CommentList/CommentList.spec.js
rename to webapp/components/CommentList/CommentList.spec.js
index 023974284..e1090475a 100644
--- a/webapp/components/comments/CommentList/CommentList.spec.js
+++ b/webapp/components/CommentList/CommentList.spec.js
@@ -1,5 +1,5 @@
import { config, mount, createLocalVue } from '@vue/test-utils'
-import CommentList from '.'
+import CommentList from './CommentList'
import Empty from '~/components/Empty'
import Vuex from 'vuex'
import Styleguide from '@human-connection/styleguide'
@@ -21,63 +21,52 @@ describe('CommentList.vue', () => {
let store
let wrapper
let propsData
- let data
-
- propsData = {
- post: {
- id: 1,
- },
- }
- store = new Vuex.Store({
- getters: {
- 'auth/user': () => {
- return {}
- },
- },
- })
- mocks = {
- $t: jest.fn(),
- $filters: {
- truncate: a => a,
- },
- $apollo: {
- queries: {
- Post: {
- refetch: jest.fn(),
- },
- },
- },
- }
- data = () => {
- return {
- comments: [],
- }
- }
describe('shallowMount', () => {
+ beforeEach(() => {
+ propsData = {
+ post: {
+ id: 1,
+ comments: [{ id: 'comment134', contentExcerpt: 'this is a comment' }],
+ },
+ }
+ store = new Vuex.Store({
+ getters: {
+ 'auth/user': () => {
+ return {}
+ },
+ },
+ })
+ mocks = {
+ $t: jest.fn(),
+ $filters: {
+ truncate: a => a,
+ },
+ $apollo: {
+ queries: {
+ Post: {
+ refetch: jest.fn(),
+ },
+ },
+ },
+ }
+ })
+
const Wrapper = () => {
return mount(CommentList, {
store,
mocks,
localVue,
propsData,
- data,
})
}
beforeEach(() => {
wrapper = Wrapper()
- wrapper.setData({
- comments: [
- {
- id: 'c1',
- contentExcerpt: 'this is a comment',
- },
- ],
- })
})
it('displays a message icon when there are no comments to display', () => {
+ propsData.post.comments = []
expect(Wrapper().findAll(Empty)).toHaveLength(1)
})
diff --git a/webapp/components/comments/CommentList/index.vue b/webapp/components/CommentList/CommentList.vue
similarity index 96%
rename from webapp/components/comments/CommentList/index.vue
rename to webapp/components/CommentList/CommentList.vue
index 7e30e2452..2ae670bf4 100644
--- a/webapp/components/comments/CommentList/index.vue
+++ b/webapp/components/CommentList/CommentList.vue
@@ -4,7 +4,7 @@
{
}
getters = {
'auth/user': () => {
- return { id: 'u343', name: deleteAccountName, contributionsCount: 2, commentsCount: 3 }
+ return { id: 'u343', name: deleteAccountName, contributionsCount: 2, commentedCount: 3 }
},
}
actions = { 'auth/logout': jest.fn() }
diff --git a/webapp/components/DeleteData/DeleteData.vue b/webapp/components/DeleteData/DeleteData.vue
index 293e65221..f6e6d47f0 100644
--- a/webapp/components/DeleteData/DeleteData.vue
+++ b/webapp/components/DeleteData/DeleteData.vue
@@ -30,12 +30,12 @@
}}
-
-
+
- {{ post.commentsCount }}
+ {{ post.commentedCount }}
{
name: 'Trick',
slug: 'trick',
},
- commentsCount: 0,
+ commentedCount: 0,
createdAt: '2019-03-13T11:00:20.835Z',
id: 'p10',
label: 'Eos aut illo omnis quis eaque et iure aut.',
diff --git a/webapp/components/SearchInput.vue b/webapp/components/SearchInput.vue
index 098b30610..c93e65d61 100644
--- a/webapp/components/SearchInput.vue
+++ b/webapp/components/SearchInput.vue
@@ -46,7 +46,7 @@
- {{ option.commentsCount }}
+ {{ option.commentedCount }}
diff --git a/webapp/components/User/index.vue b/webapp/components/User/index.vue
index 7841fe596..b4e8fae66 100644
--- a/webapp/components/User/index.vue
+++ b/webapp/components/User/index.vue
@@ -64,8 +64,8 @@
diff --git a/webapp/graphql/CommentMutations.js b/webapp/graphql/CommentMutations.js
index 6b0f653fc..bf4fc33ea 100644
--- a/webapp/graphql/CommentMutations.js
+++ b/webapp/graphql/CommentMutations.js
@@ -1,6 +1,6 @@
import gql from 'graphql-tag'
-export default () => {
+export default i18n => {
return {
CreateComment: gql`
mutation($postId: ID!, $content: String!) {
@@ -8,15 +8,26 @@ export default () => {
id
contentExcerpt
content
+ createdAt
+ disabled
+ deleted
author {
id
slug
name
avatar
+ disabled
+ deleted
+ shoutedCount
+ contributionsCount
+ commentedCount
+ followedByCount
+ followedByCurrentUser
+ badges {
+ id
+ icon
+ }
}
- createdAt
- deleted
- disabled
}
}
`,
@@ -24,8 +35,19 @@ export default () => {
mutation($content: String!, $id: ID!) {
UpdateComment(content: $content, id: $id) {
id
- content
contentExcerpt
+ content
+ createdAt
+ disabled
+ deleted
+ author {
+ id
+ slug
+ name
+ avatar
+ disabled
+ deleted
+ }
}
}
`,
diff --git a/webapp/graphql/CommentQuery.js b/webapp/graphql/CommentQuery.js
index 4d82165f0..c2daaa943 100644
--- a/webapp/graphql/CommentQuery.js
+++ b/webapp/graphql/CommentQuery.js
@@ -17,7 +17,7 @@ export default app => {
deleted
shoutedCount
contributionsCount
- commentsCount
+ commentedCount
followedByCount
followedByCurrentUser
location {
diff --git a/webapp/graphql/PostQuery.js b/webapp/graphql/PostQuery.js
index 88c32b120..124342dc2 100644
--- a/webapp/graphql/PostQuery.js
+++ b/webapp/graphql/PostQuery.js
@@ -22,7 +22,7 @@ export default i18n => {
deleted
shoutedCount
contributionsCount
- commentsCount
+ commentedCount
followedByCount
followedByCurrentUser
location {
@@ -36,7 +36,6 @@ export default i18n => {
tags {
name
}
- commentsCount
comments(orderBy: createdAt_asc) {
id
contentExcerpt
@@ -53,7 +52,7 @@ export default i18n => {
deleted
shoutedCount
contributionsCount
- commentsCount
+ commentedCount
followedByCount
followedByCurrentUser
location {
@@ -100,7 +99,7 @@ export const filterPosts = i18n => {
deleted
contributionsCount
shoutedCount
- commentsCount
+ commentedCount
followedByCount
followedByCurrentUser
location {
@@ -111,7 +110,6 @@ export const filterPosts = i18n => {
icon
}
}
- commentsCount
categories {
id
name
diff --git a/webapp/graphql/User.js b/webapp/graphql/User.js
index 9de986a8a..7771481a6 100644
--- a/webapp/graphql/User.js
+++ b/webapp/graphql/User.js
@@ -35,7 +35,7 @@ export default i18n => {
followedByCount
followedByCurrentUser
contributionsCount
- commentsCount
+ commentedCount
badges {
id
icon
@@ -57,7 +57,7 @@ export default i18n => {
followedByCount
followedByCurrentUser
contributionsCount
- commentsCount
+ commentedCount
badges {
id
icon
@@ -66,7 +66,6 @@ export default i18n => {
name: name${lang}
}
}
- contributionsCount
socialMedia {
id
url
diff --git a/webapp/locales/de.json b/webapp/locales/de.json
index 33c8e37c5..14980a112 100644
--- a/webapp/locales/de.json
+++ b/webapp/locales/de.json
@@ -171,7 +171,7 @@
"deleteUserAccount": {
"name": "Daten löschen",
"contributionsCount": "Meine {count} Beiträge löschen",
- "commentsCount": "Meine {count} Kommentare löschen",
+ "commentedCount": "Meine {count} Kommentare löschen",
"accountDescription": "Sei dir bewusst, dass deine Beiträge und Kommentare für unsere Community wichtig sind. Wenn du sie trotzdem löschen möchtest, musst du sie unten markieren.",
"accountWarning": "Dein Konto, deine Beiträge oder Kommentare kannst du nach dem Löschen WEDER VERWALTEN NOCH WIEDERHERSTELLEN!",
"success": "Konto erfolgreich gelöscht!",
diff --git a/webapp/locales/en.json b/webapp/locales/en.json
index 664cbaff2..59323fd5a 100644
--- a/webapp/locales/en.json
+++ b/webapp/locales/en.json
@@ -171,7 +171,7 @@
"deleteUserAccount": {
"name": "Delete data",
"contributionsCount": "Delete my {count} posts",
- "commentsCount": "Delete my {count} comments",
+ "commentedCount": "Delete my {count} comments",
"accountDescription": "Be aware that your Post and Comments are important to our community. If you still choose to delete them, you have to mark them below.",
"accountWarning": "You CAN'T MANAGE and CAN'T RECOVER your Account, Posts, or Comments after deleting your account!",
"success": "Account successfully deleted!",
diff --git a/webapp/locales/pl.json b/webapp/locales/pl.json
index 3f6746adf..ed5f049ab 100644
--- a/webapp/locales/pl.json
+++ b/webapp/locales/pl.json
@@ -121,7 +121,7 @@
"deleteUserAccount": {
"name": "Usuń dane",
"contributionsCount": "Usuń {count} moich postów",
- "commentsCount": "Usuń {count} moich komentarzy",
+ "commentedCount": "Usuń {count} moich komentarzy",
"accountDescription": "Be aware that your Post and Comments are important to our community. If you still choose to delete them, you have to mark them below.",
"accountWarning": "Po usunięcie Twojego konta, nie możesz ZARZĄDZAĆ ani ODZYSKAĆ danych, wpisów oraz komentarzy!",
"success": "Konto zostało usunięte",
diff --git a/webapp/pages/index.vue b/webapp/pages/index.vue
index 7566ce791..e8d68a561 100644
--- a/webapp/pages/index.vue
+++ b/webapp/pages/index.vue
@@ -96,7 +96,7 @@ export default {
label: this.$t('sorting.commented'),
value: 'Commented',
icons: 'comment',
- order: 'commentsCount_desc',
+ order: 'commentedCount_desc',
},
],
}
diff --git a/webapp/pages/post/_id/_slug/index.vue b/webapp/pages/post/_id/_slug/index.vue
index 6125ec51d..29fec1821 100644
--- a/webapp/pages/post/_id/_slug/index.vue
+++ b/webapp/pages/post/_id/_slug/index.vue
@@ -81,8 +81,8 @@ import HcTag from '~/components/Tag'
import ContentMenu from '~/components/ContentMenu'
import HcUser from '~/components/User'
import HcShoutButton from '~/components/ShoutButton.vue'
-import HcCommentForm from '~/components/comments/CommentForm'
-import HcCommentList from '~/components/comments/CommentList'
+import HcCommentForm from '~/components/CommentForm/CommentForm'
+import HcCommentList from '~/components/CommentList/CommentList'
import { postMenuModalsData, deletePostMutation } from '~/components/utils/PostHelpers'
import PostQuery from '~/graphql/PostQuery'
import HcEmotions from '~/components/Emotions/Emotions'
diff --git a/webapp/pages/post/_id/_slug/more-info.vue b/webapp/pages/post/_id/_slug/more-info.vue
index ef442b7d6..ab711e101 100644
--- a/webapp/pages/post/_id/_slug/more-info.vue
+++ b/webapp/pages/post/_id/_slug/more-info.vue
@@ -91,7 +91,7 @@ export default {
slug
contentExcerpt
shoutedCount
- commentsCount
+ commentedCount
categories {
id
name
@@ -105,7 +105,7 @@ export default {
contributionsCount
followedByCount
followedByCurrentUser
- commentsCount
+ commentedCount
location {
name: name${this.$i18n.locale().toUpperCase()}
}
diff --git a/webapp/store/auth.js b/webapp/store/auth.js
index 6185a38cf..f756fc2c9 100644
--- a/webapp/store/auth.js
+++ b/webapp/store/auth.js
@@ -80,7 +80,7 @@ export const actions = {
about
locationName
contributionsCount
- commentsCount
+ commentedCount
socialMedia {
id
url
diff --git a/webapp/store/posts.js b/webapp/store/posts.js
index 17e764537..2d9e3ffdc 100644
--- a/webapp/store/posts.js
+++ b/webapp/store/posts.js
@@ -88,7 +88,7 @@ export const actions = {
deleted
contributionsCount
shoutedCount
- commentsCount
+ commentedCount
followedByCount
followedByCurrentUser
location {
@@ -99,7 +99,6 @@ export const actions = {
icon
}
}
- commentsCount
categories {
id
name
diff --git a/webapp/store/search.js b/webapp/store/search.js
index c5ed9523a..bae9bc249 100644
--- a/webapp/store/search.js
+++ b/webapp/store/search.js
@@ -53,7 +53,7 @@ export const actions = {
label: title
value: title,
shoutedCount
- commentsCount
+ commentedCount
createdAt
author {
id