Update api function and module action for user deletion

This commit is contained in:
Angelina Filippova 2019-10-16 14:24:35 +02:00
parent 58573a7de8
commit 4d58527201
4 changed files with 24 additions and 32 deletions

View file

@ -52,12 +52,13 @@ export async function deleteRight(nicknames, right, authHost, token) {
})
}
export async function deleteUser(nickname, authHost, token) {
export async function deleteUsers(nicknames, authHost, token) {
return await request({
baseURL: baseName(authHost),
url: `/api/pleroma/admin/users?nickname=${nickname}`,
url: `/api/pleroma/admin/users`,
method: 'delete',
headers: authHeaders(token)
headers: authHeaders(token),
data: { nicknames }
})
}

View file

@ -4,7 +4,7 @@ import {
createNewAccount,
deactivateUsers,
deleteRight,
deleteUser,
deleteUsers,
fetchUsers,
getPasswordResetToken,
searchUsers,
@ -77,24 +77,20 @@ const users = {
}
},
actions: {
async ActivateUsers({ commit, getters }, users) {
async ActivateUsers({ dispatch, getters, state }, users) {
const usersNicknames = users.map(user => user.nickname)
const { data } = await activateUsers(usersNicknames, getters.authHost, getters.token)
commit('SWAP_USERS', data)
await activateUsers(usersNicknames, getters.authHost, getters.token)
dispatch('FetchUsers', { page: state.currentPage })
},
async AddRight({ dispatch, getters, state }, { users, right }) {
const usersNicknames = users.map(user => user.nickname)
await addRight(usersNicknames, right, getters.authHost, getters.token)
dispatch('FetchUsers', { page: state.currentPage })
// const updatedUser = { ...user, roles: { ...user.roles, [right]: !user.roles[right] }}
// commit('SWAP_USER', updatedUser)
},
async AddTag({ commit, getters }, { users, tag }) {
async AddTag({ dispatch, getters, state }, { users, tag }) {
const nicknames = users.map(user => user.nickname)
await tagUser(nicknames, [tag], getters.authHost, getters.token)
commit('SWAP_USERS', users.map(user => ({ ...user, tags: [...user.tags, tag] })))
dispatch('FetchUsers', { page: state.currentPage })
},
async ClearFilters({ commit, dispatch, state }) {
commit('CLEAR_USERS_FILTERS')
@ -104,46 +100,41 @@ const users = {
await createNewAccount(nickname, email, password, getters.authHost, getters.token)
dispatch('FetchUsers', { page: state.currentPage })
},
async DeactivateUsers({ commit, getters }, users) {
async DeactivateUsers({ dispatch, getters, state }, users) {
const usersNicknames = users.map(user => user.nickname)
const { data } = await deactivateUsers(usersNicknames, getters.authHost, getters.token)
commit('SWAP_USERS', data)
await deactivateUsers(usersNicknames, getters.authHost, getters.token)
dispatch('FetchUsers', { page: state.currentPage })
},
async DeleteRight({ dispatch, getters, state }, { users, right }) {
const usersNicknames = users.map(user => user.nickname)
await deleteRight(usersNicknames, right, getters.authHost, getters.token)
dispatch('FetchUsers', { page: state.currentPage })
// const updatedUser = { ...user, roles: { ...user.roles, [right]: !user.roles[right] }}
// commit('SWAP_USER', updatedUser)
},
async DeleteUser({ commit, getters, state }, user) {
const { data } = await deleteUser(user.nickname, getters.authHost, getters.token)
const users = state.fetchedUsers.filter(user => user.nickname !== data)
commit('SET_USERS', users)
async DeleteUsers({ dispatch, getters, state }, users) {
const usersNicknames = users.map(user => user.nickname)
await deleteUsers(usersNicknames, getters.authHost, getters.token)
},
async RequirePasswordReset({ commit, getters, state }, user) {
async RequirePasswordReset({ getters }, user) {
await requirePasswordReset(user.nickname, getters.authHost, getters.token)
},
async FetchUsers({ commit, state, getters, dispatch }, { page }) {
async FetchUsers({ commit, dispatch, getters, state }, { page }) {
commit('SET_LOADING', true)
const filters = Object.keys(state.filters).filter(filter => state.filters[filter]).join()
const response = await fetchUsers(filters, getters.authHost, getters.token, page)
await dispatch('GetNodeInfo')
// await dispatch('GetNodeInfo')
loadUsers(commit, page, response.data)
},
async GetPasswordResetToken({ commit, state, getters }, nickname) {
async GetPasswordResetToken({ commit, getters }, nickname) {
const { data } = await getPasswordResetToken(nickname, getters.authHost, getters.token)
commit('SET_PASSWORD_RESET_TOKEN', data)
},
RemovePasswordToken({ commit }) {
commit('SET_PASSWORD_RESET_TOKEN', { link: '', token: '' })
},
async RemoveTag({ commit, getters }, { users, tag }) {
async RemoveTag({ dispatch, getters, state }, { users, tag }) {
const nicknames = users.map(user => user.nickname)
await untagUser(nicknames, [tag], getters.authHost, getters.token)
commit('SWAP_USERS', users.map(user => ({ ...user, tags: user.tags.filter(userTag => userTag !== tag) })))
dispatch('FetchUsers', { page: state.currentPage })
},
async SearchUsers({ commit, dispatch, state, getters }, { query, page }) {
if (query.length === 0) {

View file

@ -140,7 +140,7 @@ export default {
}
},
handleDeletion(user) {
this.$store.dispatch('DeleteUser', user)
this.$store.dispatch('DeleteUsers', [user])
},
parseTimestamp(timestamp) {
return moment(timestamp).format('L HH:mm')

View file

@ -281,7 +281,7 @@ export default {
: this.$store.dispatch('DeactivateUsers', [user])
},
handleDeletion(user) {
this.$store.dispatch('DeleteUser', user)
this.$store.dispatch('DeleteUsers', [user])
},
handlePageChange(page) {
const searchQuery = this.$store.state.users.searchQuery