18 lines
814 B
TypeScript
18 lines
814 B
TypeScript
import type { ServiceUserUserInfoData } from '@/client';
|
|
import { useMutation, useQueryClient } from '@tanstack/react-query';
|
|
import { getUserInfoByUserIdQueryKey, getUserInfoQueryKey, patchUserUpdateMutation } from '@/client/@tanstack/react-query.gen';
|
|
|
|
export function useUpdateUser() {
|
|
const queryClient = useQueryClient();
|
|
const data: { data: ServiceUserUserInfoData | undefined } | undefined = queryClient.getQueryData(getUserInfoQueryKey());
|
|
return useMutation({
|
|
...patchUserUpdateMutation(),
|
|
onSuccess: async () => {
|
|
await queryClient.invalidateQueries({ queryKey: getUserInfoQueryKey() });
|
|
if ((data?.data?.user_id) != null) {
|
|
await queryClient.invalidateQueries({ queryKey: getUserInfoByUserIdQueryKey({ path: { user_id: data.data.user_id } }) });
|
|
}
|
|
},
|
|
});
|
|
}
|