@sassoftware/restaf 5.1.16 → 5.1.17

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.
package/dist/restaf.js CHANGED
@@ -2096,7 +2096,7 @@ eval("/*\r\n * Copyright © 2023, SAS Institute Inc., Cary, NC, USA. All Rights
2096
2096
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
2097
2097
 
2098
2098
  "use strict";
2099
- eval("/* harmony import */ var _fixImages__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./fixImages */ \"./serverCalls/fixImages.js\");\n/* harmony import */ var _fixImages__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_fixImages__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _fixReports__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./fixReports */ \"./serverCalls/fixReports.js\");\n/* harmony import */ var _fixReports__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_fixReports__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _casSessionLinks__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./casSessionLinks */ \"./serverCalls/casSessionLinks.js\");\n/* harmony import */ var _casSessionLinks__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_casSessionLinks__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _reduceCasResults__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./reduceCasResults */ \"./serverCalls/reduceCasResults.js\");\n/* harmony import */ var _reduceCasResults__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_reduceCasResults__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _fixMlPipelineAutomation__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./fixMlPipelineAutomation */ \"./serverCalls/fixMlPipelineAutomation.js\");\n/* harmony import */ var _fixMlPipelineAutomation__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_fixMlPipelineAutomation__WEBPACK_IMPORTED_MODULE_4__);\n/*------------------------------------------------------------------------------------\r\n Copyright © 2023, SAS Institute Inc., Cary, NC, USA. All Rights reserved Licensed under the Apache License, Version 2.0 (the \"License\");\r\n you may not use this file except in compliance with the License.\r\n You may obtain a copy of the License at\r\n\r\n http://www.apache.org/licenses/LICENSE-2.0\r\n\r\n Unless required by applicable law or agreed to in writing, software\r\n distributed under the License is distributed on an \"AS IS\" BASIS,\r\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n See the License for the specific language governing permissions and\r\n limitations under the License.\r\n ---------------------------------------------------------------------------------------*/\n\n\n// let fixImages = require( './fixImages' );\n// let fixReports = require( './fixReports' );\n// let casSessionLinks = require( './casSessionLinks' );\n// let reduceCasResults = require( './reduceCasResults' );\n// let fixMlPipelineAutomation = require( './fixMlPipelineAutomation' );\n\n\n\n\n\nfunction fixResponse(response) {\n //\n // Ensure all header keys are lowercase\n //\n\n var headers = {};\n for (var k in response.headers) {\n //noinspection JSUnfilteredForInLoop\n var k1 = k.toLowerCase();\n //noinspection JSUnfilteredForInLoop\n headers[k1] = response.headers[k];\n if (k === 'set-cookie') {\n console.log('cookie', headers[k1]);\n var cookies = headers[k1];\n var cookieValue = cookies.find(function (cookie) {\n return cookie.includes('tkhttp-id');\n });\n console.log(cookieValue);\n headers['tkhttp-id'] = cookieValue;\n }\n }\n response.headers = headers;\n var cType = response.headers['content-type'];\n if (cType == null || typeof response.data.results === 'string') {\n return response;\n }\n\n // let contentType = cType.split(';') [0];\n var iLink = response.data.iconfig.link;\n fixCas(iLink, response);\n if (iLink.href.indexOf(\"reportImages/jobs\") > 0) {\n _fixImages__WEBPACK_IMPORTED_MODULE_0___default()(response);\n }\n if (iLink.href === \"/reports/reports\" && iLink.method === \"GET\") {\n _fixReports__WEBPACK_IMPORTED_MODULE_1___default()(response);\n }\n var il = iLink.href.split('?')[0];\n if (il === \"/mlPipelineAutomation/projects\" && iLink.method === \"GET\") {\n _fixMlPipelineAutomation__WEBPACK_IMPORTED_MODULE_4___default()(response);\n }\n return response;\n}\n\n// Plan:\n// step 1: propogate server name and cashttp info\n\nfunction fixCas(iLink, response) {\n // special handling for cas\n var casProxyFlag = false;\n if (response.data.hasOwnProperty('iconfig')) {\n if (response.data.iconfig.storeConfig != null) {\n casProxyFlag = response.data.iconfig.storeConfig.casProxy;\n }\n }\n\n // do a refresh - mainly for reattaching to a cas session\n\n if (iLink.rel === 'self' && iLink.type === 'application/vnd.sas.cas.session.summary' || iLink.rel === 'createSession' && iLink.responseType === 'application/vnd.sas.cas.session') {\n response.data.results.links = response.data.results.links.concat(fixCasSession(iLink, response.data.results, casProxyFlag));\n response.data.results.name2 = response.data.results.name.split(':')[0];\n }\n if (iLink.hasOwnProperty('itemType') && iLink.itemType === 'application/vnd.sas.cas.session.summary') {\n var items = response.data.results.items;\n var pre = \"/\".concat(iLink.casHttp, \"/cas/sessions\");\n for (var i = 0; i < items.length; i++) {\n var item = items[i];\n var uri = \"/casProxy/servers/\".concat(iLink.server, \"/cas/sessions/\").concat(item.id);\n var urihttp = \"\".concat(pre, \"/\").concat(item.id);\n item.links = item.links.map(function (l) {\n l.casHttp = iLink.casHttp;\n l.server = iLink.server;\n return l;\n });\n item.links = item.links.concat(_casSessionLinks__WEBPACK_IMPORTED_MODULE_2___default()(uri, urihttp, iLink.casHttp, iLink.server, casProxyFlag));\n }\n }\n if (iLink.hasOwnProperty('customHandling')) {\n response.data.results = _reduceCasResults__WEBPACK_IMPORTED_MODULE_3___default()(response.data.results);\n response.data.results = {\n items: Object.assign({}, response.data.results)\n };\n response.data.results.customHandling = iLink.customHandling;\n }\n\n //TBD: This could probbably be removed due to enhancements to casManagement\n if ((iLink.href === '/casManagement/' || iLink.href === '/casManagement') && iLink.method === 'GET') {\n response.data.results.links = response.data.results.links.map(function (l) {\n if (l.rel === 'collection') {\n l.title = 'servers';\n l.rel = 'servers';\n l.patch = 'cas';\n }\n return l;\n });\n }\n\n // A seperate loop in case casManagement fixes the issue\n if (iLink.hasOwnProperty('patch') && iLink.rel === 'servers') {\n var _items = response.data.results.items;\n var _loop = function _loop() {\n var item = _items[_i];\n var name = item.name;\n var ll = item.links.map(function (l) {\n l.casHttp = \"\".concat(name, \"-http\"); /* save the http info to propogate to sessions */\n l.server = name;\n return l;\n });\n item.links = ll;\n };\n for (var _i = 0; _i < _items.length; _i++) {\n _loop();\n }\n }\n}\nfunction fixCasSession(iLink, results, casProxyFlag) {\n // proprogate casHttp\n results.links = results.links.map(function (l) {\n l.casHttp = iLink.casHttp;\n l.server = iLink.server;\n return l;\n });\n return sessionLinks(iLink, results.id, casProxyFlag).concat(results.links);\n}\nfunction sessionLinks(iLink, sessionId, casProxyFlag) {\n var uri = \"/casProxy/servers/\".concat(iLink.server, \"/cas/sessions/\").concat(sessionId);\n var urihttp = \"/\".concat(iLink.casHttp, \"/cas/sessions/\").concat(sessionId);\n // propgate server name also\n return _casSessionLinks__WEBPACK_IMPORTED_MODULE_2___default()(uri, urihttp, iLink.casHttp, iLink.server, casProxyFlag);\n}\n/* harmony default export */ __webpack_exports__[\"a\"] = (fixResponse);\n\n//# sourceURL=webpack://restaf/./serverCalls/fixResponse.js?");
2099
+ eval("/* harmony import */ var _fixImages__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./fixImages */ \"./serverCalls/fixImages.js\");\n/* harmony import */ var _fixImages__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_fixImages__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _fixReports__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./fixReports */ \"./serverCalls/fixReports.js\");\n/* harmony import */ var _fixReports__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_fixReports__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _casSessionLinks__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./casSessionLinks */ \"./serverCalls/casSessionLinks.js\");\n/* harmony import */ var _casSessionLinks__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_casSessionLinks__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _reduceCasResults__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./reduceCasResults */ \"./serverCalls/reduceCasResults.js\");\n/* harmony import */ var _reduceCasResults__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_reduceCasResults__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _fixMlPipelineAutomation__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./fixMlPipelineAutomation */ \"./serverCalls/fixMlPipelineAutomation.js\");\n/* harmony import */ var _fixMlPipelineAutomation__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_fixMlPipelineAutomation__WEBPACK_IMPORTED_MODULE_4__);\n/*------------------------------------------------------------------------------------\r\n Copyright © 2023, SAS Institute Inc., Cary, NC, USA. All Rights reserved Licensed under the Apache License, Version 2.0 (the \"License\");\r\n you may not use this file except in compliance with the License.\r\n You may obtain a copy of the License at\r\n\r\n http://www.apache.org/licenses/LICENSE-2.0\r\n\r\n Unless required by applicable law or agreed to in writing, software\r\n distributed under the License is distributed on an \"AS IS\" BASIS,\r\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n See the License for the specific language governing permissions and\r\n limitations under the License.\r\n ---------------------------------------------------------------------------------------*/\n\n\n// let fixImages = require( './fixImages' );\n// let fixReports = require( './fixReports' );\n// let casSessionLinks = require( './casSessionLinks' );\n// let reduceCasResults = require( './reduceCasResults' );\n// let fixMlPipelineAutomation = require( './fixMlPipelineAutomation' );\n\n\n\n\n\nfunction fixResponse(response) {\n //\n // Ensure all header keys are lowercase\n //\n\n var headers = {};\n for (var k in response.headers) {\n //noinspection JSUnfilteredForInLoop\n var k1 = k.toLowerCase();\n //noinspection JSUnfilteredForInLoop\n headers[k1] = response.headers[k];\n if (k1 === 'set-cookie') {\n console.log('cookie', headers[k]);\n var cookies = headers[k];\n var cookieValue = cookies.find(function (cookie) {\n return cookie.includes('tkhttp-id');\n });\n if (cookieValue != null) {\n console.log(cookieValue);\n headers['tkhttp-id'] = cookieValue.split(';')[0].split('=')[1];\n console.log(headers['tkhttp-id']);\n }\n }\n }\n response.headers = headers;\n var cType = response.headers['content-type'];\n if (cType == null || typeof response.data.results === 'string') {\n return response;\n }\n\n // let contentType = cType.split(';') [0];\n var iLink = response.data.iconfig.link;\n fixCas(iLink, response);\n if (iLink.href.indexOf(\"reportImages/jobs\") > 0) {\n _fixImages__WEBPACK_IMPORTED_MODULE_0___default()(response);\n }\n if (iLink.href === \"/reports/reports\" && iLink.method === \"GET\") {\n _fixReports__WEBPACK_IMPORTED_MODULE_1___default()(response);\n }\n var il = iLink.href.split('?')[0];\n if (il === \"/mlPipelineAutomation/projects\" && iLink.method === \"GET\") {\n _fixMlPipelineAutomation__WEBPACK_IMPORTED_MODULE_4___default()(response);\n }\n return response;\n}\n\n// Plan:\n// step 1: propogate server name and cashttp info\n\nfunction fixCas(iLink, response) {\n // special handling for cas\n var casProxyFlag = false;\n if (response.data.hasOwnProperty('iconfig')) {\n if (response.data.iconfig.storeConfig != null) {\n casProxyFlag = response.data.iconfig.storeConfig.casProxy;\n }\n }\n\n // do a refresh - mainly for reattaching to a cas session\n\n if (iLink.rel === 'self' && iLink.type === 'application/vnd.sas.cas.session.summary' || iLink.rel === 'createSession' && iLink.responseType === 'application/vnd.sas.cas.session') {\n response.data.results.links = response.data.results.links.concat(fixCasSession(iLink, response.data.results, casProxyFlag));\n response.data.results.name2 = response.data.results.name.split(':')[0];\n }\n if (iLink.hasOwnProperty('itemType') && iLink.itemType === 'application/vnd.sas.cas.session.summary') {\n var items = response.data.results.items;\n var pre = \"/\".concat(iLink.casHttp, \"/cas/sessions\");\n for (var i = 0; i < items.length; i++) {\n var item = items[i];\n var uri = \"/casProxy/servers/\".concat(iLink.server, \"/cas/sessions/\").concat(item.id);\n var urihttp = \"\".concat(pre, \"/\").concat(item.id);\n item.links = item.links.map(function (l) {\n l.casHttp = iLink.casHttp;\n l.server = iLink.server;\n return l;\n });\n item.links = item.links.concat(_casSessionLinks__WEBPACK_IMPORTED_MODULE_2___default()(uri, urihttp, iLink.casHttp, iLink.server, casProxyFlag));\n }\n }\n if (iLink.hasOwnProperty('customHandling')) {\n response.data.results = _reduceCasResults__WEBPACK_IMPORTED_MODULE_3___default()(response.data.results);\n response.data.results = {\n items: Object.assign({}, response.data.results)\n };\n response.data.results.customHandling = iLink.customHandling;\n }\n\n //TBD: This could probbably be removed due to enhancements to casManagement\n if ((iLink.href === '/casManagement/' || iLink.href === '/casManagement') && iLink.method === 'GET') {\n response.data.results.links = response.data.results.links.map(function (l) {\n if (l.rel === 'collection') {\n l.title = 'servers';\n l.rel = 'servers';\n l.patch = 'cas';\n }\n return l;\n });\n }\n\n // A seperate loop in case casManagement fixes the issue\n if (iLink.hasOwnProperty('patch') && iLink.rel === 'servers') {\n var _items = response.data.results.items;\n var _loop = function _loop() {\n var item = _items[_i];\n var name = item.name;\n var ll = item.links.map(function (l) {\n l.casHttp = \"\".concat(name, \"-http\"); /* save the http info to propogate to sessions */\n l.server = name;\n return l;\n });\n item.links = ll;\n };\n for (var _i = 0; _i < _items.length; _i++) {\n _loop();\n }\n }\n}\nfunction fixCasSession(iLink, results, casProxyFlag) {\n // proprogate casHttp\n results.links = results.links.map(function (l) {\n l.casHttp = iLink.casHttp;\n l.server = iLink.server;\n return l;\n });\n return sessionLinks(iLink, results.id, casProxyFlag).concat(results.links);\n}\nfunction sessionLinks(iLink, sessionId, casProxyFlag) {\n var uri = \"/casProxy/servers/\".concat(iLink.server, \"/cas/sessions/\").concat(sessionId);\n var urihttp = \"/\".concat(iLink.casHttp, \"/cas/sessions/\").concat(sessionId);\n // propgate server name also\n return _casSessionLinks__WEBPACK_IMPORTED_MODULE_2___default()(uri, urihttp, iLink.casHttp, iLink.server, casProxyFlag);\n}\n/* harmony default export */ __webpack_exports__[\"a\"] = (fixResponse);\n\n//# sourceURL=webpack://restaf/./serverCalls/fixResponse.js?");
2100
2100
 
2101
2101
  /***/ }),
