feat(admin): 新增角色权限与客服群管理
This commit is contained in:
@@ -51,8 +51,14 @@ import type {
|
||||
AdminPaymentConfigPage,
|
||||
AdminPaymentConfigPayload,
|
||||
AdminPaymentConfigQuery,
|
||||
AdminPermission,
|
||||
AdminReceivedListingPage,
|
||||
AdminReceivedListingQuery,
|
||||
AdminRoleDetail,
|
||||
AdminRolePayload,
|
||||
AdminSupportGroup,
|
||||
AdminSupportGroupPayload,
|
||||
AdminSupportMember,
|
||||
AdminSyncSiteAccountsPayload,
|
||||
AdminSyncSiteAccountsResult,
|
||||
AdminSystemConfig,
|
||||
@@ -997,6 +1003,85 @@ export async function deleteAdminPaymentConfig(id: number) {
|
||||
await adminClient.delete(`/admin/payment-configs/${id}`)
|
||||
}
|
||||
|
||||
export async function fetchAdminRoles() {
|
||||
const { data } = await adminClient.get<ApiResponse<AdminRoleDetail[]>>('/admin/roles')
|
||||
return data.data ?? []
|
||||
}
|
||||
|
||||
export async function fetchAdminRole(id: number) {
|
||||
const { data } = await adminClient.get<ApiResponse<AdminRoleDetail>>(`/admin/roles/${id}`)
|
||||
return data.data
|
||||
}
|
||||
|
||||
export async function createAdminRole(payload: AdminRolePayload) {
|
||||
const { data } = await adminClient.post<ApiResponse<AdminRoleDetail>>('/admin/roles', payload)
|
||||
return data.data
|
||||
}
|
||||
|
||||
export async function updateAdminRole(id: number, payload: AdminRolePayload) {
|
||||
const { data } = await adminClient.put<ApiResponse<AdminRoleDetail>>(
|
||||
`/admin/roles/${id}`,
|
||||
payload
|
||||
)
|
||||
return data.data
|
||||
}
|
||||
|
||||
export async function deleteAdminRole(id: number) {
|
||||
await adminClient.delete(`/admin/roles/${id}`)
|
||||
}
|
||||
|
||||
export async function fetchAdminPermissions() {
|
||||
const { data } = await adminClient.get<ApiResponse<AdminPermission[]>>('/admin/permissions')
|
||||
return data.data ?? []
|
||||
}
|
||||
|
||||
export async function assignAdminRolePermissions(id: number, permissionIds: number[]) {
|
||||
await adminClient.put(`/admin/roles/${id}/permissions`, { permission_ids: permissionIds })
|
||||
}
|
||||
|
||||
export async function fetchAdminSupportGroups() {
|
||||
const { data } = await adminClient.get<ApiResponse<AdminSupportGroup[]>>(
|
||||
'/admin/chat-support-groups'
|
||||
)
|
||||
return data.data ?? []
|
||||
}
|
||||
|
||||
export async function fetchAdminSupportAdmins() {
|
||||
const { data } = await adminClient.get<ApiResponse<AdminSupportMember[]>>(
|
||||
'/admin/chat-support-groups/support-admins'
|
||||
)
|
||||
return data.data ?? []
|
||||
}
|
||||
|
||||
export async function createAdminSupportGroup(payload: AdminSupportGroupPayload) {
|
||||
const { data } = await adminClient.post<ApiResponse<AdminSupportGroup>>(
|
||||
'/admin/chat-support-groups',
|
||||
payload
|
||||
)
|
||||
return data.data
|
||||
}
|
||||
|
||||
export async function updateAdminSupportGroup(
|
||||
id: number,
|
||||
payload: AdminSupportGroupPayload
|
||||
) {
|
||||
const { data } = await adminClient.put<ApiResponse<AdminSupportGroup>>(
|
||||
`/admin/chat-support-groups/${id}`,
|
||||
payload
|
||||
)
|
||||
return data.data
|
||||
}
|
||||
|
||||
export async function deleteAdminSupportGroup(id: number) {
|
||||
await adminClient.delete(`/admin/chat-support-groups/${id}`)
|
||||
}
|
||||
|
||||
export async function assignAdminSupportGroupMembers(id: number, memberIds: number[]) {
|
||||
await adminClient.put(`/admin/chat-support-groups/${id}/members`, {
|
||||
member_ids: memberIds,
|
||||
})
|
||||
}
|
||||
|
||||
export async function fetchFinanceDisbursements(query: FinanceDisbursementQuery) {
|
||||
const { data } = await adminClient.get<ApiResponse<Partial<FinanceDisbursementPage>>>(
|
||||
'/admin/finance/disbursements',
|
||||
|
||||
Reference in New Issue
Block a user