54 lines
1.5 KiB
TypeScript
54 lines
1.5 KiB
TypeScript
import { useMutation, useQuery } from "@tanstack/react-query";
|
|
import { sendBlobFileUpload } from "../components/SettingForms/System/Upload";
|
|
import { toast } from "sonner";
|
|
import {
|
|
handleSystemSave,
|
|
handleSystemRecall,
|
|
} from "../components/SettingForms/System/SettingSaveRecall";
|
|
import { useEffect } from "react";
|
|
|
|
export const useSystemConfig = () => {
|
|
const uploadSettingsMutation = useMutation({
|
|
mutationKey: ["uploadSettings"],
|
|
mutationFn: sendBlobFileUpload,
|
|
onError: (error) =>
|
|
toast.error(error.message, {
|
|
id: "uploadSettings",
|
|
}),
|
|
onSuccess: (test) =>
|
|
toast(test, {
|
|
id: "uploadSettings",
|
|
}),
|
|
});
|
|
|
|
const saveSystemSettings = useMutation({
|
|
mutationKey: ["systemSaveSettings"],
|
|
mutationFn: handleSystemSave,
|
|
onError: (error) =>
|
|
toast.error(error.message, {
|
|
id: "systemSettings",
|
|
}),
|
|
});
|
|
|
|
const getSystemSettings = useQuery({
|
|
queryKey: ["getSystemSettings"],
|
|
queryFn: handleSystemRecall,
|
|
});
|
|
|
|
useEffect(() => {
|
|
if (getSystemSettings.isError)
|
|
toast.error(getSystemSettings.error.message, {
|
|
id: "systemSettings",
|
|
});
|
|
}, [getSystemSettings?.error?.message, getSystemSettings.isError]);
|
|
|
|
return {
|
|
uploadSettings: uploadSettingsMutation.mutate,
|
|
saveSystemSettings: saveSystemSettings.mutate,
|
|
systemSettingsData: getSystemSettings.data,
|
|
systemSettingsError: getSystemSettings.error,
|
|
saveSystemSettingsError: saveSystemSettings.isError,
|
|
saveSystemSettingsLoading: saveSystemSettings.isPending,
|
|
};
|
|
};
|