2102
2102
 
@@ -2109,7 +2109,7 @@ eval("/* harmony import */ var _fixImages__WEBPACK_IMPORTED_MODULE_0__ = __webpa
2109
2109
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
2110
2110
 
2111
2111
  "use strict";
2112
- eval("/* WEBPACK VAR INJECTION */(function(Buffer) {/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"c\", function() { return trustedGrant; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return keepAlive; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return request; });\n/* harmony import */ var _babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/typeof */ \"../../../node_modules/@babel/runtime/helpers/typeof.js\");\n/* harmony import */ var _babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/defineProperty */ \"../../../node_modules/@babel/runtime/helpers/defineProperty.js\");\n/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var axios__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! axios */ \"../../../node_modules/axios/index.js\");\n/* harmony import */ var qs__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! qs */ \"../../../node_modules/qs/lib/index.js\");\n/* harmony import */ var qs__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(qs__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _fixResponse__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./fixResponse */ \"./serverCalls/fixResponse.js\");\n/* harmony import */ var https__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! https */ \"../../../node_modules/https-browserify/index.js\");\n/* harmony import */ var https__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(https__WEBPACK_IMPORTED_MODULE_5__);\n\n\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1___default()(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\n/* eslint-disable no-prototype-builtins */\n/*------------------------------------------------------------------------------------\r\n Copyright © 2023, SAS Institute Inc., Cary, NC, USA. All Rights reserved Licensed under the Apache License, Version 2.0 (the \"License\");\r\n you may not use this file except in compliance with the License.\r\n You may obtain a copy of the License at\r\n\r\n http://www.apache.org/licenses/LICENSE-2.0\r\n\r\n Unless required by applicable law or agreed to in writing, software\r\n distributed under the License is distributed on an \"AS IS\" BASIS,\r\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n See the License for the specific language governing permissions and\r\n limitations under the License.\r\n ---------------------------------------------------------------------------------------*/\n\n\n\n\n\n\n// axios.defaults.withCredentials = true\naxios__WEBPACK_IMPORTED_MODULE_2__[/* default */ \"a\"].interceptors.response.use(function (response) {\n return response;\n}, function (error) {\n return Promise.reject(error);\n});\n\n/* X-Uaa-Csrf */\nfunction trustedGrant(iconfig) {\n var link = iconfig.link;\n var auth1 = Buffer.from(iconfig.clientID + \":\" + iconfig.clientSecret).toString(\"base64\");\n auth1 = \"Basic \" + auth1;\n var baseUrl = patchURL4ns(iconfig, link.href);\n var config = {\n method: link.method,\n baseURl: baseUrl,\n url: link.href,\n /*iconfig.host + link.href,*/\n\n headers: {\n Accept: link.responseType,\n \"Content-Type\": link.type /* Axios seems to be case sensitive */,\n Authorization: auth1\n },\n withCredentials: false,\n data: {\n grant_type: \"password\",\n username: iconfig.user,\n password: iconfig.password\n },\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n },\n transformResponse: function transformResponse(data) {\n return data;\n },\n transformRequest: function transformRequest(data) {\n return qs__WEBPACK_IMPORTED_MODULE_3___default.a.stringify(data);\n }\n };\n return makeCall(config, iconfig, iconfig);\n}\nfunction request(iconfig) {\n \"use strict\";\n\n var link = iconfig.link,\n logonInfo = iconfig.logonInfo;\n var iLink = _objectSpread({}, link);\n var payload = iconfig.hasOwnProperty(\"payload\") ? iconfig.payload : null;\n var iqs = null;\n var idata = null;\n var iheaders = null;\n var ixsrf = null;\n var casAction = null;\n if (payload !== null) {\n casAction = hasItem(payload, \"action\");\n iqs = hasItem(payload, \"qs\");\n idata = hasItem(payload, \"data\");\n iheaders = hasItem(payload, \"headers\");\n ixsrf = hasItem(payload, \"xsrf\");\n }\n var baseUrl = patchURL4ns(logonInfo, iLink.href);\n // let url = `${l}${iLink.href}`;\n\n // handle casaction upload\n casAction = casAction != null ? casAction.toLowerCase() : null;\n var url = casAction !== null ? \"\".concat(iLink.href, \"/\").concat(casAction) : \"\".concat(iLink.href);\n if (iLink.hasOwnProperty(\"customHandling\") && casAction !== null) {\n // casAction = casAction.toLowerCase();\n if (casAction === \"table.upload\") {\n iLink.method = \"PUT\";\n iLink.type = \"application/octet-stream\";\n iLink.responseType = \"application/json\";\n }\n }\n var config = {\n method: iLink.method,\n baseURL: baseUrl,\n url: url,\n transformResponse: function transformResponse(data) {\n return data;\n },\n validateStatus: function validateStatus(status) {\n /* 304 for state calls */\n return status === 302 || status === 304 || status >= 200 && status < 300;\n }\n };\n if (logonInfo.token !== null) {\n config.headers = {\n Authorization: logonInfo.tokenType + \" \" + logonInfo.token\n };\n } else {\n config.headers = {};\n config.withCredentials = iconfig.withCredentials == null ? true : iconfig.withCredentials;\n }\n var type = fullType(iLink.type);\n if (iLink.hasOwnProperty(\"responseType\")) {\n if (type !== null) {\n config.headers[\"Content-Type\"] = type;\n }\n config.headers.Accept = fullType(iLink.responseType);\n } else if (type !== null) {\n config.headers.Accept = type;\n if (iLink.method === \"PUT\" || iLink.method === \"POST\" || iLink.method === \"PATCH\") {\n config.headers[\"Content-Type\"] = type;\n }\n }\n if (iheaders !== null) {\n for (var ih in iheaders) {\n //noinspection JSUnfilteredForInLoop\n if (ih.toLowerCase() === \"json-parameters\") {\n //noinspection JSUnfilteredForInLoop\n config.headers[ih] = _babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_0___default()(iheaders[ih]) === \"object\" ? JSON.stringify(iheaders[ih]) : iheaders[ih];\n } else {\n //noinspection JSUnfilteredForInLoop\n config.headers[ih] = iheaders[ih];\n }\n }\n }\n if (ixsrf !== null) {\n var xsrfHeaderName = ixsrf[\"x-csrf-header\"];\n config.xsrfHeaderName = xsrfHeaderName;\n // https://github.com/axios/axios/issues/2024\n config.headers[xsrfHeaderName] = ixsrf[\"x-csrf-token\"];\n if (ixsrf[\"tkhttp_id\"] != null) {\n config.headers[\"tkhttp_id\"] = ixsrf[\"tkhttp_id\"];\n }\n }\n if (iqs !== null) {\n config.params = _objectSpread({}, iqs);\n }\n config.data = idata === null ? {} : idata;\n config.maxContentLength = 2 * 10063256;\n var httpOptions = iconfig.storeConfig.httpOptions;\n if (httpOptions != null) {\n for (var k in httpOptions) {\n config[k] = httpOptions[k];\n }\n }\n setupProxy(iconfig, config);\n return makeCall(config, iconfig, logonInfo);\n}\n// setup if using reverse proxy server\nfunction setupProxy(iconfig, config) {\n var options = iconfig.logonInfo.options;\n if (options.proxyServer != null) {\n var proxy = options.proxy;\n if (proxy.pathname != null && proxy.pathname.trim().length > 0) {\n config.url = \"\".concat(proxy.pathname).concat(config.url); //prepend url with proxy path\n }\n\n config.baseURL = \"\".concat(proxy.protocol, \"//\").concat(proxy.host); //override base url\n }\n}\n// patch the url for namespace - useful for k8s to make calls into another namespace\nfunction patchURL4ns(logInfo, link) {\n var host = logInfo.host;\n if (logInfo.options.ns != null) {\n var service = link.split(\"/\")[1];\n host = \"\".concat(logInfo.protocol).concat(service, \".{logInfo.options.ns}.svc.cluster.local\");\n }\n return host;\n}\nfunction makeCall(config, iconfig, storeConfig) {\n if (storeConfig.protocol === \"https://\" && config.agent == null) {\n var opt = storeConfig.sslOptions != null ? storeConfig.sslOptions : {};\n var agent = new https__WEBPACK_IMPORTED_MODULE_5___default.a.Agent(opt);\n config.httpsAgent = agent;\n }\n return new Promise(function (resolve, reject) {\n debugger;\n Object(axios__WEBPACK_IMPORTED_MODULE_2__[/* default */ \"a\"])(config).then(function (response) {\n parseJSON(response.data).then(function (data) {\n iconfig.data = null; /* get rid of the payload*/\n response.data = {\n results: data,\n iconfig: Object.assign({}, iconfig)\n };\n if (data.hasOwnProperty(\"errorCode\")) {\n //noinspection JSUnresolvedVariable\n response.status = response.data.results.httpStatusCode;\n response.statusText = \"errorCode: \".concat(response.data.results.errorCode);\n reject({\n response: response\n });\n } else {\n resolve(Object(_fixResponse__WEBPACK_IMPORTED_MODULE_4__[/* default */ \"a\"])(response));\n }\n }).catch(function () {\n iconfig.data = null;\n response.data = {\n results: response.data,\n iconfig: Object.assign({}, iconfig)\n };\n resolve(Object(_fixResponse__WEBPACK_IMPORTED_MODULE_4__[/* default */ \"a\"])(response));\n });\n }).catch(function (error) {\n reject(error);\n });\n });\n}\nfunction parseJSON(data) {\n //noinspection JSUnusedLocalSymbols\n return new Promise(function (resolve, reject) {\n if (_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_0___default()(data) === \"object\") {\n resolve(data);\n } else {\n var temp = data.replace(/\\r?\\n|\\r/g, \" \");\n try {\n var odata = JSON.parse(temp);\n resolve(odata);\n } catch (err) {\n resolve(data);\n }\n }\n });\n}\nfunction hasItem(payload, name) {\n for (var _i = 0, _Object$keys = Object.keys(payload); _i < _Object$keys.length; _i++) {\n var k = _Object$keys[_i];\n if (k.toUpperCase() === name.toUpperCase()) {\n return payload[k];\n }\n }\n return null;\n}\nfunction fullType(type) {\n var ntype = type;\n if (ntype === undefined || ntype === null) {\n ntype = null;\n } else {\n if (ntype.indexOf(\"application/vnd\") !== -1) {\n if (ntype.indexOf(\"+json\") === -1) {\n ntype = ntype + \"+json\";\n }\n }\n }\n return ntype;\n}\n\n// Code below is for experimenting.\n\nfunction keepAlive(action) {\n return Object(axios__WEBPACK_IMPORTED_MODULE_2__[/* default */ \"a\"])(action.payload);\n}\n\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../../../node_modules/buffer/index.js */ \"../../../node_modules/buffer/index.js\").Buffer))\n\n//# sourceURL=webpack://restaf/./serverCalls/index.js?");
2112
+ eval("/* WEBPACK VAR INJECTION */(function(Buffer) {/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"c\", function() { return trustedGrant; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return keepAlive; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return request; });\n/* harmony import */ var _babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/typeof */ \"../../../node_modules/@babel/runtime/helpers/typeof.js\");\n/* harmony import */ var _babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/defineProperty */ \"../../../node_modules/@babel/runtime/helpers/defineProperty.js\");\n/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var axios__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! axios */ \"../../../node_modules/axios/index.js\");\n/* harmony import */ var qs__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! qs */ \"../../../node_modules/qs/lib/index.js\");\n/* harmony import */ var qs__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(qs__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _fixResponse__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./fixResponse */ \"./serverCalls/fixResponse.js\");\n/* harmony import */ var https__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! https */ \"../../../node_modules/https-browserify/index.js\");\n/* harmony import */ var https__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(https__WEBPACK_IMPORTED_MODULE_5__);\n\n\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1___default()(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\n/* eslint-disable no-prototype-builtins */\n/*------------------------------------------------------------------------------------\r\n Copyright © 2023, SAS Institute Inc., Cary, NC, USA. All Rights reserved Licensed under the Apache License, Version 2.0 (the \"License\");\r\n you may not use this file except in compliance with the License.\r\n You may obtain a copy of the License at\r\n\r\n http://www.apache.org/licenses/LICENSE-2.0\r\n\r\n Unless required by applicable law or agreed to in writing, software\r\n distributed under the License is distributed on an \"AS IS\" BASIS,\r\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n See the License for the specific language governing permissions and\r\n limitations under the License.\r\n ---------------------------------------------------------------------------------------*/\n\n\n\n\n\n\n// axios.defaults.withCredentials = true\naxios__WEBPACK_IMPORTED_MODULE_2__[/* default */ \"a\"].interceptors.response.use(function (response) {\n return response;\n}, function (error) {\n return Promise.reject(error);\n});\n\n/* X-Uaa-Csrf */\nfunction trustedGrant(iconfig) {\n var link = iconfig.link;\n var auth1 = Buffer.from(iconfig.clientID + \":\" + iconfig.clientSecret).toString(\"base64\");\n auth1 = \"Basic \" + auth1;\n var baseUrl = patchURL4ns(iconfig, link.href);\n var config = {\n method: link.method,\n baseURl: baseUrl,\n url: link.href,\n /*iconfig.host + link.href,*/\n\n headers: {\n Accept: link.responseType,\n \"Content-Type\": link.type /* Axios seems to be case sensitive */,\n Authorization: auth1\n },\n withCredentials: false,\n data: {\n grant_type: \"password\",\n username: iconfig.user,\n password: iconfig.password\n },\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n },\n transformResponse: function transformResponse(data) {\n return data;\n },\n transformRequest: function transformRequest(data) {\n return qs__WEBPACK_IMPORTED_MODULE_3___default.a.stringify(data);\n }\n };\n return makeCall(config, iconfig, iconfig);\n}\nfunction request(iconfig) {\n \"use strict\";\n\n var link = iconfig.link,\n logonInfo = iconfig.logonInfo;\n var iLink = _objectSpread({}, link);\n var payload = iconfig.hasOwnProperty(\"payload\") ? iconfig.payload : null;\n var iqs = null;\n var idata = null;\n var iheaders = null;\n var ixsrf = null;\n var casAction = null;\n debugger;\n if (payload !== null) {\n casAction = hasItem(payload, \"action\");\n iqs = hasItem(payload, \"qs\");\n idata = hasItem(payload, \"data\");\n iheaders = hasItem(payload, \"headers\");\n ixsrf = hasItem(payload, \"xsrf\");\n }\n var baseUrl = patchURL4ns(logonInfo, iLink.href);\n // let url = `${l}${iLink.href}`;\n\n // handle casaction upload\n casAction = casAction != null ? casAction.toLowerCase() : null;\n var url = casAction !== null ? \"\".concat(iLink.href, \"/\").concat(casAction) : \"\".concat(iLink.href);\n if (iLink.hasOwnProperty(\"customHandling\") && casAction !== null) {\n // casAction = casAction.toLowerCase();\n if (casAction === \"table.upload\") {\n iLink.method = \"PUT\";\n iLink.type = \"application/octet-stream\";\n iLink.responseType = \"application/json\";\n }\n }\n var config = {\n method: iLink.method,\n baseURL: baseUrl,\n url: url,\n transformResponse: function transformResponse(data) {\n return data;\n },\n validateStatus: function validateStatus(status) {\n /* 304 for state calls */\n return status === 302 || status === 304 || status >= 200 && status < 300;\n }\n };\n config.headers = {};\n if (logonInfo.token !== null) {\n config.headers['Authorization'] = logonInfo.tokenType + \" \" + logonInfo.token;\n } else {\n config.withCredentials = iconfig.withCredentials == null ? true : iconfig.withCredentials;\n }\n var type = fullType(iLink.type);\n if (iLink.hasOwnProperty(\"responseType\")) {\n if (type !== null) {\n config.headers[\"Content-Type\"] = type;\n }\n config.headers.Accept = fullType(iLink.responseType);\n } else if (type !== null) {\n config.headers.Accept = type;\n if (iLink.method === \"PUT\" || iLink.method === \"POST\" || iLink.method === \"PATCH\") {\n config.headers[\"Content-Type\"] = type;\n }\n }\n if (iheaders !== null) {\n for (var ih in iheaders) {\n //noinspection JSUnfilteredForInLoop\n if (ih.toLowerCase() === \"json-parameters\") {\n //noinspection JSUnfilteredForInLoop\n config.headers[ih] = _babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_0___default()(iheaders[ih]) === \"object\" ? JSON.stringify(iheaders[ih]) : iheaders[ih];\n } else {\n //noinspection JSUnfilteredForInLoop\n config.headers[ih] = iheaders[ih];\n }\n }\n }\n debugger;\n console.log(ixsrf);\n if (ixsrf !== null) {\n /* TBD: fix parallel calls to get of this conditional */\n var xsrfHeaderName = ixsrf[\"x-csrf-header\"];\n if (xsrfHeaderName != null) {\n config.xsrfHeaderName = xsrfHeaderName;\n // https://github.com/axios/axios/issues/2024\n config.headers[xsrfHeaderName] = ixsrf[\"x-csrf-token\"];\n }\n if (ixsrf[\"tkhttp_id\"] != null) {\n config.headers[\"tkhttp_id\"] = ixsrf[\"tkhttp_id\"];\n }\n console.log('tkhttp-id== ', config.headers['tkhttp-id']);\n }\n if (iqs !== null) {\n config.params = _objectSpread({}, iqs);\n }\n config.data = idata === null ? {} : idata;\n config.maxContentLength = 2 * 10063256;\n var httpOptions = iconfig.storeConfig.httpOptions;\n if (httpOptions != null) {\n for (var k in httpOptions) {\n config[k] = httpOptions[k];\n }\n }\n setupProxy(iconfig, config);\n return makeCall(config, iconfig, logonInfo);\n}\n// setup if using reverse proxy server\nfunction setupProxy(iconfig, config) {\n var options = iconfig.logonInfo.options;\n if (options.proxyServer != null) {\n var proxy = options.proxy;\n if (proxy.pathname != null && proxy.pathname.trim().length > 0) {\n config.url = \"\".concat(proxy.pathname).concat(config.url); //prepend url with proxy path\n }\n\n config.baseURL = \"\".concat(proxy.protocol, \"//\").concat(proxy.host); //override base url\n }\n}\n// patch the url for namespace - useful for k8s to make calls into another namespace\nfunction patchURL4ns(logInfo, link) {\n var host = logInfo.host;\n if (logInfo.options.ns != null) {\n var service = link.split(\"/\")[1];\n host = \"\".concat(logInfo.protocol).concat(service, \".{logInfo.options.ns}.svc.cluster.local\");\n }\n return host;\n}\nfunction makeCall(config, iconfig, storeConfig) {\n if (storeConfig.protocol === \"https://\" && config.agent == null) {\n var opt = storeConfig.sslOptions != null ? storeConfig.sslOptions : {};\n var agent = new https__WEBPACK_IMPORTED_MODULE_5___default.a.Agent(opt);\n config.httpsAgent = agent;\n }\n return new Promise(function (resolve, reject) {\n debugger;\n console.log(config.url);\n Object(axios__WEBPACK_IMPORTED_MODULE_2__[/* default */ \"a\"])(config).then(function (response) {\n parseJSON(response.data).then(function (data) {\n iconfig.data = null; /* get rid of the payload*/\n response.data = {\n results: data,\n iconfig: Object.assign({}, iconfig)\n };\n if (data.hasOwnProperty(\"errorCode\")) {\n //noinspection JSUnresolvedVariable\n response.status = response.data.results.httpStatusCode;\n response.statusText = \"errorCode: \".concat(response.data.results.errorCode);\n reject({\n response: response\n });\n } else {\n resolve(Object(_fixResponse__WEBPACK_IMPORTED_MODULE_4__[/* default */ \"a\"])(response));\n }\n }).catch(function () {\n iconfig.data = null;\n response.data = {\n results: response.data,\n iconfig: Object.assign({}, iconfig)\n };\n resolve(Object(_fixResponse__WEBPACK_IMPORTED_MODULE_4__[/* default */ \"a\"])(response));\n });\n }).catch(function (error) {\n reject(error);\n });\n });\n}\nfunction parseJSON(data) {\n //noinspection JSUnusedLocalSymbols\n return new Promise(function (resolve, reject) {\n if (_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_0___default()(data) === \"object\") {\n resolve(data);\n } else {\n var temp = data.replace(/\\r?\\n|\\r/g, \" \");\n try {\n var odata = JSON.parse(temp);\n resolve(odata);\n } catch (err) {\n resolve(data);\n }\n }\n });\n}\nfunction hasItem(payload, name) {\n for (var _i = 0, _Object$keys = Object.keys(payload); _i < _Object$keys.length; _i++) {\n var k = _Object$keys[_i];\n if (k.toUpperCase() === name.toUpperCase()) {\n return payload[k];\n }\n }\n return null;\n}\nfunction fullType(type) {\n var ntype = type;\n if (ntype === undefined || ntype === null) {\n ntype = null;\n } else {\n if (ntype.indexOf(\"application/vnd\") !== -1) {\n if (ntype.indexOf(\"+json\") === -1) {\n ntype = ntype + \"+json\";\n }\n }\n }\n return ntype;\n}\n\n// Code below is for experimenting.\n\nfunction keepAlive(action) {\n return Object(axios__WEBPACK_IMPORTED_MODULE_2__[/* default */ \"a\"])(action.payload);\n}\n\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../../../node_modules/buffer/index.js */ \"../../../node_modules/buffer/index.js\").Buffer))\n\n//# sourceURL=webpack://restaf/./serverCalls/index.js?");
2113
2113
 
2114
2114
  /***/ }),
