@bigbinary/neeto-commons-frontend 4.4.6 → 4.5.0-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.
|
@@ -10,6 +10,7 @@ var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
|
10
10
|
var _axios = _interopRequireDefault(require("axios"));
|
|
11
11
|
var _i18next = _interopRequireDefault(require("i18next"));
|
|
12
12
|
var _neetoCist = require("@bigbinary/neeto-cist");
|
|
13
|
+
var _utils = require("@bigbinary/neeto-commons-frontend/utils");
|
|
13
14
|
var _Toastr = _interopRequireDefault(require("@bigbinary/neetoui/Toastr"));
|
|
14
15
|
var _ramda = require("ramda");
|
|
15
16
|
var _reactToastify = require("react-toastify");
|
|
@@ -62,9 +63,11 @@ var showSuccessToastr = function showSuccessToastr(response) {
|
|
|
62
63
|
var _response$config = response.config,
|
|
63
64
|
_response$config$show = _response$config.showToastr,
|
|
64
65
|
showToastr = _response$config$show === void 0 ? true : _response$config$show,
|
|
66
|
+
_response$config$show2 = _response$config.showSuccessToastr,
|
|
67
|
+
showSuccessToastr = _response$config$show2 === void 0 ? true : _response$config$show2,
|
|
65
68
|
requestUrl = _response$config.url,
|
|
66
69
|
requestMethod = _response$config.method;
|
|
67
|
-
if (!showToastr) return response;
|
|
70
|
+
if (!showToastr || !showSuccessToastr) return response;
|
|
68
71
|
var toastIdKey = "".concat(requestMethod, ":").concat(requestUrl);
|
|
69
72
|
var errorToastId = requestErrorToasts[toastIdKey];
|
|
70
73
|
if (errorToastId) {
|
|
@@ -75,18 +78,12 @@ var showSuccessToastr = function showSuccessToastr(response) {
|
|
|
75
78
|
showThumbsUpToastr: true
|
|
76
79
|
}, response.data)) {
|
|
77
80
|
// @ts-ignore
|
|
78
|
-
|
|
79
|
-
icon: "👍",
|
|
80
|
-
className: "w-20"
|
|
81
|
-
});
|
|
81
|
+
(0, _utils.showThumbsUpToastr)();
|
|
82
82
|
} else if ((0, _neetoCist.matches)({
|
|
83
83
|
noticeCode: "thumbs_up"
|
|
84
84
|
}, response.data)) {
|
|
85
85
|
// @ts-ignore
|
|
86
|
-
|
|
87
|
-
icon: "👍",
|
|
88
|
-
className: "w-20"
|
|
89
|
-
});
|
|
86
|
+
(0, _utils.showThumbsUpToastr)();
|
|
90
87
|
} else if (shouldShowToastr(response.data)) {
|
|
91
88
|
_Toastr["default"].success(response.data);
|
|
92
89
|
}
|
|
@@ -155,6 +152,8 @@ var showErrorToastr = function showErrorToastr(error) {
|
|
|
155
152
|
var _ref3 = (_error$config3 = error.config) !== null && _error$config3 !== void 0 ? _error$config3 : {},
|
|
156
153
|
_ref3$showToastr = _ref3.showToastr,
|
|
157
154
|
showToastr = _ref3$showToastr === void 0 ? true : _ref3$showToastr,
|
|
155
|
+
_ref3$showErrorToastr = _ref3.showErrorToastr,
|
|
156
|
+
showErrorToastr = _ref3$showErrorToastr === void 0 ? true : _ref3$showErrorToastr,
|
|
158
157
|
_ref3$show422ErrorToa = _ref3.show422ErrorToastr,
|
|
159
158
|
show422ErrorToastr = _ref3$show422ErrorToa === void 0 ? true : _ref3$show422ErrorToa,
|
|
160
159
|
_ref3$url = _ref3.url,
|
|
@@ -163,7 +162,7 @@ var showErrorToastr = function showErrorToastr(error) {
|
|
|
163
162
|
requestMethod = _ref3$method === void 0 ? "" : _ref3$method;
|
|
164
163
|
var _ref4 = (_error$response3 = error.response) !== null && _error$response3 !== void 0 ? _error$response3 : {},
|
|
165
164
|
status = _ref4.status;
|
|
166
|
-
if (!showToastr) return error;
|
|
165
|
+
if (!showToastr || !showErrorToastr) return error;
|
|
167
166
|
if (error.message === "Network Error") return handleNetworkError(error);
|
|
168
167
|
if (error.code === "ECONNABORTED") {
|
|
169
168
|
return error;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["_axios","_interopRequireDefault","require","_i18next","_neetoCist","_Toastr","_ramda","_reactToastify","_useDisplayErrorPage","_axios2","_paramsSerializer","_constants","checkOnlineInterval","requestErrorToasts","shouldNot","skip","_typeof2","shouldShowToastr","response","isNotEmpty","notice","noticeCode","setAuthHeaders","_document$querySelect","_axios$defaults$heade","axios","defaults","headers","_defineProperty2","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","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","globalProps","railsEnv","getUrlPathName","URL","_unused","handle404ErrorResponse","_error$config4","_error$response4","_ref5","_ref5$show404ErrorPag","show404ErrorPage","_ref5$show403ErrorPag","show403ErrorPage","_error$request","fullUrl","request","responseURL","useErrorDisplayStore","setState","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"],"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 Toastr.success(\"\", { icon: \"👍\", className: \"w-20\" });\n } else if (matches({ noticeCode: \"thumbs_up\" }, response.data)) {\n // @ts-ignore\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 buildSuccessResponseHandler = skip => {\n const interceptors = [];\n if (!skip?.transformCase) interceptors.push(transformResponseKeysToCamelCase);\n\n if (!skip?.showToastr) interceptors.push(showSuccessToastr);\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.networkError\")\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 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 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"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["_axios","_interopRequireDefault","require","_i18next","_neetoCist","_utils","_Toastr","_ramda","_reactToastify","_useDisplayErrorPage","_axios2","_paramsSerializer","_constants","checkOnlineInterval","requestErrorToasts","shouldNot","skip","_typeof2","shouldShowToastr","response","isNotEmpty","notice","noticeCode","setAuthHeaders","_document$querySelect","_axios$defaults$heade","axios","defaults","headers","_defineProperty2","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","_response$config$show2","requestUrl","url","requestMethod","method","toastIdKey","concat","errorToastId","toast","dismiss","dissoc","matches","showThumbsUpToastr","Toastr","success","pullDataFromResponse","_response$config$incl","includeMetadataInResponse","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$showErrorToastr","_ref3$show422ErrorToa","show422ErrorToastr","_ref3$url","_ref3$method","_ref4","message","code","toastrContent","skippedStatusCodes","includes","isCancel","globalProps","railsEnv","getUrlPathName","URL","_unused","handle404ErrorResponse","_error$config4","_error$response4","_ref5","_ref5$show404ErrorPag","show404ErrorPage","_ref5$show403ErrorPag","show403ErrorPage","_error$request","fullUrl","request","responseURL","useErrorDisplayStore","setState","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"],"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 { showThumbsUpToastr } from \"neetocommons/utils\";\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 showSuccessToastr = true,\n url: requestUrl,\n method: requestMethod,\n } = response.config;\n if (!showToastr || !showSuccessToastr) 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 showThumbsUpToastr();\n } else if (matches({ noticeCode: \"thumbs_up\" }, response.data)) {\n // @ts-ignore\n showThumbsUpToastr();\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 buildSuccessResponseHandler = skip => {\n const interceptors = [];\n if (!skip?.transformCase) interceptors.push(transformResponseKeysToCamelCase);\n\n if (!skip?.showToastr) interceptors.push(showSuccessToastr);\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.networkError\")\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 showErrorToastr = true,\n show422ErrorToastr = true,\n url: requestUrl = \"\",\n method: requestMethod = \"\",\n } = error.config ?? {};\n const { status } = error.response ?? {};\n\n if (!showToastr || !showErrorToastr) 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 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 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"],"mappings":"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"}
|
|
@@ -3,6 +3,7 @@ import _typeof from "@babel/runtime/helpers/typeof";
|
|
|
3
3
|
import axios from "axios";
|
|
4
4
|
import i18next from "i18next";
|
|
5
5
|
import { isNotEmpty, keysToCamelCase, matches, serializeKeysToSnakeCase } from "@bigbinary/neeto-cist";
|
|
6
|
+
import { showThumbsUpToastr } from "@bigbinary/neeto-commons-frontend/utils";
|
|
6
7
|
import Toastr from "@bigbinary/neetoui/Toastr";
|
|
7
8
|
import { dissoc, evolve, omit } from "ramda";
|
|
8
9
|
import { toast } from "react-toastify";
|
|
@@ -55,9 +56,11 @@ var showSuccessToastr = function showSuccessToastr(response) {
|
|
|
55
56
|
var _response$config = response.config,
|
|
56
57
|
_response$config$show = _response$config.showToastr,
|
|
57
58
|
showToastr = _response$config$show === void 0 ? true : _response$config$show,
|
|
59
|
+
_response$config$show2 = _response$config.showSuccessToastr,
|
|
60
|
+
showSuccessToastr = _response$config$show2 === void 0 ? true : _response$config$show2,
|
|
58
61
|
requestUrl = _response$config.url,
|
|
59
62
|
requestMethod = _response$config.method;
|
|
60
|
-
if (!showToastr) return response;
|
|
63
|
+
if (!showToastr || !showSuccessToastr) return response;
|
|
61
64
|
var toastIdKey = "".concat(requestMethod, ":").concat(requestUrl);
|
|
62
65
|
var errorToastId = requestErrorToasts[toastIdKey];
|
|
63
66
|
if (errorToastId) {
|
|
@@ -68,18 +71,12 @@ var showSuccessToastr = function showSuccessToastr(response) {
|
|
|
68
71
|
showThumbsUpToastr: true
|
|
69
72
|
}, response.data)) {
|
|
70
73
|
// @ts-ignore
|
|
71
|
-
|
|
72
|
-
icon: "👍",
|
|
73
|
-
className: "w-20"
|
|
74
|
-
});
|
|
74
|
+
showThumbsUpToastr();
|
|
75
75
|
} else if (matches({
|
|
76
76
|
noticeCode: "thumbs_up"
|
|
77
77
|
}, response.data)) {
|
|
78
78
|
// @ts-ignore
|
|
79
|
-
|
|
80
|
-
icon: "👍",
|
|
81
|
-
className: "w-20"
|
|
82
|
-
});
|
|
79
|
+
showThumbsUpToastr();
|
|
83
80
|
} else if (shouldShowToastr(response.data)) {
|
|
84
81
|
Toastr.success(response.data);
|
|
85
82
|
}
|
|
@@ -148,6 +145,8 @@ var showErrorToastr = function showErrorToastr(error) {
|
|
|
148
145
|
var _ref3 = (_error$config3 = error.config) !== null && _error$config3 !== void 0 ? _error$config3 : {},
|
|
149
146
|
_ref3$showToastr = _ref3.showToastr,
|
|
150
147
|
showToastr = _ref3$showToastr === void 0 ? true : _ref3$showToastr,
|
|
148
|
+
_ref3$showErrorToastr = _ref3.showErrorToastr,
|
|
149
|
+
showErrorToastr = _ref3$showErrorToastr === void 0 ? true : _ref3$showErrorToastr,
|
|
151
150
|
_ref3$show422ErrorToa = _ref3.show422ErrorToastr,
|
|
152
151
|
show422ErrorToastr = _ref3$show422ErrorToa === void 0 ? true : _ref3$show422ErrorToa,
|
|
153
152
|
_ref3$url = _ref3.url,
|
|
@@ -156,7 +155,7 @@ var showErrorToastr = function showErrorToastr(error) {
|
|
|
156
155
|
requestMethod = _ref3$method === void 0 ? "" : _ref3$method;
|
|
157
156
|
var _ref4 = (_error$response3 = error.response) !== null && _error$response3 !== void 0 ? _error$response3 : {},
|
|
158
157
|
status = _ref4.status;
|
|
159
|
-
if (!showToastr) return error;
|
|
158
|
+
if (!showToastr || !showErrorToastr) return error;
|
|
160
159
|
if (error.message === "Network Error") return handleNetworkError(error);
|
|
161
160
|
if (error.code === "ECONNABORTED") {
|
|
162
161
|
return error;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["axios","i18next","isNotEmpty","keysToCamelCase","matches","serializeKeysToSnakeCase","Toastr","dissoc","evolve","omit","toast","useErrorDisplayStore","resetAuthTokens","setParamsSerializer","HEADERS_KEYS","MAXIMUM_OFFLINE_DURATION","checkOnlineInterval","requestErrorToasts","shouldNot","skip","_typeof","shouldShowToastr","response","notice","noticeCode","setAuthHeaders","_document$querySelect","_axios$defaults$heade","defaults","headers","_defineProperty","accept","contentType","xCsrfToken","document","querySelector","getAttribute","createPipe","functions","data","reduce","acc","fn","transformResponseKeysToCamelCase","_response$config$tran","config","transformResponseCase","transformErrorKeysToCamelCase","error","_error$config","_error$response","_ref","_ref$transformRespons","showSuccessToastr","_response$config","_response$config$show","showToastr","requestUrl","url","requestMethod","method","toastIdKey","concat","errorToastId","dismiss","showThumbsUpToastr","success","icon","className","pullDataFromResponse","_response$config$incl","includeMetadataInResponse","buildSuccessResponseHandler","interceptors","transformCase","push","handleUnauthorizedErrorResponse","_error$response2","_error$config2","status","_ref2","_ref2$redirectOnError","redirectOnError","setTimeout","redirectTo","window","location","pathname","encodeURIComponent","href","isOnline","navigator","onLine","showOfflineToastr","toastId","t","dismissToastInterval","setInterval","clearInterval","handleNetworkError","startTime","Date","now","elapsedTime","showErrorToastr","_error$config3","_error$response3","_ref3","_ref3$showToastr","_ref3$show422ErrorToa","show422ErrorToastr","_ref3$url","_ref3$method","_ref4","message","code","toastrContent","skippedStatusCodes","includes","isCancel","globalProps","railsEnv","getUrlPathName","URL","_unused","handle404ErrorResponse","_error$config4","_error$response4","_ref5","_ref5$show404ErrorPag","show404ErrorPage","_ref5$show403ErrorPag","show403ErrorPage","_error$request","fullUrl","request","responseURL","setState","showErrorPage","statusCode","failedApiUrl","failedApiPath","buildErrorResponseHandler","logoutOn401","Promise","reject","bind","cleanupCredentialsForCrossOrigin","hostname","transformDataToSnakeCase","_request$transformReq","transformRequestCase","params","addRequestInterceptors","cleanCredentialsForCrossOrigin","use","addResponseInterceptors","registerIntercepts","initializeAxios","baseURL","authHeaders","paramsSerializer"],"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 Toastr.success(\"\", { icon: \"👍\", className: \"w-20\" });\n } else if (matches({ noticeCode: \"thumbs_up\" }, response.data)) {\n // @ts-ignore\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 buildSuccessResponseHandler = skip => {\n const interceptors = [];\n if (!skip?.transformCase) interceptors.push(transformResponseKeysToCamelCase);\n\n if (!skip?.showToastr) interceptors.push(showSuccessToastr);\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.networkError\")\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 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 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"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["axios","i18next","isNotEmpty","keysToCamelCase","matches","serializeKeysToSnakeCase","showThumbsUpToastr","Toastr","dissoc","evolve","omit","toast","useErrorDisplayStore","resetAuthTokens","setParamsSerializer","HEADERS_KEYS","MAXIMUM_OFFLINE_DURATION","checkOnlineInterval","requestErrorToasts","shouldNot","skip","_typeof","shouldShowToastr","response","notice","noticeCode","setAuthHeaders","_document$querySelect","_axios$defaults$heade","defaults","headers","_defineProperty","accept","contentType","xCsrfToken","document","querySelector","getAttribute","createPipe","functions","data","reduce","acc","fn","transformResponseKeysToCamelCase","_response$config$tran","config","transformResponseCase","transformErrorKeysToCamelCase","error","_error$config","_error$response","_ref","_ref$transformRespons","showSuccessToastr","_response$config","_response$config$show","showToastr","_response$config$show2","requestUrl","url","requestMethod","method","toastIdKey","concat","errorToastId","dismiss","success","pullDataFromResponse","_response$config$incl","includeMetadataInResponse","buildSuccessResponseHandler","interceptors","transformCase","push","handleUnauthorizedErrorResponse","_error$response2","_error$config2","status","_ref2","_ref2$redirectOnError","redirectOnError","setTimeout","redirectTo","window","location","pathname","encodeURIComponent","href","isOnline","navigator","onLine","showOfflineToastr","toastId","t","dismissToastInterval","setInterval","clearInterval","handleNetworkError","startTime","Date","now","elapsedTime","showErrorToastr","_error$config3","_error$response3","_ref3","_ref3$showToastr","_ref3$showErrorToastr","_ref3$show422ErrorToa","show422ErrorToastr","_ref3$url","_ref3$method","_ref4","message","code","toastrContent","skippedStatusCodes","includes","isCancel","globalProps","railsEnv","getUrlPathName","URL","_unused","handle404ErrorResponse","_error$config4","_error$response4","_ref5","_ref5$show404ErrorPag","show404ErrorPage","_ref5$show403ErrorPag","show403ErrorPage","_error$request","fullUrl","request","responseURL","setState","showErrorPage","statusCode","failedApiUrl","failedApiPath","buildErrorResponseHandler","logoutOn401","Promise","reject","bind","cleanupCredentialsForCrossOrigin","hostname","transformDataToSnakeCase","_request$transformReq","transformRequestCase","params","addRequestInterceptors","cleanCredentialsForCrossOrigin","use","addResponseInterceptors","registerIntercepts","initializeAxios","baseURL","authHeaders","paramsSerializer"],"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 { showThumbsUpToastr } from \"neetocommons/utils\";\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 showSuccessToastr = true,\n url: requestUrl,\n method: requestMethod,\n } = response.config;\n if (!showToastr || !showSuccessToastr) 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 showThumbsUpToastr();\n } else if (matches({ noticeCode: \"thumbs_up\" }, response.data)) {\n // @ts-ignore\n showThumbsUpToastr();\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 buildSuccessResponseHandler = skip => {\n const interceptors = [];\n if (!skip?.transformCase) interceptors.push(transformResponseKeysToCamelCase);\n\n if (!skip?.showToastr) interceptors.push(showSuccessToastr);\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.networkError\")\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 showErrorToastr = true,\n show422ErrorToastr = true,\n url: requestUrl = \"\",\n method: requestMethod = \"\",\n } = error.config ?? {};\n const { status } = error.response ?? {};\n\n if (!showToastr || !showErrorToastr) 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 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 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"],"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.
|
|
3
|
+
"version": "4.5.0-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>",
|
|
@@ -73,31 +73,31 @@
|
|
|
73
73
|
},
|
|
74
74
|
"peerDependencies": {
|
|
75
75
|
"@bigbinary/babel-preset-neeto": "^1.0.3",
|
|
76
|
-
"@bigbinary/neeto-cist": "
|
|
77
|
-
"@bigbinary/neeto-commons-frontend": "
|
|
76
|
+
"@bigbinary/neeto-cist": "^1.0.5",
|
|
77
|
+
"@bigbinary/neeto-commons-frontend": "^3.0.10",
|
|
78
78
|
"@bigbinary/neeto-editor": "1.38.1",
|
|
79
|
-
"@bigbinary/neeto-icons": "
|
|
80
|
-
"@bigbinary/neeto-molecules": "
|
|
81
|
-
"@bigbinary/neetoui": "
|
|
79
|
+
"@bigbinary/neeto-icons": "1.19.1",
|
|
80
|
+
"@bigbinary/neeto-molecules": "3.2.12",
|
|
81
|
+
"@bigbinary/neetoui": "^6.5.13",
|
|
82
82
|
"@faker-js/faker": "^8.2.0",
|
|
83
83
|
"@honeybadger-io/js": "^6.4.1",
|
|
84
84
|
"@honeybadger-io/react": "^6.1.3",
|
|
85
85
|
"@tanstack/react-query": "5.40.0",
|
|
86
86
|
"@tanstack/react-query-devtools": "5.40.0",
|
|
87
|
-
"antd": "4.
|
|
87
|
+
"antd": "4.24.3",
|
|
88
88
|
"autoprefixer": "^10.4.13",
|
|
89
89
|
"axios": "1.6.2",
|
|
90
90
|
"cypress": "11.2.0",
|
|
91
91
|
"dayjs": "1.11.10",
|
|
92
92
|
"dotenv-webpack": "^8.0.1",
|
|
93
93
|
"formik": "^2.2.9",
|
|
94
|
-
"i18next": "
|
|
94
|
+
"i18next": "22.5.1",
|
|
95
95
|
"js-logger": "^1.6.1",
|
|
96
96
|
"qs": "^6.11.0",
|
|
97
97
|
"ramda": "^0.29.0",
|
|
98
|
-
"react": "18.2.0",
|
|
98
|
+
"react": "^18.2.0",
|
|
99
99
|
"react-helmet": "^6.1.0",
|
|
100
|
-
"react-i18next": "
|
|
100
|
+
"react-i18next": "12.3.1",
|
|
101
101
|
"react-router-dom": "5.3.3",
|
|
102
102
|
"react-toastify": "8.0.2",
|
|
103
103
|
"shakapacker": "^6.5.5",
|
|
@@ -105,4 +105,4 @@
|
|
|
105
105
|
"webpack": "^5.75.0",
|
|
106
106
|
"yup": "^1.3.3"
|
|
107
107
|
}
|
|
108
|
-
}
|
|
108
|
+
}
|