mirror of
https://github.com/langgenius/dify.git
synced 2026-06-07 07:52:50 +08:00
28 lines
974 B
TypeScript
28 lines
974 B
TypeScript
import type { RolesOfMemberResponse } from '@/models/access-control'
|
|
import { useMutation, useQuery, useQueryClient } from '@tanstack/react-query'
|
|
import { get, put } from '../base'
|
|
|
|
const NAME_SPACE = 'rbac-member-roles'
|
|
|
|
export const useRolesOfMember = (memberId: string) => {
|
|
return useQuery({
|
|
queryKey: [NAME_SPACE, 'member-roles', memberId],
|
|
queryFn: () => get<RolesOfMemberResponse>(`/workspaces/current/rbac/members/${memberId}/rbac-roles`),
|
|
})
|
|
}
|
|
|
|
export const useUpdateRolesOfMember = () => {
|
|
const queryClient = useQueryClient()
|
|
|
|
return useMutation({
|
|
mutationKey: [NAME_SPACE, 'update-member-roles'],
|
|
mutationFn: ({ memberId, roleIds }: { memberId: string, roleIds: string[] }) =>
|
|
put(`/workspaces/current/rbac/members/${memberId}/rbac-roles`, {
|
|
body: { role_ids: roleIds },
|
|
}),
|
|
onSuccess: (_, { memberId }) => {
|
|
queryClient.invalidateQueries({ queryKey: [NAME_SPACE, 'member-roles', memberId] })
|
|
},
|
|
})
|
|
}
|