2115
2115
 
@@ -2135,7 +2135,7 @@ eval("/*\r\n * Copyright © 2023, SAS Institute Inc., Cary, NC, USA. All Rights
2135
2135
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
2136
2136
 
2137
2137
  "use strict";
2138
- eval("/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ \"../../../node_modules/@babel/runtime/helpers/asyncToGenerator.js\");\n/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/regenerator */ \"../../../node_modules/@babel/runtime/regenerator/index.js\");\n/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _iaddServices__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./iaddServices */ \"./store/iaddServices.js\");\n/* harmony import */ var _actionTypes__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../actionTypes */ \"./actionTypes/index.js\");\n/* harmony import */ var _appData__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./appData */ \"./store/appData.js\");\n/* harmony import */ var _getServiceRoot__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./getServiceRoot */ \"./store/getServiceRoot.js\");\n/*\r\n * ------------------------------------------------------------------------------------\r\n * Copyright © 2023, SAS Institute Inc., Cary, NC, USA. * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n * ---------------------------------------------------------------------------------------\r\n *\r\n */\n\n\n\n\n\n\n\n\n/**\r\n * @description Add(initialize) services to the store\r\n * @async\r\n * @module addServices\r\n * @category restaf/core\r\n * @param {...any} serviceNames - list of services\r\n * @returns {promise}\r\n * @example\r\n * const {compute, casManagement} = await store.addServices('compute', 'casManagewment);\r\n * \r\n */\nfunction addServices(_x) {\n return _addServices.apply(this, arguments);\n}\nfunction _addServices() {\n _addServices = _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0___default()( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default.a.mark(function _callee(store) {\n var _len,\n services,\n _key,\n subList,\n ifolder,\n _yield$iaddServices,\n folders,\n xsrfTokens,\n service,\n s,\n _args = arguments;\n return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default.a.wrap(function _callee$(_context) {\n while (1) switch (_context.prev = _context.next) {\n case 0:\n for (_len = _args.length, services = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n services[_key - 1] = _args[_key];\n }\n if (services.includes('casManagement')) {\n services.push('casProxy');\n // services.push('cas-shared-default-http/healthCheck');\n }\n\n // loop for initialized services\n subList = [];\n ifolder = {};\n services.map(function (s) {\n ifolder[s] = Object(_getServiceRoot__WEBPACK_IMPORTED_MODULE_5__[/* default */ \"a\"])(store, s);\n if (ifolder[s] === null) {\n subList.push(s);\n }\n });\n\n // initialize new services\n if (!(subList.length > 0)) {\n _context.next = 13;\n break;\n }\n _context.next = 8;\n return Object(_iaddServices__WEBPACK_IMPORTED_MODULE_2__[/* default */ \"a\"])(store, subList);\n case 8:\n _yield$iaddServices = _context.sent;\n folders = _yield$iaddServices.folders;\n xsrfTokens = _yield$iaddServices.xsrfTokens;\n for (service in xsrfTokens) {\n Object(_appData__WEBPACK_IMPORTED_MODULE_4__[/* default */ \"a\"])(store, _actionTypes__WEBPACK_IMPORTED_MODULE_3__[/* API_XSRF */ \"h\"], service, xsrfTokens[service]);\n }\n // merge new ones into preloaded list\n for (s in folders) {\n ifolder[s] = folders[s];\n }\n case 13:\n return _context.abrupt(\"return\", ifolder);\n case 14:\n case \"end\":\n return _context.stop();\n }\n }, _callee);\n }));\n return _addServices.apply(this, arguments);\n}\n/* harmony default export */ __webpack_exports__[\"a\"] = (addServices);\n\n//# sourceURL=webpack://restaf/./store/addServices.js?");
2138
+ eval("/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ \"../../../node_modules/@babel/runtime/helpers/asyncToGenerator.js\");\n/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/regenerator */ \"../../../node_modules/@babel/runtime/regenerator/index.js\");\n/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _iaddServices__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./iaddServices */ \"./store/iaddServices.js\");\n/* harmony import */ var _actionTypes__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../actionTypes */ \"./actionTypes/index.js\");\n/* harmony import */ var _appData__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./appData */ \"./store/appData.js\");\n/* harmony import */ var _getServiceRoot__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./getServiceRoot */ \"./store/getServiceRoot.js\");\n/*\r\n * ------------------------------------------------------------------------------------\r\n * Copyright © 2023, SAS Institute Inc., Cary, NC, USA. * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n * ---------------------------------------------------------------------------------------\r\n *\r\n */\n\n\n\n\n\n\n\n\n/**\r\n * @description Add(initialize) services to the store\r\n * @async\r\n * @module addServices\r\n * @category restaf/core\r\n * @param {...any} serviceNames - list of services\r\n * @returns {promise}\r\n * @example\r\n * const {compute, casManagement} = await store.addServices('compute', 'casManagewment);\r\n * \r\n */\nfunction addServices(_x) {\n return _addServices.apply(this, arguments);\n}\nfunction _addServices() {\n _addServices = _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0___default()( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default.a.mark(function _callee(store) {\n var _len,\n services,\n _key,\n subList,\n ifolder,\n _yield$iaddServices,\n folders,\n xsrfTokens,\n service,\n s,\n _args = arguments;\n return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default.a.wrap(function _callee$(_context) {\n while (1) switch (_context.prev = _context.next) {\n case 0:\n debugger;\n for (_len = _args.length, services = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n services[_key - 1] = _args[_key];\n }\n if (services.includes('casManagement')) {\n services.push('casProxy');\n // services.push('cas-shared-default-http/healthCheck');\n }\n\n // loop for initialized services\n subList = [];\n ifolder = {};\n services.map(function (s) {\n ifolder[s] = Object(_getServiceRoot__WEBPACK_IMPORTED_MODULE_5__[/* default */ \"a\"])(store, s);\n if (ifolder[s] === null) {\n subList.push(s);\n }\n });\n\n // initialize new services\n if (!(subList.length > 0)) {\n _context.next = 15;\n break;\n }\n debugger;\n _context.next = 10;\n return Object(_iaddServices__WEBPACK_IMPORTED_MODULE_2__[/* default */ \"a\"])(store, subList);\n case 10:\n _yield$iaddServices = _context.sent;\n folders = _yield$iaddServices.folders;\n xsrfTokens = _yield$iaddServices.xsrfTokens;\n for (service in xsrfTokens) {\n debugger;\n Object(_appData__WEBPACK_IMPORTED_MODULE_4__[/* default */ \"a\"])(store, _actionTypes__WEBPACK_IMPORTED_MODULE_3__[/* API_XSRF */ \"h\"], service, xsrfTokens[service]);\n }\n // merge new ones into preloaded list\n for (s in folders) {\n ifolder[s] = folders[s];\n }\n case 15:\n debugger;\n return _context.abrupt(\"return\", ifolder);\n case 17:\n case \"end\":\n return _context.stop();\n }\n }, _callee);\n }));\n return _addServices.apply(this, arguments);\n}\n/* harmony default export */ __webpack_exports__[\"a\"] = (addServices);\n\n//# sourceURL=webpack://restaf/./store/addServices.js?");
2139
2139
 
2140
2140
  /***/ }),
