@sassoftware/restaf 4.5.4 → 4.5.5

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
@@ -2187,7 +2187,7 @@ eval("/* harmony import */ var _actionTypes__WEBPACK_IMPORTED_MODULE_0__ = __web
2187
2187
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
2188
2188
 
2189
2189
  "use strict";
2190
- eval("/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/defineProperty */ \"../../../node_modules/@babel/runtime/helpers/defineProperty.js\");\n/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _actionTypes__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../actionTypes */ \"./actionTypes/index.js\");\n/* harmony import */ var qs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! qs */ \"../../../node_modules/qs/lib/index.js\");\n/* harmony import */ var qs__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(qs__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var url_parse__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! url-parse */ \"../../../node_modules/url-parse/index.js\");\n/* harmony import */ var url_parse__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(url_parse__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _keepViyaAlive__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./keepViyaAlive */ \"./store/keepViyaAlive.js\");\n/* eslint-disable no-prototype-builtins */\n\n/*\r\n * ------------------------------------------------------------------------------------\r\n * Copyright (c) SAS Institute Inc.\r\n * 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 * ---------------------------------------------------------------------------------------\r\n *\r\n */\n\n\n\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default()(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\n\n\n\n\n/**\r\n * @description logon or connect to Viya\r\n * @module logon\r\n * @category restaf/core\r\n * @param {rafLogonPayload} See type definition for details\r\n * @returns {promise} returns a text 'done' if successful\r\n * @example\r\nlet restaf = require(\"@sassoftware/restaf\");\r\n\r\nlet logonPayload = {\r\n authType: 'password',\r\n host: process.env.VIYA_SERVER,\r\n clientID: 'sas.ec',\r\n clientSecret: '',\r\n user: 'sastest1',\r\n password: 'Go4thsas'\r\n};\r\n\r\nlet store = restaf.initStore();\r\n\r\nstore.logon(logonPayload)\r\n .then ( r => console.log(r))\r\n .catch( err => console.log(err));\r\n\r\n */\n\nvar logon = function logon(store, ipayload) {\n return new Promise(function (resolve, reject) {\n var unSubscribe;\n var action;\n var implicitLogon = false;\n var urlInfo = null;\n var payload = ipayload == null ? null : _objectSpread({}, ipayload);\n debugger;\n\n if (store.getState().connections.get('currentConnection') >= 0) {\n resolve('ready');\n } else {\n var logonExit = function logonExit() {\n var newState = store.getState().connections;\n var runStatus = newState.get('runStatus');\n\n if (runStatus === 'ready') {\n unSubscribe();\n\n if (ipayload != null && ipayload.keepAlive != null) {\n var interval = 300;\n var timeout = 14400;\n\n if (ipayload.timers != null) {\n var timers = ipayload.timers;\n\n if (typeof timers === 'string') {\n var opts = timers.split(',');\n interval = parseInt(opts[0]);\n timeout = parseInt(opts[1]);\n } else {\n interval = timers[0];\n timeout = timers[1];\n }\n }\n\n Object(_keepViyaAlive__WEBPACK_IMPORTED_MODULE_4__[/* default */ \"a\"])(store, ipayload.keepAlive, interval, timeout, ipayload.onTimeout);\n }\n\n resolve(runStatus);\n } else if (runStatus === 'error') {\n unSubscribe();\n reject(newState.get('statusInfo').toJS());\n }\n }; //\n // check url if not password (no window) or when payload is null\n // this allows users of restaf-server|viya-appserverjs to LOGONPAYLOAD unconditionally to logon\n //\n\n\n if (payload === null || payload.authType === _actionTypes__WEBPACK_IMPORTED_MODULE_1__[/* VIYA_LOGON_IMPLICIT */ \"v\"]) {\n urlInfo = parseUrlNext();\n\n if (payload !== null && urlInfo !== null) {\n payload = _objectSpread(_objectSpread({}, payload), urlInfo);\n }\n }\n\n if (payload == null) {\n if (urlInfo !== null) {\n payload = urlInfo;\n } else {\n payload = {\n host: \"\".concat(window.location.protocol, \"//\").concat(window.location.host),\n authType: _actionTypes__WEBPACK_IMPORTED_MODULE_1__[/* VIYA_LOGON_SERVER */ \"x\"]\n };\n }\n } // persist options in payload - currently used for pup support\n\n\n store.config.options = {};\n\n if (payload.options != null) {\n store.config.options = _objectSpread({}, payload.options);\n } // now make the final decision\n\n\n switch (payload.authType) {\n case 'code':\n case _actionTypes__WEBPACK_IMPORTED_MODULE_1__[/* VIYA_LOGON_TOKEN */ \"y\"]:\n case _actionTypes__WEBPACK_IMPORTED_MODULE_1__[/* VIYA_LOGON_SERVER */ \"x\"]:\n if (payload.host == null) {\n payload.host = \"\".concat(window.location.protocol, \"//\").concat(window.location.host);\n }\n\n break;\n\n case _actionTypes__WEBPACK_IMPORTED_MODULE_1__[/* VIYA_LOGON_IMPLICIT */ \"v\"]:\n if (payload.hasOwnProperty('token') === false) {\n implicitLogon = true;\n getToken(payload);\n resolve('Implicit Call');\n }\n\n break;\n\n case \"LOGOFF\":\n break;\n\n default:\n break;\n }\n\n if (!implicitLogon) {\n action = {\n type: payload.authType === 'LOGOFF' ? _actionTypes__WEBPACK_IMPORTED_MODULE_1__[/* VIYA_LOGOFF */ \"r\"] : _actionTypes__WEBPACK_IMPORTED_MODULE_1__[/* VIYA_LOGON */ \"t\"],\n payload: _objectSpread({}, payload)\n };\n action.payload.sslOptions = store.config.hasOwnProperty('sslOptions') ? store.config.sslOptions : null;\n unSubscribe = store.subscribe(logonExit);\n action.storeConfig = store.config;\n\n if (payload.authType === _actionTypes__WEBPACK_IMPORTED_MODULE_1__[/* VIYA_LOGON_SERVER */ \"x\"]) {\n /*store.config.casProxy = false; preset to this value in initStore */\n\n /* for testing casproxy vs http - looks like cas-shared-default-http now works for all scenarios */\n\n /* if (payload.hasOwnProperty('token') === true && payload.token != null) {\r\n store.config.casProxy = (store.config.forcehttp == true) ? false : true; \r\n } \r\n */\n }\n\n action.storeConfig = store.config;\n ; // action.type = VIYA_LOGON;\n\n store.dispatch(action);\n }\n }\n });\n};\n\nfunction getToken(payload) {\n var x = \"\".concat(payload.host, \"/SASLogon/oauth/authorize?response_type=token&client_id=\").concat(payload.clientID); //noinspection JSUnresolvedVariable\n\n if (payload.redirect != null) {\n //noinspection JSUnresolvedVariable\n var redirectUri = \"\".concat(window.location.protocol, \"//\").concat(window.location.host, \"/\").concat(payload.redirect, \"?host=\").concat(payload.host);\n x = \"\".concat(x, \"&redirect_uri=\").concat(redirectUri);\n }\n\n window.location.replace(x);\n}\n\nfunction parseUrlNext() {\n if (window == null) {\n return null;\n }\n\n var url = url_parse__WEBPACK_IMPORTED_MODULE_3___default()(window.location, true);\n var loc = qs__WEBPACK_IMPORTED_MODULE_2___default.a.parse(url.hash);\n var q = url.query;\n\n if (q.host == null || loc.access_token == null) {\n return null;\n }\n\n var tokenType = 'bearer';\n\n if (loc['#token_type'] != null) {\n tokenType = loc['#token_type'];\n } else if (loc['token_type'] != null) {\n tokenType = loc['token_type'];\n }\n\n var payload = {\n host: q.host,\n authType: _actionTypes__WEBPACK_IMPORTED_MODULE_1__[/* VIYA_LOGON_IMPLICIT */ \"v\"],\n tokenType: tokenType,\n token: loc.access_token\n };\n return payload;\n}\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (logon);\n\n//# sourceURL=webpack://restaf/./store/logon.js?");
2190
+ eval("/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/defineProperty */ \"../../../node_modules/@babel/runtime/helpers/defineProperty.js\");\n/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _actionTypes__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../actionTypes */ \"./actionTypes/index.js\");\n/* harmony import */ var qs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! qs */ \"../../../node_modules/qs/lib/index.js\");\n/* harmony import */ var qs__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(qs__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var url_parse__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! url-parse */ \"../../../node_modules/url-parse/index.js\");\n/* harmony import */ var url_parse__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(url_parse__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _keepViyaAlive__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./keepViyaAlive */ \"./store/keepViyaAlive.js\");\n/* eslint-disable no-prototype-builtins */\n\n/*\r\n * ------------------------------------------------------------------------------------\r\n * Copyright (c) SAS Institute Inc.\r\n * 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 * ---------------------------------------------------------------------------------------\r\n *\r\n */\n\n\n\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default()(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\n\n\n\n\n/**\r\n * @description logon or connect to Viya\r\n * @module logon\r\n * @category restaf/core\r\n * @param {rafLogonPayload} See type definition for details\r\n * @returns {promise} returns a text 'done' if successful\r\n * @example\r\nlet restaf = require(\"@sassoftware/restaf\");\r\n\r\nlet logonPayload = {\r\n authType: 'password',\r\n host: process.env.VIYA_SERVER,\r\n clientID: 'sas.ec',\r\n clientSecret: '',\r\n user: 'sastest1',\r\n password: 'Go4thsas'\r\n};\r\n\r\nlet store = restaf.initStore();\r\n\r\nstore.logon(logonPayload)\r\n .then ( r => console.log(r))\r\n .catch( err => console.log(err));\r\n\r\n */\n\nvar logon = function logon(store, ipayload) {\n return new Promise(function (resolve, reject) {\n var unSubscribe;\n var action;\n var implicitLogon = false;\n var urlInfo = null;\n var payload = ipayload == null ? null : _objectSpread({}, ipayload);\n\n if (store.getState().connections.get('currentConnection') >= 0) {\n resolve('ready');\n } else {\n var logonExit = function logonExit() {\n var newState = store.getState().connections;\n var runStatus = newState.get('runStatus');\n\n if (runStatus === 'ready') {\n unSubscribe();\n\n if (ipayload != null && ipayload.keepAlive != null) {\n var interval = 300;\n var timeout = 14400;\n\n if (ipayload.timers != null) {\n var timers = ipayload.timers;\n\n if (typeof timers === 'string') {\n var opts = timers.split(',');\n interval = parseInt(opts[0]);\n timeout = parseInt(opts[1]);\n } else {\n interval = timers[0];\n timeout = timers[1];\n }\n }\n\n Object(_keepViyaAlive__WEBPACK_IMPORTED_MODULE_4__[/* default */ \"a\"])(store, ipayload.keepAlive, interval, timeout, ipayload.onTimeout);\n }\n\n resolve(runStatus);\n } else if (runStatus === 'error') {\n unSubscribe();\n reject(newState.get('statusInfo').toJS());\n }\n }; //\n // check url if not password (no window) or when payload is null\n // this allows users of restaf-server|viya-appserverjs to LOGONPAYLOAD unconditionally to logon\n //\n\n\n if (payload === null || payload.authType === _actionTypes__WEBPACK_IMPORTED_MODULE_1__[/* VIYA_LOGON_IMPLICIT */ \"v\"]) {\n urlInfo = parseUrlNext();\n\n if (payload !== null && urlInfo !== null) {\n payload = _objectSpread(_objectSpread({}, payload), urlInfo);\n }\n }\n\n if (payload == null) {\n if (urlInfo !== null) {\n payload = urlInfo;\n } else {\n payload = {\n host: \"\".concat(window.location.protocol, \"//\").concat(window.location.host),\n authType: _actionTypes__WEBPACK_IMPORTED_MODULE_1__[/* VIYA_LOGON_SERVER */ \"x\"]\n };\n }\n } // persist options in payload - currently used for pup support\n\n\n store.config.options = {};\n\n if (payload.options != null) {\n store.config.options = _objectSpread({}, payload.options);\n } // now make the final decision\n\n\n switch (payload.authType) {\n case 'code':\n case _actionTypes__WEBPACK_IMPORTED_MODULE_1__[/* VIYA_LOGON_TOKEN */ \"y\"]:\n case _actionTypes__WEBPACK_IMPORTED_MODULE_1__[/* VIYA_LOGON_SERVER */ \"x\"]:\n if (payload.host == null) {\n payload.host = \"\".concat(window.location.protocol, \"//\").concat(window.location.host);\n }\n\n break;\n\n case _actionTypes__WEBPACK_IMPORTED_MODULE_1__[/* VIYA_LOGON_IMPLICIT */ \"v\"]:\n if (payload.hasOwnProperty('token') === false) {\n implicitLogon = true;\n getToken(payload);\n resolve('Implicit Call');\n }\n\n break;\n\n case \"LOGOFF\":\n break;\n\n default:\n break;\n }\n\n if (!implicitLogon) {\n action = {\n type: payload.authType === 'LOGOFF' ? _actionTypes__WEBPACK_IMPORTED_MODULE_1__[/* VIYA_LOGOFF */ \"r\"] : _actionTypes__WEBPACK_IMPORTED_MODULE_1__[/* VIYA_LOGON */ \"t\"],\n payload: _objectSpread({}, payload)\n };\n action.payload.sslOptions = store.config.hasOwnProperty('sslOptions') ? store.config.sslOptions : null;\n unSubscribe = store.subscribe(logonExit);\n action.storeConfig = store.config;\n\n if (payload.authType === _actionTypes__WEBPACK_IMPORTED_MODULE_1__[/* VIYA_LOGON_SERVER */ \"x\"]) {\n /*store.config.casProxy = false; preset to this value in initStore */\n\n /* for testing casproxy vs http - looks like cas-shared-default-http now works for all scenarios */\n\n /* if (payload.hasOwnProperty('token') === true && payload.token != null) {\r\n store.config.casProxy = (store.config.forcehttp == true) ? false : true; \r\n } \r\n */\n }\n\n action.storeConfig = store.config;\n ; // action.type = VIYA_LOGON;\n\n store.dispatch(action);\n }\n }\n });\n};\n\nfunction getToken(payload) {\n var x = \"\".concat(payload.host, \"/SASLogon/oauth/authorize?response_type=token&client_id=\").concat(payload.clientID); //noinspection JSUnresolvedVariable\n\n if (payload.redirect != null) {\n //noinspection JSUnresolvedVariable\n var redirectUri = \"\".concat(window.location.protocol, \"//\").concat(window.location.host, \"/\").concat(payload.redirect, \"?host=\").concat(payload.host);\n x = \"\".concat(x, \"&redirect_uri=\").concat(redirectUri);\n }\n\n window.location.replace(x);\n}\n\nfunction parseUrlNext() {\n if (window == null) {\n return null;\n }\n\n var url = url_parse__WEBPACK_IMPORTED_MODULE_3___default()(window.location, true);\n var loc = qs__WEBPACK_IMPORTED_MODULE_2___default.a.parse(url.hash);\n var q = url.query;\n\n if (q.host == null || loc.access_token == null) {\n return null;\n }\n\n var tokenType = 'bearer';\n\n if (loc['#token_type'] != null) {\n tokenType = loc['#token_type'];\n } else if (loc['token_type'] != null) {\n tokenType = loc['token_type'];\n }\n\n var payload = {\n host: q.host,\n authType: _actionTypes__WEBPACK_IMPORTED_MODULE_1__[/* VIYA_LOGON_IMPLICIT */ \"v\"],\n tokenType: tokenType,\n token: loc.access_token\n };\n return payload;\n}\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (logon);\n\n//# sourceURL=webpack://restaf/./store/logon.js?");
2191
2191
 
2192
2192
  /***/ }),
