mirror of
https://github.com/IT4Change/Ocelot-Social.git
synced 2025-12-13 07:45:56 +00:00
* push posts push posts * unpush posts * fix comment query * locales * fix locales * fix tests * Update webapp/locales/de.json Co-authored-by: Wolfgang Huß <wolle.huss@pjannto.com> * Update webapp/locales/de.json Co-authored-by: Wolfgang Huß <wolle.huss@pjannto.com> * Update webapp/locales/de.json Co-authored-by: Wolfgang Huß <wolle.huss@pjannto.com> * fix unpushedSuccessfully english message * remove paremeters from unpushPost * rename pushPostToTop -> pushPost, tests * update locales & tests webapp * fix lint --------- Co-authored-by: Wolfgang Huß <wolle.huss@pjannto.com>
93 lines
2.6 KiB
JavaScript
93 lines
2.6 KiB
JavaScript
import PostMutations from '~/graphql/PostMutations'
|
|
import { mapMutations } from 'vuex'
|
|
|
|
export default {
|
|
methods: {
|
|
removePostFromList(deletedPost, posts) {
|
|
return posts.filter((post) => {
|
|
return post.id !== deletedPost.id
|
|
})
|
|
},
|
|
pinPost(post, refetchPostList = () => {}) {
|
|
this.$apollo
|
|
.mutate({
|
|
mutation: PostMutations().pinPost,
|
|
variables: {
|
|
id: post.id,
|
|
},
|
|
})
|
|
.then(() => {
|
|
this.$toast.success(this.$t('post.menu.pinnedSuccessfully'))
|
|
this.storePinPost()
|
|
refetchPostList()
|
|
})
|
|
.catch((error) => this.$toast.error(error.message))
|
|
},
|
|
unpinPost(post, refetchPostList = () => {}) {
|
|
this.$apollo
|
|
.mutate({
|
|
mutation: PostMutations().unpinPost,
|
|
variables: {
|
|
id: post.id,
|
|
},
|
|
})
|
|
.then(() => {
|
|
this.$toast.success(this.$t('post.menu.unpinnedSuccessfully'))
|
|
this.storeUnpinPost()
|
|
refetchPostList()
|
|
})
|
|
.catch((error) => this.$toast.error(error.message))
|
|
},
|
|
pushPost(post, refetchPostList = () => {}) {
|
|
this.$apollo
|
|
.mutate({
|
|
mutation: PostMutations().pushPost,
|
|
variables: {
|
|
id: post.id,
|
|
},
|
|
})
|
|
.then(() => {
|
|
this.$toast.success(this.$t('post.menu.pushedSuccessfully'))
|
|
refetchPostList()
|
|
})
|
|
.catch((error) => this.$toast.error(error.message))
|
|
},
|
|
unpushPost(post, refetchPostList = () => {}) {
|
|
this.$apollo
|
|
.mutate({
|
|
mutation: PostMutations().unpushPost,
|
|
variables: {
|
|
id: post.id,
|
|
},
|
|
})
|
|
.then(() => {
|
|
this.$toast.success(this.$t('post.menu.unpushedSuccessfully'))
|
|
refetchPostList()
|
|
})
|
|
.catch((error) => this.$toast.error(error.message))
|
|
},
|
|
toggleObservePost(postId, value, refetchPostList = () => {}) {
|
|
this.$apollo
|
|
.mutate({
|
|
mutation: PostMutations().toggleObservePost,
|
|
variables: {
|
|
value,
|
|
id: postId,
|
|
},
|
|
})
|
|
.then(() => {
|
|
const message = this.$t(
|
|
`post.menu.${value ? 'observedSuccessfully' : 'unobservedSuccessfully'}`,
|
|
)
|
|
this.$toast.success(message)
|
|
refetchPostList()
|
|
})
|
|
.catch((error) => this.$toast.error(error.message))
|
|
},
|
|
...mapMutations({
|
|
storePinPost: 'pinnedPosts/pinPost',
|
|
storeUnpinPost: 'pinnedPosts/unpinPost',
|
|
}),
|
|
},
|
|
}
|