2141
2141
 
@@ -2148,7 +2148,7 @@ eval("/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_
2148
2148
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
2149
2149
 
2150
2150
  "use strict";
2151
- eval("/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ \"../../../node_modules/@babel/runtime/helpers/asyncToGenerator.js\");\n/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/regenerator */ \"../../../node_modules/@babel/runtime/regenerator/index.js\");\n/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _iapiCall__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./iapiCall */ \"./store/iapiCall.js\");\n/* harmony import */ var _actionTypes__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../actionTypes */ \"./actionTypes/index.js\");\n/* harmony import */ var _appData__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./appData */ \"./store/appData.js\");\n/*\r\n * ------------------------------------------------------------------------------------\r\n * Copyright © 2023, SAS Institute Inc., Cary, NC, USA. * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n * ---------------------------------------------------------------------------------------\r\n *\r\n */\n\n\n\n\n\n\n\n/**\r\n * @description make an api call to viya\r\n * @module apiCall\r\n * @category restaf/core\r\n * @param {rafLinkeRel} iroute \r\n * @param {*} payload \r\n * @param {...any} rest \r\n * @returns {promise} returns a rafObject\r\n */\nfunction apiCall(_x, _x2, _x3) {\n return _apiCall.apply(this, arguments);\n}\nfunction _apiCall() {\n _apiCall = _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0___default()( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default.a.mark(function _callee(store, iroute, payload) {\n var _len,\n rest,\n _key,\n response,\n xheader,\n newXsrf,\n xtoken,\n _args = arguments;\n return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default.a.wrap(function _callee$(_context) {\n while (1) switch (_context.prev = _context.next) {\n case 0:\n for (_len = _args.length, rest = new Array(_len > 3 ? _len - 3 : 0), _key = 3; _key < _len; _key++) {\n rest[_key - 3] = _args[_key];\n }\n _context.next = 3;\n return _iapiCall__WEBPACK_IMPORTED_MODULE_2__[/* default */ \"a\"].apply(void 0, [store, iroute, _actionTypes__WEBPACK_IMPORTED_MODULE_3__[/* API_CALL */ \"b\"], payload].concat(rest));\n case 3:\n response = _context.sent;\n // Update csrf data if present in headers\n // TBD: csrf with DELETE behavior needs to be reviewed\n debugger;\n xheader = response.headers('x-csrf-header');\n newXsrf = null;\n if (xheader !== null) {\n xtoken = response.headers('x-csrf-token');\n newXsrf = {\n 'x-csrf-header': xheader,\n 'x-csrf-token': xtoken,\n 'tkhttp_id': response.headers('tkhttp_id')\n };\n Object(_appData__WEBPACK_IMPORTED_MODULE_4__[/* default */ \"a\"])(store, _actionTypes__WEBPACK_IMPORTED_MODULE_3__[/* API_XSRF */ \"h\"], response.service, newXsrf);\n }\n return _context.abrupt(\"return\", response);\n case 9:\n case \"end\":\n return _context.stop();\n }\n }, _callee);\n }));\n return _apiCall.apply(this, arguments);\n}\n;\n/* harmony default export */ __webpack_exports__[\"a\"] = (apiCall);\n\n//# sourceURL=webpack://restaf/./store/apiCall.js?");
2151
+ eval("/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ \"../../../node_modules/@babel/runtime/helpers/asyncToGenerator.js\");\n/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/regenerator */ \"../../../node_modules/@babel/runtime/regenerator/index.js\");\n/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _iapiCall__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./iapiCall */ \"./store/iapiCall.js\");\n/* harmony import */ var _actionTypes__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../actionTypes */ \"./actionTypes/index.js\");\n/* harmony import */ var _appData__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./appData */ \"./store/appData.js\");\n/* harmony import */ var _setXsrData__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./setXsrData */ \"./store/setXsrData.js\");\n/*\r\n * ------------------------------------------------------------------------------------\r\n * Copyright © 2023, SAS Institute Inc., Cary, NC, USA. * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n * ---------------------------------------------------------------------------------------\r\n *\r\n */\n\n\n\n\n\n\n\n\n\n/**\r\n * @description make an api call to viya\r\n * @module apiCall\r\n * @category restaf/core\r\n * @param {rafLinkeRel} iroute \r\n * @param {*} payload \r\n * @param {...any} rest \r\n * @returns {promise} returns a rafObject\r\n */\nfunction apiCall(_x, _x2, _x3) {\n return _apiCall.apply(this, arguments);\n}\nfunction _apiCall() {\n _apiCall = _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0___default()( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default.a.mark(function _callee(store, iroute, payload) {\n var _len,\n rest,\n _key,\n response,\n newXsrf,\n _args = arguments;\n return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default.a.wrap(function _callee$(_context) {\n while (1) switch (_context.prev = _context.next) {\n case 0:\n // const apiCall = ( store, iroute, payload, ...rest ) => {\n debugger;\n for (_len = _args.length, rest = new Array(_len > 3 ? _len - 3 : 0), _key = 3; _key < _len; _key++) {\n rest[_key - 3] = _args[_key];\n }\n _context.next = 4;\n return _iapiCall__WEBPACK_IMPORTED_MODULE_2__[/* default */ \"a\"].apply(void 0, [store, iroute, _actionTypes__WEBPACK_IMPORTED_MODULE_3__[/* API_CALL */ \"b\"], payload].concat(rest));\n case 4:\n response = _context.sent;\n debugger;\n // Update csrf data if present in headers\n // TBD: csrf with DELETE behavior needs to be reviewed\n debugger;\n newXsrf = Object(_setXsrData__WEBPACK_IMPORTED_MODULE_5__[/* default */ \"a\"])(response.headers);\n debugger;\n Object(_appData__WEBPACK_IMPORTED_MODULE_4__[/* default */ \"a\"])(store, _actionTypes__WEBPACK_IMPORTED_MODULE_3__[/* API_XSRF */ \"h\"], response.service, newXsrf);\n return _context.abrupt(\"return\", response);\n case 11:\n case \"end\":\n return _context.stop();\n }\n }, _callee);\n }));\n return _apiCall.apply(this, arguments);\n}\n;\n/* harmony default export */ __webpack_exports__[\"a\"] = (apiCall);\n\n//# sourceURL=webpack://restaf/./store/apiCall.js?");
2152
2152
 
2153
2153
  /***/ }),
