use vuex action

This commit is contained in:
taehoon 2019-11-18 20:42:10 -05:00
parent 45e7f93c49
commit 36376ce57c
2 changed files with 9 additions and 8 deletions

View file

@ -71,12 +71,7 @@ const ModerationTools = {
}
},
toggleActivationStatus () {
const store = this.$store
const status = !!this.user.deactivated
store.state.api.backendInteractor.toggleActivationStatus(this.user).then(response => {
if (!response.ok) { return }
store.commit('updateActivationStatus', { user: this.user, status: status })
})
this.$store.dispatch('toggleActivationStatus', this.user)
},
deleteUserDialog (show) {
this.showDeleteUserDialog = show

View file

@ -95,9 +95,9 @@ export const mutations = {
newRights[right] = value
set(user, 'rights', newRights)
},
updateActivationStatus (state, { user: { id }, status }) {
updateActivationStatus (state, { user: { id }, deactivated }) {
const user = state.usersObject[id]
set(user, 'deactivated', !status)
set(user, 'deactivated', deactivated)
},
setCurrentUser (state, user) {
state.lastLoginName = user.screen_name
@ -331,6 +331,12 @@ const users = {
return rootState.api.backendInteractor.unsubscribeUser(id)
.then((relationship) => commit('updateUserRelationship', [relationship]))
},
toggleActivationStatus ({ rootState, commit }, user) {
rootState.api.backendInteractor.toggleActivationStatus(user)
.then(response => {
commit('updateActivationStatus', { user, deactivated: response.deactivated })
})
},
registerPushNotifications (store) {
const token = store.state.currentUser.credentials
const vapidPublicKey = store.rootState.instance.vapidPublicKey