{"version":3,"file":"crudForeignKeyData.mjs","names":["useCallback","apiMutate","ConfigService","foreignKeyOption","useCrudForeignKeyData","$","_c","getFKData","_temp","t0","Symbol","for","fkMethods","setForeignKeyData","enqueueSnackbar","displayToasts","fkData","promises","promiseDetails","forEach","method","entity","unityBaseGetAllMethod","push","url","integrationV1ApiUrl","apiMethodId","fieldName","fkName","name","entityName","data","variant","anchorOrigin","vertical","horizontal","console","warn","Promise","all","then","resp","response","status","promiseDetail","find","p","config","respData","map","d"],"sources":["../../src/hooks/crudForeignKeyData.js"],"sourcesContent":["import { useCallback } from 'react';\nimport { apiMutate } from '../utilities/useAxiosMutate';\nimport { ConfigService } from '../configService';\nimport { foreignKeyOption } from '../utilities/entities/entityUtilities';\n\n/**\n * Pure data-fetching helper extracted from useCrudActions so ActionWrapper and\n * other entry-chunk consumers can use it without statically pulling in the\n * heavy form-rendering JSX (DateTimeField → @date-io/date-fns → date-fns,\n * FluentColorPicker → react-color, etc.) that the rest of useCrudActions\n * needs.\n */\nexport function useCrudForeignKeyData() {\n  const getFKData = useCallback(\n    async (fkMethods, setForeignKeyData, enqueueSnackbar, displayToasts) => {\n      const fkData = [];\n      const promises = [];\n      const promiseDetails = [];\n      fkMethods.forEach((method) => {\n        if (method && method?.entity?.unityBaseGetAllMethod) {\n          promiseDetails.push({\n            url:\n              ConfigService.integrationV1ApiUrl +\n              `/apimethod/executeQueryWithParameters/${method?.entity?.unityBaseGetAllMethod?.apiMethodId}`,\n            fieldName: method.fkName,\n            name: method.entity.entityName,\n          });\n\n          promises.push(\n            apiMutate(\n              ConfigService.integrationV1ApiUrl,\n              `apimethod/executeQueryWithParameters/${method?.entity?.unityBaseGetAllMethod?.apiMethodId}`,\n              { method: 'post' },\n              { data: {} },\n            ),\n          );\n        } else if (displayToasts) {\n          enqueueSnackbar(\n            `${method.entity.entityName}'s Get-All method needs to be promoted`,\n            {\n              variant: 'error',\n              anchorOrigin: { vertical: 'top', horizontal: 'center' },\n            },\n          );\n        } else {\n          console.warn(\n            `${method.entity.entityName}'s Get-All method needs to be promoted`,\n          );\n        }\n      });\n\n      Promise.all(promises).then((resp) => {\n        resp.forEach((response) => {\n          if (response.status === 200 && response?.data) {\n            const promiseDetail = promiseDetails.find(\n              (p) => p.url === response?.config?.url,\n            );\n            const respData = response.data.map((d) =>\n              foreignKeyOption(d, promiseDetail.name),\n            );\n            fkData.push({\n              fieldName: promiseDetail.fieldName,\n              name: promiseDetail.fieldName,\n              data: respData,\n            });\n          }\n        });\n        setForeignKeyData(fkData);\n      });\n    },\n    [],\n  );\n\n  return { getFKData };\n}\n"],"mappings":";;;;;;;;;;;;;AAYA,SAAOI,wBAAA;CAAA,MAAAC,IAAAC,EAAA,EAAA;CACL,MAAAC,YAAkBC;CA0DhB,IAAAC;AAAA,KAAAJ,EAAA,OAAAK,OAAAC,IAAA,4BAAA,EAAA;AAEKF,OAAA,EAAAF,WAAa;AAAAF,IAAA,KAAAI;OAAAA,MAAAJ,EAAA;AAAA,QAAbI;;AA7DF,eAAAD,MAAAI,WAAAC,mBAAAC,iBAAAC,eAAA;CAGD,MAAAC,SAAe,EAAE;CACjB,MAAAC,WAAiB,EAAE;CACnB,MAAAC,iBAAuB,EAAE;AACzBN,WAASO,SAASC,WAAA;AAChB,MAAIA,UAAUA,QAAMC,QAA+BC,uBAAA;AACjDJ,kBAAcK,KAAM;IAAAC,KAEhBtB,cAAauB,sBACb,yCAAyCL,QAAMC,QAA+BC,uBAAaI;IAAEC,WACpFP,OAAMQ;IAAOC,MAClBT,OAAMC,OAAOS;IACpB,CAAC;AAEFb,YAAQM,KACNtB,UACEC,cAAauB,qBACb,wCAAwCL,QAAMC,QAA+BC,uBAAaI,eAC1F,EAAAN,QAAU,QAAQ,EAClB,EAAAW,MAAQ,EAAC,EACX,CACF,CAAC;aACQhB,cACTD,iBACE,GAAGM,OAAMC,OAAOS,WAAW,yCAC3B;GAAAE,SACW;GAAOC,cACF;IAAAC,UAAY;IAAKC,YAAc;IAAS;GAE1D,CAAC;MAEDC,SAAOC,KACL,GAAGjB,OAAMC,OAAOS,WAAW,wCAC5B;GAEH;AAEFQ,SAAOC,IAAKtB,SAAS,CAAAuB,MAAMC,SAAA;AACzBA,OAAItB,SAASuB,aAAA;AACX,OAAIA,SAAQC,WAAY,OAAOD,UAAQX,MAAM;IAC3C,MAAAa,gBAAsB1B,eAAc2B,MAClCC,MAAOA,EAACtB,QAASkB,UAAQK,QAAavB,IACvC;IACD,MAAAwB,WAAiBN,SAAQX,KAAKkB,KAAKC,MACjC/C,iBAAiB+C,GAAGN,cAAaf,KACnC,CAAC;AACDb,WAAMO,KAAM;KAAAI,WACCiB,cAAajB;KAAUE,MAC5Be,cAAajB;KAAUI,MACvBiB;KACP,CAAC;;IAEJ;AACFnC,oBAAkBG,OAAO;GACzB"}