2154
2154
 
@@ -2330,7 +2330,7 @@ eval("/* harmony import */ var _babel_runtime_helpers_toConsumableArray__WEBPACK
2330
2330
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
2331
2331
 
2332
2332
  "use strict";
2333
- eval("/* harmony import */ var _actionTypes__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../actionTypes */ \"./actionTypes/index.js\");\n/* harmony import */ var _getResults__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./getResults */ \"./store/getResults.js\");\n/* harmony import */ var _extendFolder__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./extendFolder */ \"./store/extendFolder.js\");\n/* harmony import */ var _reducers_injectAsyncReducers__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../reducers/injectAsyncReducers */ \"./reducers/injectAsyncReducers.js\");\n/* harmony import */ var _reducers_baseReducer__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../reducers/baseReducer */ \"./reducers/baseReducer.js\");\n/*\r\n * ------------------------------------------------------------------------------------\r\n * Copyright © 2023, SAS Institute Inc., Cary, NC, USA. * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n * ---------------------------------------------------------------------------------------\r\n *\r\n */\n\n\n\n\n\n\n\nvar iaddServices = function iaddServices(store, services) {\n return new Promise(function (resolve, reject) {\n //\n // Add a reducer for each service\n //\n\n services.forEach(function (service) {\n Object(_reducers_injectAsyncReducers__WEBPACK_IMPORTED_MODULE_3__[/* default */ \"a\"])(store, service, Object(_reducers_baseReducer__WEBPACK_IMPORTED_MODULE_4__[/* default */ \"a\"])(service));\n });\n\n //\n // Create actionArray for the services\n //\n var actionArray = services.map(function (service) {\n var s = {\n type: _actionTypes__WEBPACK_IMPORTED_MODULE_0__[/* ADD_SERVICE */ \"a\"],\n link: {\n method: 'GET',\n href: '/' + service + '/',\n rel: 'root',\n type: 'application/vnd.sas.api+json',\n responseType: 'application/json, application/vnd.sas.api+json',\n uri: '/' + service + '/'\n },\n logonInfo: null,\n tLink: null,\n /* null indicates root of service */\n serviceName: service,\n route: service,\n storeConfig: store.config\n };\n //to support PuP / workbench\n if (service == 'compute' && store.config.options.computeServerId != null && store.config.options.computeServerId.trim().length > 0) {\n console.log('assuming workbench');\n s.link.href = '/compute/servers/' + store.config.options.computeServerId + '/';\n s.link.url = s.link.href;\n }\n return s;\n });\n\n //\n // The first callback needs to be ignored\n //\n var start = true;\n\n //\n // subscribe function\n //\n var nextE = function nextE() {\n if (start) {\n start = false;\n return;\n }\n var folders = {};\n var xsrfTokens = {};\n /* */\n //\n // check the status of the call.\n // if all of them completed then resolve this promise or reject if error as soon as\n // an error is detected.\n //\n\n var count = 0;\n for (var i = 0; i < actionArray.length; i++) {\n //noinspection JSUnresolvedVariable\n var f = Object(_getResults__WEBPACK_IMPORTED_MODULE_1__[/* default */ \"a\"])(store, actionArray[i].route);\n if (f !== null) {\n var runStatus = f.get('runStatus');\n if (runStatus === 'error') {\n unSubscribe();\n var err = {\n service: services[i],\n detail: f.get('statusInfo')\n };\n reject(err);\n } else if (runStatus === 'ready') {\n count++;\n var ff = Object(_extendFolder__WEBPACK_IMPORTED_MODULE_2__[/* default */ \"a\"])(store, f);\n folders[services[i]] = ff;\n var xheader = ff.headers('x-csrf-header');\n if (xheader !== null) {\n var xtoken = ff.headers('x-csrf-token');\n var xx = {\n 'x-csrf-header': xheader,\n 'x-csrf-token': xtoken\n };\n xsrfTokens[services[i]] = xx;\n } else {\n xsrfTokens[services[i]] = null;\n }\n }\n }\n }\n if (count === actionArray.length) {\n unSubscribe();\n resolve({\n folders: folders,\n xsrfTokens: xsrfTokens\n });\n }\n };\n\n //\n // subscribe to store\n //\n var unSubscribe = store.subscribe(nextE);\n\n //\n // dispatch the actionArray\n //\n\n //\n // interval is a place holder for creating interval between calls\n // Yet to be implemented\n //\n\n store.dispatch({\n type: _actionTypes__WEBPACK_IMPORTED_MODULE_0__[/* API_CALL_PARALLEL */ \"c\"],\n interval: -1,\n actionArray: actionArray\n });\n });\n};\n/* harmony default export */ __webpack_exports__[\"a\"] = (iaddServices);\n\n//# sourceURL=webpack://restaf/./store/iaddServices.js?");
2333
+ eval("/* harmony import */ var _actionTypes__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../actionTypes */ \"./actionTypes/index.js\");\n/* harmony import */ var _getResults__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./getResults */ \"./store/getResults.js\");\n/* harmony import */ var _extendFolder__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./extendFolder */ \"./store/extendFolder.js\");\n/* harmony import */ var _reducers_injectAsyncReducers__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../reducers/injectAsyncReducers */ \"./reducers/injectAsyncReducers.js\");\n/* harmony import */ var _reducers_baseReducer__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../reducers/baseReducer */ \"./reducers/baseReducer.js\");\n/* harmony import */ var _setXsrData__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./setXsrData */ \"./store/setXsrData.js\");\n/*\r\n * ------------------------------------------------------------------------------------\r\n * Copyright © 2023, SAS Institute Inc., Cary, NC, USA. * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n * ---------------------------------------------------------------------------------------\r\n *\r\n */\n\n\n\n\n\n\n\n\nvar iaddServices = function iaddServices(store, services) {\n return new Promise(function (resolve, reject) {\n //\n // Add a reducer for each service\n //\n\n services.forEach(function (service) {\n Object(_reducers_injectAsyncReducers__WEBPACK_IMPORTED_MODULE_3__[/* default */ \"a\"])(store, service, Object(_reducers_baseReducer__WEBPACK_IMPORTED_MODULE_4__[/* default */ \"a\"])(service));\n });\n\n //\n // Create actionArray for the services\n //\n var actionArray = services.map(function (service) {\n var s = {\n type: _actionTypes__WEBPACK_IMPORTED_MODULE_0__[/* ADD_SERVICE */ \"a\"],\n link: {\n method: 'GET',\n href: '/' + service + '/',\n rel: 'root',\n type: 'application/vnd.sas.api+json',\n responseType: 'application/json, application/vnd.sas.api+json',\n uri: '/' + service + '/'\n },\n logonInfo: null,\n tLink: null,\n /* null indicates root of service */\n serviceName: service,\n route: service,\n storeConfig: store.config\n };\n //to support PuP / workbench\n if (service == 'compute' && store.config.options.computeServerId != null && store.config.options.computeServerId.trim().length > 0) {\n console.log('assuming workbench');\n s.link.href = '/compute/servers/' + store.config.options.computeServerId + '/';\n s.link.url = s.link.href;\n }\n return s;\n });\n\n //\n // The first callback needs to be ignored\n //\n var start = true;\n\n //\n // subscribe function\n //\n var nextE = function nextE() {\n if (start) {\n start = false;\n return;\n }\n var folders = {};\n var xsrfTokens = {};\n /* */\n //\n // check the status of the call.\n // if all of them completed then resolve this promise or reject if error as soon as\n // an error is detected.\n //\n\n var count = 0;\n for (var i = 0; i < actionArray.length; i++) {\n //noinspection JSUnresolvedVariable\n var f = Object(_getResults__WEBPACK_IMPORTED_MODULE_1__[/* default */ \"a\"])(store, actionArray[i].route);\n if (f !== null) {\n var runStatus = f.get('runStatus');\n if (runStatus === 'error') {\n unSubscribe();\n var err = {\n service: services[i],\n detail: f.get('statusInfo')\n };\n reject(err);\n } else if (runStatus === 'ready') {\n count++;\n var ff = Object(_extendFolder__WEBPACK_IMPORTED_MODULE_2__[/* default */ \"a\"])(store, f);\n folders[services[i]] = ff;\n xsrfTokens[services[i]] = Object(_setXsrData__WEBPACK_IMPORTED_MODULE_5__[/* default */ \"a\"])(ff.headers);\n }\n }\n }\n if (count === actionArray.length) {\n unSubscribe();\n resolve({\n folders: folders,\n xsrfTokens: xsrfTokens\n });\n }\n };\n\n //\n // subscribe to store\n //\n var unSubscribe = store.subscribe(nextE);\n\n //\n // dispatch the actionArray\n //\n\n //\n // interval is a place holder for creating interval between calls\n // Yet to be implemented\n //\n\n store.dispatch({\n type: _actionTypes__WEBPACK_IMPORTED_MODULE_0__[/* API_CALL_PARALLEL */ \"c\"],\n interval: -1,\n actionArray: actionArray\n });\n });\n};\n/* harmony default export */ __webpack_exports__[\"a\"] = (iaddServices);\n\n//# sourceURL=webpack://restaf/./store/iaddServices.js?");
2334
2334
 
2335
2335
  /***/ }),
