import {notification} from "antd";
import {
    useDeletePatientMutation,
    useGetPatientsQuery,
} from "../../../Api/patientsApi.js";

const usePatients = () => {
    const {data: patients = [], isLoading, isError} = useGetPatientsQuery(undefined, {
        pollingInterval: 20000,
    });

    const [deletePatient] = useDeletePatientMutation();

    const handleDeletePatient = async (patientId) => {
        try {
            await deletePatient(patientId).unwrap();
            notification.success({
                message: "Пациент удалён",
                description: "Пациент успешно удалён из базы.",
                placement: "topRight",
            });
        } catch (error) {
            notification.error({
                message: "Ошибка удаления",
                description: error.data?.message || "Не удалось удалить пациента",
                placement: "topRight",
            });
        }
    };

    return {
        patients,
        isLoading,
        isError,
        handleDeletePatient,
    };
};

export default usePatients;