From 13c8f10f4b42c1d698bc99694cd3556c691ac880 Mon Sep 17 00:00:00 2001 From: taehoon Date: Thu, 4 Apr 2019 13:54:52 -0400 Subject: wire up bulk action buttons to vuex --- src/modules/users.js | 36 +++++++++++++++++++++++++----------- 1 file changed, 25 insertions(+), 11 deletions(-) (limited to 'src/modules/users.js') diff --git a/src/modules/users.js b/src/modules/users.js index 58db8b71..a458f681 100644 --- a/src/modules/users.js +++ b/src/modules/users.js @@ -32,6 +32,22 @@ const getNotificationPermission = () => { return Promise.resolve(Notification.permission) } +const blockUser = (store, userId) => { + return store.rootState.api.backendInteractor.blockUser(userId) + .then((relationship) => { + store.commit('updateUserRelationship', [relationship]) + store.commit('addBlockId', userId) + store.commit('removeStatus', { timeline: 'friends', userId }) + store.commit('removeStatus', { timeline: 'public', userId }) + store.commit('removeStatus', { timeline: 'publicAndExternal', userId }) + }) +} + +const unblockUser = (store, userId) => { + return store.rootState.api.backendInteractor.unblockUser(userId) + .then((relationship) => store.commit('updateUserRelationship', [relationship])) +} + export const mutations = { setMuted (state, { user: { id }, muted }) { const user = state.usersObject[id] @@ -207,18 +223,16 @@ const users = { }) }, blockUser (store, userId) { - return store.rootState.api.backendInteractor.blockUser(userId) - .then((relationship) => { - store.commit('updateUserRelationship', [relationship]) - store.commit('addBlockId', userId) - store.commit('removeStatus', { timeline: 'friends', userId }) - store.commit('removeStatus', { timeline: 'public', userId }) - store.commit('removeStatus', { timeline: 'publicAndExternal', userId }) - }) + return blockUser(store, userId) }, - unblockUser (store, id) { - return store.rootState.api.backendInteractor.unblockUser(id) - .then((relationship) => store.commit('updateUserRelationship', [relationship])) + unblockUser (store, userId) { + return unblockUser(store, userId) + }, + blockUsers (store, userIds = []) { + return Promise.all(userIds.map(userId => blockUser(store, userId))) + }, + unblockUsers (store, userIds = []) { + return Promise.all(userIds.map(userId => unblockUser(store, userId))) }, fetchMutes (store) { return store.rootState.api.backendInteractor.fetchMutes() -- cgit v1.2.3-70-g09d2