2336
2336
 
@@ -2343,7 +2343,7 @@ eval("/* harmony import */ var _actionTypes__WEBPACK_IMPORTED_MODULE_0__ = __web
2343
2343
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
2344
2344
 
2345
2345
  "use strict";
2346
- eval("/* harmony import */ var _getResults__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getResults */ \"./store/getResults.js\");\n/* harmony import */ var _extendFolder__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./extendFolder */ \"./store/extendFolder.js\");\n/* harmony import */ var _prepareAction__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./prepareAction */ \"./store/prepareAction.js\");\n/* harmony import */ var _actionTypes__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../actionTypes */ \"./actionTypes/index.js\");\n/*\r\n * ------------------------------------------------------------------------------------\r\n * Copyright © 2023, SAS Institute Inc., Cary, NC, USA. * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n * ---------------------------------------------------------------------------------------\r\n *\r\n */\n\n\n\n\n\n\n\n\n// import ikeepAlive from './ikeepAlive';\n\nvar iapiCall = function iapiCall(store, iroute, actionType, payload, delay, eventHandler, parentRoute, jobContext) {\n return new Promise(function (resolve, reject) {\n var route;\n var unSubscribe;\n var start = true;\n\n // create action\n var action = Object(_prepareAction__WEBPACK_IMPORTED_MODULE_2__[/* default */ \"a\"])(store, iroute, actionType, payload, delay, eventHandler, parentRoute, jobContext);\n if (action === null) {\n reject({\n error: 'Bad route and/or rafLink',\n args: iroute\n });\n }\n // save route\n //noinspection JSUnresolvedVariable\n route = action.route;\n\n // subscribe callback\n var nextE = function nextE() {\n if (start) {\n start = false;\n return;\n }\n var f = Object(_getResults__WEBPACK_IMPORTED_MODULE_0__[/* default */ \"a\"])(store, route);\n if (!f) {\n /* should never happen, hmmm! */\n unSubscribe();\n reject({\n error: 'Hmmm! Failed to resolve route in apiCall callback - should never happen. Call Programmer',\n route: route\n });\n } else {\n var runStatus = f.get('runStatus');\n if (runStatus === 'error') {\n unSubscribe();\n reject(f.get('statusInfo'));\n } else if (runStatus === 'ready') {\n unSubscribe();\n var efolder = Object(_extendFolder__WEBPACK_IMPORTED_MODULE_1__[/* default */ \"a\"])(store, f);\n efolder.service = action.serviceName;\n //ikeepAlive(store); \n resolve(efolder);\n }\n }\n };\n\n // subscribe to store\n unSubscribe = store.subscribe(nextE);\n\n // dispatch action\n store.dispatch(action);\n });\n};\n/* harmony default export */ __webpack_exports__[\"a\"] = (iapiCall);\n\n//# sourceURL=webpack://restaf/./store/iapiCall.js?");
2346
+ eval("/* harmony import */ var _getResults__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getResults */ \"./store/getResults.js\");\n/* harmony import */ var _extendFolder__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./extendFolder */ \"./store/extendFolder.js\");\n/* harmony import */ var _prepareAction__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./prepareAction */ \"./store/prepareAction.js\");\n/* harmony import */ var _actionTypes__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../actionTypes */ \"./actionTypes/index.js\");\n/*\r\n * ------------------------------------------------------------------------------------\r\n * Copyright © 2023, SAS Institute Inc., Cary, NC, USA. * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n * ---------------------------------------------------------------------------------------\r\n *\r\n */\n\n\n\n\n\n\n\n\n// import ikeepAlive from './ikeepAlive';\n\nvar iapiCall = function iapiCall(store, iroute, actionType, payload, delay, eventHandler, parentRoute, jobContext) {\n return new Promise(function (resolve, reject) {\n var route;\n var unSubscribe;\n var start = true;\n debugger;\n // create action\n var action = Object(_prepareAction__WEBPACK_IMPORTED_MODULE_2__[/* default */ \"a\"])(store, iroute, actionType, payload, delay, eventHandler, parentRoute, jobContext);\n if (action === null) {\n reject({\n error: 'Bad route and/or rafLink',\n args: iroute\n });\n }\n // save route\n //noinspection JSUnresolvedVariable\n route = action.route;\n\n // subscribe callback\n var nextE = function nextE() {\n if (start) {\n start = false;\n return;\n }\n var f = Object(_getResults__WEBPACK_IMPORTED_MODULE_0__[/* default */ \"a\"])(store, route);\n if (!f) {\n /* should never happen, hmmm! */\n unSubscribe();\n reject({\n error: 'Hmmm! Failed to resolve route in apiCall callback - should never happen. Call Programmer',\n route: route\n });\n } else {\n var runStatus = f.get('runStatus');\n if (runStatus === 'error') {\n unSubscribe();\n reject(f.get('statusInfo'));\n } else if (runStatus === 'ready') {\n unSubscribe();\n var efolder = Object(_extendFolder__WEBPACK_IMPORTED_MODULE_1__[/* default */ \"a\"])(store, f);\n efolder.service = action.serviceName;\n //ikeepAlive(store); \n resolve(efolder);\n }\n }\n };\n\n // subscribe to store\n unSubscribe = store.subscribe(nextE);\n\n // dispatch action\n store.dispatch(action);\n });\n};\n/* harmony default export */ __webpack_exports__[\"a\"] = (iapiCall);\n\n//# sourceURL=webpack://restaf/./store/iapiCall.js?");
2347
2347
 
2348
2348
  /***/ }),