2193
2193
 
package/lib/restaf.js CHANGED
@@ -1825,7 +1825,7 @@ eval("/* harmony import */ var _actionTypes__WEBPACK_IMPORTED_MODULE_0__ = __web
1825
1825
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
1826
1826
 
1827
1827
  "use strict";
1828
- eval("/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/defineProperty */ \"../../../node_modules/@babel/runtime/helpers/defineProperty.js\");\n/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _actionTypes__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../actionTypes */ \"./actionTypes/index.js\");\n/* harmony import */ var qs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! qs */ \"../../../node_modules/qs/lib/index.js\");\n/* harmony import */ var qs__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(qs__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var url_parse__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! url-parse */ \"../../../node_modules/url-parse/index.js\");\n/* harmony import */ var url_parse__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(url_parse__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _keepViyaAlive__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./keepViyaAlive */ \"./store/keepViyaAlive.js\");\n/* eslint-disable no-prototype-builtins */\n\n/*\r\n * ------------------------------------------------------------------------------------\r\n * Copyright (c) SAS Institute Inc.\r\n * 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 * ---------------------------------------------------------------------------------------\r\n *\r\n */\n\n\n\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default()(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\n\n\n\n\n/**\r\n * @description logon or connect to Viya\r\n * @module logon\r\n * @category restaf/core\r\n * @param {rafLogonPayload} See type definition for details\r\n * @returns {promise} returns a text 'done' if successful\r\n * @example\r\nlet restaf = require(\"@sassoftware/restaf\");\r\n\r\nlet logonPayload = {\r\n authType: 'password',\r\n host: process.env.VIYA_SERVER,\r\n clientID: 'sas.ec',\r\n clientSecret: '',\r\n user: 'sastest1',\r\n password: 'Go4thsas'\r\n};\r\n\r\nlet store = restaf.initStore();\r\n\r\nstore.logon(logonPayload)\r\n .then ( r => console.log(r))\r\n .catch( err => console.log(err));\r\n\r\n */\n\nvar logon = function logon(store, ipayload) {\n return new Promise(function (resolve, reject) {\n var unSubscribe;\n var action;\n var implicitLogon = false;\n var urlInfo = null;\n var payload = ipayload == null ? null : _objectSpread({}, ipayload);\n debugger;\n\n if (store.getState().connections.get('currentConnection') >= 0) {\n resolve('ready');\n } else {\n var logonExit = function logonExit() {\n var newState = store.getState().connections;\n var runStatus = newState.get('runStatus');\n\n if (runStatus === 'ready') {\n unSubscribe();\n\n if (ipayload != null && ipayload.keepAlive != null) {\n var interval = 300;\n var timeout = 14400;\n\n if (ipayload.timers != null) {\n var timers = ipayload.timers;\n\n if (typeof timers === 'string') {\n var opts = timers.split(',');\n interval = parseInt(opts[0]);\n timeout = parseInt(opts[1]);\n } else {\n interval = timers[0];\n timeout = timers[1];\n }\n }\n\n Object(_keepViyaAlive__WEBPACK_IMPORTED_MODULE_4__[/* default */ \"a\"])(store, ipayload.keepAlive, interval, timeout, ipayload.onTimeout);\n }\n\n resolve(runStatus);\n } else if (runStatus === 'error') {\n unSubscribe();\n reject(newState.get('statusInfo').toJS());\n }\n }; //\n // check url if not password (no window) or when payload is null\n // this allows users of restaf-server|viya-appserverjs to LOGONPAYLOAD unconditionally to logon\n //\n\n\n if (payload === null || payload.authType === _actionTypes__WEBPACK_IMPORTED_MODULE_1__[/* VIYA_LOGON_IMPLICIT */ \"v\"]) {\n urlInfo = parseUrlNext();\n\n if (payload !== null && urlInfo !== null) {\n payload = _objectSpread(_objectSpread({}, payload), urlInfo);\n }\n }\n\n if (payload == null) {\n if (urlInfo !== null) {\n payload = urlInfo;\n } else {\n payload = {\n host: \"\".concat(window.location.protocol, \"//\").concat(window.location.host),\n authType: _actionTypes__WEBPACK_IMPORTED_MODULE_1__[/* VIYA_LOGON_SERVER */ \"x\"]\n };\n }\n } // persist options in payload - currently used for pup support\n\n\n store.config.options = {};\n\n if (payload.options != null) {\n store.config.options = _objectSpread({}, payload.options);\n } // now make the final decision\n\n\n switch (payload.authType) {\n case 'code':\n case _actionTypes__WEBPACK_IMPORTED_MODULE_1__[/* VIYA_LOGON_TOKEN */ \"y\"]:\n case _actionTypes__WEBPACK_IMPORTED_MODULE_1__[/* VIYA_LOGON_SERVER */ \"x\"]:\n if (payload.host == null) {\n payload.host = \"\".concat(window.location.protocol, \"//\").concat(window.location.host);\n }\n\n break;\n\n case _actionTypes__WEBPACK_IMPORTED_MODULE_1__[/* VIYA_LOGON_IMPLICIT */ \"v\"]:\n if (payload.hasOwnProperty('token') === false) {\n implicitLogon = true;\n getToken(payload);\n resolve('Implicit Call');\n }\n\n break;\n\n case \"LOGOFF\":\n break;\n\n default:\n break;\n }\n\n if (!implicitLogon) {\n action = {\n type: payload.authType === 'LOGOFF' ? _actionTypes__WEBPACK_IMPORTED_MODULE_1__[/* VIYA_LOGOFF */ \"r\"] : _actionTypes__WEBPACK_IMPORTED_MODULE_1__[/* VIYA_LOGON */ \"t\"],\n payload: _objectSpread({}, payload)\n };\n action.payload.sslOptions = store.config.hasOwnProperty('sslOptions') ? store.config.sslOptions : null;\n unSubscribe = store.subscribe(logonExit);\n action.storeConfig = store.config;\n\n if (payload.authType === _actionTypes__WEBPACK_IMPORTED_MODULE_1__[/* VIYA_LOGON_SERVER */ \"x\"]) {\n /*store.config.casProxy = false; preset to this value in initStore */\n\n /* for testing casproxy vs http - looks like cas-shared-default-http now works for all scenarios */\n\n /* if (payload.hasOwnProperty('token') === true && payload.token != null) {\r\n store.config.casProxy = (store.config.forcehttp == true) ? false : true; \r\n } \r\n */\n }\n\n action.storeConfig = store.config;\n ; // action.type = VIYA_LOGON;\n\n store.dispatch(action);\n }\n }\n });\n};\n\nfunction getToken(payload) {\n var x = \"\".concat(payload.host, \"/SASLogon/oauth/authorize?response_type=token&client_id=\").concat(payload.clientID); //noinspection JSUnresolvedVariable\n\n if (payload.redirect != null) {\n //noinspection JSUnresolvedVariable\n var redirectUri = \"\".concat(window.location.protocol, \"//\").concat(window.location.host, \"/\").concat(payload.redirect, \"?host=\").concat(payload.host);\n x = \"\".concat(x, \"&redirect_uri=\").concat(redirectUri);\n }\n\n window.location.replace(x);\n}\n\nfunction parseUrlNext() {\n if (window == null) {\n return null;\n }\n\n var url = url_parse__WEBPACK_IMPORTED_MODULE_3___default()(window.location, true);\n var loc = qs__WEBPACK_IMPORTED_MODULE_2___default.a.parse(url.hash);\n var q = url.query;\n\n if (q.host == null || loc.access_token == null) {\n return null;\n }\n\n var tokenType = 'bearer';\n\n if (loc['#token_type'] != null) {\n tokenType = loc['#token_type'];\n } else if (loc['token_type'] != null) {\n tokenType = loc['token_type'];\n }\n\n var payload = {\n host: q.host,\n authType: _actionTypes__WEBPACK_IMPORTED_MODULE_1__[/* VIYA_LOGON_IMPLICIT */ \"v\"],\n tokenType: tokenType,\n token: loc.access_token\n };\n return payload;\n}\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (logon);\n\n//# sourceURL=webpack://restaf/./store/logon.js?");
1828
+ eval("/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/defineProperty */ \"../../../node_modules/@babel/runtime/helpers/defineProperty.js\");\n/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _actionTypes__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../actionTypes */ \"./actionTypes/index.js\");\n/* harmony import */ var qs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! qs */ \"../../../node_modules/qs/lib/index.js\");\n/* harmony import */ var qs__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(qs__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var url_parse__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! url-parse */ \"../../../node_modules/url-parse/index.js\");\n/* harmony import */ var url_parse__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(url_parse__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _keepViyaAlive__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./keepViyaAlive */ \"./store/keepViyaAlive.js\");\n/* eslint-disable no-prototype-builtins */\n\n/*\r\n * ------------------------------------------------------------------------------------\r\n * Copyright (c) SAS Institute Inc.\r\n * 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 * ---------------------------------------------------------------------------------------\r\n *\r\n */\n\n\n\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default()(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\n\n\n\n\n/**\r\n * @description logon or connect to Viya\r\n * @module logon\r\n * @category restaf/core\r\n * @param {rafLogonPayload} See type definition for details\r\n * @returns {promise} returns a text 'done' if successful\r\n * @example\r\nlet restaf = require(\"@sassoftware/restaf\");\r\n\r\nlet logonPayload = {\r\n authType: 'password',\r\n host: process.env.VIYA_SERVER,\r\n clientID: 'sas.ec',\r\n clientSecret: '',\r\n user: 'sastest1',\r\n password: 'Go4thsas'\r\n};\r\n\r\nlet store = restaf.initStore();\r\n\r\nstore.logon(logonPayload)\r\n .then ( r => console.log(r))\r\n .catch( err => console.log(err));\r\n\r\n */\n\nvar logon = function logon(store, ipayload) {\n return new Promise(function (resolve, reject) {\n var unSubscribe;\n var action;\n var implicitLogon = false;\n var urlInfo = null;\n var payload = ipayload == null ? null : _objectSpread({}, ipayload);\n\n if (store.getState().connections.get('currentConnection') >= 0) {\n resolve('ready');\n } else {\n var logonExit = function logonExit() {\n var newState = store.getState().connections;\n var runStatus = newState.get('runStatus');\n\n if (runStatus === 'ready') {\n unSubscribe();\n\n if (ipayload != null && ipayload.keepAlive != null) {\n var interval = 300;\n var timeout = 14400;\n\n if (ipayload.timers != null) {\n var timers = ipayload.timers;\n\n if (typeof timers === 'string') {\n var opts = timers.split(',');\n interval = parseInt(opts[0]);\n timeout = parseInt(opts[1]);\n } else {\n interval = timers[0];\n timeout = timers[1];\n }\n }\n\n Object(_keepViyaAlive__WEBPACK_IMPORTED_MODULE_4__[/* default */ \"a\"])(store, ipayload.keepAlive, interval, timeout, ipayload.onTimeout);\n }\n\n resolve(runStatus);\n } else if (runStatus === 'error') {\n unSubscribe();\n reject(newState.get('statusInfo').toJS());\n }\n }; //\n // check url if not password (no window) or when payload is null\n // this allows users of restaf-server|viya-appserverjs to LOGONPAYLOAD unconditionally to logon\n //\n\n\n if (payload === null || payload.authType === _actionTypes__WEBPACK_IMPORTED_MODULE_1__[/* VIYA_LOGON_IMPLICIT */ \"v\"]) {\n urlInfo = parseUrlNext();\n\n if (payload !== null && urlInfo !== null) {\n payload = _objectSpread(_objectSpread({}, payload), urlInfo);\n }\n }\n\n if (payload == null) {\n if (urlInfo !== null) {\n payload = urlInfo;\n } else {\n payload = {\n host: \"\".concat(window.location.protocol, \"//\").concat(window.location.host),\n authType: _actionTypes__WEBPACK_IMPORTED_MODULE_1__[/* VIYA_LOGON_SERVER */ \"x\"]\n };\n }\n } // persist options in payload - currently used for pup support\n\n\n store.config.options = {};\n\n if (payload.options != null) {\n store.config.options = _objectSpread({}, payload.options);\n } // now make the final decision\n\n\n switch (payload.authType) {\n case 'code':\n case _actionTypes__WEBPACK_IMPORTED_MODULE_1__[/* VIYA_LOGON_TOKEN */ \"y\"]:\n case _actionTypes__WEBPACK_IMPORTED_MODULE_1__[/* VIYA_LOGON_SERVER */ \"x\"]:\n if (payload.host == null) {\n payload.host = \"\".concat(window.location.protocol, \"//\").concat(window.location.host);\n }\n\n break;\n\n case _actionTypes__WEBPACK_IMPORTED_MODULE_1__[/* VIYA_LOGON_IMPLICIT */ \"v\"]:\n if (payload.hasOwnProperty('token') === false) {\n implicitLogon = true;\n getToken(payload);\n resolve('Implicit Call');\n }\n\n break;\n\n case \"LOGOFF\":\n break;\n\n default:\n break;\n }\n\n if (!implicitLogon) {\n action = {\n type: payload.authType === 'LOGOFF' ? _actionTypes__WEBPACK_IMPORTED_MODULE_1__[/* VIYA_LOGOFF */ \"r\"] : _actionTypes__WEBPACK_IMPORTED_MODULE_1__[/* VIYA_LOGON */ \"t\"],\n payload: _objectSpread({}, payload)\n };\n action.payload.sslOptions = store.config.hasOwnProperty('sslOptions') ? store.config.sslOptions : null;\n unSubscribe = store.subscribe(logonExit);\n action.storeConfig = store.config;\n\n if (payload.authType === _actionTypes__WEBPACK_IMPORTED_MODULE_1__[/* VIYA_LOGON_SERVER */ \"x\"]) {\n /*store.config.casProxy = false; preset to this value in initStore */\n\n /* for testing casproxy vs http - looks like cas-shared-default-http now works for all scenarios */\n\n /* if (payload.hasOwnProperty('token') === true && payload.token != null) {\r\n store.config.casProxy = (store.config.forcehttp == true) ? false : true; \r\n } \r\n */\n }\n\n action.storeConfig = store.config;\n ; // action.type = VIYA_LOGON;\n\n store.dispatch(action);\n }\n }\n });\n};\n\nfunction getToken(payload) {\n var x = \"\".concat(payload.host, \"/SASLogon/oauth/authorize?response_type=token&client_id=\").concat(payload.clientID); //noinspection JSUnresolvedVariable\n\n if (payload.redirect != null) {\n //noinspection JSUnresolvedVariable\n var redirectUri = \"\".concat(window.location.protocol, \"//\").concat(window.location.host, \"/\").concat(payload.redirect, \"?host=\").concat(payload.host);\n x = \"\".concat(x, \"&redirect_uri=\").concat(redirectUri);\n }\n\n window.location.replace(x);\n}\n\nfunction parseUrlNext() {\n if (window == null) {\n return null;\n }\n\n var url = url_parse__WEBPACK_IMPORTED_MODULE_3___default()(window.location, true);\n var loc = qs__WEBPACK_IMPORTED_MODULE_2___default.a.parse(url.hash);\n var q = url.query;\n\n if (q.host == null || loc.access_token == null) {\n return null;\n }\n\n var tokenType = 'bearer';\n\n if (loc['#token_type'] != null) {\n tokenType = loc['#token_type'];\n } else if (loc['token_type'] != null) {\n tokenType = loc['token_type'];\n }\n\n var payload = {\n host: q.host,\n authType: _actionTypes__WEBPACK_IMPORTED_MODULE_1__[/* VIYA_LOGON_IMPLICIT */ \"v\"],\n tokenType: tokenType,\n token: loc.access_token\n };\n return payload;\n}\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (logon);\n\n//# sourceURL=webpack://restaf/./store/logon.js?");
1829
1829
 
1830
1830
  /***/ }),
1831
1831
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sassoftware/restaf",
3
- "version": "4.5.4",
3
+ "version": "4.5.5",
4
4
  "description": "Library for writing SAS Viya application using REST APIs",
5
5
  "author": "Deva Kumaraswamy <deva.kumar@sas.com>",
6
6
  "license": "Apache-2.0",