@@ -4,6 +4,7 @@ import {
|
||||
apiAddAdminUser,
|
||||
apiChangeAdminUserStatus,
|
||||
apiDeleteAdminUser,
|
||||
apiGetAdminUserRegisterData,
|
||||
apiGetAdminUsers,
|
||||
apiShowAdminUser,
|
||||
apiUpdateAdminUser,
|
||||
@@ -14,6 +15,7 @@ export const adminUsersKeys = {
|
||||
all: ['admin', 'users'],
|
||||
list: (filters, pagination) => ['admin', 'users', 'list', filters, pagination],
|
||||
detail: (id) => ['admin', 'users', 'detail', id],
|
||||
registerData: (id) => ['admin', 'users', 'register-data', id],
|
||||
}
|
||||
|
||||
export const useAdminUsersListQuery = (filtersRef, paginationRef, options = {}) =>
|
||||
@@ -35,6 +37,28 @@ export const useAdminUserQuery = (idRef, options = {}) =>
|
||||
...options,
|
||||
})
|
||||
|
||||
// Register-data comes back as a `[{ key, value }]` array (values may be
|
||||
// strings, numbers, null, or nested objects/arrays). Normalize it into a plain
|
||||
// `{ key: value }` object for consumers; tolerate an already-object shape too.
|
||||
const toRegisterDataObject = (response) => {
|
||||
const raw = response?.data ?? response
|
||||
if (Array.isArray(raw)) {
|
||||
return raw.reduce((acc, item) => {
|
||||
if (item && item.key != null) acc[item.key] = item.value
|
||||
return acc
|
||||
}, {})
|
||||
}
|
||||
return raw || {}
|
||||
}
|
||||
|
||||
export const useAdminUserRegisterDataQuery = (idRef, options = {}) =>
|
||||
useQuery({
|
||||
queryKey: ['admin', 'users', 'register-data', idRef],
|
||||
queryFn: () => apiGetAdminUserRegisterData(idRef.value),
|
||||
select: toRegisterDataObject,
|
||||
...options,
|
||||
})
|
||||
|
||||
export const useAddAdminUserMutation = () =>
|
||||
useMutation({ mutationFn: (payload) => apiAddAdminUser(payload) })
|
||||
|
||||
|
||||
Reference in New Issue
Block a user