{"version":3,"file":"useAxiosGet.mjs","names":["useEffect","useMemo","useAxios","handleResponseErrors","getMergedConfig","enableAxiosInterceptors","useUser","getStoredTenant","useAxiosGetQuery","url","params","config","isManual","user","skipTenantHeader","headers","configHeaders","restConfig","accessToken","currentHeaders","currentTenantId","data","loading","error","refetch","manual","useAxiosGet","baseURL","useCache","fullURL"],"sources":["../../src/utilities/useAxiosGet.js"],"sourcesContent":["import { useEffect, useMemo } from 'react';\nimport useAxios from 'axios-hooks';\nimport { handleResponseErrors, getMergedConfig } from './apiHelpers';\nimport enableAxiosInterceptors from './axiosInterceptors';\nimport { useUser } from './auth/useUser';\nimport { getStoredTenant } from './storage/UnitySessionStorage';\n\nenableAxiosInterceptors();\n/**\n * A custom hook for making GET requests with query parameters.\n * @template T - The expected type of the response data.\n * @param {string} url - The URL for the request.\n * @param {object} [params] - Optional object for query parameters.\n * @param {import('axios').AxiosRequestConfig} [config] - Optional Axios request config.\n * @param {boolean} [isManual] - If true, the request is not made automatically.\n * @returns {[AxiosState<T>, import('axios-hooks').Refetch<T>]}\n */\nexport const useAxiosGetQuery = (url, params, config = {}, isManual) => {\n  const user = useUser();\n  const { skipTenantHeader, headers: configHeaders, ...restConfig } = config ?? {};\n\n  if (!user?.accessToken) {\n    isManual = true;\n  }\n\n  const headers = useMemo(() => {\n    const currentHeaders = { ...(configHeaders ?? {}) };\n    if (!skipTenantHeader) {\n      currentHeaders.currentTenantId ||= user?.currentTenantId ?? '';\n    }\n    return currentHeaders;\n  }, [configHeaders, skipTenantHeader, user?.currentTenantId]);\n\n  /** @type {[AxiosState<T>, import('axios-hooks').Refetch<T>]} */\n  const [{ data, loading, error }, refetch] = useAxios(\n    { url, params, headers, ...restConfig },\n    { manual: isManual }\n  );\n  useEffect(() => {\n    handleResponseErrors(error);\n  }, [error]);\n\n  return [{ data, loading, error }, refetch];\n};\n/**\n * A custom hook for making GET requests with Axios.\n * @template T - The expected type of the response data.\n * @param {string} baseURL - The base URL for the request.\n * @param {string} url - The URL path for the request.\n * @param {import('axios').AxiosRequestConfig} [config={}] - Optional Axios request config.\n * @param {boolean} [isManual] - If true, the request is not made automatically.\n * @param {boolean} [useCache=true] - If true, caching is enabled.\n * @returns {[AxiosState<T>, import('axios-hooks').Refetch<T>]}\n */\nexport const useAxiosGet = (\n  baseURL,\n  url,\n  config = {},\n  isManual,\n  useCache = true\n) => {\n  const user = useUser();\n  const { skipTenantHeader, headers: configHeaders, ...restConfig } = config ?? {};\n\n  const headers = useMemo(() => {\n    const currentHeaders = { ...(configHeaders ?? {}) };\n    if (!skipTenantHeader) {\n      currentHeaders.currentTenantId ||= user?.currentTenantId ?? '';\n    }\n    return currentHeaders;\n  }, [configHeaders, skipTenantHeader, user?.currentTenantId]);\n\n  const fullURL = { url: `${baseURL}/${url}` };\n  /** @type {[AxiosState<T>, import('axios-hooks').Refetch<T>]} */\n  const [{ data, loading, error }, refetch] = useAxios(\n    { ...fullURL, headers, ...restConfig },\n    { manual: isManual, useCache: useCache }\n  );\n\n  useEffect(() => {\n    handleResponseErrors(error);\n  }, [error]);\n\n  return [{ data, loading, error }, refetch];\n};\n"],"mappings":";;;;;;AAOAK,mBAAyB;;;;;;;;;;AAUzB,MAAaG,oBAAoBC,KAAKC,QAAQC,SAAS,EAAE,EAAEC,aAAa;CACtE,MAAMC,OAAOP,SAAS;CACtB,MAAM,EAAEQ,kBAAkBC,SAASC,eAAe,GAAGC,eAAeN,UAAU,EAAE;AAEhF,KAAI,CAACE,MAAMK,YACTN,YAAW;;CAYb,MAAM,CAAC,EAAES,MAAMC,SAASC,SAASC,WAAWtB,SAC1C;EAAEO;EAAKC;EAAQK,SAVDd,cAAc;GAC5B,MAAMkB,iBAAiB,EAAE,GAAIH,iBAAiB,EAAE,EAAG;AACnD,OAAI,CAACF,iBACHK,gBAAeC,oBAAoBP,MAAMO,mBAAmB;AAE9D,UAAOD;KACN;GAACH;GAAeF;GAAkBD,MAAMO;GAAgB,CAAC;EAIlC,GAAGH;EAAY,EACvC,EAAEQ,QAAQb,UACZ,CAAC;AACDZ,iBAAgB;AACdG,uBAAqBoB,MAAM;IAC1B,CAACA,MAAM,CAAC;AAEX,QAAO,CAAC;EAAEF;EAAMC;EAASC;EAAO,EAAEC,QAAQ;;;;;;;;;;;;AAY5C,MAAaE,eACXC,SACAlB,KACAE,SAAS,EAAE,EACXC,UACAgB,WAAW,SACR;CACH,MAAMf,OAAOP,SAAS;CACtB,MAAM,EAAEQ,kBAAkBC,SAASC,eAAe,GAAGC,eAAeN,UAAU,EAAE;CAEhF,MAAMI,UAAUd,cAAc;EAC5B,MAAMkB,iBAAiB,EAAE,GAAIH,iBAAiB,EAAE,EAAG;AACnD,MAAI,CAACF,iBACHK,gBAAeC,oBAAoBP,MAAMO,mBAAmB;AAE9D,SAAOD;IACN;EAACH;EAAeF;EAAkBD,MAAMO;EAAgB,CAAC;;CAI5D,MAAM,CAAC,EAAEC,MAAMC,SAASC,SAASC,WAAWtB,SAC1C;EAHgBO,KAAK,GAAGkB,QAAO,GAAIlB;EAGrBM;EAAS,GAAGE;EAAY,EACtC;EAAEQ,QAAQb;EAAoBgB;EAChC,CAAC;AAED5B,iBAAgB;AACdG,uBAAqBoB,MAAM;IAC1B,CAACA,MAAM,CAAC;AAEX,QAAO,CAAC;EAAEF;EAAMC;EAASC;EAAO,EAAEC,QAAQ"}