import { useEffect, useState } from "react"; import axios from "axios"; import { RealPrivilege } from "@root/model/privilege"; import { resetPrivilegeArray } from "@root/stores/privilegesStore"; import { useGetPrivilegies } from "./useGetPrivileges.hook"; type RefreshPrivilegesStore = { isError: boolean; isLoading: boolean; errorMessage: string; }; export const useRefreshPrivilegesStore = (): RefreshPrivilegesStore => { const gotten = useGetPrivilegies() const [isLoading, setIsLoading] = useState(gotten.isLoading); const [isError, setIsError] = useState(gotten.isError); const [errorMessage, setErrorMessage] = useState(gotten.errorMessage); //Приходит объект. В его значениях массивы привилегий для разных сервисов. Высыпаем в общую кучу и обновляем стор useEffect(() => { let extracted:RealPrivilege[] = [] for (let serviceKey in gotten.privilegies) { extracted = extracted.concat(gotten.privilegies[serviceKey]) } resetPrivilegeArray(extracted) }, [gotten.privilegies]); return {isError:gotten.isError, isLoading:gotten.isLoading, errorMessage:gotten.errorMessage}; };