Newer
Older
import { useMutation, useQuery, useQueryClient } from '@tanstack/react-query'
import { AxiosRequestConfig } from 'axios'
import { fetchPartnersIssue, putPartnersInfo } from '../API'
import { IPartnersInfo } from '../models/partnersInfo.model'
import { queryKeys } from './query-keys'
export const usePartnersIssue = () => {
const queryClient = useQueryClient()
const partnersIssue = useQuery({
queryKey: [queryKeys.partnersInfo],
queryFn: fetchPartnersIssue,
})
const mutation = useMutation<
void,
unknown,
{ partnersInfo: IPartnersInfo; axiosHeaders: AxiosRequestConfig }
mutationFn: ({ partnersInfo, axiosHeaders }) =>
putPartnersInfo(partnersInfo, axiosHeaders),
onSuccess: () =>
queryClient.invalidateQueries({ queryKey: [queryKeys.partnersInfo] }),
})
const savePartnersIssue = (
axiosHeaders: AxiosRequestConfig
) => {
mutation.mutate({ partnersInfo, axiosHeaders })
}
return { partnersIssue, savePartnersIssue }
}