first commit
This commit is contained in:
@@ -0,0 +1,58 @@
|
||||
import { useMutation, useQuery } from '@tanstack/vue-query'
|
||||
|
||||
import {
|
||||
apiAddAdminUser,
|
||||
apiChangeAdminUserStatus,
|
||||
apiDeleteAdminUser,
|
||||
apiGetAdminRoles,
|
||||
apiGetAdminUsers,
|
||||
apiShowAdminUser,
|
||||
apiUpdateAdminUser,
|
||||
apiUpdateAdminUserRole,
|
||||
} from '@/services/api/admin-users'
|
||||
import { cleanFilters } from '@/utils/clean-filters'
|
||||
|
||||
export const adminUsersKeys = {
|
||||
all: ['admin', 'users'],
|
||||
list: (filters, pagination) => ['admin', 'users', 'list', filters, pagination],
|
||||
detail: (id) => ['admin', 'users', 'detail', id],
|
||||
roles: () => ['admin', 'users', 'roles'],
|
||||
}
|
||||
|
||||
export const useAdminUsersListQuery = (filtersRef, paginationRef, options = {}) =>
|
||||
useQuery({
|
||||
queryKey: ['admin', 'users', 'list', filtersRef, paginationRef],
|
||||
queryFn: () => apiGetAdminUsers({ ...cleanFilters(filtersRef.value), ...paginationRef.value }),
|
||||
...options,
|
||||
})
|
||||
|
||||
export const useAdminUserQuery = (idRef, options = {}) =>
|
||||
useQuery({
|
||||
queryKey: ['admin', 'users', 'detail', idRef],
|
||||
queryFn: () => apiShowAdminUser(idRef.value),
|
||||
select: (response) => response?.data ?? response,
|
||||
...options,
|
||||
})
|
||||
|
||||
export const useAdminRolesListQuery = (options = {}) =>
|
||||
useQuery({
|
||||
queryKey: adminUsersKeys.roles(),
|
||||
queryFn: () => apiGetAdminRoles(),
|
||||
select: (response) => response?.data ?? response,
|
||||
...options,
|
||||
})
|
||||
|
||||
export const useAddAdminUserMutation = () =>
|
||||
useMutation({ mutationFn: (payload) => apiAddAdminUser(payload) })
|
||||
|
||||
export const useUpdateAdminUserMutation = () =>
|
||||
useMutation({ mutationFn: ({ id, payload }) => apiUpdateAdminUser(id, payload) })
|
||||
|
||||
export const useUpdateAdminUserRoleMutation = () =>
|
||||
useMutation({ mutationFn: ({ id, payload }) => apiUpdateAdminUserRole(id, payload) })
|
||||
|
||||
export const useChangeAdminUserStatusMutation = () =>
|
||||
useMutation({ mutationFn: ({ id, payload }) => apiChangeAdminUserStatus(id, payload) })
|
||||
|
||||
export const useDeleteAdminUserMutation = () =>
|
||||
useMutation({ mutationFn: (id) => apiDeleteAdminUser(id) })
|
||||
Reference in New Issue
Block a user