2349
2349
 
@@ -2473,7 +2473,7 @@ eval("/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IM
2473
2473
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
2474
2474
 
2475
2475
  "use strict";
2476
- eval("/* harmony import */ var _getResults__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getResults */ \"./store/getResults.js\");\n/* harmony import */ var _getXsrfData__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./getXsrfData */ \"./store/getXsrfData.js\");\n/*\r\n * ------------------------------------------------------------------------------------\r\n * Copyright © 2023, SAS Institute Inc., Cary, NC, USA. * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n * ---------------------------------------------------------------------------------------\r\n *\r\n */\n\n\n\nvar Immutable = __webpack_require__(/*! immutable */ \"../../../node_modules/immutable/dist/immutable.es.js\");\n\n\nvar prepareAction = function prepareAction(store, iroute, actionType, payload, delay, eventHandler, parentRoute, jobContext) {\n var paginator;\n var route;\n var link;\n var serviceName;\n var current;\n debugger;\n if (typeof iroute === 'string') {\n current = Object(_getResults__WEBPACK_IMPORTED_MODULE_0__[/* default */ \"a\"])(store, iroute);\n route = iroute;\n } else {\n current = iroute;\n route = current.get('route');\n }\n if (current === null || Immutable.Iterable.isIterable(current) === false) {\n return null;\n }\n /* */\n paginator = current.get('paginator');\n link = current.get('link').toJS();\n if (paginator) {\n route = current.get('parentRoute');\n serviceName = route.split(':/')[0];\n } else {\n var searchPath = route.split(':/');\n serviceName = searchPath[0];\n searchPath.splice(1, 0, store.apiCallNo);\n route = searchPath.join(':/');\n store.apiCallNo++;\n }\n var action = {\n type: actionType,\n delay: delay == null ? 0 : delay,\n paginator: paginator,\n serviceName: serviceName,\n route: route,\n eventHandler: eventHandler,\n parentRoute: parentRoute,\n jobContext: jobContext,\n storeConfig: store.config,\n link: link\n };\n if (link.href.indexOf('casProxy') >= 0) {\n serviceName = 'casProxy';\n }\n var xsrfHeader = Object(_getXsrfData__WEBPACK_IMPORTED_MODULE_1__[/* default */ \"a\"])(store, serviceName);\n if (payload != null) {\n action.payload = payload;\n }\n if (xsrfHeader !== null) {\n if (payload != null) {\n action.payload.xsrf = xsrfHeader;\n } else {\n action.payload = {\n xsrf: xsrfHeader\n };\n }\n }\n return action;\n};\n/* harmony default export */ __webpack_exports__[\"a\"] = (prepareAction);\n\n//# sourceURL=webpack://restaf/./store/prepareAction.js?");
2476
+ eval("/* harmony import */ var _getResults__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getResults */ \"./store/getResults.js\");\n/* harmony import */ var _getXsrfData__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./getXsrfData */ \"./store/getXsrfData.js\");\n/*\r\n * ------------------------------------------------------------------------------------\r\n * Copyright © 2023, SAS Institute Inc., Cary, NC, USA. * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n * ---------------------------------------------------------------------------------------\r\n *\r\n */\n\n\n\nvar Immutable = __webpack_require__(/*! immutable */ \"../../../node_modules/immutable/dist/immutable.es.js\");\n\n\nvar prepareAction = function prepareAction(store, iroute, actionType, payload, delay, eventHandler, parentRoute, jobContext) {\n var paginator;\n var route;\n var link;\n var serviceName;\n var current;\n debugger;\n if (typeof iroute === \"string\") {\n current = Object(_getResults__WEBPACK_IMPORTED_MODULE_0__[/* default */ \"a\"])(store, iroute);\n route = iroute;\n } else {\n current = iroute;\n route = current.get(\"route\");\n }\n if (current === null || Immutable.Iterable.isIterable(current) === false) {\n return null;\n }\n /* */\n paginator = current.get(\"paginator\");\n link = current.get(\"link\").toJS();\n if (paginator) {\n route = current.get(\"parentRoute\");\n serviceName = route.split(\":/\")[0];\n } else {\n var searchPath = route.split(\":/\");\n serviceName = searchPath[0];\n searchPath.splice(1, 0, store.apiCallNo);\n route = searchPath.join(\":/\");\n store.apiCallNo++;\n }\n var action = {\n type: actionType,\n delay: delay == null ? 0 : delay,\n paginator: paginator,\n serviceName: serviceName,\n route: route,\n eventHandler: eventHandler,\n parentRoute: parentRoute,\n jobContext: jobContext,\n storeConfig: store.config,\n link: link\n };\n if (link.href.indexOf(\"casProxy\") >= 0) {\n serviceName = \"casProxy\";\n }\n debugger;\n if (payload != null) {\n action.payload = payload;\n }\n var xsrfHeader = Object(_getXsrfData__WEBPACK_IMPORTED_MODULE_1__[/* default */ \"a\"])(store, serviceName);\n debugger;\n if (payload != null) {\n action.payload.xsrf = xsrfHeader;\n } else {\n action.payload = {\n xsrf: xsrfHeader\n };\n }\n return action;\n};\n/* harmony default export */ __webpack_exports__[\"a\"] = (prepareAction);\n\n//# sourceURL=webpack://restaf/./store/prepareAction.js?");
2477
2477
 
2478
2478
  /***/ }),
