import { useEffect, useState } from "react"; import useGetUrlQuery from "zy-react-library/hooks/useGetUrlQuery"; import useGetUserInfo from "zy-react-library/hooks/useGetUserInfo"; export default function useApplyDepartment(props) { const [departmentTree, setDepartmentTree] = useState([]); const [serviceDepartmentData, setServiceDepartmentData] = useState([]); const { entrance } = props; const corpInfoListAll = props["corpInfoListAll"]; const query = useGetUrlQuery(); const { getUserInfo } = useGetUserInfo(); useEffect(() => { const getInfoData = async () => { const corpData = await getUserInfo(); const currentDepartment = { corpName: corpData.corpinfoName, id: corpData.corpinfoId }; if (entrance === "stakeholder") { const { data = [] } = await corpInfoListAll({ inType: [0, 1] }); setServiceDepartmentData(data); setDepartmentTree([currentDepartment, ...data]); } else if ( !entrance ) { const [{ data: departmentTreeData = [] }, { data: departmentData = [] }] = await Promise.all([ corpInfoListAll({ inType: [3, 4, 5] }), corpInfoListAll({ inType: [0, 1] }), ]); setServiceDepartmentData(departmentData); setDepartmentTree([currentDepartment, ...departmentTreeData]); } else if (entrance === "supervision") { const [{ data: departmentTreeData = [] }, { data: departmentData = [] }] = await Promise.all([ corpInfoListAll({ inType: [3, 4, 5] }), corpInfoListAll({ inType: [0, 1] }), ]); setServiceDepartmentData(departmentData); setDepartmentTree([{ corpName: query.corpName, id: query.corpinfoId }, ...departmentTreeData]); } }; getInfoData(); }, []); return { departmentTree, serviceDepartmentData }; }