import { useMutation, useQueryClient, type UseMutationResult } from "@tanstack/react-query"; import { toast } from "react-toastify"; import { vendorsApi } from "@/domain/vendors/api/vendors-api"; import type { VendorFormValues } from "@/domain/vendors/schemas/vendor-schema"; import type { Vendor } from "@/domain/vendors/types/vendor"; import { queryKeys } from "@/infra/query-key/query-key"; export function useCreateVendor(): UseMutationResult { const queryClient = useQueryClient(); return useMutation({ mutationFn: (values: VendorFormValues) => vendorsApi.create(values), onSuccess: () => { void queryClient.invalidateQueries({ queryKey: queryKeys.vendors.all }); toast.success("Vendor created"); }, onError: (error: Error) => { toast.error(error.message || "Failed to create vendor"); }, }); }