2479
2479
 
@@ -2542,6 +2542,19 @@ eval("/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__,
2542
2542
 
2543
2543
  /***/ }),
2544
2544
 
2545
+ /***/ "./store/setXsrData.js":
2546
+ /*!*****************************!*\
2547
+ !*** ./store/setXsrData.js ***!
2548
+ \*****************************/
2549
+ /*! exports provided: default */
2550
+ /*! exports used: default */
2551
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
2552
+
2553
+ "use strict";
2554
+ eval("/*\n * ------------------------------------------------------------------------------------\n * Copyright © 2023, SAS Institute Inc., Cary, NC, USA. * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * ---------------------------------------------------------------------------------------\n *\n */\nfunction setXsrfData(headers) {\n var xsrfData = {\n 'x-csrf-header': null,\n 'x-csrf-token': null,\n 'tkhttp-id': null\n };\n var xheader = headers('x-csrf-header');\n if (xheader !== null) {\n var xtoken = headers('x-csrf-token');\n xsrfData['x-csrf-header'] = xheader;\n xsrf['x-csrf-token'] = xtoken;\n }\n if (headers('tkhttp-id') != null) {\n xsrfData['tkhttp-id'] = headers('tkhttp-id');\n }\n console.log('---------------------', xsrfData);\n return xsrfData;\n}\n/* harmony default export */ __webpack_exports__[\"a\"] = (setXsrfData);\n\n//# sourceURL=webpack://restaf/./store/setXsrData.js?");
2555
+
2556
+ /***/ }),
2557
+
2545
2558
  /***/ "./utils/SASLogoffOauthLink.js":
2546
2559
  /*!*************************************!*\
2547
2560
  !*** ./utils/SASLogoffOauthLink.js ***!