6da653cb15
- Add useChangeInquiryStatus hook for managing inquiry status mutations - Add STATUS endpoint to inquiries API endpoints configuration - Add changeInquiryStatus method to inquiries service with error handling - Add TChangeInquiryStatusCredentials type with validation schema - Include description, reason, and status fields in status change credentials - Invalidate inquiries query cache on successful status update - Display success toast notification after status change completes
52 lines
1.5 KiB
TypeScript
52 lines
1.5 KiB
TypeScript
import { API_ENDPOINTS, inquiriesService } from "@/lib/api";
|
|
import { useMutation, useQuery, useQueryClient } from "@tanstack/react-query";
|
|
import { useMemo } from "react";
|
|
import { toast } from "react-toastify";
|
|
|
|
export const useGetInquiries = (params?: Record<string, any>) => {
|
|
const queryKey = useMemo(
|
|
() => [API_ENDPOINTS.INQUIRIES.BASE(), params],
|
|
[params],
|
|
);
|
|
return useQuery({
|
|
queryKey,
|
|
queryFn: () => inquiriesService.getInquiries(params),
|
|
});
|
|
};
|
|
export const useDeleteInquiry = (successCallback?: () => void) => {
|
|
const queryClient = useQueryClient();
|
|
const mutationKey = useMemo(
|
|
() => [API_ENDPOINTS.INQUIRIES.BASE(), "DELETE INQUIRY"],
|
|
[],
|
|
);
|
|
return useMutation({
|
|
mutationKey,
|
|
mutationFn: inquiriesService.deleteInquiry,
|
|
onSuccess: (response) => {
|
|
toast.success(response.message);
|
|
successCallback?.();
|
|
queryClient.invalidateQueries({
|
|
queryKey: [API_ENDPOINTS.INQUIRIES.BASE()],
|
|
});
|
|
},
|
|
});
|
|
};
|
|
export const useChangeInquiryStatus = (successCallback?: () => void) => {
|
|
const queryClient = useQueryClient();
|
|
const mutationKey = useMemo(
|
|
() => [API_ENDPOINTS.INQUIRIES.BASE(), "UPDATE INQUIRY STATUS"],
|
|
[],
|
|
);
|
|
return useMutation({
|
|
mutationKey,
|
|
mutationFn: inquiriesService.changeInquiryStatus,
|
|
onSuccess: (response) => {
|
|
toast.success(response.message);
|
|
successCallback?.()
|
|
queryClient.invalidateQueries({
|
|
queryKey: [API_ENDPOINTS.INQUIRIES.BASE()],
|
|
});
|
|
},
|
|
});
|
|
};
|