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