Skip to content
Snippets Groups Projects
Select Git revision
  • 30a1a25ff78aeceaab3d29f6746c50041bd739f8
  • develop default protected
  • remove-ssh-gopher
  • display-name-emoji-packs
  • feature/add-new-user-filters
  • feature/edit-tags-manually
  • master
  • release/2.1.0
  • feature/update-styles
  • release/2.0.3
  • v2.1.0
  • v2.0.2
  • 1.2.0
13 results

users.js

Blame
  • Forked from Pleroma / admin-fe
    1234 commits behind the upstream repository.
    user avatar
    Maxim Filippov authored
    ada2de97
    History
    users.js 3.48 KiB
    import request from '@/utils/request'
    import { getToken } from '@/utils/auth'
    import { baseName } from './utils'
    
    export async function addRight(nickname, right, authHost, token) {
      return await request({
        baseURL: baseName(authHost),
        url: `/api/pleroma/admin/users/${nickname}/permission_group/${right}`,
        method: 'post',
        headers: authHeaders(token)
      })
    }
    
    export async function createNewAccount(nickname, email, password, authHost, token) {
      return await request({
        baseURL: baseName(authHost),
        url: '/api/pleroma/admin/users',
        method: 'post',
        headers: authHeaders(token),
        data: { users: [{ nickname, email, password }] }
      })
    }
    
    export async function deleteRight(nickname, right, authHost, token) {
      return await request({
        baseURL: baseName(authHost),
        url: `/api/pleroma/admin/users/${nickname}/permission_group/${right}`,
        method: 'delete',
        headers: authHeaders(token)
      })
    }
    
    export async function deleteUser(nickname, authHost, token) {
      return await request({
        baseURL: baseName(authHost),
        url: `/api/pleroma/admin/users?nickname=${nickname}`,
        method: 'delete',
        headers: authHeaders(token)
      })
    }
    
    export async function fetchUser(id, authHost, token) {
      return await request({
        baseURL: baseName(authHost),
        url: `/api/pleroma/admin/users/${id}`,
        method: 'get',
        headers: authHeaders(token)
      })
    }
    
    export async function fetchUsers(filters, authHost, token, page = 1) {
      return await request({
        baseURL: baseName(authHost),
        url: `/api/pleroma/admin/users?page=${page}&filters=${filters}`,
        method: 'get',
        headers: authHeaders(token)
      })
    }
    
    export async function getPasswordResetToken(nickname, authHost, token) {
      return await request({
        baseURL: baseName(authHost),
        url: `/api/pleroma/admin/users/${nickname}/password_reset`,
        method: 'get',
        headers: authHeaders(token)
      })
    }
    
    export async function requirePasswordReset(nickname, authHost, token) {
      return await request({
        baseURL: baseName(authHost),
        url: `/api/pleroma/admin/users/${nickname}/force_password_reset`,
        method: 'patch',
        headers: authHeaders(token)
      })
    }
    
    export async function searchUsers(query, filters, authHost, token, page = 1) {
      return await request({
        baseURL: baseName(authHost),
        url: `/api/pleroma/admin/users?query=${query}&page=${page}&filters=${filters}`,
        method: 'get',
        headers: authHeaders(token)
      })
    }
    
    export async function tagUser(nicknames, tags, authHost, token) {
      return await request({
        baseURL: baseName(authHost),
        url: '/api/pleroma/admin/users/tag',
        method: 'put',
        headers: authHeaders(token),
        data: { nicknames, tags }
      })
    }
    
    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),
        url: '/api/pleroma/admin/users/tag',
        method: 'delete',
        headers: authHeaders(token),
        data: { nicknames, tags }
      })
    }
    
    export async function fetchUserStatuses(id, authHost, godmode, token) {
      return await request({
        baseURL: baseName(authHost),
        url: `/api/pleroma/admin/users/${id}/statuses?godmode=${godmode}`,
        method: 'get',
        headers: authHeaders(token)
      })
    }
    
    const authHeaders = (token) => token ? { 'Authorization': `Bearer ${getToken()}` } : {}