import { useEffect, useState } from "react"; import axios from "axios"; import { RealPrivilege } from "@root/model/privilege"; export type Privilege = { createdAt: string; description: string; isDeleted: boolean; name: string; price: number; privilegeId: string; serviceKey: string; type: "count" | "day" | "mb"; updatedAt: string; value: string; _id: string; }; type UsePrivilegies = { privilegies: RealPrivilege[] isError: boolean; isLoading: boolean; errorMessage: string; }; export const useGetPrivilegies = (): UsePrivilegies => { const [privilegies, setPrivilegies] = useState([]); const [isLoading, setIsLoading] = useState(false); const [isError, setIsError] = useState(false); const [errorMessage, setErrorMessage] = useState(""); useEffect(() => { const getPrivilegies = async () => { const { data } = await axios({ method: "get", url: "https://admin.pena.digital/strator/privilege/service", }); return data; }; setIsLoading(true); getPrivilegies() .then(setPrivilegies) .catch(() => { setIsError(true); setErrorMessage("Ошибка при получении привилегий"); }) .finally(() => setIsLoading(false)); }, []); return { privilegies, isError, isLoading, errorMessage }; };