Quiz_dashboard/src/api/helper/useAddMutation.ts
karimaldeen 7aa8d50cfd fix
2024-09-07 12:16:10 +03:00

30 lines
842 B
TypeScript

import { useMutation, UseMutationResult } from "react-query";
import useAxios from "./useAxios";
import { filterData } from "../../utils/filterData";
import { HEADER_KEY } from "../config";
import { AxiosResponse } from "../../types/Axios";
function useAddMutation(
key: string,
url: string,
toast: boolean = true,
): UseMutationResult<AxiosResponse, unknown, any, unknown> {
const axios = useAxios();
return useMutation<AxiosResponse, unknown, any, unknown>(
async (dataToSend) => {
const filterDataToSend = filterData(dataToSend);
const { data } = await axios.post(url, filterDataToSend, {
headers: {
"Content-Type": "multipart/form-data",
["X-Custom-Message"]: toast,
[HEADER_KEY]: key,
},
});
return data;
},
);
}
export default useAddMutation;