46 lines
1.4 KiB
JavaScript
46 lines
1.4 KiB
JavaScript
import request from '@/utils/request'
|
|
import { getToken } from '@/utils/auth'
|
|
import { baseName } from './utils'
|
|
|
|
export async function generateInviteToken(max_use, expires_at, authHost, token) {
|
|
return await request({
|
|
baseURL: baseName(authHost),
|
|
url: `/api/pleroma/admin/users/invite_token`,
|
|
method: 'post',
|
|
headers: authHeaders(token),
|
|
data: expires_at && expires_at.length > 0 ? { max_use, expires_at } : { max_use }
|
|
})
|
|
}
|
|
|
|
export async function inviteViaEmail(email, name, authHost, token) {
|
|
const url = name.length > 0
|
|
? `/api/pleroma/admin/users/email_invite?email=${email}&name=${name}`
|
|
: `/api/pleroma/admin/users/email_invite?email=${email}`
|
|
return await request({
|
|
baseURL: baseName(authHost),
|
|
url,
|
|
method: 'post',
|
|
headers: authHeaders(token)
|
|
})
|
|
}
|
|
|
|
export async function listInviteTokens(authHost, token) {
|
|
return await request({
|
|
baseURL: baseName(authHost),
|
|
url: `/api/pleroma/admin/users/invites`,
|
|
method: 'get',
|
|
headers: authHeaders(token)
|
|
})
|
|
}
|
|
|
|
export async function revokeToken(tokenToRevoke, authHost, token) {
|
|
return await request({
|
|
baseURL: baseName(authHost),
|
|
url: `/api/pleroma/admin/users/revoke_invite`,
|
|
method: 'post',
|
|
headers: authHeaders(token),
|
|
data: { token: tokenToRevoke }
|
|
})
|
|
}
|
|
|
|
const authHeaders = (token) => token ? { 'Authorization': `Bearer ${getToken()}` } : {}
|