@bigbinary/neeto-commons-frontend 4.13.164 → 4.13.166-beta1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -51,7 +51,7 @@ module.exports = {
51
51
  neetomessagetemplates: "@bigbinary/neeto-message-templates-frontend",
52
52
  neetoicons: "@bigbinary/neeto-icons",
53
53
  neetoteam: "@bigbinary/neeto-team-members-frontend",
54
- neetoeditor: "@bigbinary/neeto-editor",
54
+ neetoeditor: "@bigbinary/neeto-editor-frontend",
55
55
  neetofilters: "@bigbinary/neeto-filters-frontend",
56
56
  neetomolecules: "@bigbinary/neeto-molecules",
57
57
  neetopayments: "@bigbinary/neeto-payments-frontend",
package/configs/utils.js CHANGED
@@ -4,7 +4,7 @@ const neetoNanosFrontendPackages = {
4
4
  "neetomessagetemplates",
5
5
  ],
6
6
  neetoProjects: ["@bigbinary/neeto-projects-frontend", "neetoprojects"],
7
- neetoEditor: ["@bigbinary/neeto-editor", "neetoeditor"],
7
+ neetoEditor: ["@bigbinary/neeto-editor-frontend", "neetoeditor"],
8
8
  neetoFields: ["@bigbinary/neeto-fields-frontend", "neetofields"],
9
9
  neetoWebhooks: ["@bigbinary/neeto-webhooks-frontend", "neetowebhooks"],
10
10
  neetoImageUploader: [
@@ -43,7 +43,9 @@ module.exports = {
43
43
  neetomessagetemplates: "@bigbinary/neeto-message-templates-frontend",
44
44
  neetoicons: "@bigbinary/neeto-icons",
45
45
  neetoteam: "@bigbinary/neeto-team-members-frontend",
46
- neetoeditor: "@bigbinary/neeto-editor",
46
+ neetoeditor: "@bigbinary/neeto-editor-frontend",
47
+ // Nano packages built before the rename import the old package name.
48
+ "@bigbinary/neeto-editor": "@bigbinary/neeto-editor-frontend",
47
49
  neetofilters: "@bigbinary/neeto-filters-frontend",
48
50
  neetomolecules: "@bigbinary/neeto-molecules",
49
51
  neetopayments: "@bigbinary/neeto-payments-frontend",
package/dist/.ready CHANGED
@@ -1 +1 @@
1
- Built at 2026-10-07T08:25:13.144Z
1
+ Built at 2026-10-09T18:57:20.915Z
@@ -130,8 +130,6 @@ var handleUnauthorizedErrorResponse = function handleUnauthorizedErrorResponse(e
130
130
  if (redirectOnError) {
131
131
  setTimeout(function () {
132
132
  var redirectTo = window.location.pathname === "/login" ? "/login" : "/login?redirect_uri=".concat(encodeURIComponent(window.location.href));
133
-
134
- // eslint-disable-next-line xss/no-location-href-assign
135
133
  window.location.href = redirectTo;
136
134
  }, 300);
137
135
  }
@@ -173,6 +171,8 @@ var showErrorToastr = function showErrorToastr(error) {
173
171
  showToastr = _ref3$showToastr === void 0 ? true : _ref3$showToastr,
174
172
  _ref3$show422ErrorToa = _ref3.show422ErrorToastr,
175
173
  show422ErrorToastr = _ref3$show422ErrorToa === void 0 ? true : _ref3$show422ErrorToa,
174
+ _ref3$show429ErrorPag = _ref3.show429ErrorPage,
175
+ show429ErrorPage = _ref3$show429ErrorPag === void 0 ? true : _ref3$show429ErrorPag,
176
176
  _ref3$url = _ref3.url,
177
177
  requestUrl = _ref3$url === void 0 ? "" : _ref3$url,
178
178
  _ref3$method = _ref3.method,
@@ -193,6 +193,7 @@ var showErrorToastr = function showErrorToastr(error) {
193
193
  shouldShowToastr = true;
194
194
  }
195
195
  if (status === 422 && show422ErrorToastr) shouldShowToastr = true;
196
+ if (status === 429 && show429ErrorPage) shouldShowToastr = false;
196
197
  if (status === 520) {
197
198
  shouldShowToastr = true;
198
199
  if (globalProps.railsEnv === "production") {
@@ -225,15 +226,17 @@ var getUrlPathName = function getUrlPathName(url) {
225
226
  return url;
226
227
  }
227
228
  };
228
- var handle404ErrorResponse = function handle404ErrorResponse(error) {
229
+ var handleErrorPageResponse = function handleErrorPageResponse(error) {
229
230
  var _error$config4, _error$response4;
230
231
  var _ref5 = (_error$config4 = error.config) !== null && _error$config4 !== void 0 ? _error$config4 : {},
231
232
  _ref5$show404ErrorPag = _ref5.show404ErrorPage,
232
233
  show404ErrorPage = _ref5$show404ErrorPag === void 0 ? true : _ref5$show404ErrorPag,
233
234
  _ref5$show403ErrorPag = _ref5.show403ErrorPage,
234
- show403ErrorPage = _ref5$show403ErrorPag === void 0 ? true : _ref5$show403ErrorPag;
235
+ show403ErrorPage = _ref5$show403ErrorPag === void 0 ? true : _ref5$show403ErrorPag,
236
+ _ref5$show429ErrorPag = _ref5.show429ErrorPage,
237
+ show429ErrorPage = _ref5$show429ErrorPag === void 0 ? true : _ref5$show429ErrorPag;
235
238
  var status = (_error$response4 = error.response) === null || _error$response4 === void 0 ? void 0 : _error$response4.status;
236
- if (status === 404 && show404ErrorPage || status === 403 && show403ErrorPage) {
239
+ if (status === 404 && show404ErrorPage || status === 403 && show403ErrorPage || status === 429 && show429ErrorPage) {
237
240
  var _error$request;
238
241
  var fullUrl = ((_error$request = error.request) === null || _error$request === void 0 ? void 0 : _error$request.responseURL) || error.config.url;
239
242
  reactUtils_useDisplayErrorPage_useDisplayErrorPage.useErrorDisplayStore.setState({
@@ -248,7 +251,7 @@ var handle404ErrorResponse = function handle404ErrorResponse(error) {
248
251
  var buildErrorResponseHandler = function buildErrorResponseHandler(skip) {
249
252
  var interceptors = [];
250
253
  if (!(skip !== null && skip !== void 0 && skip.transformCase)) interceptors.push(transformErrorKeysToCamelCase);
251
- if (!(skip !== null && skip !== void 0 && skip.show404ErrorPage)) interceptors.push(handle404ErrorResponse);
254
+ if (!(skip !== null && skip !== void 0 && skip.show404ErrorPage)) interceptors.push(handleErrorPageResponse);
252
255
  if (!(skip !== null && skip !== void 0 && skip.logoutOn401)) interceptors.push(handleUnauthorizedErrorResponse);
253
256
  if (!(skip !== null && skip !== void 0 && skip.showToastr)) interceptors.push(showErrorToastr);
254
257
  if (!(skip !== null && skip !== void 0 && skip.checkForReleaseVersionMismatch)) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/initializers/axiosInitializer/index.js"],"sourcesContent":["import axios from \"axios\";\nimport i18next from \"i18next\";\nimport {\n isNotEmpty,\n keysToCamelCase,\n matches,\n serializeKeysToSnakeCase,\n} from \"neetocist\";\nimport { Toastr } from \"neetoui\";\nimport { dissoc, evolve, omit } from \"ramda\";\nimport { toast } from \"react-toastify\";\nimport { useErrorDisplayStore } from \"react-utils/useDisplayErrorPage\";\nimport { resetAuthTokens } from \"utils/axios\";\n\nimport setParamsSerializer from \"./paramsSerializer\";\n\nimport { HEADERS_KEYS, MAXIMUM_OFFLINE_DURATION } from \"../constants\";\n\nlet checkOnlineInterval = null;\nlet requestErrorToasts = {};\n\nconst shouldNot = skip => typeof skip === \"object\" || !skip;\n\nconst shouldShowToastr = response =>\n (typeof response === \"string\" && isNotEmpty(response)) ||\n (typeof response === \"object\" && (response?.notice || response?.noticeCode));\n\nconst setAuthHeaders = () => {\n // @ts-ignore\n axios.defaults.headers = {\n [HEADERS_KEYS.accept]: \"application/json\",\n [HEADERS_KEYS.contentType]: \"application/json\",\n [HEADERS_KEYS.xCsrfToken]: document\n .querySelector('[name=\"csrf-token\"]')\n ?.getAttribute(\"content\"),\n };\n};\n\n// pipe function from ramda doesn't accept array of functions.\n// We can't use spread operator too. So this is a workaround.\nconst createPipe = functions => data =>\n functions.reduce((acc, fn) => fn(acc), data);\n\nconst transformResponseKeysToCamelCase = response => {\n const { transformResponseCase = true } = response.config;\n\n if (response.data && transformResponseCase) {\n response.data = keysToCamelCase(response.data);\n }\n\n return response;\n};\n\nconst transformErrorKeysToCamelCase = error => {\n const { transformResponseCase = true } = error.config ?? {};\n\n if (error.response?.data && transformResponseCase) {\n error.response.data = keysToCamelCase(error.response.data);\n }\n\n return error;\n};\n\nconst showSuccessToastr = response => {\n const {\n showToastr = true,\n url: requestUrl,\n method: requestMethod,\n } = response.config;\n if (!showToastr) return response;\n\n const toastIdKey = `${requestMethod}:${requestUrl}`;\n const errorToastId = requestErrorToasts[toastIdKey];\n if (errorToastId) {\n toast.dismiss(errorToastId);\n requestErrorToasts = dissoc(toastIdKey, requestErrorToasts);\n }\n\n if (matches({ showThumbsUpToastr: true }, response.data)) {\n // @ts-ignore\n // eslint-disable-next-line @bigbinary/neeto/use-show-thumbs-up-toastr\n Toastr.success(\"\", { icon: \"👍\", className: \"w-20\" });\n } else if (matches({ noticeCode: \"thumbs_up\" }, response.data)) {\n // @ts-ignore\n // eslint-disable-next-line @bigbinary/neeto/use-show-thumbs-up-toastr\n Toastr.success(\"\", { icon: \"👍\", className: \"w-20\" });\n } else if (shouldShowToastr(response.data)) {\n Toastr.success(response.data);\n }\n\n return response;\n};\n\nconst pullDataFromResponse = response => {\n const { includeMetadataInResponse = false } = response.config;\n\n return includeMetadataInResponse ? response : response.data;\n};\n\nconst checkForReleaseVersionMismatch = response => {\n const res = response?.response || response;\n const newReleaseVersion = Number(res?.headers?.[\"x-deploy-release-version\"]);\n const currentReleaseVersion = Number(globalProps?.deployReleaseVersion);\n\n if (\n newReleaseVersion &&\n currentReleaseVersion &&\n newReleaseVersion !== currentReleaseVersion\n ) {\n useErrorDisplayStore.setState({ showRefreshRibbon: true });\n }\n\n return response;\n};\n\nconst buildSuccessResponseHandler = skip => {\n const interceptors = [];\n if (!skip?.transformCase) interceptors.push(transformResponseKeysToCamelCase);\n\n if (!skip?.showToastr) interceptors.push(showSuccessToastr);\n\n if (!skip?.checkForReleaseVersionMismatch) {\n interceptors.push(checkForReleaseVersionMismatch);\n }\n\n if (!skip?.pullDataFromResponse) interceptors.push(pullDataFromResponse);\n\n return createPipe(interceptors);\n};\n\nconst handleUnauthorizedErrorResponse = error => {\n if (error.response?.status !== 401) return error;\n\n resetAuthTokens();\n\n const { redirectOnError = true } = error.config ?? {};\n if (redirectOnError) {\n setTimeout(() => {\n const redirectTo =\n window.location.pathname === \"/login\"\n ? \"/login\"\n : `/login?redirect_uri=${encodeURIComponent(window.location.href)}`;\n\n // eslint-disable-next-line xss/no-location-href-assign\n window.location.href = redirectTo;\n }, 300);\n }\n\n return error;\n};\n\nconst isOnline = () => window.navigator.onLine;\n\nconst showOfflineToastr = () => {\n const toastId = Toastr.error(\n i18next.t(\"neetoCommons.toastr.error.noInternetConnection\")\n );\n\n if (toastId) {\n const dismissToastInterval = setInterval(() => {\n if (!isOnline()) return;\n\n toast.dismiss(toastId);\n clearInterval(dismissToastInterval);\n checkOnlineInterval = null;\n }, 1000);\n }\n};\n\nconst handleNetworkError = error => {\n if (checkOnlineInterval) return error;\n\n const startTime = Date.now();\n\n checkOnlineInterval = setInterval(() => {\n const elapsedTime = Date.now() - startTime;\n\n if (isOnline()) {\n clearInterval(checkOnlineInterval);\n checkOnlineInterval = null;\n } else if (elapsedTime >= MAXIMUM_OFFLINE_DURATION) {\n clearInterval(checkOnlineInterval);\n showOfflineToastr();\n }\n }, 1000);\n\n return error;\n};\n\nconst showErrorToastr = error => {\n const {\n showToastr = true,\n show422ErrorToastr = true,\n url: requestUrl = \"\",\n method: requestMethod = \"\",\n } = error.config ?? {};\n const { status } = error.response ?? {};\n\n if (!showToastr) return error;\n\n if (error.message === \"Network Error\") return handleNetworkError(error);\n\n if (error.code === \"ECONNABORTED\") {\n return error;\n }\n\n let shouldShowToastr = false,\n toastrContent = error;\n\n const skippedStatusCodes = [403, 404, 520, 422];\n if (!skippedStatusCodes.includes(status) && !axios.isCancel(error)) {\n // we already display a page in case of 403 & 404 and we don't want to show a toastr for cancelled requests.\n // We handle cloudflare error differently for production and other environments.\n shouldShowToastr = true;\n }\n\n if (status === 422 && show422ErrorToastr) shouldShowToastr = true;\n\n if (status === 520) {\n shouldShowToastr = true;\n if (globalProps.railsEnv === \"production\") {\n toastrContent = i18next.t(\"generic.error\");\n }\n }\n\n if (status === 0) {\n toastrContent = i18next.t(\"neetoCommons.toastr.error.networkError\");\n shouldShowToastr = true;\n }\n\n const toastIdKey = `${requestMethod}:${requestUrl}`;\n const errorToastId = requestErrorToasts[toastIdKey];\n if (errorToastId) toast.dismiss(errorToastId);\n\n if (shouldShowToastr) {\n if (errorToastId) {\n // if there's an existing toastr with the same message, the onClose callback in the neetoUI which\n // removes the toastr from the unique list will be fired only after the toast is completely removed\n // from the UI. If there's no delay, the new toastr will be considered as duplicate and ignored.\n setTimeout(() => {\n requestErrorToasts[toastIdKey] = Toastr.error(toastrContent);\n }, 1200);\n } else requestErrorToasts[toastIdKey] = Toastr.error(toastrContent);\n }\n\n return error;\n};\n\nconst getUrlPathName = url => {\n try {\n return new URL(url).pathname;\n } catch {\n return url;\n }\n};\n\nconst handle404ErrorResponse = error => {\n const { show404ErrorPage = true, show403ErrorPage = true } =\n error.config ?? {};\n\n const status = error.response?.status;\n if (\n (status === 404 && show404ErrorPage) ||\n (status === 403 && show403ErrorPage)\n ) {\n const fullUrl = error.request?.responseURL || error.config.url;\n useErrorDisplayStore.setState({\n showErrorPage: true,\n statusCode: status,\n failedApiUrl: fullUrl,\n failedApiPath: getUrlPathName(fullUrl),\n });\n }\n\n return error;\n};\n\nconst buildErrorResponseHandler = skip => {\n const interceptors = [];\n if (!skip?.transformCase) interceptors.push(transformErrorKeysToCamelCase);\n\n if (!skip?.show404ErrorPage) interceptors.push(handle404ErrorResponse);\n\n if (!skip?.logoutOn401) interceptors.push(handleUnauthorizedErrorResponse);\n\n if (!skip?.showToastr) interceptors.push(showErrorToastr);\n\n if (!skip?.checkForReleaseVersionMismatch) {\n interceptors.push(checkForReleaseVersionMismatch);\n }\n\n interceptors.push(Promise.reject.bind(Promise));\n\n return createPipe(interceptors);\n};\n\nconst cleanupCredentialsForCrossOrigin = request => {\n if (!request.url.includes(\"://\")) return request;\n\n if (request.url.includes(window.location.hostname)) return request;\n\n return evolve({ headers: omit([HEADERS_KEYS.xCsrfToken]) })(request);\n};\n\nconst transformDataToSnakeCase = request => {\n const { transformRequestCase = true } = request;\n\n if (!transformRequestCase) return request;\n\n return evolve(\n { data: serializeKeysToSnakeCase, params: serializeKeysToSnakeCase },\n request\n );\n};\n\nconst addRequestInterceptors = skip => {\n if (!skip?.cleanCredentialsForCrossOrigin) {\n axios.interceptors.request.use(cleanupCredentialsForCrossOrigin);\n }\n\n if (!skip?.transformCase) {\n axios.interceptors.request.use(transformDataToSnakeCase);\n }\n};\n\nconst addResponseInterceptors = skip => {\n axios.interceptors.response.use(\n buildSuccessResponseHandler(skip),\n buildErrorResponseHandler(skip)\n );\n};\n\nconst registerIntercepts = skip => {\n if (shouldNot(skip?.request)) addRequestInterceptors(skip?.request);\n\n if (shouldNot(skip?.response)) addResponseInterceptors(skip?.response);\n};\n\nexport default function initializeAxios(skip) {\n if (!skip?.baseURL) axios.defaults.baseURL = \"/\";\n\n if (!skip?.authHeaders) setAuthHeaders();\n\n if (!skip?.paramsSerializer) setParamsSerializer();\n\n if (shouldNot(skip?.interceptors)) registerIntercepts(skip?.interceptors);\n}\n"],"names":["checkOnlineInterval","requestErrorToasts","shouldNot","skip","_typeof","shouldShowToastr","response","isNotEmpty","notice","noticeCode","setAuthHeaders","_document$querySelect","axios","defaults","headers","_defineProperty","HEADERS_KEYS","accept","contentType","xCsrfToken","document","querySelector","getAttribute","createPipe","functions","data","reduce","acc","fn","transformResponseKeysToCamelCase","_response$config$tran","config","transformResponseCase","keysToCamelCase","transformErrorKeysToCamelCase","error","_error$config","_error$response","_ref","_ref$transformRespons","showSuccessToastr","_response$config","_response$config$show","showToastr","requestUrl","url","requestMethod","method","toastIdKey","concat","errorToastId","toast","dismiss","dissoc","matches","showThumbsUpToastr","Toastr","success","icon","className","pullDataFromResponse","_response$config$incl","includeMetadataInResponse","checkForReleaseVersionMismatch","_res$headers","_globalProps","res","newReleaseVersion","Number","currentReleaseVersion","globalProps","deployReleaseVersion","useErrorDisplayStore","setState","showRefreshRibbon","buildSuccessResponseHandler","interceptors","transformCase","push","handleUnauthorizedErrorResponse","_error$response2","_error$config2","status","resetAuthTokens","_ref2","_ref2$redirectOnError","redirectOnError","setTimeout","redirectTo","window","location","pathname","encodeURIComponent","href","isOnline","navigator","onLine","showOfflineToastr","toastId","i18next","t","dismissToastInterval","setInterval","clearInterval","handleNetworkError","startTime","Date","now","elapsedTime","MAXIMUM_OFFLINE_DURATION","showErrorToastr","_error$config3","_error$response3","_ref3","_ref3$showToastr","_ref3$show422ErrorToa","show422ErrorToastr","_ref3$url","_ref3$method","_ref4","message","code","toastrContent","skippedStatusCodes","includes","isCancel","railsEnv","getUrlPathName","URL","_unused","handle404ErrorResponse","_error$config4","_error$response4","_ref5","_ref5$show404ErrorPag","show404ErrorPage","_ref5$show403ErrorPag","show403ErrorPage","_error$request","fullUrl","request","responseURL","showErrorPage","statusCode","failedApiUrl","failedApiPath","buildErrorResponseHandler","logoutOn401","Promise","reject","bind","cleanupCredentialsForCrossOrigin","hostname","evolve","omit","transformDataToSnakeCase","_request$transformReq","transformRequestCase","serializeKeysToSnakeCase","params","addRequestInterceptors","cleanCredentialsForCrossOrigin","use","addResponseInterceptors","registerIntercepts","initializeAxios","baseURL","authHeaders","paramsSerializer","setParamsSerializer"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/initializers/axiosInitializer/index.js"],"sourcesContent":["import axios from \"axios\";\nimport i18next from \"i18next\";\nimport {\n isNotEmpty,\n keysToCamelCase,\n matches,\n serializeKeysToSnakeCase,\n} from \"neetocist\";\nimport { Toastr } from \"neetoui\";\nimport { dissoc, evolve, omit } from \"ramda\";\nimport { toast } from \"react-toastify\";\nimport { useErrorDisplayStore } from \"react-utils/useDisplayErrorPage\";\nimport { resetAuthTokens } from \"utils/axios\";\n\nimport setParamsSerializer from \"./paramsSerializer\";\n\nimport { HEADERS_KEYS, MAXIMUM_OFFLINE_DURATION } from \"../constants\";\n\nlet checkOnlineInterval = null;\nlet requestErrorToasts = {};\n\nconst shouldNot = skip => typeof skip === \"object\" || !skip;\n\nconst shouldShowToastr = response =>\n (typeof response === \"string\" && isNotEmpty(response)) ||\n (typeof response === \"object\" && (response?.notice || response?.noticeCode));\n\nconst setAuthHeaders = () => {\n // @ts-ignore\n axios.defaults.headers = {\n [HEADERS_KEYS.accept]: \"application/json\",\n [HEADERS_KEYS.contentType]: \"application/json\",\n [HEADERS_KEYS.xCsrfToken]: document\n .querySelector('[name=\"csrf-token\"]')\n ?.getAttribute(\"content\"),\n };\n};\n\n// pipe function from ramda doesn't accept array of functions.\n// We can't use spread operator too. So this is a workaround.\nconst createPipe = functions => data =>\n functions.reduce((acc, fn) => fn(acc), data);\n\nconst transformResponseKeysToCamelCase = response => {\n const { transformResponseCase = true } = response.config;\n\n if (response.data && transformResponseCase) {\n response.data = keysToCamelCase(response.data);\n }\n\n return response;\n};\n\nconst transformErrorKeysToCamelCase = error => {\n const { transformResponseCase = true } = error.config ?? {};\n\n if (error.response?.data && transformResponseCase) {\n error.response.data = keysToCamelCase(error.response.data);\n }\n\n return error;\n};\n\nconst showSuccessToastr = response => {\n const {\n showToastr = true,\n url: requestUrl,\n method: requestMethod,\n } = response.config;\n if (!showToastr) return response;\n\n const toastIdKey = `${requestMethod}:${requestUrl}`;\n const errorToastId = requestErrorToasts[toastIdKey];\n if (errorToastId) {\n toast.dismiss(errorToastId);\n requestErrorToasts = dissoc(toastIdKey, requestErrorToasts);\n }\n\n if (matches({ showThumbsUpToastr: true }, response.data)) {\n // @ts-ignore\n // eslint-disable-next-line @bigbinary/neeto/use-show-thumbs-up-toastr\n Toastr.success(\"\", { icon: \"👍\", className: \"w-20\" });\n } else if (matches({ noticeCode: \"thumbs_up\" }, response.data)) {\n // @ts-ignore\n // eslint-disable-next-line @bigbinary/neeto/use-show-thumbs-up-toastr\n Toastr.success(\"\", { icon: \"👍\", className: \"w-20\" });\n } else if (shouldShowToastr(response.data)) {\n Toastr.success(response.data);\n }\n\n return response;\n};\n\nconst pullDataFromResponse = response => {\n const { includeMetadataInResponse = false } = response.config;\n\n return includeMetadataInResponse ? response : response.data;\n};\n\nconst checkForReleaseVersionMismatch = response => {\n const res = response?.response || response;\n const newReleaseVersion = Number(res?.headers?.[\"x-deploy-release-version\"]);\n const currentReleaseVersion = Number(globalProps?.deployReleaseVersion);\n\n if (\n newReleaseVersion &&\n currentReleaseVersion &&\n newReleaseVersion !== currentReleaseVersion\n ) {\n useErrorDisplayStore.setState({ showRefreshRibbon: true });\n }\n\n return response;\n};\n\nconst buildSuccessResponseHandler = skip => {\n const interceptors = [];\n if (!skip?.transformCase) interceptors.push(transformResponseKeysToCamelCase);\n\n if (!skip?.showToastr) interceptors.push(showSuccessToastr);\n\n if (!skip?.checkForReleaseVersionMismatch) {\n interceptors.push(checkForReleaseVersionMismatch);\n }\n\n if (!skip?.pullDataFromResponse) interceptors.push(pullDataFromResponse);\n\n return createPipe(interceptors);\n};\n\nconst handleUnauthorizedErrorResponse = error => {\n if (error.response?.status !== 401) return error;\n\n resetAuthTokens();\n\n const { redirectOnError = true } = error.config ?? {};\n if (redirectOnError) {\n setTimeout(() => {\n const redirectTo =\n window.location.pathname === \"/login\"\n ? \"/login\"\n : `/login?redirect_uri=${encodeURIComponent(window.location.href)}`;\n\n window.location.href = redirectTo;\n }, 300);\n }\n\n return error;\n};\n\nconst isOnline = () => window.navigator.onLine;\n\nconst showOfflineToastr = () => {\n const toastId = Toastr.error(\n i18next.t(\"neetoCommons.toastr.error.noInternetConnection\")\n );\n\n if (toastId) {\n const dismissToastInterval = setInterval(() => {\n if (!isOnline()) return;\n\n toast.dismiss(toastId);\n clearInterval(dismissToastInterval);\n checkOnlineInterval = null;\n }, 1000);\n }\n};\n\nconst handleNetworkError = error => {\n if (checkOnlineInterval) return error;\n\n const startTime = Date.now();\n\n checkOnlineInterval = setInterval(() => {\n const elapsedTime = Date.now() - startTime;\n\n if (isOnline()) {\n clearInterval(checkOnlineInterval);\n checkOnlineInterval = null;\n } else if (elapsedTime >= MAXIMUM_OFFLINE_DURATION) {\n clearInterval(checkOnlineInterval);\n showOfflineToastr();\n }\n }, 1000);\n\n return error;\n};\n\nconst showErrorToastr = error => {\n const {\n showToastr = true,\n show422ErrorToastr = true,\n show429ErrorPage = true,\n url: requestUrl = \"\",\n method: requestMethod = \"\",\n } = error.config ?? {};\n const { status } = error.response ?? {};\n\n if (!showToastr) return error;\n\n if (error.message === \"Network Error\") return handleNetworkError(error);\n\n if (error.code === \"ECONNABORTED\") {\n return error;\n }\n\n let shouldShowToastr = false,\n toastrContent = error;\n\n const skippedStatusCodes = [403, 404, 520, 422];\n if (!skippedStatusCodes.includes(status) && !axios.isCancel(error)) {\n // we already display a page in case of 403 & 404 and we don't want to show a toastr for cancelled requests.\n // We handle cloudflare error differently for production and other environments.\n shouldShowToastr = true;\n }\n\n if (status === 422 && show422ErrorToastr) shouldShowToastr = true;\n\n if (status === 429 && show429ErrorPage) shouldShowToastr = false;\n\n if (status === 520) {\n shouldShowToastr = true;\n if (globalProps.railsEnv === \"production\") {\n toastrContent = i18next.t(\"generic.error\");\n }\n }\n\n if (status === 0) {\n toastrContent = i18next.t(\"neetoCommons.toastr.error.networkError\");\n shouldShowToastr = true;\n }\n\n const toastIdKey = `${requestMethod}:${requestUrl}`;\n const errorToastId = requestErrorToasts[toastIdKey];\n if (errorToastId) toast.dismiss(errorToastId);\n\n if (shouldShowToastr) {\n if (errorToastId) {\n // if there's an existing toastr with the same message, the onClose callback in the neetoUI which\n // removes the toastr from the unique list will be fired only after the toast is completely removed\n // from the UI. If there's no delay, the new toastr will be considered as duplicate and ignored.\n setTimeout(() => {\n requestErrorToasts[toastIdKey] = Toastr.error(toastrContent);\n }, 1200);\n } else requestErrorToasts[toastIdKey] = Toastr.error(toastrContent);\n }\n\n return error;\n};\n\nconst getUrlPathName = url => {\n try {\n return new URL(url).pathname;\n } catch {\n return url;\n }\n};\n\nconst handleErrorPageResponse = error => {\n const {\n show404ErrorPage = true,\n show403ErrorPage = true,\n show429ErrorPage = true,\n } = error.config ?? {};\n\n const status = error.response?.status;\n if (\n (status === 404 && show404ErrorPage) ||\n (status === 403 && show403ErrorPage) ||\n (status === 429 && show429ErrorPage)\n ) {\n const fullUrl = error.request?.responseURL || error.config.url;\n useErrorDisplayStore.setState({\n showErrorPage: true,\n statusCode: status,\n failedApiUrl: fullUrl,\n failedApiPath: getUrlPathName(fullUrl),\n });\n }\n\n return error;\n};\n\nconst buildErrorResponseHandler = skip => {\n const interceptors = [];\n if (!skip?.transformCase) interceptors.push(transformErrorKeysToCamelCase);\n\n if (!skip?.show404ErrorPage) interceptors.push(handleErrorPageResponse);\n\n if (!skip?.logoutOn401) interceptors.push(handleUnauthorizedErrorResponse);\n\n if (!skip?.showToastr) interceptors.push(showErrorToastr);\n\n if (!skip?.checkForReleaseVersionMismatch) {\n interceptors.push(checkForReleaseVersionMismatch);\n }\n\n interceptors.push(Promise.reject.bind(Promise));\n\n return createPipe(interceptors);\n};\n\nconst cleanupCredentialsForCrossOrigin = request => {\n if (!request.url.includes(\"://\")) return request;\n\n if (request.url.includes(window.location.hostname)) return request;\n\n return evolve({ headers: omit([HEADERS_KEYS.xCsrfToken]) })(request);\n};\n\nconst transformDataToSnakeCase = request => {\n const { transformRequestCase = true } = request;\n\n if (!transformRequestCase) return request;\n\n return evolve(\n { data: serializeKeysToSnakeCase, params: serializeKeysToSnakeCase },\n request\n );\n};\n\nconst addRequestInterceptors = skip => {\n if (!skip?.cleanCredentialsForCrossOrigin) {\n axios.interceptors.request.use(cleanupCredentialsForCrossOrigin);\n }\n\n if (!skip?.transformCase) {\n axios.interceptors.request.use(transformDataToSnakeCase);\n }\n};\n\nconst addResponseInterceptors = skip => {\n axios.interceptors.response.use(\n buildSuccessResponseHandler(skip),\n buildErrorResponseHandler(skip)\n );\n};\n\nconst registerIntercepts = skip => {\n if (shouldNot(skip?.request)) addRequestInterceptors(skip?.request);\n\n if (shouldNot(skip?.response)) addResponseInterceptors(skip?.response);\n};\n\nexport default function initializeAxios(skip) {\n if (!skip?.baseURL) axios.defaults.baseURL = \"/\";\n\n if (!skip?.authHeaders) setAuthHeaders();\n\n if (!skip?.paramsSerializer) setParamsSerializer();\n\n if (shouldNot(skip?.interceptors)) registerIntercepts(skip?.interceptors);\n}\n"],"names":["checkOnlineInterval","requestErrorToasts","shouldNot","skip","_typeof","shouldShowToastr","response","isNotEmpty","notice","noticeCode","setAuthHeaders","_document$querySelect","axios","defaults","headers","_defineProperty","HEADERS_KEYS","accept","contentType","xCsrfToken","document","querySelector","getAttribute","createPipe","functions","data","reduce","acc","fn","transformResponseKeysToCamelCase","_response$config$tran","config","transformResponseCase","keysToCamelCase","transformErrorKeysToCamelCase","error","_error$config","_error$response","_ref","_ref$transformRespons","showSuccessToastr","_response$config","_response$config$show","showToastr","requestUrl","url","requestMethod","method","toastIdKey","concat","errorToastId","toast","dismiss","dissoc","matches","showThumbsUpToastr","Toastr","success","icon","className","pullDataFromResponse","_response$config$incl","includeMetadataInResponse","checkForReleaseVersionMismatch","_res$headers","_globalProps","res","newReleaseVersion","Number","currentReleaseVersion","globalProps","deployReleaseVersion","useErrorDisplayStore","setState","showRefreshRibbon","buildSuccessResponseHandler","interceptors","transformCase","push","handleUnauthorizedErrorResponse","_error$response2","_error$config2","status","resetAuthTokens","_ref2","_ref2$redirectOnError","redirectOnError","setTimeout","redirectTo","window","location","pathname","encodeURIComponent","href","isOnline","navigator","onLine","showOfflineToastr","toastId","i18next","t","dismissToastInterval","setInterval","clearInterval","handleNetworkError","startTime","Date","now","elapsedTime","MAXIMUM_OFFLINE_DURATION","showErrorToastr","_error$config3","_error$response3","_ref3","_ref3$showToastr","_ref3$show422ErrorToa","show422ErrorToastr","_ref3$show429ErrorPag","show429ErrorPage","_ref3$url","_ref3$method","_ref4","message","code","toastrContent","skippedStatusCodes","includes","isCancel","railsEnv","getUrlPathName","URL","_unused","handleErrorPageResponse","_error$config4","_error$response4","_ref5","_ref5$show404ErrorPag","show404ErrorPage","_ref5$show403ErrorPag","show403ErrorPage","_ref5$show429ErrorPag","_error$request","fullUrl","request","responseURL","showErrorPage","statusCode","failedApiUrl","failedApiPath","buildErrorResponseHandler","logoutOn401","Promise","reject","bind","cleanupCredentialsForCrossOrigin","hostname","evolve","omit","transformDataToSnakeCase","_request$transformReq","transformRequestCase","serializeKeysToSnakeCase","params","addRequestInterceptors","cleanCredentialsForCrossOrigin","use","addResponseInterceptors","registerIntercepts","initializeAxios","baseURL","authHeaders","paramsSerializer","setParamsSerializer"],"mappings":"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"}
@@ -124,8 +124,6 @@ var handleUnauthorizedErrorResponse = function handleUnauthorizedErrorResponse(e
124
124
  if (redirectOnError) {
125
125
  setTimeout(function () {
126
126
  var redirectTo = window.location.pathname === "/login" ? "/login" : "/login?redirect_uri=".concat(encodeURIComponent(window.location.href));
127
-
128
- // eslint-disable-next-line xss/no-location-href-assign
129
127
  window.location.href = redirectTo;
130
128
  }, 300);
131
129
  }
@@ -167,6 +165,8 @@ var showErrorToastr = function showErrorToastr(error) {
167
165
  showToastr = _ref3$showToastr === void 0 ? true : _ref3$showToastr,
168
166
  _ref3$show422ErrorToa = _ref3.show422ErrorToastr,
169
167
  show422ErrorToastr = _ref3$show422ErrorToa === void 0 ? true : _ref3$show422ErrorToa,
168
+ _ref3$show429ErrorPag = _ref3.show429ErrorPage,
169
+ show429ErrorPage = _ref3$show429ErrorPag === void 0 ? true : _ref3$show429ErrorPag,
170
170
  _ref3$url = _ref3.url,
171
171
  requestUrl = _ref3$url === void 0 ? "" : _ref3$url,
172
172
  _ref3$method = _ref3.method,
@@ -187,6 +187,7 @@ var showErrorToastr = function showErrorToastr(error) {
187
187
  shouldShowToastr = true;
188
188
  }
189
189
  if (status === 422 && show422ErrorToastr) shouldShowToastr = true;
190
+ if (status === 429 && show429ErrorPage) shouldShowToastr = false;
190
191
  if (status === 520) {
191
192
  shouldShowToastr = true;
192
193
  if (globalProps.railsEnv === "production") {
@@ -219,15 +220,17 @@ var getUrlPathName = function getUrlPathName(url) {
219
220
  return url;
220
221
  }
221
222
  };
222
- var handle404ErrorResponse = function handle404ErrorResponse(error) {
223
+ var handleErrorPageResponse = function handleErrorPageResponse(error) {
223
224
  var _error$config4, _error$response4;
224
225
  var _ref5 = (_error$config4 = error.config) !== null && _error$config4 !== void 0 ? _error$config4 : {},
225
226
  _ref5$show404ErrorPag = _ref5.show404ErrorPage,
226
227
  show404ErrorPage = _ref5$show404ErrorPag === void 0 ? true : _ref5$show404ErrorPag,
227
228
  _ref5$show403ErrorPag = _ref5.show403ErrorPage,
228
- show403ErrorPage = _ref5$show403ErrorPag === void 0 ? true : _ref5$show403ErrorPag;
229
+ show403ErrorPage = _ref5$show403ErrorPag === void 0 ? true : _ref5$show403ErrorPag,
230
+ _ref5$show429ErrorPag = _ref5.show429ErrorPage,
231
+ show429ErrorPage = _ref5$show429ErrorPag === void 0 ? true : _ref5$show429ErrorPag;
229
232
  var status = (_error$response4 = error.response) === null || _error$response4 === void 0 ? void 0 : _error$response4.status;
230
- if (status === 404 && show404ErrorPage || status === 403 && show403ErrorPage) {
233
+ if (status === 404 && show404ErrorPage || status === 403 && show403ErrorPage || status === 429 && show429ErrorPage) {
231
234
  var _error$request;
232
235
  var fullUrl = ((_error$request = error.request) === null || _error$request === void 0 ? void 0 : _error$request.responseURL) || error.config.url;
233
236
  v2_reactUtils_useDisplayErrorPage_useDisplayErrorPage.useErrorDisplayStore.setState({
@@ -242,7 +245,7 @@ var handle404ErrorResponse = function handle404ErrorResponse(error) {
242
245
  var buildErrorResponseHandler = function buildErrorResponseHandler(skip) {
243
246
  var interceptors = [];
244
247
  if (!(skip !== null && skip !== void 0 && skip.transformCase)) interceptors.push(transformErrorKeysToCamelCase);
245
- if (!(skip !== null && skip !== void 0 && skip.show404ErrorPage)) interceptors.push(handle404ErrorResponse);
248
+ if (!(skip !== null && skip !== void 0 && skip.show404ErrorPage)) interceptors.push(handleErrorPageResponse);
246
249
  if (!(skip !== null && skip !== void 0 && skip.logoutOn401)) interceptors.push(handleUnauthorizedErrorResponse);
247
250
  if (!(skip !== null && skip !== void 0 && skip.showToastr)) interceptors.push(showErrorToastr);
248
251
  if (!(skip !== null && skip !== void 0 && skip.checkForReleaseVersionMismatch)) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../src/v2/initializers/axiosInitializer/index.js"],"sourcesContent":["import { Toastr } from \"@bigbinary/neeto-atoms\";\nimport axios from \"axios\";\nimport i18next from \"i18next\";\nimport {\n isNotEmpty,\n keysToCamelCase,\n matches,\n serializeKeysToSnakeCase,\n} from \"neetocist\";\nimport { dissoc, evolve, omit } from \"ramda\";\nimport { toast } from \"react-toastify\";\nimport { useErrorDisplayStore } from \"v2/react-utils/useDisplayErrorPage\";\nimport { resetAuthTokens } from \"v2/utils/axios\";\n\nimport setParamsSerializer from \"./paramsSerializer\";\n\nimport { HEADERS_KEYS, MAXIMUM_OFFLINE_DURATION } from \"../constants\";\n\nlet checkOnlineInterval = null;\nlet requestErrorToasts = {};\n\nconst shouldNot = skip => typeof skip === \"object\" || !skip;\n\nconst shouldShowToastr = response =>\n (typeof response === \"string\" && isNotEmpty(response)) ||\n (typeof response === \"object\" && (response?.notice || response?.noticeCode));\n\nconst setAuthHeaders = () => {\n // @ts-ignore\n axios.defaults.headers = {\n [HEADERS_KEYS.accept]: \"application/json\",\n [HEADERS_KEYS.contentType]: \"application/json\",\n [HEADERS_KEYS.xCsrfToken]: document\n .querySelector('[name=\"csrf-token\"]')\n ?.getAttribute(\"content\"),\n };\n};\n\n// pipe function from ramda doesn't accept array of functions.\n// We can't use spread operator too. So this is a workaround.\nconst createPipe = functions => data =>\n functions.reduce((acc, fn) => fn(acc), data);\n\nconst transformResponseKeysToCamelCase = response => {\n const { transformResponseCase = true } = response.config;\n\n if (response.data && transformResponseCase) {\n response.data = keysToCamelCase(response.data);\n }\n\n return response;\n};\n\nconst transformErrorKeysToCamelCase = error => {\n const { transformResponseCase = true } = error.config ?? {};\n\n if (error.response?.data && transformResponseCase) {\n error.response.data = keysToCamelCase(error.response.data);\n }\n\n return error;\n};\n\nconst showSuccessToastr = response => {\n const {\n showToastr = true,\n url: requestUrl,\n method: requestMethod,\n } = response.config;\n if (!showToastr) return response;\n\n const toastIdKey = `${requestMethod}:${requestUrl}`;\n const errorToastId = requestErrorToasts[toastIdKey];\n if (errorToastId) {\n toast.dismiss(errorToastId);\n requestErrorToasts = dissoc(toastIdKey, requestErrorToasts);\n }\n\n if (matches({ showThumbsUpToastr: true }, response.data)) {\n Toastr.success(\"👍\", { showIcon: false });\n } else if (matches({ noticeCode: \"thumbs_up\" }, response.data)) {\n Toastr.success(\"👍\", { showIcon: false });\n } else if (shouldShowToastr(response.data)) {\n Toastr.success(response.data);\n }\n\n return response;\n};\n\nconst pullDataFromResponse = response => {\n const { includeMetadataInResponse = false } = response.config;\n\n return includeMetadataInResponse ? response : response.data;\n};\n\nconst checkForReleaseVersionMismatch = response => {\n const res = response?.response || response;\n const newReleaseVersion = Number(res?.headers?.[\"x-deploy-release-version\"]);\n const currentReleaseVersion = Number(globalProps?.deployReleaseVersion);\n\n if (\n newReleaseVersion &&\n currentReleaseVersion &&\n newReleaseVersion !== currentReleaseVersion\n ) {\n useErrorDisplayStore.setState({ showRefreshRibbon: true });\n }\n\n return response;\n};\n\nconst buildSuccessResponseHandler = skip => {\n const interceptors = [];\n if (!skip?.transformCase) interceptors.push(transformResponseKeysToCamelCase);\n\n if (!skip?.showToastr) interceptors.push(showSuccessToastr);\n\n if (!skip?.checkForReleaseVersionMismatch) {\n interceptors.push(checkForReleaseVersionMismatch);\n }\n\n if (!skip?.pullDataFromResponse) interceptors.push(pullDataFromResponse);\n\n return createPipe(interceptors);\n};\n\nconst handleUnauthorizedErrorResponse = error => {\n if (error.response?.status !== 401) return error;\n\n resetAuthTokens();\n\n const { redirectOnError = true } = error.config ?? {};\n if (redirectOnError) {\n setTimeout(() => {\n const redirectTo =\n window.location.pathname === \"/login\"\n ? \"/login\"\n : `/login?redirect_uri=${encodeURIComponent(window.location.href)}`;\n\n // eslint-disable-next-line xss/no-location-href-assign\n window.location.href = redirectTo;\n }, 300);\n }\n\n return error;\n};\n\nconst isOnline = () => window.navigator.onLine;\n\nconst showOfflineToastr = () => {\n const toastId = Toastr.error(\n i18next.t(\"neetoCommons.toastr.error.noInternetConnection\")\n );\n\n if (toastId) {\n const dismissToastInterval = setInterval(() => {\n if (!isOnline()) return;\n\n toast.dismiss(toastId);\n clearInterval(dismissToastInterval);\n checkOnlineInterval = null;\n }, 1000);\n }\n};\n\nconst handleNetworkError = error => {\n if (checkOnlineInterval) return error;\n\n const startTime = Date.now();\n\n checkOnlineInterval = setInterval(() => {\n const elapsedTime = Date.now() - startTime;\n\n if (isOnline()) {\n clearInterval(checkOnlineInterval);\n checkOnlineInterval = null;\n } else if (elapsedTime >= MAXIMUM_OFFLINE_DURATION) {\n clearInterval(checkOnlineInterval);\n showOfflineToastr();\n }\n }, 1000);\n\n return error;\n};\n\nconst showErrorToastr = error => {\n const {\n showToastr = true,\n show422ErrorToastr = true,\n url: requestUrl = \"\",\n method: requestMethod = \"\",\n } = error.config ?? {};\n const { status } = error.response ?? {};\n\n if (!showToastr) return error;\n\n if (error.message === \"Network Error\") return handleNetworkError(error);\n\n if (error.code === \"ECONNABORTED\") {\n return error;\n }\n\n let shouldShowToastr = false,\n toastrContent = error;\n\n const skippedStatusCodes = [403, 404, 520, 422];\n if (!skippedStatusCodes.includes(status) && !axios.isCancel(error)) {\n // we already display a page in case of 403 & 404 and we don't want to show a toastr for cancelled requests.\n // We handle cloudflare error differently for production and other environments.\n shouldShowToastr = true;\n }\n\n if (status === 422 && show422ErrorToastr) shouldShowToastr = true;\n\n if (status === 520) {\n shouldShowToastr = true;\n if (globalProps.railsEnv === \"production\") {\n toastrContent = i18next.t(\"generic.error\");\n }\n }\n\n if (status === 0) {\n toastrContent = i18next.t(\"neetoCommons.toastr.error.networkError\");\n shouldShowToastr = true;\n }\n\n const toastIdKey = `${requestMethod}:${requestUrl}`;\n const errorToastId = requestErrorToasts[toastIdKey];\n if (errorToastId) toast.dismiss(errorToastId);\n\n if (shouldShowToastr) {\n if (errorToastId) {\n // if there's an existing toastr with the same message, the onClose callback in the neetoUI which\n // removes the toastr from the unique list will be fired only after the toast is completely removed\n // from the UI. If there's no delay, the new toastr will be considered as duplicate and ignored.\n setTimeout(() => {\n requestErrorToasts[toastIdKey] = Toastr.error(toastrContent);\n }, 1200);\n } else requestErrorToasts[toastIdKey] = Toastr.error(toastrContent);\n }\n\n return error;\n};\n\nconst getUrlPathName = url => {\n try {\n return new URL(url).pathname;\n } catch {\n return url;\n }\n};\n\nconst handle404ErrorResponse = error => {\n const { show404ErrorPage = true, show403ErrorPage = true } =\n error.config ?? {};\n\n const status = error.response?.status;\n if (\n (status === 404 && show404ErrorPage) ||\n (status === 403 && show403ErrorPage)\n ) {\n const fullUrl = error.request?.responseURL || error.config.url;\n useErrorDisplayStore.setState({\n showErrorPage: true,\n statusCode: status,\n failedApiUrl: fullUrl,\n failedApiPath: getUrlPathName(fullUrl),\n });\n }\n\n return error;\n};\n\nconst buildErrorResponseHandler = skip => {\n const interceptors = [];\n if (!skip?.transformCase) interceptors.push(transformErrorKeysToCamelCase);\n\n if (!skip?.show404ErrorPage) interceptors.push(handle404ErrorResponse);\n\n if (!skip?.logoutOn401) interceptors.push(handleUnauthorizedErrorResponse);\n\n if (!skip?.showToastr) interceptors.push(showErrorToastr);\n\n if (!skip?.checkForReleaseVersionMismatch) {\n interceptors.push(checkForReleaseVersionMismatch);\n }\n\n interceptors.push(Promise.reject.bind(Promise));\n\n return createPipe(interceptors);\n};\n\nconst cleanupCredentialsForCrossOrigin = request => {\n if (!request.url.includes(\"://\")) return request;\n\n if (request.url.includes(window.location.hostname)) return request;\n\n return evolve({ headers: omit([HEADERS_KEYS.xCsrfToken]) })(request);\n};\n\nconst transformDataToSnakeCase = request => {\n const { transformRequestCase = true } = request;\n\n if (!transformRequestCase) return request;\n\n return evolve(\n { data: serializeKeysToSnakeCase, params: serializeKeysToSnakeCase },\n request\n );\n};\n\nconst addRequestInterceptors = skip => {\n if (!skip?.cleanCredentialsForCrossOrigin) {\n axios.interceptors.request.use(cleanupCredentialsForCrossOrigin);\n }\n\n if (!skip?.transformCase) {\n axios.interceptors.request.use(transformDataToSnakeCase);\n }\n};\n\nconst addResponseInterceptors = skip => {\n axios.interceptors.response.use(\n buildSuccessResponseHandler(skip),\n buildErrorResponseHandler(skip)\n );\n};\n\nconst registerIntercepts = skip => {\n if (shouldNot(skip?.request)) addRequestInterceptors(skip?.request);\n\n if (shouldNot(skip?.response)) addResponseInterceptors(skip?.response);\n};\n\nexport default function initializeAxios(skip) {\n if (!skip?.baseURL) axios.defaults.baseURL = \"/\";\n\n if (!skip?.authHeaders) setAuthHeaders();\n\n if (!skip?.paramsSerializer) setParamsSerializer();\n\n if (shouldNot(skip?.interceptors)) registerIntercepts(skip?.interceptors);\n}\n"],"names":["checkOnlineInterval","requestErrorToasts","shouldNot","skip","_typeof","shouldShowToastr","response","isNotEmpty","notice","noticeCode","setAuthHeaders","_document$querySelect","axios","defaults","headers","_defineProperty","HEADERS_KEYS","accept","contentType","xCsrfToken","document","querySelector","getAttribute","createPipe","functions","data","reduce","acc","fn","transformResponseKeysToCamelCase","_response$config$tran","config","transformResponseCase","keysToCamelCase","transformErrorKeysToCamelCase","error","_error$config","_error$response","_ref","_ref$transformRespons","showSuccessToastr","_response$config","_response$config$show","showToastr","requestUrl","url","requestMethod","method","toastIdKey","concat","errorToastId","toast","dismiss","dissoc","matches","showThumbsUpToastr","Toastr","success","showIcon","pullDataFromResponse","_response$config$incl","includeMetadataInResponse","checkForReleaseVersionMismatch","_res$headers","_globalProps","res","newReleaseVersion","Number","currentReleaseVersion","globalProps","deployReleaseVersion","useErrorDisplayStore","setState","showRefreshRibbon","buildSuccessResponseHandler","interceptors","transformCase","push","handleUnauthorizedErrorResponse","_error$response2","_error$config2","status","resetAuthTokens","_ref2","_ref2$redirectOnError","redirectOnError","setTimeout","redirectTo","window","location","pathname","encodeURIComponent","href","isOnline","navigator","onLine","showOfflineToastr","toastId","i18next","t","dismissToastInterval","setInterval","clearInterval","handleNetworkError","startTime","Date","now","elapsedTime","MAXIMUM_OFFLINE_DURATION","showErrorToastr","_error$config3","_error$response3","_ref3","_ref3$showToastr","_ref3$show422ErrorToa","show422ErrorToastr","_ref3$url","_ref3$method","_ref4","message","code","toastrContent","skippedStatusCodes","includes","isCancel","railsEnv","getUrlPathName","URL","_unused","handle404ErrorResponse","_error$config4","_error$response4","_ref5","_ref5$show404ErrorPag","show404ErrorPage","_ref5$show403ErrorPag","show403ErrorPage","_error$request","fullUrl","request","responseURL","showErrorPage","statusCode","failedApiUrl","failedApiPath","buildErrorResponseHandler","logoutOn401","Promise","reject","bind","cleanupCredentialsForCrossOrigin","hostname","evolve","omit","transformDataToSnakeCase","_request$transformReq","transformRequestCase","serializeKeysToSnakeCase","params","addRequestInterceptors","cleanCredentialsForCrossOrigin","use","addResponseInterceptors","registerIntercepts","initializeAxios","baseURL","authHeaders","paramsSerializer","setParamsSerializer"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../src/v2/initializers/axiosInitializer/index.js"],"sourcesContent":["import { Toastr } from \"@bigbinary/neeto-atoms\";\nimport axios from \"axios\";\nimport i18next from \"i18next\";\nimport {\n isNotEmpty,\n keysToCamelCase,\n matches,\n serializeKeysToSnakeCase,\n} from \"neetocist\";\nimport { dissoc, evolve, omit } from \"ramda\";\nimport { toast } from \"react-toastify\";\nimport { useErrorDisplayStore } from \"v2/react-utils/useDisplayErrorPage\";\nimport { resetAuthTokens } from \"v2/utils/axios\";\n\nimport setParamsSerializer from \"./paramsSerializer\";\n\nimport { HEADERS_KEYS, MAXIMUM_OFFLINE_DURATION } from \"../constants\";\n\nlet checkOnlineInterval = null;\nlet requestErrorToasts = {};\n\nconst shouldNot = skip => typeof skip === \"object\" || !skip;\n\nconst shouldShowToastr = response =>\n (typeof response === \"string\" && isNotEmpty(response)) ||\n (typeof response === \"object\" && (response?.notice || response?.noticeCode));\n\nconst setAuthHeaders = () => {\n // @ts-ignore\n axios.defaults.headers = {\n [HEADERS_KEYS.accept]: \"application/json\",\n [HEADERS_KEYS.contentType]: \"application/json\",\n [HEADERS_KEYS.xCsrfToken]: document\n .querySelector('[name=\"csrf-token\"]')\n ?.getAttribute(\"content\"),\n };\n};\n\n// pipe function from ramda doesn't accept array of functions.\n// We can't use spread operator too. So this is a workaround.\nconst createPipe = functions => data =>\n functions.reduce((acc, fn) => fn(acc), data);\n\nconst transformResponseKeysToCamelCase = response => {\n const { transformResponseCase = true } = response.config;\n\n if (response.data && transformResponseCase) {\n response.data = keysToCamelCase(response.data);\n }\n\n return response;\n};\n\nconst transformErrorKeysToCamelCase = error => {\n const { transformResponseCase = true } = error.config ?? {};\n\n if (error.response?.data && transformResponseCase) {\n error.response.data = keysToCamelCase(error.response.data);\n }\n\n return error;\n};\n\nconst showSuccessToastr = response => {\n const {\n showToastr = true,\n url: requestUrl,\n method: requestMethod,\n } = response.config;\n if (!showToastr) return response;\n\n const toastIdKey = `${requestMethod}:${requestUrl}`;\n const errorToastId = requestErrorToasts[toastIdKey];\n if (errorToastId) {\n toast.dismiss(errorToastId);\n requestErrorToasts = dissoc(toastIdKey, requestErrorToasts);\n }\n\n if (matches({ showThumbsUpToastr: true }, response.data)) {\n Toastr.success(\"👍\", { showIcon: false });\n } else if (matches({ noticeCode: \"thumbs_up\" }, response.data)) {\n Toastr.success(\"👍\", { showIcon: false });\n } else if (shouldShowToastr(response.data)) {\n Toastr.success(response.data);\n }\n\n return response;\n};\n\nconst pullDataFromResponse = response => {\n const { includeMetadataInResponse = false } = response.config;\n\n return includeMetadataInResponse ? response : response.data;\n};\n\nconst checkForReleaseVersionMismatch = response => {\n const res = response?.response || response;\n const newReleaseVersion = Number(res?.headers?.[\"x-deploy-release-version\"]);\n const currentReleaseVersion = Number(globalProps?.deployReleaseVersion);\n\n if (\n newReleaseVersion &&\n currentReleaseVersion &&\n newReleaseVersion !== currentReleaseVersion\n ) {\n useErrorDisplayStore.setState({ showRefreshRibbon: true });\n }\n\n return response;\n};\n\nconst buildSuccessResponseHandler = skip => {\n const interceptors = [];\n if (!skip?.transformCase) interceptors.push(transformResponseKeysToCamelCase);\n\n if (!skip?.showToastr) interceptors.push(showSuccessToastr);\n\n if (!skip?.checkForReleaseVersionMismatch) {\n interceptors.push(checkForReleaseVersionMismatch);\n }\n\n if (!skip?.pullDataFromResponse) interceptors.push(pullDataFromResponse);\n\n return createPipe(interceptors);\n};\n\nconst handleUnauthorizedErrorResponse = error => {\n if (error.response?.status !== 401) return error;\n\n resetAuthTokens();\n\n const { redirectOnError = true } = error.config ?? {};\n if (redirectOnError) {\n setTimeout(() => {\n const redirectTo =\n window.location.pathname === \"/login\"\n ? \"/login\"\n : `/login?redirect_uri=${encodeURIComponent(window.location.href)}`;\n\n window.location.href = redirectTo;\n }, 300);\n }\n\n return error;\n};\n\nconst isOnline = () => window.navigator.onLine;\n\nconst showOfflineToastr = () => {\n const toastId = Toastr.error(\n i18next.t(\"neetoCommons.toastr.error.noInternetConnection\")\n );\n\n if (toastId) {\n const dismissToastInterval = setInterval(() => {\n if (!isOnline()) return;\n\n toast.dismiss(toastId);\n clearInterval(dismissToastInterval);\n checkOnlineInterval = null;\n }, 1000);\n }\n};\n\nconst handleNetworkError = error => {\n if (checkOnlineInterval) return error;\n\n const startTime = Date.now();\n\n checkOnlineInterval = setInterval(() => {\n const elapsedTime = Date.now() - startTime;\n\n if (isOnline()) {\n clearInterval(checkOnlineInterval);\n checkOnlineInterval = null;\n } else if (elapsedTime >= MAXIMUM_OFFLINE_DURATION) {\n clearInterval(checkOnlineInterval);\n showOfflineToastr();\n }\n }, 1000);\n\n return error;\n};\n\nconst showErrorToastr = error => {\n const {\n showToastr = true,\n show422ErrorToastr = true,\n show429ErrorPage = true,\n url: requestUrl = \"\",\n method: requestMethod = \"\",\n } = error.config ?? {};\n const { status } = error.response ?? {};\n\n if (!showToastr) return error;\n\n if (error.message === \"Network Error\") return handleNetworkError(error);\n\n if (error.code === \"ECONNABORTED\") {\n return error;\n }\n\n let shouldShowToastr = false,\n toastrContent = error;\n\n const skippedStatusCodes = [403, 404, 520, 422];\n if (!skippedStatusCodes.includes(status) && !axios.isCancel(error)) {\n // we already display a page in case of 403 & 404 and we don't want to show a toastr for cancelled requests.\n // We handle cloudflare error differently for production and other environments.\n shouldShowToastr = true;\n }\n\n if (status === 422 && show422ErrorToastr) shouldShowToastr = true;\n\n if (status === 429 && show429ErrorPage) shouldShowToastr = false;\n\n if (status === 520) {\n shouldShowToastr = true;\n if (globalProps.railsEnv === \"production\") {\n toastrContent = i18next.t(\"generic.error\");\n }\n }\n\n if (status === 0) {\n toastrContent = i18next.t(\"neetoCommons.toastr.error.networkError\");\n shouldShowToastr = true;\n }\n\n const toastIdKey = `${requestMethod}:${requestUrl}`;\n const errorToastId = requestErrorToasts[toastIdKey];\n if (errorToastId) toast.dismiss(errorToastId);\n\n if (shouldShowToastr) {\n if (errorToastId) {\n // if there's an existing toastr with the same message, the onClose callback in the neetoUI which\n // removes the toastr from the unique list will be fired only after the toast is completely removed\n // from the UI. If there's no delay, the new toastr will be considered as duplicate and ignored.\n setTimeout(() => {\n requestErrorToasts[toastIdKey] = Toastr.error(toastrContent);\n }, 1200);\n } else requestErrorToasts[toastIdKey] = Toastr.error(toastrContent);\n }\n\n return error;\n};\n\nconst getUrlPathName = url => {\n try {\n return new URL(url).pathname;\n } catch {\n return url;\n }\n};\n\nconst handleErrorPageResponse = error => {\n const {\n show404ErrorPage = true,\n show403ErrorPage = true,\n show429ErrorPage = true,\n } = error.config ?? {};\n\n const status = error.response?.status;\n if (\n (status === 404 && show404ErrorPage) ||\n (status === 403 && show403ErrorPage) ||\n (status === 429 && show429ErrorPage)\n ) {\n const fullUrl = error.request?.responseURL || error.config.url;\n useErrorDisplayStore.setState({\n showErrorPage: true,\n statusCode: status,\n failedApiUrl: fullUrl,\n failedApiPath: getUrlPathName(fullUrl),\n });\n }\n\n return error;\n};\n\nconst buildErrorResponseHandler = skip => {\n const interceptors = [];\n if (!skip?.transformCase) interceptors.push(transformErrorKeysToCamelCase);\n\n if (!skip?.show404ErrorPage) interceptors.push(handleErrorPageResponse);\n\n if (!skip?.logoutOn401) interceptors.push(handleUnauthorizedErrorResponse);\n\n if (!skip?.showToastr) interceptors.push(showErrorToastr);\n\n if (!skip?.checkForReleaseVersionMismatch) {\n interceptors.push(checkForReleaseVersionMismatch);\n }\n\n interceptors.push(Promise.reject.bind(Promise));\n\n return createPipe(interceptors);\n};\n\nconst cleanupCredentialsForCrossOrigin = request => {\n if (!request.url.includes(\"://\")) return request;\n\n if (request.url.includes(window.location.hostname)) return request;\n\n return evolve({ headers: omit([HEADERS_KEYS.xCsrfToken]) })(request);\n};\n\nconst transformDataToSnakeCase = request => {\n const { transformRequestCase = true } = request;\n\n if (!transformRequestCase) return request;\n\n return evolve(\n { data: serializeKeysToSnakeCase, params: serializeKeysToSnakeCase },\n request\n );\n};\n\nconst addRequestInterceptors = skip => {\n if (!skip?.cleanCredentialsForCrossOrigin) {\n axios.interceptors.request.use(cleanupCredentialsForCrossOrigin);\n }\n\n if (!skip?.transformCase) {\n axios.interceptors.request.use(transformDataToSnakeCase);\n }\n};\n\nconst addResponseInterceptors = skip => {\n axios.interceptors.response.use(\n buildSuccessResponseHandler(skip),\n buildErrorResponseHandler(skip)\n );\n};\n\nconst registerIntercepts = skip => {\n if (shouldNot(skip?.request)) addRequestInterceptors(skip?.request);\n\n if (shouldNot(skip?.response)) addResponseInterceptors(skip?.response);\n};\n\nexport default function initializeAxios(skip) {\n if (!skip?.baseURL) axios.defaults.baseURL = \"/\";\n\n if (!skip?.authHeaders) setAuthHeaders();\n\n if (!skip?.paramsSerializer) setParamsSerializer();\n\n if (shouldNot(skip?.interceptors)) registerIntercepts(skip?.interceptors);\n}\n"],"names":["checkOnlineInterval","requestErrorToasts","shouldNot","skip","_typeof","shouldShowToastr","response","isNotEmpty","notice","noticeCode","setAuthHeaders","_document$querySelect","axios","defaults","headers","_defineProperty","HEADERS_KEYS","accept","contentType","xCsrfToken","document","querySelector","getAttribute","createPipe","functions","data","reduce","acc","fn","transformResponseKeysToCamelCase","_response$config$tran","config","transformResponseCase","keysToCamelCase","transformErrorKeysToCamelCase","error","_error$config","_error$response","_ref","_ref$transformRespons","showSuccessToastr","_response$config","_response$config$show","showToastr","requestUrl","url","requestMethod","method","toastIdKey","concat","errorToastId","toast","dismiss","dissoc","matches","showThumbsUpToastr","Toastr","success","showIcon","pullDataFromResponse","_response$config$incl","includeMetadataInResponse","checkForReleaseVersionMismatch","_res$headers","_globalProps","res","newReleaseVersion","Number","currentReleaseVersion","globalProps","deployReleaseVersion","useErrorDisplayStore","setState","showRefreshRibbon","buildSuccessResponseHandler","interceptors","transformCase","push","handleUnauthorizedErrorResponse","_error$response2","_error$config2","status","resetAuthTokens","_ref2","_ref2$redirectOnError","redirectOnError","setTimeout","redirectTo","window","location","pathname","encodeURIComponent","href","isOnline","navigator","onLine","showOfflineToastr","toastId","i18next","t","dismissToastInterval","setInterval","clearInterval","handleNetworkError","startTime","Date","now","elapsedTime","MAXIMUM_OFFLINE_DURATION","showErrorToastr","_error$config3","_error$response3","_ref3","_ref3$showToastr","_ref3$show422ErrorToa","show422ErrorToastr","_ref3$show429ErrorPag","show429ErrorPage","_ref3$url","_ref3$method","_ref4","message","code","toastrContent","skippedStatusCodes","includes","isCancel","railsEnv","getUrlPathName","URL","_unused","handleErrorPageResponse","_error$config4","_error$response4","_ref5","_ref5$show404ErrorPag","show404ErrorPage","_ref5$show403ErrorPag","show403ErrorPage","_ref5$show429ErrorPag","_error$request","fullUrl","request","responseURL","showErrorPage","statusCode","failedApiUrl","failedApiPath","buildErrorResponseHandler","logoutOn401","Promise","reject","bind","cleanupCredentialsForCrossOrigin","hostname","evolve","omit","transformDataToSnakeCase","_request$transformReq","transformRequestCase","serializeKeysToSnakeCase","params","addRequestInterceptors","cleanCredentialsForCrossOrigin","use","addResponseInterceptors","registerIntercepts","initializeAxios","baseURL","authHeaders","paramsSerializer","setParamsSerializer"],"mappings":"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"}
@@ -128,8 +128,6 @@ var handleUnauthorizedErrorResponse = function handleUnauthorizedErrorResponse(e
128
128
  if (redirectOnError) {
129
129
  setTimeout(function () {
130
130
  var redirectTo = window.location.pathname === "/login" ? "/login" : "/login?redirect_uri=".concat(encodeURIComponent(window.location.href));
131
-
132
- // eslint-disable-next-line xss/no-location-href-assign
133
131
  window.location.href = redirectTo;
134
132
  }, 300);
135
133
  }
@@ -171,6 +169,8 @@ var showErrorToastr = function showErrorToastr(error) {
171
169
  showToastr = _ref3$showToastr === void 0 ? true : _ref3$showToastr,
172
170
  _ref3$show422ErrorToa = _ref3.show422ErrorToastr,
173
171
  show422ErrorToastr = _ref3$show422ErrorToa === void 0 ? true : _ref3$show422ErrorToa,
172
+ _ref3$show429ErrorPag = _ref3.show429ErrorPage,
173
+ show429ErrorPage = _ref3$show429ErrorPag === void 0 ? true : _ref3$show429ErrorPag,
174
174
  _ref3$url = _ref3.url,
175
175
  requestUrl = _ref3$url === void 0 ? "" : _ref3$url,
176
176
  _ref3$method = _ref3.method,
@@ -191,6 +191,7 @@ var showErrorToastr = function showErrorToastr(error) {
191
191
  shouldShowToastr = true;
192
192
  }
193
193
  if (status === 422 && show422ErrorToastr) shouldShowToastr = true;
194
+ if (status === 429 && show429ErrorPage) shouldShowToastr = false;
194
195
  if (status === 520) {
195
196
  shouldShowToastr = true;
196
197
  if (globalProps.railsEnv === "production") {
@@ -223,15 +224,17 @@ var getUrlPathName = function getUrlPathName(url) {
223
224
  return url;
224
225
  }
225
226
  };
226
- var handle404ErrorResponse = function handle404ErrorResponse(error) {
227
+ var handleErrorPageResponse = function handleErrorPageResponse(error) {
227
228
  var _error$config4, _error$response4;
228
229
  var _ref5 = (_error$config4 = error.config) !== null && _error$config4 !== void 0 ? _error$config4 : {},
229
230
  _ref5$show404ErrorPag = _ref5.show404ErrorPage,
230
231
  show404ErrorPage = _ref5$show404ErrorPag === void 0 ? true : _ref5$show404ErrorPag,
231
232
  _ref5$show403ErrorPag = _ref5.show403ErrorPage,
232
- show403ErrorPage = _ref5$show403ErrorPag === void 0 ? true : _ref5$show403ErrorPag;
233
+ show403ErrorPage = _ref5$show403ErrorPag === void 0 ? true : _ref5$show403ErrorPag,
234
+ _ref5$show429ErrorPag = _ref5.show429ErrorPage,
235
+ show429ErrorPage = _ref5$show429ErrorPag === void 0 ? true : _ref5$show429ErrorPag;
233
236
  var status = (_error$response4 = error.response) === null || _error$response4 === void 0 ? void 0 : _error$response4.status;
234
- if (status === 404 && show404ErrorPage || status === 403 && show403ErrorPage) {
237
+ if (status === 404 && show404ErrorPage || status === 403 && show403ErrorPage || status === 429 && show429ErrorPage) {
235
238
  var _error$request;
236
239
  var fullUrl = ((_error$request = error.request) === null || _error$request === void 0 ? void 0 : _error$request.responseURL) || error.config.url;
237
240
  useErrorDisplayStore.setState({
@@ -246,7 +249,7 @@ var handle404ErrorResponse = function handle404ErrorResponse(error) {
246
249
  var buildErrorResponseHandler = function buildErrorResponseHandler(skip) {
247
250
  var interceptors = [];
248
251
  if (!(skip !== null && skip !== void 0 && skip.transformCase)) interceptors.push(transformErrorKeysToCamelCase);
249
- if (!(skip !== null && skip !== void 0 && skip.show404ErrorPage)) interceptors.push(handle404ErrorResponse);
252
+ if (!(skip !== null && skip !== void 0 && skip.show404ErrorPage)) interceptors.push(handleErrorPageResponse);
250
253
  if (!(skip !== null && skip !== void 0 && skip.logoutOn401)) interceptors.push(handleUnauthorizedErrorResponse);
251
254
  if (!(skip !== null && skip !== void 0 && skip.showToastr)) interceptors.push(showErrorToastr);
252
255
  if (!(skip !== null && skip !== void 0 && skip.checkForReleaseVersionMismatch)) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/initializers/axiosInitializer/index.js"],"sourcesContent":["import axios from \"axios\";\nimport i18next from \"i18next\";\nimport {\n isNotEmpty,\n keysToCamelCase,\n matches,\n serializeKeysToSnakeCase,\n} from \"neetocist\";\nimport { Toastr } from \"neetoui\";\nimport { dissoc, evolve, omit } from \"ramda\";\nimport { toast } from \"react-toastify\";\nimport { useErrorDisplayStore } from \"react-utils/useDisplayErrorPage\";\nimport { resetAuthTokens } from \"utils/axios\";\n\nimport setParamsSerializer from \"./paramsSerializer\";\n\nimport { HEADERS_KEYS, MAXIMUM_OFFLINE_DURATION } from \"../constants\";\n\nlet checkOnlineInterval = null;\nlet requestErrorToasts = {};\n\nconst shouldNot = skip => typeof skip === \"object\" || !skip;\n\nconst shouldShowToastr = response =>\n (typeof response === \"string\" && isNotEmpty(response)) ||\n (typeof response === \"object\" && (response?.notice || response?.noticeCode));\n\nconst setAuthHeaders = () => {\n // @ts-ignore\n axios.defaults.headers = {\n [HEADERS_KEYS.accept]: \"application/json\",\n [HEADERS_KEYS.contentType]: \"application/json\",\n [HEADERS_KEYS.xCsrfToken]: document\n .querySelector('[name=\"csrf-token\"]')\n ?.getAttribute(\"content\"),\n };\n};\n\n// pipe function from ramda doesn't accept array of functions.\n// We can't use spread operator too. So this is a workaround.\nconst createPipe = functions => data =>\n functions.reduce((acc, fn) => fn(acc), data);\n\nconst transformResponseKeysToCamelCase = response => {\n const { transformResponseCase = true } = response.config;\n\n if (response.data && transformResponseCase) {\n response.data = keysToCamelCase(response.data);\n }\n\n return response;\n};\n\nconst transformErrorKeysToCamelCase = error => {\n const { transformResponseCase = true } = error.config ?? {};\n\n if (error.response?.data && transformResponseCase) {\n error.response.data = keysToCamelCase(error.response.data);\n }\n\n return error;\n};\n\nconst showSuccessToastr = response => {\n const {\n showToastr = true,\n url: requestUrl,\n method: requestMethod,\n } = response.config;\n if (!showToastr) return response;\n\n const toastIdKey = `${requestMethod}:${requestUrl}`;\n const errorToastId = requestErrorToasts[toastIdKey];\n if (errorToastId) {\n toast.dismiss(errorToastId);\n requestErrorToasts = dissoc(toastIdKey, requestErrorToasts);\n }\n\n if (matches({ showThumbsUpToastr: true }, response.data)) {\n // @ts-ignore\n // eslint-disable-next-line @bigbinary/neeto/use-show-thumbs-up-toastr\n Toastr.success(\"\", { icon: \"👍\", className: \"w-20\" });\n } else if (matches({ noticeCode: \"thumbs_up\" }, response.data)) {\n // @ts-ignore\n // eslint-disable-next-line @bigbinary/neeto/use-show-thumbs-up-toastr\n Toastr.success(\"\", { icon: \"👍\", className: \"w-20\" });\n } else if (shouldShowToastr(response.data)) {\n Toastr.success(response.data);\n }\n\n return response;\n};\n\nconst pullDataFromResponse = response => {\n const { includeMetadataInResponse = false } = response.config;\n\n return includeMetadataInResponse ? response : response.data;\n};\n\nconst checkForReleaseVersionMismatch = response => {\n const res = response?.response || response;\n const newReleaseVersion = Number(res?.headers?.[\"x-deploy-release-version\"]);\n const currentReleaseVersion = Number(globalProps?.deployReleaseVersion);\n\n if (\n newReleaseVersion &&\n currentReleaseVersion &&\n newReleaseVersion !== currentReleaseVersion\n ) {\n useErrorDisplayStore.setState({ showRefreshRibbon: true });\n }\n\n return response;\n};\n\nconst buildSuccessResponseHandler = skip => {\n const interceptors = [];\n if (!skip?.transformCase) interceptors.push(transformResponseKeysToCamelCase);\n\n if (!skip?.showToastr) interceptors.push(showSuccessToastr);\n\n if (!skip?.checkForReleaseVersionMismatch) {\n interceptors.push(checkForReleaseVersionMismatch);\n }\n\n if (!skip?.pullDataFromResponse) interceptors.push(pullDataFromResponse);\n\n return createPipe(interceptors);\n};\n\nconst handleUnauthorizedErrorResponse = error => {\n if (error.response?.status !== 401) return error;\n\n resetAuthTokens();\n\n const { redirectOnError = true } = error.config ?? {};\n if (redirectOnError) {\n setTimeout(() => {\n const redirectTo =\n window.location.pathname === \"/login\"\n ? \"/login\"\n : `/login?redirect_uri=${encodeURIComponent(window.location.href)}`;\n\n // eslint-disable-next-line xss/no-location-href-assign\n window.location.href = redirectTo;\n }, 300);\n }\n\n return error;\n};\n\nconst isOnline = () => window.navigator.onLine;\n\nconst showOfflineToastr = () => {\n const toastId = Toastr.error(\n i18next.t(\"neetoCommons.toastr.error.noInternetConnection\")\n );\n\n if (toastId) {\n const dismissToastInterval = setInterval(() => {\n if (!isOnline()) return;\n\n toast.dismiss(toastId);\n clearInterval(dismissToastInterval);\n checkOnlineInterval = null;\n }, 1000);\n }\n};\n\nconst handleNetworkError = error => {\n if (checkOnlineInterval) return error;\n\n const startTime = Date.now();\n\n checkOnlineInterval = setInterval(() => {\n const elapsedTime = Date.now() - startTime;\n\n if (isOnline()) {\n clearInterval(checkOnlineInterval);\n checkOnlineInterval = null;\n } else if (elapsedTime >= MAXIMUM_OFFLINE_DURATION) {\n clearInterval(checkOnlineInterval);\n showOfflineToastr();\n }\n }, 1000);\n\n return error;\n};\n\nconst showErrorToastr = error => {\n const {\n showToastr = true,\n show422ErrorToastr = true,\n url: requestUrl = \"\",\n method: requestMethod = \"\",\n } = error.config ?? {};\n const { status } = error.response ?? {};\n\n if (!showToastr) return error;\n\n if (error.message === \"Network Error\") return handleNetworkError(error);\n\n if (error.code === \"ECONNABORTED\") {\n return error;\n }\n\n let shouldShowToastr = false,\n toastrContent = error;\n\n const skippedStatusCodes = [403, 404, 520, 422];\n if (!skippedStatusCodes.includes(status) && !axios.isCancel(error)) {\n // we already display a page in case of 403 & 404 and we don't want to show a toastr for cancelled requests.\n // We handle cloudflare error differently for production and other environments.\n shouldShowToastr = true;\n }\n\n if (status === 422 && show422ErrorToastr) shouldShowToastr = true;\n\n if (status === 520) {\n shouldShowToastr = true;\n if (globalProps.railsEnv === \"production\") {\n toastrContent = i18next.t(\"generic.error\");\n }\n }\n\n if (status === 0) {\n toastrContent = i18next.t(\"neetoCommons.toastr.error.networkError\");\n shouldShowToastr = true;\n }\n\n const toastIdKey = `${requestMethod}:${requestUrl}`;\n const errorToastId = requestErrorToasts[toastIdKey];\n if (errorToastId) toast.dismiss(errorToastId);\n\n if (shouldShowToastr) {\n if (errorToastId) {\n // if there's an existing toastr with the same message, the onClose callback in the neetoUI which\n // removes the toastr from the unique list will be fired only after the toast is completely removed\n // from the UI. If there's no delay, the new toastr will be considered as duplicate and ignored.\n setTimeout(() => {\n requestErrorToasts[toastIdKey] = Toastr.error(toastrContent);\n }, 1200);\n } else requestErrorToasts[toastIdKey] = Toastr.error(toastrContent);\n }\n\n return error;\n};\n\nconst getUrlPathName = url => {\n try {\n return new URL(url).pathname;\n } catch {\n return url;\n }\n};\n\nconst handle404ErrorResponse = error => {\n const { show404ErrorPage = true, show403ErrorPage = true } =\n error.config ?? {};\n\n const status = error.response?.status;\n if (\n (status === 404 && show404ErrorPage) ||\n (status === 403 && show403ErrorPage)\n ) {\n const fullUrl = error.request?.responseURL || error.config.url;\n useErrorDisplayStore.setState({\n showErrorPage: true,\n statusCode: status,\n failedApiUrl: fullUrl,\n failedApiPath: getUrlPathName(fullUrl),\n });\n }\n\n return error;\n};\n\nconst buildErrorResponseHandler = skip => {\n const interceptors = [];\n if (!skip?.transformCase) interceptors.push(transformErrorKeysToCamelCase);\n\n if (!skip?.show404ErrorPage) interceptors.push(handle404ErrorResponse);\n\n if (!skip?.logoutOn401) interceptors.push(handleUnauthorizedErrorResponse);\n\n if (!skip?.showToastr) interceptors.push(showErrorToastr);\n\n if (!skip?.checkForReleaseVersionMismatch) {\n interceptors.push(checkForReleaseVersionMismatch);\n }\n\n interceptors.push(Promise.reject.bind(Promise));\n\n return createPipe(interceptors);\n};\n\nconst cleanupCredentialsForCrossOrigin = request => {\n if (!request.url.includes(\"://\")) return request;\n\n if (request.url.includes(window.location.hostname)) return request;\n\n return evolve({ headers: omit([HEADERS_KEYS.xCsrfToken]) })(request);\n};\n\nconst transformDataToSnakeCase = request => {\n const { transformRequestCase = true } = request;\n\n if (!transformRequestCase) return request;\n\n return evolve(\n { data: serializeKeysToSnakeCase, params: serializeKeysToSnakeCase },\n request\n );\n};\n\nconst addRequestInterceptors = skip => {\n if (!skip?.cleanCredentialsForCrossOrigin) {\n axios.interceptors.request.use(cleanupCredentialsForCrossOrigin);\n }\n\n if (!skip?.transformCase) {\n axios.interceptors.request.use(transformDataToSnakeCase);\n }\n};\n\nconst addResponseInterceptors = skip => {\n axios.interceptors.response.use(\n buildSuccessResponseHandler(skip),\n buildErrorResponseHandler(skip)\n );\n};\n\nconst registerIntercepts = skip => {\n if (shouldNot(skip?.request)) addRequestInterceptors(skip?.request);\n\n if (shouldNot(skip?.response)) addResponseInterceptors(skip?.response);\n};\n\nexport default function initializeAxios(skip) {\n if (!skip?.baseURL) axios.defaults.baseURL = \"/\";\n\n if (!skip?.authHeaders) setAuthHeaders();\n\n if (!skip?.paramsSerializer) setParamsSerializer();\n\n if (shouldNot(skip?.interceptors)) registerIntercepts(skip?.interceptors);\n}\n"],"names":["checkOnlineInterval","requestErrorToasts","shouldNot","skip","_typeof","shouldShowToastr","response","isNotEmpty","notice","noticeCode","setAuthHeaders","_document$querySelect","axios","defaults","headers","_defineProperty","HEADERS_KEYS","accept","contentType","xCsrfToken","document","querySelector","getAttribute","createPipe","functions","data","reduce","acc","fn","transformResponseKeysToCamelCase","_response$config$tran","config","transformResponseCase","keysToCamelCase","transformErrorKeysToCamelCase","error","_error$config","_error$response","_ref","_ref$transformRespons","showSuccessToastr","_response$config","_response$config$show","showToastr","requestUrl","url","requestMethod","method","toastIdKey","concat","errorToastId","toast","dismiss","dissoc","matches","showThumbsUpToastr","Toastr","success","icon","className","pullDataFromResponse","_response$config$incl","includeMetadataInResponse","checkForReleaseVersionMismatch","_res$headers","_globalProps","res","newReleaseVersion","Number","currentReleaseVersion","globalProps","deployReleaseVersion","useErrorDisplayStore","setState","showRefreshRibbon","buildSuccessResponseHandler","interceptors","transformCase","push","handleUnauthorizedErrorResponse","_error$response2","_error$config2","status","resetAuthTokens","_ref2","_ref2$redirectOnError","redirectOnError","setTimeout","redirectTo","window","location","pathname","encodeURIComponent","href","isOnline","navigator","onLine","showOfflineToastr","toastId","i18next","t","dismissToastInterval","setInterval","clearInterval","handleNetworkError","startTime","Date","now","elapsedTime","MAXIMUM_OFFLINE_DURATION","showErrorToastr","_error$config3","_error$response3","_ref3","_ref3$showToastr","_ref3$show422ErrorToa","show422ErrorToastr","_ref3$url","_ref3$method","_ref4","message","code","toastrContent","skippedStatusCodes","includes","isCancel","railsEnv","getUrlPathName","URL","_unused","handle404ErrorResponse","_error$config4","_error$response4","_ref5","_ref5$show404ErrorPag","show404ErrorPage","_ref5$show403ErrorPag","show403ErrorPage","_error$request","fullUrl","request","responseURL","showErrorPage","statusCode","failedApiUrl","failedApiPath","buildErrorResponseHandler","logoutOn401","Promise","reject","bind","cleanupCredentialsForCrossOrigin","hostname","evolve","omit","transformDataToSnakeCase","_request$transformReq","transformRequestCase","serializeKeysToSnakeCase","params","addRequestInterceptors","cleanCredentialsForCrossOrigin","use","addResponseInterceptors","registerIntercepts","initializeAxios","baseURL","authHeaders","paramsSerializer","setParamsSerializer"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/initializers/axiosInitializer/index.js"],"sourcesContent":["import axios from \"axios\";\nimport i18next from \"i18next\";\nimport {\n isNotEmpty,\n keysToCamelCase,\n matches,\n serializeKeysToSnakeCase,\n} from \"neetocist\";\nimport { Toastr } from \"neetoui\";\nimport { dissoc, evolve, omit } from \"ramda\";\nimport { toast } from \"react-toastify\";\nimport { useErrorDisplayStore } from \"react-utils/useDisplayErrorPage\";\nimport { resetAuthTokens } from \"utils/axios\";\n\nimport setParamsSerializer from \"./paramsSerializer\";\n\nimport { HEADERS_KEYS, MAXIMUM_OFFLINE_DURATION } from \"../constants\";\n\nlet checkOnlineInterval = null;\nlet requestErrorToasts = {};\n\nconst shouldNot = skip => typeof skip === \"object\" || !skip;\n\nconst shouldShowToastr = response =>\n (typeof response === \"string\" && isNotEmpty(response)) ||\n (typeof response === \"object\" && (response?.notice || response?.noticeCode));\n\nconst setAuthHeaders = () => {\n // @ts-ignore\n axios.defaults.headers = {\n [HEADERS_KEYS.accept]: \"application/json\",\n [HEADERS_KEYS.contentType]: \"application/json\",\n [HEADERS_KEYS.xCsrfToken]: document\n .querySelector('[name=\"csrf-token\"]')\n ?.getAttribute(\"content\"),\n };\n};\n\n// pipe function from ramda doesn't accept array of functions.\n// We can't use spread operator too. So this is a workaround.\nconst createPipe = functions => data =>\n functions.reduce((acc, fn) => fn(acc), data);\n\nconst transformResponseKeysToCamelCase = response => {\n const { transformResponseCase = true } = response.config;\n\n if (response.data && transformResponseCase) {\n response.data = keysToCamelCase(response.data);\n }\n\n return response;\n};\n\nconst transformErrorKeysToCamelCase = error => {\n const { transformResponseCase = true } = error.config ?? {};\n\n if (error.response?.data && transformResponseCase) {\n error.response.data = keysToCamelCase(error.response.data);\n }\n\n return error;\n};\n\nconst showSuccessToastr = response => {\n const {\n showToastr = true,\n url: requestUrl,\n method: requestMethod,\n } = response.config;\n if (!showToastr) return response;\n\n const toastIdKey = `${requestMethod}:${requestUrl}`;\n const errorToastId = requestErrorToasts[toastIdKey];\n if (errorToastId) {\n toast.dismiss(errorToastId);\n requestErrorToasts = dissoc(toastIdKey, requestErrorToasts);\n }\n\n if (matches({ showThumbsUpToastr: true }, response.data)) {\n // @ts-ignore\n // eslint-disable-next-line @bigbinary/neeto/use-show-thumbs-up-toastr\n Toastr.success(\"\", { icon: \"👍\", className: \"w-20\" });\n } else if (matches({ noticeCode: \"thumbs_up\" }, response.data)) {\n // @ts-ignore\n // eslint-disable-next-line @bigbinary/neeto/use-show-thumbs-up-toastr\n Toastr.success(\"\", { icon: \"👍\", className: \"w-20\" });\n } else if (shouldShowToastr(response.data)) {\n Toastr.success(response.data);\n }\n\n return response;\n};\n\nconst pullDataFromResponse = response => {\n const { includeMetadataInResponse = false } = response.config;\n\n return includeMetadataInResponse ? response : response.data;\n};\n\nconst checkForReleaseVersionMismatch = response => {\n const res = response?.response || response;\n const newReleaseVersion = Number(res?.headers?.[\"x-deploy-release-version\"]);\n const currentReleaseVersion = Number(globalProps?.deployReleaseVersion);\n\n if (\n newReleaseVersion &&\n currentReleaseVersion &&\n newReleaseVersion !== currentReleaseVersion\n ) {\n useErrorDisplayStore.setState({ showRefreshRibbon: true });\n }\n\n return response;\n};\n\nconst buildSuccessResponseHandler = skip => {\n const interceptors = [];\n if (!skip?.transformCase) interceptors.push(transformResponseKeysToCamelCase);\n\n if (!skip?.showToastr) interceptors.push(showSuccessToastr);\n\n if (!skip?.checkForReleaseVersionMismatch) {\n interceptors.push(checkForReleaseVersionMismatch);\n }\n\n if (!skip?.pullDataFromResponse) interceptors.push(pullDataFromResponse);\n\n return createPipe(interceptors);\n};\n\nconst handleUnauthorizedErrorResponse = error => {\n if (error.response?.status !== 401) return error;\n\n resetAuthTokens();\n\n const { redirectOnError = true } = error.config ?? {};\n if (redirectOnError) {\n setTimeout(() => {\n const redirectTo =\n window.location.pathname === \"/login\"\n ? \"/login\"\n : `/login?redirect_uri=${encodeURIComponent(window.location.href)}`;\n\n window.location.href = redirectTo;\n }, 300);\n }\n\n return error;\n};\n\nconst isOnline = () => window.navigator.onLine;\n\nconst showOfflineToastr = () => {\n const toastId = Toastr.error(\n i18next.t(\"neetoCommons.toastr.error.noInternetConnection\")\n );\n\n if (toastId) {\n const dismissToastInterval = setInterval(() => {\n if (!isOnline()) return;\n\n toast.dismiss(toastId);\n clearInterval(dismissToastInterval);\n checkOnlineInterval = null;\n }, 1000);\n }\n};\n\nconst handleNetworkError = error => {\n if (checkOnlineInterval) return error;\n\n const startTime = Date.now();\n\n checkOnlineInterval = setInterval(() => {\n const elapsedTime = Date.now() - startTime;\n\n if (isOnline()) {\n clearInterval(checkOnlineInterval);\n checkOnlineInterval = null;\n } else if (elapsedTime >= MAXIMUM_OFFLINE_DURATION) {\n clearInterval(checkOnlineInterval);\n showOfflineToastr();\n }\n }, 1000);\n\n return error;\n};\n\nconst showErrorToastr = error => {\n const {\n showToastr = true,\n show422ErrorToastr = true,\n show429ErrorPage = true,\n url: requestUrl = \"\",\n method: requestMethod = \"\",\n } = error.config ?? {};\n const { status } = error.response ?? {};\n\n if (!showToastr) return error;\n\n if (error.message === \"Network Error\") return handleNetworkError(error);\n\n if (error.code === \"ECONNABORTED\") {\n return error;\n }\n\n let shouldShowToastr = false,\n toastrContent = error;\n\n const skippedStatusCodes = [403, 404, 520, 422];\n if (!skippedStatusCodes.includes(status) && !axios.isCancel(error)) {\n // we already display a page in case of 403 & 404 and we don't want to show a toastr for cancelled requests.\n // We handle cloudflare error differently for production and other environments.\n shouldShowToastr = true;\n }\n\n if (status === 422 && show422ErrorToastr) shouldShowToastr = true;\n\n if (status === 429 && show429ErrorPage) shouldShowToastr = false;\n\n if (status === 520) {\n shouldShowToastr = true;\n if (globalProps.railsEnv === \"production\") {\n toastrContent = i18next.t(\"generic.error\");\n }\n }\n\n if (status === 0) {\n toastrContent = i18next.t(\"neetoCommons.toastr.error.networkError\");\n shouldShowToastr = true;\n }\n\n const toastIdKey = `${requestMethod}:${requestUrl}`;\n const errorToastId = requestErrorToasts[toastIdKey];\n if (errorToastId) toast.dismiss(errorToastId);\n\n if (shouldShowToastr) {\n if (errorToastId) {\n // if there's an existing toastr with the same message, the onClose callback in the neetoUI which\n // removes the toastr from the unique list will be fired only after the toast is completely removed\n // from the UI. If there's no delay, the new toastr will be considered as duplicate and ignored.\n setTimeout(() => {\n requestErrorToasts[toastIdKey] = Toastr.error(toastrContent);\n }, 1200);\n } else requestErrorToasts[toastIdKey] = Toastr.error(toastrContent);\n }\n\n return error;\n};\n\nconst getUrlPathName = url => {\n try {\n return new URL(url).pathname;\n } catch {\n return url;\n }\n};\n\nconst handleErrorPageResponse = error => {\n const {\n show404ErrorPage = true,\n show403ErrorPage = true,\n show429ErrorPage = true,\n } = error.config ?? {};\n\n const status = error.response?.status;\n if (\n (status === 404 && show404ErrorPage) ||\n (status === 403 && show403ErrorPage) ||\n (status === 429 && show429ErrorPage)\n ) {\n const fullUrl = error.request?.responseURL || error.config.url;\n useErrorDisplayStore.setState({\n showErrorPage: true,\n statusCode: status,\n failedApiUrl: fullUrl,\n failedApiPath: getUrlPathName(fullUrl),\n });\n }\n\n return error;\n};\n\nconst buildErrorResponseHandler = skip => {\n const interceptors = [];\n if (!skip?.transformCase) interceptors.push(transformErrorKeysToCamelCase);\n\n if (!skip?.show404ErrorPage) interceptors.push(handleErrorPageResponse);\n\n if (!skip?.logoutOn401) interceptors.push(handleUnauthorizedErrorResponse);\n\n if (!skip?.showToastr) interceptors.push(showErrorToastr);\n\n if (!skip?.checkForReleaseVersionMismatch) {\n interceptors.push(checkForReleaseVersionMismatch);\n }\n\n interceptors.push(Promise.reject.bind(Promise));\n\n return createPipe(interceptors);\n};\n\nconst cleanupCredentialsForCrossOrigin = request => {\n if (!request.url.includes(\"://\")) return request;\n\n if (request.url.includes(window.location.hostname)) return request;\n\n return evolve({ headers: omit([HEADERS_KEYS.xCsrfToken]) })(request);\n};\n\nconst transformDataToSnakeCase = request => {\n const { transformRequestCase = true } = request;\n\n if (!transformRequestCase) return request;\n\n return evolve(\n { data: serializeKeysToSnakeCase, params: serializeKeysToSnakeCase },\n request\n );\n};\n\nconst addRequestInterceptors = skip => {\n if (!skip?.cleanCredentialsForCrossOrigin) {\n axios.interceptors.request.use(cleanupCredentialsForCrossOrigin);\n }\n\n if (!skip?.transformCase) {\n axios.interceptors.request.use(transformDataToSnakeCase);\n }\n};\n\nconst addResponseInterceptors = skip => {\n axios.interceptors.response.use(\n buildSuccessResponseHandler(skip),\n buildErrorResponseHandler(skip)\n );\n};\n\nconst registerIntercepts = skip => {\n if (shouldNot(skip?.request)) addRequestInterceptors(skip?.request);\n\n if (shouldNot(skip?.response)) addResponseInterceptors(skip?.response);\n};\n\nexport default function initializeAxios(skip) {\n if (!skip?.baseURL) axios.defaults.baseURL = \"/\";\n\n if (!skip?.authHeaders) setAuthHeaders();\n\n if (!skip?.paramsSerializer) setParamsSerializer();\n\n if (shouldNot(skip?.interceptors)) registerIntercepts(skip?.interceptors);\n}\n"],"names":["checkOnlineInterval","requestErrorToasts","shouldNot","skip","_typeof","shouldShowToastr","response","isNotEmpty","notice","noticeCode","setAuthHeaders","_document$querySelect","axios","defaults","headers","_defineProperty","HEADERS_KEYS","accept","contentType","xCsrfToken","document","querySelector","getAttribute","createPipe","functions","data","reduce","acc","fn","transformResponseKeysToCamelCase","_response$config$tran","config","transformResponseCase","keysToCamelCase","transformErrorKeysToCamelCase","error","_error$config","_error$response","_ref","_ref$transformRespons","showSuccessToastr","_response$config","_response$config$show","showToastr","requestUrl","url","requestMethod","method","toastIdKey","concat","errorToastId","toast","dismiss","dissoc","matches","showThumbsUpToastr","Toastr","success","icon","className","pullDataFromResponse","_response$config$incl","includeMetadataInResponse","checkForReleaseVersionMismatch","_res$headers","_globalProps","res","newReleaseVersion","Number","currentReleaseVersion","globalProps","deployReleaseVersion","useErrorDisplayStore","setState","showRefreshRibbon","buildSuccessResponseHandler","interceptors","transformCase","push","handleUnauthorizedErrorResponse","_error$response2","_error$config2","status","resetAuthTokens","_ref2","_ref2$redirectOnError","redirectOnError","setTimeout","redirectTo","window","location","pathname","encodeURIComponent","href","isOnline","navigator","onLine","showOfflineToastr","toastId","i18next","t","dismissToastInterval","setInterval","clearInterval","handleNetworkError","startTime","Date","now","elapsedTime","MAXIMUM_OFFLINE_DURATION","showErrorToastr","_error$config3","_error$response3","_ref3","_ref3$showToastr","_ref3$show422ErrorToa","show422ErrorToastr","_ref3$show429ErrorPag","show429ErrorPage","_ref3$url","_ref3$method","_ref4","message","code","toastrContent","skippedStatusCodes","includes","isCancel","railsEnv","getUrlPathName","URL","_unused","handleErrorPageResponse","_error$config4","_error$response4","_ref5","_ref5$show404ErrorPag","show404ErrorPage","_ref5$show403ErrorPag","show403ErrorPage","_ref5$show429ErrorPag","_error$request","fullUrl","request","responseURL","showErrorPage","statusCode","failedApiUrl","failedApiPath","buildErrorResponseHandler","logoutOn401","Promise","reject","bind","cleanupCredentialsForCrossOrigin","hostname","evolve","omit","transformDataToSnakeCase","_request$transformReq","transformRequestCase","serializeKeysToSnakeCase","params","addRequestInterceptors","cleanCredentialsForCrossOrigin","use","addResponseInterceptors","registerIntercepts","initializeAxios","baseURL","authHeaders","paramsSerializer","setParamsSerializer"],"mappings":"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"}
@@ -122,8 +122,6 @@ var handleUnauthorizedErrorResponse = function handleUnauthorizedErrorResponse(e
122
122
  if (redirectOnError) {
123
123
  setTimeout(function () {
124
124
  var redirectTo = window.location.pathname === "/login" ? "/login" : "/login?redirect_uri=".concat(encodeURIComponent(window.location.href));
125
-
126
- // eslint-disable-next-line xss/no-location-href-assign
127
125
  window.location.href = redirectTo;
128
126
  }, 300);
129
127
  }
@@ -165,6 +163,8 @@ var showErrorToastr = function showErrorToastr(error) {
165
163
  showToastr = _ref3$showToastr === void 0 ? true : _ref3$showToastr,
166
164
  _ref3$show422ErrorToa = _ref3.show422ErrorToastr,
167
165
  show422ErrorToastr = _ref3$show422ErrorToa === void 0 ? true : _ref3$show422ErrorToa,
166
+ _ref3$show429ErrorPag = _ref3.show429ErrorPage,
167
+ show429ErrorPage = _ref3$show429ErrorPag === void 0 ? true : _ref3$show429ErrorPag,
168
168
  _ref3$url = _ref3.url,
169
169
  requestUrl = _ref3$url === void 0 ? "" : _ref3$url,
170
170
  _ref3$method = _ref3.method,
@@ -185,6 +185,7 @@ var showErrorToastr = function showErrorToastr(error) {
185
185
  shouldShowToastr = true;
186
186
  }
187
187
  if (status === 422 && show422ErrorToastr) shouldShowToastr = true;
188
+ if (status === 429 && show429ErrorPage) shouldShowToastr = false;
188
189
  if (status === 520) {
189
190
  shouldShowToastr = true;
190
191
  if (globalProps.railsEnv === "production") {
@@ -217,15 +218,17 @@ var getUrlPathName = function getUrlPathName(url) {
217
218
  return url;
218
219
  }
219
220
  };
220
- var handle404ErrorResponse = function handle404ErrorResponse(error) {
221
+ var handleErrorPageResponse = function handleErrorPageResponse(error) {
221
222
  var _error$config4, _error$response4;
222
223
  var _ref5 = (_error$config4 = error.config) !== null && _error$config4 !== void 0 ? _error$config4 : {},
223
224
  _ref5$show404ErrorPag = _ref5.show404ErrorPage,
224
225
  show404ErrorPage = _ref5$show404ErrorPag === void 0 ? true : _ref5$show404ErrorPag,
225
226
  _ref5$show403ErrorPag = _ref5.show403ErrorPage,
226
- show403ErrorPage = _ref5$show403ErrorPag === void 0 ? true : _ref5$show403ErrorPag;
227
+ show403ErrorPage = _ref5$show403ErrorPag === void 0 ? true : _ref5$show403ErrorPag,
228
+ _ref5$show429ErrorPag = _ref5.show429ErrorPage,
229
+ show429ErrorPage = _ref5$show429ErrorPag === void 0 ? true : _ref5$show429ErrorPag;
227
230
  var status = (_error$response4 = error.response) === null || _error$response4 === void 0 ? void 0 : _error$response4.status;
228
- if (status === 404 && show404ErrorPage || status === 403 && show403ErrorPage) {
231
+ if (status === 404 && show404ErrorPage || status === 403 && show403ErrorPage || status === 429 && show429ErrorPage) {
229
232
  var _error$request;
230
233
  var fullUrl = ((_error$request = error.request) === null || _error$request === void 0 ? void 0 : _error$request.responseURL) || error.config.url;
231
234
  useErrorDisplayStore.setState({
@@ -240,7 +243,7 @@ var handle404ErrorResponse = function handle404ErrorResponse(error) {
240
243
  var buildErrorResponseHandler = function buildErrorResponseHandler(skip) {
241
244
  var interceptors = [];
242
245
  if (!(skip !== null && skip !== void 0 && skip.transformCase)) interceptors.push(transformErrorKeysToCamelCase);
243
- if (!(skip !== null && skip !== void 0 && skip.show404ErrorPage)) interceptors.push(handle404ErrorResponse);
246
+ if (!(skip !== null && skip !== void 0 && skip.show404ErrorPage)) interceptors.push(handleErrorPageResponse);
244
247
  if (!(skip !== null && skip !== void 0 && skip.logoutOn401)) interceptors.push(handleUnauthorizedErrorResponse);
245
248
  if (!(skip !== null && skip !== void 0 && skip.showToastr)) interceptors.push(showErrorToastr);
246
249
  if (!(skip !== null && skip !== void 0 && skip.checkForReleaseVersionMismatch)) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/v2/initializers/axiosInitializer/index.js"],"sourcesContent":["import { Toastr } from \"@bigbinary/neeto-atoms\";\nimport axios from \"axios\";\nimport i18next from \"i18next\";\nimport {\n isNotEmpty,\n keysToCamelCase,\n matches,\n serializeKeysToSnakeCase,\n} from \"neetocist\";\nimport { dissoc, evolve, omit } from \"ramda\";\nimport { toast } from \"react-toastify\";\nimport { useErrorDisplayStore } from \"v2/react-utils/useDisplayErrorPage\";\nimport { resetAuthTokens } from \"v2/utils/axios\";\n\nimport setParamsSerializer from \"./paramsSerializer\";\n\nimport { HEADERS_KEYS, MAXIMUM_OFFLINE_DURATION } from \"../constants\";\n\nlet checkOnlineInterval = null;\nlet requestErrorToasts = {};\n\nconst shouldNot = skip => typeof skip === \"object\" || !skip;\n\nconst shouldShowToastr = response =>\n (typeof response === \"string\" && isNotEmpty(response)) ||\n (typeof response === \"object\" && (response?.notice || response?.noticeCode));\n\nconst setAuthHeaders = () => {\n // @ts-ignore\n axios.defaults.headers = {\n [HEADERS_KEYS.accept]: \"application/json\",\n [HEADERS_KEYS.contentType]: \"application/json\",\n [HEADERS_KEYS.xCsrfToken]: document\n .querySelector('[name=\"csrf-token\"]')\n ?.getAttribute(\"content\"),\n };\n};\n\n// pipe function from ramda doesn't accept array of functions.\n// We can't use spread operator too. So this is a workaround.\nconst createPipe = functions => data =>\n functions.reduce((acc, fn) => fn(acc), data);\n\nconst transformResponseKeysToCamelCase = response => {\n const { transformResponseCase = true } = response.config;\n\n if (response.data && transformResponseCase) {\n response.data = keysToCamelCase(response.data);\n }\n\n return response;\n};\n\nconst transformErrorKeysToCamelCase = error => {\n const { transformResponseCase = true } = error.config ?? {};\n\n if (error.response?.data && transformResponseCase) {\n error.response.data = keysToCamelCase(error.response.data);\n }\n\n return error;\n};\n\nconst showSuccessToastr = response => {\n const {\n showToastr = true,\n url: requestUrl,\n method: requestMethod,\n } = response.config;\n if (!showToastr) return response;\n\n const toastIdKey = `${requestMethod}:${requestUrl}`;\n const errorToastId = requestErrorToasts[toastIdKey];\n if (errorToastId) {\n toast.dismiss(errorToastId);\n requestErrorToasts = dissoc(toastIdKey, requestErrorToasts);\n }\n\n if (matches({ showThumbsUpToastr: true }, response.data)) {\n Toastr.success(\"👍\", { showIcon: false });\n } else if (matches({ noticeCode: \"thumbs_up\" }, response.data)) {\n Toastr.success(\"👍\", { showIcon: false });\n } else if (shouldShowToastr(response.data)) {\n Toastr.success(response.data);\n }\n\n return response;\n};\n\nconst pullDataFromResponse = response => {\n const { includeMetadataInResponse = false } = response.config;\n\n return includeMetadataInResponse ? response : response.data;\n};\n\nconst checkForReleaseVersionMismatch = response => {\n const res = response?.response || response;\n const newReleaseVersion = Number(res?.headers?.[\"x-deploy-release-version\"]);\n const currentReleaseVersion = Number(globalProps?.deployReleaseVersion);\n\n if (\n newReleaseVersion &&\n currentReleaseVersion &&\n newReleaseVersion !== currentReleaseVersion\n ) {\n useErrorDisplayStore.setState({ showRefreshRibbon: true });\n }\n\n return response;\n};\n\nconst buildSuccessResponseHandler = skip => {\n const interceptors = [];\n if (!skip?.transformCase) interceptors.push(transformResponseKeysToCamelCase);\n\n if (!skip?.showToastr) interceptors.push(showSuccessToastr);\n\n if (!skip?.checkForReleaseVersionMismatch) {\n interceptors.push(checkForReleaseVersionMismatch);\n }\n\n if (!skip?.pullDataFromResponse) interceptors.push(pullDataFromResponse);\n\n return createPipe(interceptors);\n};\n\nconst handleUnauthorizedErrorResponse = error => {\n if (error.response?.status !== 401) return error;\n\n resetAuthTokens();\n\n const { redirectOnError = true } = error.config ?? {};\n if (redirectOnError) {\n setTimeout(() => {\n const redirectTo =\n window.location.pathname === \"/login\"\n ? \"/login\"\n : `/login?redirect_uri=${encodeURIComponent(window.location.href)}`;\n\n // eslint-disable-next-line xss/no-location-href-assign\n window.location.href = redirectTo;\n }, 300);\n }\n\n return error;\n};\n\nconst isOnline = () => window.navigator.onLine;\n\nconst showOfflineToastr = () => {\n const toastId = Toastr.error(\n i18next.t(\"neetoCommons.toastr.error.noInternetConnection\")\n );\n\n if (toastId) {\n const dismissToastInterval = setInterval(() => {\n if (!isOnline()) return;\n\n toast.dismiss(toastId);\n clearInterval(dismissToastInterval);\n checkOnlineInterval = null;\n }, 1000);\n }\n};\n\nconst handleNetworkError = error => {\n if (checkOnlineInterval) return error;\n\n const startTime = Date.now();\n\n checkOnlineInterval = setInterval(() => {\n const elapsedTime = Date.now() - startTime;\n\n if (isOnline()) {\n clearInterval(checkOnlineInterval);\n checkOnlineInterval = null;\n } else if (elapsedTime >= MAXIMUM_OFFLINE_DURATION) {\n clearInterval(checkOnlineInterval);\n showOfflineToastr();\n }\n }, 1000);\n\n return error;\n};\n\nconst showErrorToastr = error => {\n const {\n showToastr = true,\n show422ErrorToastr = true,\n url: requestUrl = \"\",\n method: requestMethod = \"\",\n } = error.config ?? {};\n const { status } = error.response ?? {};\n\n if (!showToastr) return error;\n\n if (error.message === \"Network Error\") return handleNetworkError(error);\n\n if (error.code === \"ECONNABORTED\") {\n return error;\n }\n\n let shouldShowToastr = false,\n toastrContent = error;\n\n const skippedStatusCodes = [403, 404, 520, 422];\n if (!skippedStatusCodes.includes(status) && !axios.isCancel(error)) {\n // we already display a page in case of 403 & 404 and we don't want to show a toastr for cancelled requests.\n // We handle cloudflare error differently for production and other environments.\n shouldShowToastr = true;\n }\n\n if (status === 422 && show422ErrorToastr) shouldShowToastr = true;\n\n if (status === 520) {\n shouldShowToastr = true;\n if (globalProps.railsEnv === \"production\") {\n toastrContent = i18next.t(\"generic.error\");\n }\n }\n\n if (status === 0) {\n toastrContent = i18next.t(\"neetoCommons.toastr.error.networkError\");\n shouldShowToastr = true;\n }\n\n const toastIdKey = `${requestMethod}:${requestUrl}`;\n const errorToastId = requestErrorToasts[toastIdKey];\n if (errorToastId) toast.dismiss(errorToastId);\n\n if (shouldShowToastr) {\n if (errorToastId) {\n // if there's an existing toastr with the same message, the onClose callback in the neetoUI which\n // removes the toastr from the unique list will be fired only after the toast is completely removed\n // from the UI. If there's no delay, the new toastr will be considered as duplicate and ignored.\n setTimeout(() => {\n requestErrorToasts[toastIdKey] = Toastr.error(toastrContent);\n }, 1200);\n } else requestErrorToasts[toastIdKey] = Toastr.error(toastrContent);\n }\n\n return error;\n};\n\nconst getUrlPathName = url => {\n try {\n return new URL(url).pathname;\n } catch {\n return url;\n }\n};\n\nconst handle404ErrorResponse = error => {\n const { show404ErrorPage = true, show403ErrorPage = true } =\n error.config ?? {};\n\n const status = error.response?.status;\n if (\n (status === 404 && show404ErrorPage) ||\n (status === 403 && show403ErrorPage)\n ) {\n const fullUrl = error.request?.responseURL || error.config.url;\n useErrorDisplayStore.setState({\n showErrorPage: true,\n statusCode: status,\n failedApiUrl: fullUrl,\n failedApiPath: getUrlPathName(fullUrl),\n });\n }\n\n return error;\n};\n\nconst buildErrorResponseHandler = skip => {\n const interceptors = [];\n if (!skip?.transformCase) interceptors.push(transformErrorKeysToCamelCase);\n\n if (!skip?.show404ErrorPage) interceptors.push(handle404ErrorResponse);\n\n if (!skip?.logoutOn401) interceptors.push(handleUnauthorizedErrorResponse);\n\n if (!skip?.showToastr) interceptors.push(showErrorToastr);\n\n if (!skip?.checkForReleaseVersionMismatch) {\n interceptors.push(checkForReleaseVersionMismatch);\n }\n\n interceptors.push(Promise.reject.bind(Promise));\n\n return createPipe(interceptors);\n};\n\nconst cleanupCredentialsForCrossOrigin = request => {\n if (!request.url.includes(\"://\")) return request;\n\n if (request.url.includes(window.location.hostname)) return request;\n\n return evolve({ headers: omit([HEADERS_KEYS.xCsrfToken]) })(request);\n};\n\nconst transformDataToSnakeCase = request => {\n const { transformRequestCase = true } = request;\n\n if (!transformRequestCase) return request;\n\n return evolve(\n { data: serializeKeysToSnakeCase, params: serializeKeysToSnakeCase },\n request\n );\n};\n\nconst addRequestInterceptors = skip => {\n if (!skip?.cleanCredentialsForCrossOrigin) {\n axios.interceptors.request.use(cleanupCredentialsForCrossOrigin);\n }\n\n if (!skip?.transformCase) {\n axios.interceptors.request.use(transformDataToSnakeCase);\n }\n};\n\nconst addResponseInterceptors = skip => {\n axios.interceptors.response.use(\n buildSuccessResponseHandler(skip),\n buildErrorResponseHandler(skip)\n );\n};\n\nconst registerIntercepts = skip => {\n if (shouldNot(skip?.request)) addRequestInterceptors(skip?.request);\n\n if (shouldNot(skip?.response)) addResponseInterceptors(skip?.response);\n};\n\nexport default function initializeAxios(skip) {\n if (!skip?.baseURL) axios.defaults.baseURL = \"/\";\n\n if (!skip?.authHeaders) setAuthHeaders();\n\n if (!skip?.paramsSerializer) setParamsSerializer();\n\n if (shouldNot(skip?.interceptors)) registerIntercepts(skip?.interceptors);\n}\n"],"names":["checkOnlineInterval","requestErrorToasts","shouldNot","skip","_typeof","shouldShowToastr","response","isNotEmpty","notice","noticeCode","setAuthHeaders","_document$querySelect","axios","defaults","headers","_defineProperty","HEADERS_KEYS","accept","contentType","xCsrfToken","document","querySelector","getAttribute","createPipe","functions","data","reduce","acc","fn","transformResponseKeysToCamelCase","_response$config$tran","config","transformResponseCase","keysToCamelCase","transformErrorKeysToCamelCase","error","_error$config","_error$response","_ref","_ref$transformRespons","showSuccessToastr","_response$config","_response$config$show","showToastr","requestUrl","url","requestMethod","method","toastIdKey","concat","errorToastId","toast","dismiss","dissoc","matches","showThumbsUpToastr","Toastr","success","showIcon","pullDataFromResponse","_response$config$incl","includeMetadataInResponse","checkForReleaseVersionMismatch","_res$headers","_globalProps","res","newReleaseVersion","Number","currentReleaseVersion","globalProps","deployReleaseVersion","useErrorDisplayStore","setState","showRefreshRibbon","buildSuccessResponseHandler","interceptors","transformCase","push","handleUnauthorizedErrorResponse","_error$response2","_error$config2","status","resetAuthTokens","_ref2","_ref2$redirectOnError","redirectOnError","setTimeout","redirectTo","window","location","pathname","encodeURIComponent","href","isOnline","navigator","onLine","showOfflineToastr","toastId","i18next","t","dismissToastInterval","setInterval","clearInterval","handleNetworkError","startTime","Date","now","elapsedTime","MAXIMUM_OFFLINE_DURATION","showErrorToastr","_error$config3","_error$response3","_ref3","_ref3$showToastr","_ref3$show422ErrorToa","show422ErrorToastr","_ref3$url","_ref3$method","_ref4","message","code","toastrContent","skippedStatusCodes","includes","isCancel","railsEnv","getUrlPathName","URL","_unused","handle404ErrorResponse","_error$config4","_error$response4","_ref5","_ref5$show404ErrorPag","show404ErrorPage","_ref5$show403ErrorPag","show403ErrorPage","_error$request","fullUrl","request","responseURL","showErrorPage","statusCode","failedApiUrl","failedApiPath","buildErrorResponseHandler","logoutOn401","Promise","reject","bind","cleanupCredentialsForCrossOrigin","hostname","evolve","omit","transformDataToSnakeCase","_request$transformReq","transformRequestCase","serializeKeysToSnakeCase","params","addRequestInterceptors","cleanCredentialsForCrossOrigin","use","addResponseInterceptors","registerIntercepts","initializeAxios","baseURL","authHeaders","paramsSerializer","setParamsSerializer"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/v2/initializers/axiosInitializer/index.js"],"sourcesContent":["import { Toastr } from \"@bigbinary/neeto-atoms\";\nimport axios from \"axios\";\nimport i18next from \"i18next\";\nimport {\n isNotEmpty,\n keysToCamelCase,\n matches,\n serializeKeysToSnakeCase,\n} from \"neetocist\";\nimport { dissoc, evolve, omit } from \"ramda\";\nimport { toast } from \"react-toastify\";\nimport { useErrorDisplayStore } from \"v2/react-utils/useDisplayErrorPage\";\nimport { resetAuthTokens } from \"v2/utils/axios\";\n\nimport setParamsSerializer from \"./paramsSerializer\";\n\nimport { HEADERS_KEYS, MAXIMUM_OFFLINE_DURATION } from \"../constants\";\n\nlet checkOnlineInterval = null;\nlet requestErrorToasts = {};\n\nconst shouldNot = skip => typeof skip === \"object\" || !skip;\n\nconst shouldShowToastr = response =>\n (typeof response === \"string\" && isNotEmpty(response)) ||\n (typeof response === \"object\" && (response?.notice || response?.noticeCode));\n\nconst setAuthHeaders = () => {\n // @ts-ignore\n axios.defaults.headers = {\n [HEADERS_KEYS.accept]: \"application/json\",\n [HEADERS_KEYS.contentType]: \"application/json\",\n [HEADERS_KEYS.xCsrfToken]: document\n .querySelector('[name=\"csrf-token\"]')\n ?.getAttribute(\"content\"),\n };\n};\n\n// pipe function from ramda doesn't accept array of functions.\n// We can't use spread operator too. So this is a workaround.\nconst createPipe = functions => data =>\n functions.reduce((acc, fn) => fn(acc), data);\n\nconst transformResponseKeysToCamelCase = response => {\n const { transformResponseCase = true } = response.config;\n\n if (response.data && transformResponseCase) {\n response.data = keysToCamelCase(response.data);\n }\n\n return response;\n};\n\nconst transformErrorKeysToCamelCase = error => {\n const { transformResponseCase = true } = error.config ?? {};\n\n if (error.response?.data && transformResponseCase) {\n error.response.data = keysToCamelCase(error.response.data);\n }\n\n return error;\n};\n\nconst showSuccessToastr = response => {\n const {\n showToastr = true,\n url: requestUrl,\n method: requestMethod,\n } = response.config;\n if (!showToastr) return response;\n\n const toastIdKey = `${requestMethod}:${requestUrl}`;\n const errorToastId = requestErrorToasts[toastIdKey];\n if (errorToastId) {\n toast.dismiss(errorToastId);\n requestErrorToasts = dissoc(toastIdKey, requestErrorToasts);\n }\n\n if (matches({ showThumbsUpToastr: true }, response.data)) {\n Toastr.success(\"👍\", { showIcon: false });\n } else if (matches({ noticeCode: \"thumbs_up\" }, response.data)) {\n Toastr.success(\"👍\", { showIcon: false });\n } else if (shouldShowToastr(response.data)) {\n Toastr.success(response.data);\n }\n\n return response;\n};\n\nconst pullDataFromResponse = response => {\n const { includeMetadataInResponse = false } = response.config;\n\n return includeMetadataInResponse ? response : response.data;\n};\n\nconst checkForReleaseVersionMismatch = response => {\n const res = response?.response || response;\n const newReleaseVersion = Number(res?.headers?.[\"x-deploy-release-version\"]);\n const currentReleaseVersion = Number(globalProps?.deployReleaseVersion);\n\n if (\n newReleaseVersion &&\n currentReleaseVersion &&\n newReleaseVersion !== currentReleaseVersion\n ) {\n useErrorDisplayStore.setState({ showRefreshRibbon: true });\n }\n\n return response;\n};\n\nconst buildSuccessResponseHandler = skip => {\n const interceptors = [];\n if (!skip?.transformCase) interceptors.push(transformResponseKeysToCamelCase);\n\n if (!skip?.showToastr) interceptors.push(showSuccessToastr);\n\n if (!skip?.checkForReleaseVersionMismatch) {\n interceptors.push(checkForReleaseVersionMismatch);\n }\n\n if (!skip?.pullDataFromResponse) interceptors.push(pullDataFromResponse);\n\n return createPipe(interceptors);\n};\n\nconst handleUnauthorizedErrorResponse = error => {\n if (error.response?.status !== 401) return error;\n\n resetAuthTokens();\n\n const { redirectOnError = true } = error.config ?? {};\n if (redirectOnError) {\n setTimeout(() => {\n const redirectTo =\n window.location.pathname === \"/login\"\n ? \"/login\"\n : `/login?redirect_uri=${encodeURIComponent(window.location.href)}`;\n\n window.location.href = redirectTo;\n }, 300);\n }\n\n return error;\n};\n\nconst isOnline = () => window.navigator.onLine;\n\nconst showOfflineToastr = () => {\n const toastId = Toastr.error(\n i18next.t(\"neetoCommons.toastr.error.noInternetConnection\")\n );\n\n if (toastId) {\n const dismissToastInterval = setInterval(() => {\n if (!isOnline()) return;\n\n toast.dismiss(toastId);\n clearInterval(dismissToastInterval);\n checkOnlineInterval = null;\n }, 1000);\n }\n};\n\nconst handleNetworkError = error => {\n if (checkOnlineInterval) return error;\n\n const startTime = Date.now();\n\n checkOnlineInterval = setInterval(() => {\n const elapsedTime = Date.now() - startTime;\n\n if (isOnline()) {\n clearInterval(checkOnlineInterval);\n checkOnlineInterval = null;\n } else if (elapsedTime >= MAXIMUM_OFFLINE_DURATION) {\n clearInterval(checkOnlineInterval);\n showOfflineToastr();\n }\n }, 1000);\n\n return error;\n};\n\nconst showErrorToastr = error => {\n const {\n showToastr = true,\n show422ErrorToastr = true,\n show429ErrorPage = true,\n url: requestUrl = \"\",\n method: requestMethod = \"\",\n } = error.config ?? {};\n const { status } = error.response ?? {};\n\n if (!showToastr) return error;\n\n if (error.message === \"Network Error\") return handleNetworkError(error);\n\n if (error.code === \"ECONNABORTED\") {\n return error;\n }\n\n let shouldShowToastr = false,\n toastrContent = error;\n\n const skippedStatusCodes = [403, 404, 520, 422];\n if (!skippedStatusCodes.includes(status) && !axios.isCancel(error)) {\n // we already display a page in case of 403 & 404 and we don't want to show a toastr for cancelled requests.\n // We handle cloudflare error differently for production and other environments.\n shouldShowToastr = true;\n }\n\n if (status === 422 && show422ErrorToastr) shouldShowToastr = true;\n\n if (status === 429 && show429ErrorPage) shouldShowToastr = false;\n\n if (status === 520) {\n shouldShowToastr = true;\n if (globalProps.railsEnv === \"production\") {\n toastrContent = i18next.t(\"generic.error\");\n }\n }\n\n if (status === 0) {\n toastrContent = i18next.t(\"neetoCommons.toastr.error.networkError\");\n shouldShowToastr = true;\n }\n\n const toastIdKey = `${requestMethod}:${requestUrl}`;\n const errorToastId = requestErrorToasts[toastIdKey];\n if (errorToastId) toast.dismiss(errorToastId);\n\n if (shouldShowToastr) {\n if (errorToastId) {\n // if there's an existing toastr with the same message, the onClose callback in the neetoUI which\n // removes the toastr from the unique list will be fired only after the toast is completely removed\n // from the UI. If there's no delay, the new toastr will be considered as duplicate and ignored.\n setTimeout(() => {\n requestErrorToasts[toastIdKey] = Toastr.error(toastrContent);\n }, 1200);\n } else requestErrorToasts[toastIdKey] = Toastr.error(toastrContent);\n }\n\n return error;\n};\n\nconst getUrlPathName = url => {\n try {\n return new URL(url).pathname;\n } catch {\n return url;\n }\n};\n\nconst handleErrorPageResponse = error => {\n const {\n show404ErrorPage = true,\n show403ErrorPage = true,\n show429ErrorPage = true,\n } = error.config ?? {};\n\n const status = error.response?.status;\n if (\n (status === 404 && show404ErrorPage) ||\n (status === 403 && show403ErrorPage) ||\n (status === 429 && show429ErrorPage)\n ) {\n const fullUrl = error.request?.responseURL || error.config.url;\n useErrorDisplayStore.setState({\n showErrorPage: true,\n statusCode: status,\n failedApiUrl: fullUrl,\n failedApiPath: getUrlPathName(fullUrl),\n });\n }\n\n return error;\n};\n\nconst buildErrorResponseHandler = skip => {\n const interceptors = [];\n if (!skip?.transformCase) interceptors.push(transformErrorKeysToCamelCase);\n\n if (!skip?.show404ErrorPage) interceptors.push(handleErrorPageResponse);\n\n if (!skip?.logoutOn401) interceptors.push(handleUnauthorizedErrorResponse);\n\n if (!skip?.showToastr) interceptors.push(showErrorToastr);\n\n if (!skip?.checkForReleaseVersionMismatch) {\n interceptors.push(checkForReleaseVersionMismatch);\n }\n\n interceptors.push(Promise.reject.bind(Promise));\n\n return createPipe(interceptors);\n};\n\nconst cleanupCredentialsForCrossOrigin = request => {\n if (!request.url.includes(\"://\")) return request;\n\n if (request.url.includes(window.location.hostname)) return request;\n\n return evolve({ headers: omit([HEADERS_KEYS.xCsrfToken]) })(request);\n};\n\nconst transformDataToSnakeCase = request => {\n const { transformRequestCase = true } = request;\n\n if (!transformRequestCase) return request;\n\n return evolve(\n { data: serializeKeysToSnakeCase, params: serializeKeysToSnakeCase },\n request\n );\n};\n\nconst addRequestInterceptors = skip => {\n if (!skip?.cleanCredentialsForCrossOrigin) {\n axios.interceptors.request.use(cleanupCredentialsForCrossOrigin);\n }\n\n if (!skip?.transformCase) {\n axios.interceptors.request.use(transformDataToSnakeCase);\n }\n};\n\nconst addResponseInterceptors = skip => {\n axios.interceptors.response.use(\n buildSuccessResponseHandler(skip),\n buildErrorResponseHandler(skip)\n );\n};\n\nconst registerIntercepts = skip => {\n if (shouldNot(skip?.request)) addRequestInterceptors(skip?.request);\n\n if (shouldNot(skip?.response)) addResponseInterceptors(skip?.response);\n};\n\nexport default function initializeAxios(skip) {\n if (!skip?.baseURL) axios.defaults.baseURL = \"/\";\n\n if (!skip?.authHeaders) setAuthHeaders();\n\n if (!skip?.paramsSerializer) setParamsSerializer();\n\n if (shouldNot(skip?.interceptors)) registerIntercepts(skip?.interceptors);\n}\n"],"names":["checkOnlineInterval","requestErrorToasts","shouldNot","skip","_typeof","shouldShowToastr","response","isNotEmpty","notice","noticeCode","setAuthHeaders","_document$querySelect","axios","defaults","headers","_defineProperty","HEADERS_KEYS","accept","contentType","xCsrfToken","document","querySelector","getAttribute","createPipe","functions","data","reduce","acc","fn","transformResponseKeysToCamelCase","_response$config$tran","config","transformResponseCase","keysToCamelCase","transformErrorKeysToCamelCase","error","_error$config","_error$response","_ref","_ref$transformRespons","showSuccessToastr","_response$config","_response$config$show","showToastr","requestUrl","url","requestMethod","method","toastIdKey","concat","errorToastId","toast","dismiss","dissoc","matches","showThumbsUpToastr","Toastr","success","showIcon","pullDataFromResponse","_response$config$incl","includeMetadataInResponse","checkForReleaseVersionMismatch","_res$headers","_globalProps","res","newReleaseVersion","Number","currentReleaseVersion","globalProps","deployReleaseVersion","useErrorDisplayStore","setState","showRefreshRibbon","buildSuccessResponseHandler","interceptors","transformCase","push","handleUnauthorizedErrorResponse","_error$response2","_error$config2","status","resetAuthTokens","_ref2","_ref2$redirectOnError","redirectOnError","setTimeout","redirectTo","window","location","pathname","encodeURIComponent","href","isOnline","navigator","onLine","showOfflineToastr","toastId","i18next","t","dismissToastInterval","setInterval","clearInterval","handleNetworkError","startTime","Date","now","elapsedTime","MAXIMUM_OFFLINE_DURATION","showErrorToastr","_error$config3","_error$response3","_ref3","_ref3$showToastr","_ref3$show422ErrorToa","show422ErrorToastr","_ref3$show429ErrorPag","show429ErrorPage","_ref3$url","_ref3$method","_ref4","message","code","toastrContent","skippedStatusCodes","includes","isCancel","railsEnv","getUrlPathName","URL","_unused","handleErrorPageResponse","_error$config4","_error$response4","_ref5","_ref5$show404ErrorPag","show404ErrorPage","_ref5$show403ErrorPag","show403ErrorPage","_ref5$show429ErrorPag","_error$request","fullUrl","request","responseURL","showErrorPage","statusCode","failedApiUrl","failedApiPath","buildErrorResponseHandler","logoutOn401","Promise","reject","bind","cleanupCredentialsForCrossOrigin","hostname","evolve","omit","transformDataToSnakeCase","_request$transformReq","transformRequestCase","serializeKeysToSnakeCase","params","addRequestInterceptors","cleanCredentialsForCrossOrigin","use","addResponseInterceptors","registerIntercepts","initializeAxios","baseURL","authHeaders","paramsSerializer","setParamsSerializer"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bigbinary/neeto-commons-frontend",
3
- "version": "4.13.164",
3
+ "version": "4.13.166-beta1",
4
4
  "description": "A package encapsulating common code across neeto projects including initializers, utility functions, common components and hooks and so on.",
5
5
  "repository": "git@github.com:bigbinary/neeto-commons-frontend.git",
6
6
  "author": "Amaljith K <amaljith.k@bigbinary.com>",
@@ -118,7 +118,7 @@
118
118
  "@bigbinary/neeto-audit-frontend": "2.5.5",
119
119
  "@bigbinary/neeto-cist": "1.0.17",
120
120
  "@bigbinary/neeto-commons-frontend": "4.13.148",
121
- "@bigbinary/neeto-editor": "1.47.123",
121
+ "@bigbinary/neeto-editor-frontend": "2.0.1",
122
122
  "@bigbinary/neeto-hotkeys": "1.0.9",
123
123
  "@bigbinary/neeto-icons": "1.20.89",
124
124
  "@bigbinary/neeto-molecules": "5.3.18",
@@ -252,7 +252,7 @@
252
252
  "@bigbinary/neeto-atoms": "1.0.101",
253
253
  "@bigbinary/neeto-cist": "1.0.17",
254
254
  "@bigbinary/neeto-commons-frontend": "4.13.148",
255
- "@bigbinary/neeto-editor": "1.47.123",
255
+ "@bigbinary/neeto-editor-frontend": "2.0.1",
256
256
  "@bigbinary/neeto-hotkeys": "1.0.9",
257
257
  "@bigbinary/neeto-icons": "1.20.89",
258
258
  "@bigbinary/neeto-molecules": "5.3.18",