{"version":3,"file":"useFolderStructure.mjs","sources":["../../../admin/src/hooks/useFolderStructure.ts"],"sourcesContent":["import { useFetchClient } from '@strapi/admin/strapi-admin';\nimport { useIntl } from 'react-intl';\nimport { useQuery } from 'react-query';\n\nimport { FolderNode, GetFolderStructure } from '../../../shared/contracts/folders';\nimport { pluginId } from '../pluginId';\nimport { getTrad } from '../utils';\n\nimport { recursiveRenameKeys } from './utils/renameKeys';\n\nconst FIELD_MAPPING: Record = {\n name: 'label',\n id: 'value',\n};\n\ninterface FolderNodeWithChildren extends Omit {\n children: FolderNodeWithChildren[];\n label?: string;\n value: string | number | null;\n}\n\nexport const useFolderStructure = ({ enabled = true } = {}) => {\n const { formatMessage } = useIntl();\n const { get } = useFetchClient();\n\n const fetchFolderStructure = async () => {\n const {\n data: { data },\n } = await get('/upload/folder-structure');\n const children = data.map((f: FolderNodeWithChildren) =>\n recursiveRenameKeys(f, (key) => FIELD_MAPPING?.[key] ?? key)\n );\n\n return [\n {\n value: null,\n label: formatMessage({\n id: getTrad('form.input.label.folder-location-default-label'),\n defaultMessage: 'Media Library',\n }),\n children,\n },\n ];\n };\n\n const { data, error, isLoading } = useQuery(\n [pluginId, 'folder', 'structure'],\n fetchFolderStructure,\n {\n enabled,\n staleTime: 0,\n cacheTime: 0,\n }\n );\n\n return { data, error, isLoading };\n};\n"],"names":["FIELD_MAPPING","name","id","useFolderStructure","enabled","formatMessage","useIntl","get","useFetchClient","fetchFolderStructure","data","children","map","f","recursiveRenameKeys","key","value","label","getTrad","defaultMessage","error","isLoading","useQuery","pluginId","staleTime","cacheTime"],"mappings":";;;;;;;;;;;;AAUA,MAAMA,aAAwC,GAAA;IAC5CC,IAAM,EAAA,OAAA;IACNC,EAAI,EAAA;AACN,CAAA;AAQO,MAAMC,qBAAqB,CAAC,EAAEC,UAAU,IAAI,EAAE,GAAG,EAAE,GAAA;IACxD,MAAM,EAAEC,aAAa,EAAE,GAAGC,OAAAA,EAAAA;IAC1B,MAAM,EAAEC,GAAG,EAAE,GAAGC,cAAAA,EAAAA;AAEhB,IAAA,MAAMC,oBAAuB,GAAA,UAAA;QAC3B,MAAM,EACJC,MAAM,EAAEA,IAAI,EAAE,EACf,GAAG,MAAMH,GAAyC,CAAA,0BAAA,CAAA;AACnD,QAAA,MAAMI,QAAWD,GAAAA,IAAAA,CAAKE,GAAG,CAAC,CAACC,CAAAA,GACzBC,mBAAoBD,CAAAA,CAAAA,EAAG,CAACE,GAAAA,GAAQf,aAAe,GAACe,IAAI,IAAIA,GAAAA,CAAAA,CAAAA;QAG1D,OAAO;AACL,YAAA;gBACEC,KAAO,EAAA,IAAA;AACPC,gBAAAA,KAAAA,EAAOZ,aAAc,CAAA;AACnBH,oBAAAA,EAAAA,EAAIgB,OAAQ,CAAA,gDAAA,CAAA;oBACZC,cAAgB,EAAA;AAClB,iBAAA,CAAA;AACAR,gBAAAA;AACF;AACD,SAAA;AACH,KAAA;IAEA,MAAM,EAAED,IAAI,EAAEU,KAAK,EAAEC,SAAS,EAAE,GAAGC,QACjC,CAAA;AAACC,QAAAA,QAAAA;AAAU,QAAA,QAAA;AAAU,QAAA;AAAY,KAAA,EACjCd,oBACA,EAAA;AACEL,QAAAA,OAAAA;QACAoB,SAAW,EAAA,CAAA;QACXC,SAAW,EAAA;AACb,KAAA,CAAA;IAGF,OAAO;AAAEf,QAAAA,IAAAA;AAAMU,QAAAA,KAAAA;AAAOC,QAAAA;AAAU,KAAA;AAClC;;;;"}