Skip to content
Snippets Groups Projects
Commit 77a153de authored by Angelina Filippova's avatar Angelina Filippova
Browse files

Update api for ActivateUsers and DeactivateUsers actions

parent f0899ec2
No related branches found
No related tags found
No related merge requests found
......@@ -2,6 +2,16 @@ import request from '@/utils/request'
import { getToken } from '@/utils/auth'
import { baseName } from './utils'
export async function activateUsers(nicknames, authHost, token) {
return await request({
baseURL: baseName(authHost),
url: `/api/pleroma/admin/users/activate`,
method: 'patch',
headers: authHeaders(token),
data: { nicknames }
})
}
export async function addRight(nicknames, right, authHost, token) {
return await request({
baseURL: baseName(authHost),
......@@ -22,6 +32,16 @@ export async function createNewAccount(nickname, email, password, authHost, toke
})
}
export async function deactivateUsers(nicknames, authHost, token) {
return await request({
baseURL: baseName(authHost),
url: `/api/pleroma/admin/users/deactivate`,
method: 'patch',
headers: authHeaders(token),
data: { nicknames }
})
}
export async function deleteRight(nicknames, right, authHost, token) {
return await request({
baseURL: baseName(authHost),
......@@ -96,15 +116,6 @@ export async function tagUser(nicknames, tags, authHost, token) {
})
}
export async function toggleUserActivation(nickname, authHost, token) {
return await request({
baseURL: baseName(authHost),
url: `/api/pleroma/admin/users/${nickname}/toggle_activation`,
method: 'patch',
headers: authHeaders(token)
})
}
export async function untagUser(nicknames, tags, authHost, token) {
return await request({
baseURL: baseName(authHost),
......
import {
activateUsers,
addRight,
createNewAccount,
deactivateUsers,
deleteRight,
deleteUser,
fetchUsers,
getPasswordResetToken,
searchUsers,
tagUser,
toggleUserActivation,
untagUser,
requirePasswordReset
} from '@/api/users'
......@@ -76,6 +77,10 @@ const users = {
}
},
actions: {
async ActivateUsers({ commit, getters }, nicknames) {
const { data } = await activateUsers(nicknames, getters.authHost, getters.token)
commit('SWAP_USERS', data)
},
async AddRight({ dispatch, getters, state }, { users, right }) {
const usersNicknames = users.map(user => user.nickname)
await addRight(usersNicknames, right, getters.authHost, getters.token)
......@@ -98,6 +103,10 @@ const users = {
await createNewAccount(nickname, email, password, getters.authHost, getters.token)
dispatch('FetchUsers', { page: state.currentPage })
},
async DeactivateUsers({ commit, getters }, nicknames) {
const { data } = await deactivateUsers(nicknames, getters.authHost, getters.token)
commit('SWAP_USERS', data)
},
async DeleteRight({ dispatch, getters, state }, { users, right }) {
const usersNicknames = users.map(user => user.nickname)
await deleteRight(usersNicknames, right, getters.authHost, getters.token)
......@@ -148,10 +157,6 @@ const users = {
loadUsers(commit, page, response.data)
}
},
async ToggleUserActivation({ commit, getters }, nickname) {
const { data } = await toggleUserActivation(nickname, getters.authHost, getters.token)
commit('SWAP_USER', data)
},
async ToggleUsersFilter({ commit, dispatch, state }, filters) {
const defaultFilters = {
local: false,
......
......@@ -21,7 +21,7 @@
<el-dropdown-menu slot="dropdown">
<el-dropdown-item
v-if="showDeactivatedButton(report.account)"
@click.native="handleDeactivation(report.account)">
@click.native="toggleActivation(report.account)">
{{ report.account.deactivated ? $t('users.activateAccount') : $t('users.deactivateAccount') }}
</el-dropdown-item>
<el-dropdown-item
......@@ -139,17 +139,19 @@ export default {
return 'primary'
}
},
handleDeletion(user) {
this.$store.dispatch('DeleteUser', user)
},
parseTimestamp(timestamp) {
return moment(timestamp).format('L HH:mm')
},
showDeactivatedButton(id) {
return this.$store.state.user.id !== id
},
handleDeactivation({ nickname }) {
this.$store.dispatch('ToggleUserActivation', nickname)
},
handleDeletion(user) {
this.$store.dispatch('DeleteUser', user)
toggleActivation({ deactivated, nickname }) {
deactivated
? this.$store.dispatch('ActivateUsers', [nickname])
: this.$store.dispatch('DeactivateUsers', [nickname])
},
toggleTag(user, tag) {
user.tags.includes(tag)
......
......@@ -80,7 +80,7 @@
<el-dropdown-item
v-if="showDeactivatedButton(scope.row.id)"
:divided="showAdminAction(scope.row)"
@click.native="handleDeactivation(scope.row)">
@click.native="toggleActivation(scope.row)">
{{ scope.row.deactivated ? $t('users.activateAccount') : $t('users.deactivateAccount') }}
</el-dropdown-item>
<el-dropdown-item
......@@ -275,8 +275,10 @@ export default {
this.$store.dispatch('RequirePasswordReset', { nickname })
},
handleDeactivation({ nickname }) {
this.$store.dispatch('ToggleUserActivation', nickname)
toggleActivation({ deactivated, nickname }) {
deactivated
? this.$store.dispatch('ActivateUsers', [nickname])
: this.$store.dispatch('DeactivateUsers', [nickname])
},
handleDeletion(user) {
this.$store.dispatch('DeleteUser', user)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment