{"version":3,"sources":["assets/logo_elma_bot.svg","assets/logo-elma365.svg","components/AccountInfo.tsx","layouts/AuthLayout.tsx","utils/loggerUtil.ts","../api/base.ts","../api/api.ts","constants/index.ts","apis.ts","components/LoginForm.tsx","pages/InfoPage.tsx","utils/queryUtil.ts","utils/configUtil.ts","components/AuthProvider.tsx","components/LogoutPanel.tsx","pages/LoginPage.tsx","pages/LogoutPage.tsx","components/ErrorInfo.tsx","pages/ErrorPage.tsx","App.tsx","serviceWorker.ts","index.tsx"],"names":["_extends","Object","assign","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","this","_objectWithoutProperties","excluded","sourceKeys","keys","indexOf","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","propertyIsEnumerable","createElement","clipPath","d","fill","fillRule","clipRule","id","width","height","_ref","svgRef","title","props","viewBox","ref","ForwardRef","forwardRef","LoadingStatus","_ref4","_ref5","_ref6","_ref7","_ref8","_ref9","_ref10","_ref11","_ref12","Content","Layout","AuthLayout","children","style","minHeight","className","display","justifyContent","logger","winston","createLogger","level","format","json","transports","Console","simple","BASE_PATH","replace","BaseAPI","configuration","basePath","axios","globalAxios","AccountApiAxiosParamCreator","Error","getAccountInfo","a","options","localVarPath","localVarUrlObj","globalImportUrl","baseOptions","localVarRequestOptions","method","localVarHeaderParameter","localVarQueryParameter","query","search","headersFromBaseOptions","headers","url","getErrorInfo","errorId","undefined","getLogoutInfo","logoutId","processAccountLogin","loginRequestModel","needsSerialization","data","JSON","stringify","processAccountLogout","logoutRequestModel","AccountApiFp","localVarAxiosArgs","axiosRequestArgs","request","AccountApi","then","ConfigurationApiAxiosParamCreator","getClientConfig","ConfigurationApiFp","ConfigurationApi","BASEPATH","window","location","origin","accountApi","configurationApi","LoginStatus","AccountInfo","useState","Loading","status","setStatus","account","setAccount","error","setError","loadDataAsync","response","StatusCodes","OK","Success","statusText","messsage","useEffect","getExtra","href","type","extra","size","authenticated","username","getInfo","InfoPage","getQueryVariable","variable","vars","substring","split","pair","decodeURIComponent","config","getConfig","console","log","getChallengeUrl","scheme","parameters","returnUrl","queryStringParams","urlSearchParams","URLSearchParams","AuthProvider","settings","Form","useForm","form","withParameters","setWithParameters","buttonTitle","formFields","parameterName","parameter","fieldName","fieldValue","disabled","visible","store","value","setFieldsValue","onFinishLogin","validateFields","onStartLogin","values","some","p","Fragment","onClick","image","renderLogo","cancelText","getContainer","okText","onCancel","onOk","name","onFinish","map","rules","required","push","message","Item","label","renderParameters","LogoutStatus","LoginForm","rememberMe","setRememberMe","providers","setProviders","None","authentication","loadAsync","handleSubmit","Login","withCredentials","getFieldsValue","password","redirectUrl","warn","placeholder","prefix","UserOutlined","LockOutlined","noStyle","valuePropName","checked","onChange","e","htmlType","results","filter","provider","unshift","renderProviders","alert","renderStatusAlert","renderStatusBlock","LoginPage","LogoutPanel","Logout","processLogoutAsync","result","showLogoutPrompt","postLogoutRedirectUri","subTitle","getLogoutResult","LogoutPage","ErrorInfo","loading","setLoading","description","ErrorPage","browserHistory","createBrowserHistory","App","history","exact","path","render","to","Boolean","hostname","match","ReactDOM","document","getElementById","navigator","serviceWorker","ready","registration","unregister","catch"],"mappings":"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","file":"static/js/main.c57e003c.chunk.js","sourcesContent":["function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"g\", {\n clipPath: \"url(#clip0_1_2)\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M5.5664 34.4901C8.4093 35.2227 14.7243 35.7138 17.9256 35.9312V29.9735C15.218 29.7642 9.4047 29.3455 7.0237 28.7256C6.3548 28.5565 5.8849 27.9366 5.8849 27.212V17.9696H0V27.212C0 30.6498 2.2935 33.6447 5.5664 34.4901Z\",\n fill: \"#5AD2FF\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M34.4337 1.586C30.4361 0.5555 24.575 0.00810051 19.9961 0.00810051V5.9577C24.0893 5.9577 29.4407 6.4407 32.9684 7.3585C33.6374 7.5276 34.1072 8.1556 34.1072 8.8802V17.9857H39.9921V8.864C40.0001 5.4263 37.7146 2.4314 34.4337 1.586Z\",\n fill: \"#FABE00\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M20.004 0V5.9496C15.9108 5.9496 10.5594 6.4327 7.0237 7.3424C6.3548 7.5195 5.8849 8.1395 5.8849 8.864V17.9696L0 12.02V8.864C0 5.4263 2.2855 2.4314 5.5664 1.586C9.564 0.5475 15.4251 0 20.004 0Z\",\n fill: \"#E62D32\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M34.4965 34.6465C34.4995 34.6455 34.5024 34.6443 34.5052 34.643C37.4994 33.2422 39.9999 31.1409 39.9999 27.212V23.9112L34.115 17.9615V25.6103C34.1108 27.2849 33.9768 27.9824 32.4428 28.7499L17.9255 35.9394V43L34.4965 34.6465Z\",\n fill: \"#5082E6\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M13.4741 22.0518C15.4092 22.0518 16.978 20.4658 16.978 18.5094C16.978 16.553 15.4092 14.967 13.4741 14.967C11.539 14.967 9.97021 16.553 9.97021 18.5094C9.97021 20.4658 11.539 22.0518 13.4741 22.0518Z\",\n fill: \"#5082E6\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M26.8364 22.0518C28.7715 22.0518 30.3403 20.4658 30.3403 18.5094C30.3403 16.553 28.7715 14.967 26.8364 14.967C24.9013 14.967 23.3325 16.553 23.3325 18.5094C23.3325 20.4658 24.9013 22.0518 26.8364 22.0518Z\",\n fill: \"#5082E6\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M76.4476 30.9415V26.0684H62.8947V20.4609H73.1778V15.5879H62.8947V10.5253H76.0764V5.6365H57.4609V30.9415H76.4476ZM143.659 24.9721L141.487 30.935H135.698L145.649 5.6379H151.415L161.366 30.935H155.577L153.405 24.9721H143.659ZM148.548 11.9721L145.46 20.2807H151.62L148.548 11.9721ZM185.5 5.8H175.78V31H186.04C187.216 31 188.272 30.82 189.208 30.46C190.168 30.1 190.984 29.5961 191.656 28.9481C192.328 28.3001 192.844 27.5441 193.204 26.68C193.588 25.792 193.78 24.832 193.78 23.8C193.78 22.624 193.564 21.64 193.132 20.8481C192.7 20.056 192.22 19.408 191.692 18.904C191.068 18.3281 190.384 17.86 189.64 17.5C190.168 17.236 190.648 16.864 191.08 16.384C191.44 15.976 191.764 15.448 192.052 14.8C192.364 14.128 192.52 13.288 192.52 12.28C192.52 11.392 192.34 10.552 191.98 9.76C191.644 8.968 191.164 8.284 190.54 7.708C189.94 7.108 189.208 6.64 188.344 6.304C187.48 5.968 186.532 5.8 185.5 5.8ZM189.712 27.1841C188.8 28.0481 187.576 28.48 186.04 28.48H178.48V18.7601H186.04C186.808 18.7601 187.504 18.904 188.128 19.192C188.752 19.456 189.28 19.816 189.712 20.272C190.144 20.7281 190.48 21.268 190.72 21.892C190.96 22.492 191.08 23.128 191.08 23.8C191.08 25.168 190.624 26.2961 189.712 27.1841ZM188.668 15.304C187.924 16.024 186.868 16.384 185.5 16.384H178.48V8.32H185.5C186.868 8.32 187.924 8.692 188.668 9.436C189.436 10.1561 189.82 11.1041 189.82 12.28C189.82 13.5521 189.436 14.5601 188.668 15.304ZM202.925 30.6761C204.005 31.1321 205.157 31.3601 206.381 31.3601C207.605 31.3601 208.745 31.1321 209.801 30.6761C210.881 30.1961 211.817 29.5601 212.609 28.7681C213.401 27.9521 214.025 27.004 214.481 25.924C214.961 24.82 215.201 23.632 215.201 22.3601C215.201 21.1121 214.961 19.936 214.481 18.832C214.025 17.7281 213.401 16.7801 212.609 15.988C211.817 15.172 210.881 14.536 209.801 14.08C208.745 13.6 207.605 13.3601 206.381 13.3601C205.157 13.3601 204.005 13.6 202.925 14.08C201.869 14.536 200.945 15.172 200.153 15.988C199.361 16.7801 198.725 17.7281 198.245 18.832C197.789 19.936 197.561 21.1121 197.561 22.3601C197.561 23.632 197.789 24.82 198.245 25.924C198.725 27.004 199.361 27.9521 200.153 28.7681C200.945 29.5601 201.869 30.1961 202.925 30.6761ZM208.793 28.516C208.049 28.852 207.245 29.0201 206.381 29.0201C205.517 29.0201 204.701 28.852 203.933 28.516C203.189 28.156 202.529 27.688 201.953 27.112C201.377 26.512 200.921 25.804 200.585 24.988C200.249 24.172 200.081 23.2961 200.081 22.3601C200.081 21.4241 200.249 20.548 200.585 19.732C200.921 18.916 201.377 18.2081 201.953 17.6081C202.529 17.008 203.189 16.54 203.933 16.204C204.701 15.868 205.517 15.7001 206.381 15.7001C207.245 15.7001 208.049 15.868 208.793 16.204C209.561 16.54 210.233 17.008 210.809 17.6081C211.385 18.2081 211.841 18.916 212.177 19.732C212.513 20.548 212.681 21.4241 212.681 22.3601C212.681 23.2961 212.513 24.172 212.177 24.988C211.841 25.804 211.385 26.512 210.809 27.112C210.233 27.712 209.561 28.18 208.793 28.516ZM225.896 31.3601C224.408 31.3601 223.244 30.928 222.404 30.064C221.564 29.2 221.144 27.952 221.144 26.32V16.0601H217.904V13.72H219.884C220.844 13.72 221.324 13.12 221.324 11.92V7.96H223.664V13.72H227.444V16.0601H223.664V26.32C223.664 27.232 223.868 27.9161 224.276 28.3721C224.708 28.8041 225.284 29.0201 226.004 29.0201C226.316 29.0201 226.616 28.9961 226.904 28.9481C227.192 28.9001 227.444 28.8401 227.66 28.7681C227.924 28.6721 228.152 28.576 228.344 28.48V30.82C228.128 30.916 227.888 31.0121 227.624 31.1081C227.408 31.1801 227.144 31.2401 226.832 31.2881C226.544 31.3361 226.232 31.3601 225.896 31.3601ZM82.561 30.935V5.6379H87.994V26.0699H99.731V30.9429H82.561V30.935ZM131.394 5.6379H126.592L117.841 16.6635L109.177 5.6379H104.288V30.9429H109.722V14.144L117.841 24.4271L125.976 14.0729V30.935H131.394V5.6379Z\",\n fill: \"white\"\n}));\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"clip0_1_2\"\n}, /*#__PURE__*/React.createElement(\"rect\", {\n width: 229,\n height: 43,\n fill: \"white\"\n})));\n\nvar SvgLogoElmaBot = function SvgLogoElmaBot(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 229,\n height: 43,\n viewBox: \"0 0 229 43\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2, _ref3);\n};\n\nvar ForwardRef = React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgLogoElmaBot, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/logo_elma_bot.f17ce886.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M30.5457 13.6052V18.2566L36.231 12.6285C35.9807 9.28179 34.4622 6.1523 31.9798 3.86701C29.4973 1.58173 26.2341 0.309431 22.8442 0.305023H18.134V5.96708H22.8442C24.892 5.96708 26.856 6.7724 28.3041 8.20589C29.7522 9.63937 30.5657 11.5836 30.5657 13.6109\",\n fill: \"#FABE00\"\n});\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M22.8441 30.543H18.1368L23.8222 36.1711C27.2069 35.9266 30.373 34.4237 32.6848 31.964C34.9965 29.5044 36.2827 26.2701 36.2853 22.9105V18.2592H30.5657V22.9105C30.5657 24.9378 29.7521 26.882 28.3041 28.3155C26.856 29.749 24.892 30.5543 22.8441 30.5543\",\n fill: \"#4D7EDD\"\n});\n\nvar _ref4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M5.72799 22.9105V18.2592L0.0397949 23.8872C0.290223 27.2359 1.81032 30.367 4.29524 32.6526C6.78015 34.9381 10.0461 36.2091 13.4381 36.2107H18.1368V30.5486H13.4381C11.3902 30.5486 9.4262 29.7433 7.97813 28.3098C6.53007 26.8763 5.71654 24.9321 5.71654 22.9049\",\n fill: \"#56C7F3\"\n});\n\nvar _ref5 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M13.4355 5.92744H18.1342L12.4488 0.305023C9.06612 0.552929 5.90317 2.05773 3.59435 4.51762C1.28553 6.97751 0.00156829 10.2106 0 13.5684V18.2198H5.71965V13.5627C5.71965 11.5355 6.53318 9.59125 7.98124 8.15776C9.42931 6.72428 11.3933 5.91895 13.4412 5.91895\",\n fill: \"#E62D31\"\n});\n\nvar _ref6 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M60.8201 27.1067H75.4052V32.2954H54.9708V5.33654H75.0064V10.5441H60.8201V15.9396H71.8918V21.1284H60.8201V27.1067Z\",\n fill: \"white\"\n});\n\nvar _ref7 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M99.3149 32.2954H80.8366V5.33654H86.6859V27.1067H99.3149V32.2954Z\",\n fill: \"white\"\n});\n\nvar _ref8 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M118.363 17.0864L127.782 5.33654H132.948V32.2954H127.118V14.3228L118.363 25.3583L109.627 14.398V32.2954H103.778V5.33654H109.038L118.363 17.0864Z\",\n fill: \"white\"\n});\n\nvar _ref9 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M153.952 20.9404L150.648 12.0857L147.324 20.9404H153.952ZM155.889 25.9411H145.387L143.051 32.2954H136.822L147.533 5.33654H153.743L164.454 32.2954H158.225L155.889 25.9411Z\",\n fill: \"white\"\n});\n\nvar _ref10 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M187.224 18.0452C187.351 18.0703 187.528 18.1267 187.756 18.2144C187.997 18.2896 188.408 18.4964 188.991 18.8348C189.573 19.1606 190.086 19.5492 190.529 20.0004C190.972 20.4516 191.371 21.1033 191.725 21.9556C192.092 22.7953 192.276 23.7415 192.276 24.7943C192.276 26.925 191.434 28.7736 189.75 30.3403C188.066 31.8944 185.863 32.6714 183.141 32.6714C181.977 32.6714 180.869 32.5336 179.818 32.2578C178.767 31.9696 177.9 31.6374 177.216 31.2614C176.545 30.8729 175.95 30.4781 175.431 30.0771C174.912 29.676 174.538 29.3376 174.311 29.0619L173.988 28.6295L175.944 26.7119C175.994 26.7871 176.083 26.9062 176.21 27.0691C176.336 27.2195 176.621 27.4827 177.064 27.8587C177.507 28.2221 177.988 28.5543 178.508 28.8551C179.027 29.1433 179.698 29.4065 180.521 29.6447C181.356 29.8703 182.23 29.9831 183.141 29.9831C185.116 29.9831 186.68 29.488 187.832 28.4979C188.984 27.5078 189.56 26.2732 189.56 24.7943C189.56 23.353 188.965 22.1248 187.775 21.1096C186.598 20.0944 185.053 19.5868 183.141 19.5868H180.407V16.8984H183.141C184.775 16.8984 186.053 16.466 186.978 15.6012C187.914 14.7239 188.383 13.552 188.383 12.0857C188.383 10.8073 187.908 9.74822 186.959 8.9085C186.022 8.06877 184.749 7.64891 183.141 7.64891C182.394 7.64891 181.66 7.75544 180.938 7.96851C180.229 8.16904 179.641 8.42597 179.172 8.7393C178.704 9.0401 178.292 9.34716 177.938 9.66049C177.596 9.96129 177.343 10.2182 177.178 10.4313L176.912 10.7321L174.975 8.6077C175.051 8.50743 175.159 8.37584 175.298 8.2129C175.437 8.04997 175.76 7.76171 176.267 7.34811C176.773 6.93452 177.317 6.57106 177.9 6.25773C178.482 5.93186 179.248 5.63733 180.198 5.37414C181.147 5.09841 182.129 4.96054 183.141 4.96054C185.522 4.96054 187.478 5.65613 189.01 7.04732C190.542 8.42597 191.308 10.1054 191.308 12.0857C191.308 12.963 191.162 13.7588 190.871 14.4732C190.592 15.1876 190.25 15.7579 189.845 16.184C189.44 16.6101 189.041 16.9736 188.649 17.2744C188.269 17.5627 187.933 17.7695 187.642 17.8948L187.224 18.0452Z\",\n fill: \"white\"\n});\n\nvar _ref11 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M206.253 14.962C208.874 14.962 211.052 15.8143 212.786 17.5188C214.534 19.2108 215.407 21.3164 215.407 23.8355C215.407 26.3422 214.521 28.4415 212.748 30.1335C210.989 31.8254 208.76 32.6714 206.064 32.6714C203.367 32.6714 201.139 31.8254 199.379 30.1335C197.619 28.4415 196.739 26.3359 196.739 23.8167C196.739 22.8391 196.897 21.8741 197.214 20.9216C197.543 19.9565 197.859 19.2296 198.163 18.7408L198.676 18.0452L206.842 5.33654H209.767L203.348 15.3568C204.095 15.0936 205.063 14.962 206.253 14.962ZM210.735 28.2911C211.9 27.1631 212.483 25.6779 212.483 23.8355C212.483 21.9806 211.9 20.4892 210.735 19.3612C209.571 18.2332 208.013 17.6692 206.064 17.6692C204.126 17.6692 202.569 18.2332 201.392 19.3612C200.227 20.4892 199.645 21.9806 199.645 23.8355C199.645 25.6779 200.227 27.1631 201.392 28.2911C202.569 29.4191 204.126 29.9831 206.064 29.9831C208.013 29.9831 209.571 29.4191 210.735 28.2911Z\",\n fill: \"white\"\n});\n\nvar _ref12 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M229.593 14.962C232.214 14.962 234.392 15.8143 236.126 17.5188C237.861 19.2108 238.728 21.3101 238.728 23.8167C238.728 26.4362 237.874 28.5668 236.164 30.2087C234.455 31.8505 232.202 32.6714 229.404 32.6714C228.289 32.6714 227.213 32.5336 226.175 32.2578C225.137 31.9696 224.282 31.6374 223.611 31.2614C222.953 30.8729 222.371 30.4781 221.864 30.0771C221.358 29.676 221.003 29.3376 220.801 29.0619L220.459 28.6295L222.396 26.7119C222.447 26.7871 222.535 26.9062 222.662 27.0691C222.801 27.2195 223.086 27.4827 223.516 27.8587C223.959 28.2221 224.428 28.5543 224.922 28.8551C225.415 29.1433 226.061 29.4065 226.859 29.6447C227.669 29.8703 228.517 29.9831 229.404 29.9831C231.353 29.9831 232.911 29.4191 234.075 28.2911C235.24 27.1631 235.823 25.6716 235.823 23.8167C235.823 21.9994 235.24 20.5205 234.075 19.38C232.923 18.2395 231.429 17.6692 229.593 17.6692C228.378 17.6692 227.264 17.9136 226.251 18.4024C225.238 18.8912 224.536 19.3612 224.143 19.8124L223.554 20.5456H221.427L222.396 5.33654H236.981V8.04371H224.922L224.333 16.5036C224.485 16.4033 224.7 16.2655 224.979 16.09C225.257 15.902 225.846 15.6702 226.745 15.3944C227.656 15.1062 228.606 14.962 229.593 14.962Z\",\n fill: \"white\"\n});\n\nvar SvgLogoElma365 = function SvgLogoElma365(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 239,\n height: 37,\n viewBox: \"0 0 239 37\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2, _ref3, _ref4, _ref5, _ref6, _ref7, _ref8, _ref9, _ref10, _ref11, _ref12);\n};\n\nvar ForwardRef = React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgLogoElma365, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/logo-elma365.186cd67f.svg\";\nexport { ForwardRef as ReactComponent };","import React, { useState, useEffect } from 'react';\nimport { Button, Result, Spin, Card } from 'antd';\nimport { StatusCodes } from 'http-status-codes';\n\nimport { logger } from '../utils/loggerUtil';\nimport { AccountInfoModel } from '../../api';\nimport { accountApi } from '../apis';\n\nenum LoadingStatus {\n Loading,\n Success,\n Error,\n}\n\nconst AccountInfo: React.FC<{}> = () => {\n const [status, setStatus] = useState(LoadingStatus.Loading);\n const [account, setAccount] = useState({} as AccountInfoModel);\n const [error, setError] = useState('');\n\n const loadDataAsync = async () => {\n try {\n const response = await accountApi.getAccountInfo();\n if (response.status === StatusCodes.OK) {\n setAccount(response.data);\n setStatus(LoadingStatus.Success);\n } else {\n logger.error('Ошибка загрузки данных', response.statusText);\n setError(response.statusText);\n setStatus(LoadingStatus.Error);\n }\n } catch (e) {\n logger.error('Ошибка загрузки данных', e);\n setError(e.messsage);\n setStatus(LoadingStatus.Error);\n }\n };\n const loadData = () => {\n loadDataAsync();\n };\n useEffect(loadData, []);\n\n const getExtra = () => [\n ,\n ];\n\n const getInfo = () => {\n switch (status) {\n case LoadingStatus.Loading:\n return } status=\"info\" />;\n\n case LoadingStatus.Success:\n return (\n \n );\n\n case LoadingStatus.Error:\n return ;\n }\n };\n\n return {getInfo()};\n};\n\nexport default AccountInfo;\n","import React from 'react';\nimport { Layout } from 'antd';\n\nimport { LogoElmaBot } from '../assets';\n\nconst { Content } = Layout;\n\nconst AuthLayout: React.FC<{}> = (props) => {\n const { children } = props;\n\n return (\n \n
\n \n
\n {children}\n
\n );\n};\n\nexport default AuthLayout;\n","import winston from 'winston';\n\nconst logger = winston.createLogger({\n level: 'info',\n format: winston.format.json(),\n transports: [\n new winston.transports.Console({\n format: winston.format.simple(),\n }),\n ],\n});\n\nexport { logger };\n","// tslint:disable\n/**\n * ELMA Bot Auth API\n * ELMA Bot Auth API\n *\n * The version of the OpenAPI document: 1.0\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nimport { Configuration } from \"./configuration\";\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios';\n\nexport const BASE_PATH = \"http://localhost\".replace(/\\/+$/, \"\");\n\n/**\n *\n * @export\n */\nexport const COLLECTION_FORMATS = {\n csv: \",\",\n ssv: \" \",\n tsv: \"\\t\",\n pipes: \"|\",\n};\n\n/**\n *\n * @export\n * @interface RequestArgs\n */\nexport interface RequestArgs {\n url: string;\n options: any;\n}\n\n/**\n *\n * @export\n * @class BaseAPI\n */\nexport class BaseAPI {\n protected configuration: Configuration | undefined;\n\n constructor(configuration?: Configuration, protected basePath: string = BASE_PATH, protected axios: AxiosInstance = globalAxios) {\n if (configuration) {\n this.configuration = configuration;\n this.basePath = configuration.basePath || this.basePath;\n }\n }\n};\n\n/**\n *\n * @export\n * @class RequiredError\n * @extends {Error}\n */\nexport class RequiredError extends Error {\n name: \"RequiredError\" = \"RequiredError\";\n constructor(public field: string, msg?: string) {\n super(msg);\n }\n}\n","// tslint:disable\n/**\n * ELMA Bot Auth API\n * ELMA Bot Auth API\n *\n * The version of the OpenAPI document: 1.0\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nimport * as globalImportUrl from 'url';\nimport { Configuration } from './configuration';\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios';\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from './base';\n\n/**\n * Модель информации о приложении.\n * @export\n * @interface AboutModel\n */\nexport interface AboutModel {\n /**\n * Наименование.\n * @type {string}\n * @memberof AboutModel\n */\n name?: string | null;\n /**\n * Описание.\n * @type {string}\n * @memberof AboutModel\n */\n description?: string | null;\n /**\n * Версия.\n * @type {string}\n * @memberof AboutModel\n */\n version?: string | null;\n}\n/**\n * Модель информации об аккаунте.\n * @export\n * @interface AccountInfoModel\n */\nexport interface AccountInfoModel {\n /**\n * Аутентифицирован?\n * @type {boolean}\n * @memberof AccountInfoModel\n */\n authenticated?: boolean;\n /**\n * Иvя пользователя.\n * @type {string}\n * @memberof AccountInfoModel\n */\n username?: string | null;\n}\n/**\n * Модель информации об ошибке.\n * @export\n * @interface ErrorInfoModel\n */\nexport interface ErrorInfoModel {\n /**\n * Сообщение.\n * @type {string}\n * @memberof ErrorInfoModel\n */\n message?: string | null;\n /**\n * Описание.\n * @type {string}\n * @memberof ErrorInfoModel\n */\n description?: string | null;\n}\n/**\n * Модель информации о работоспособности.\n * @export\n * @interface HealthModel\n */\nexport interface HealthModel {\n /**\n * Статус работоспособности.\n * @type {string}\n * @memberof HealthModel\n */\n status?: string | null;\n}\n/**\n * Модель запроса на вход.\n * @export\n * @interface LoginRequestModel\n */\nexport interface LoginRequestModel {\n /**\n * Логин.\n * @type {string}\n * @memberof LoginRequestModel\n */\n username?: string | null;\n /**\n * Пароль.\n * @type {string}\n * @memberof LoginRequestModel\n */\n password?: string | null;\n /**\n * Запомнить меня?\n * @type {boolean}\n * @memberof LoginRequestModel\n */\n rememberMe?: boolean;\n /**\n * URL возврата.\n * @type {string}\n * @memberof LoginRequestModel\n */\n returnUrl?: string | null;\n}\n/**\n * Модель ответа на вход.\n * @export\n * @interface LoginResponseModel\n */\nexport interface LoginResponseModel {\n /**\n * URL перенаправления.\n * @type {string}\n * @memberof LoginResponseModel\n */\n redirectUrl?: string | null;\n}\n/**\n * Модель информации о выходе.\n * @export\n * @interface LogoutInfoModel\n */\nexport interface LogoutInfoModel {\n /**\n * ИД выхода.\n * @type {string}\n * @memberof LogoutInfoModel\n */\n logoutId?: string | null;\n /**\n * Показывать подтверждение?\n * @type {boolean}\n * @memberof LogoutInfoModel\n */\n showLogoutPrompt?: boolean;\n}\n/**\n * Модель запроса на выход.\n * @export\n * @interface LogoutRequestModel\n */\nexport interface LogoutRequestModel {\n /**\n * ИД выхода.\n * @type {string}\n * @memberof LogoutRequestModel\n */\n logoutId?: string | null;\n}\n/**\n * Модель ответа на выход.\n * @export\n * @interface LogoutResponseModel\n */\nexport interface LogoutResponseModel {\n /**\n * ИД выхода.\n * @type {string}\n * @memberof LogoutResponseModel\n */\n logoutId?: string | null;\n /**\n * Показывать подтверждение?\n * @type {boolean}\n * @memberof LogoutResponseModel\n */\n showLogoutPrompt?: boolean;\n /**\n * Наименование клиента.\n * @type {string}\n * @memberof LogoutResponseModel\n */\n clientName?: string | null;\n /**\n * URL фрейма для выхода.\n * @type {string}\n * @memberof LogoutResponseModel\n */\n signOutIframeUrl?: string | null;\n /**\n * URL перенаправления после выхода.\n * @type {string}\n * @memberof LogoutResponseModel\n */\n postLogoutRedirectUri?: string | null;\n}\n/**\n * \n * @export\n * @interface ProblemDetails\n */\nexport interface ProblemDetails {\n [key: string]: any | any;\n\n /**\n * \n * @type {string}\n * @memberof ProblemDetails\n */\n type?: string | null;\n /**\n * \n * @type {string}\n * @memberof ProblemDetails\n */\n title?: string | null;\n /**\n * \n * @type {number}\n * @memberof ProblemDetails\n */\n status?: number | null;\n /**\n * \n * @type {string}\n * @memberof ProblemDetails\n */\n detail?: string | null;\n /**\n * \n * @type {string}\n * @memberof ProblemDetails\n */\n instance?: string | null;\n}\n/**\n * Запрос на создание роли.\n * @export\n * @interface RoleCreationRequest\n */\nexport interface RoleCreationRequest {\n /**\n * Наименование роли.\n * @type {string}\n * @memberof RoleCreationRequest\n */\n name: string;\n /**\n * Описание роли.\n * @type {string}\n * @memberof RoleCreationRequest\n */\n description?: string | null;\n}\n/**\n * Ответ на создание роли.\n * @export\n * @interface RoleCreationResponse\n */\nexport interface RoleCreationResponse {\n /**\n * ИД роли.\n * @type {string}\n * @memberof RoleCreationResponse\n */\n id?: string | null;\n}\n/**\n * Модель роли.\n * @export\n * @interface RoleModel\n */\nexport interface RoleModel {\n /**\n * ИД роли.\n * @type {string}\n * @memberof RoleModel\n */\n id?: string | null;\n /**\n * Наименование роли.\n * @type {string}\n * @memberof RoleModel\n */\n name?: string | null;\n /**\n * Описание роли.\n * @type {string}\n * @memberof RoleModel\n */\n description?: string | null;\n}\n/**\n * \n * @export\n * @interface RoleModelPaginationResponse\n */\nexport interface RoleModelPaginationResponse {\n /**\n * \n * @type {Array}\n * @memberof RoleModelPaginationResponse\n */\n items?: Array | null;\n /**\n * \n * @type {boolean}\n * @memberof RoleModelPaginationResponse\n */\n hasMore?: boolean;\n /**\n * \n * @type {number}\n * @memberof RoleModelPaginationResponse\n */\n pageIndex?: number;\n /**\n * \n * @type {number}\n * @memberof RoleModelPaginationResponse\n */\n pageSize?: number;\n /**\n * \n * @type {number}\n * @memberof RoleModelPaginationResponse\n */\n totalItemCount?: number | null;\n /**\n * \n * @type {number}\n * @memberof RoleModelPaginationResponse\n */\n totalPageCount?: number | null;\n /**\n * \n * @type {number}\n * @memberof RoleModelPaginationResponse\n */\n fromItemInclusive?: number;\n /**\n * \n * @type {number}\n * @memberof RoleModelPaginationResponse\n */\n toItemExclusive?: number;\n}\n/**\n * Запрос на обновление роли.\n * @export\n * @interface RoleUpdatingRequest\n */\nexport interface RoleUpdatingRequest {\n /**\n * Наименование роли.\n * @type {string}\n * @memberof RoleUpdatingRequest\n */\n name: string;\n /**\n * Описание роли.\n * @type {string}\n * @memberof RoleUpdatingRequest\n */\n description?: string | null;\n}\n/**\n * Запрос на создание тенанта.\n * @export\n * @interface TenantCreationRequest\n */\nexport interface TenantCreationRequest {\n /**\n * Наименование тенанта.\n * @type {string}\n * @memberof TenantCreationRequest\n */\n name: string;\n /**\n * Описание тенанта.\n * @type {string}\n * @memberof TenantCreationRequest\n */\n description?: string | null;\n}\n/**\n * Ответ на создание тенанта.\n * @export\n * @interface TenantCreationResponse\n */\nexport interface TenantCreationResponse {\n /**\n * ИД тенанта.\n * @type {string}\n * @memberof TenantCreationResponse\n */\n id?: string | null;\n}\n/**\n * Модель тенанта.\n * @export\n * @interface TenantModel\n */\nexport interface TenantModel {\n /**\n * ИД тенанта.\n * @type {string}\n * @memberof TenantModel\n */\n id?: string | null;\n /**\n * Наименование тенанта.\n * @type {string}\n * @memberof TenantModel\n */\n name?: string | null;\n /**\n * Описание тенанта.\n * @type {string}\n * @memberof TenantModel\n */\n description?: string | null;\n}\n/**\n * \n * @export\n * @interface TenantModelPaginationResponse\n */\nexport interface TenantModelPaginationResponse {\n /**\n * \n * @type {Array}\n * @memberof TenantModelPaginationResponse\n */\n items?: Array | null;\n /**\n * \n * @type {boolean}\n * @memberof TenantModelPaginationResponse\n */\n hasMore?: boolean;\n /**\n * \n * @type {number}\n * @memberof TenantModelPaginationResponse\n */\n pageIndex?: number;\n /**\n * \n * @type {number}\n * @memberof TenantModelPaginationResponse\n */\n pageSize?: number;\n /**\n * \n * @type {number}\n * @memberof TenantModelPaginationResponse\n */\n totalItemCount?: number | null;\n /**\n * \n * @type {number}\n * @memberof TenantModelPaginationResponse\n */\n totalPageCount?: number | null;\n /**\n * \n * @type {number}\n * @memberof TenantModelPaginationResponse\n */\n fromItemInclusive?: number;\n /**\n * \n * @type {number}\n * @memberof TenantModelPaginationResponse\n */\n toItemExclusive?: number;\n}\n/**\n * Запрос на обновление тенанта.\n * @export\n * @interface TenantUpdatingRequest\n */\nexport interface TenantUpdatingRequest {\n /**\n * Наименование тенанта.\n * @type {string}\n * @memberof TenantUpdatingRequest\n */\n name: string;\n /**\n * Описание тенанта.\n * @type {string}\n * @memberof TenantUpdatingRequest\n */\n description?: string | null;\n}\n/**\n * Запрос на создание пользователя.\n * @export\n * @interface UserCreationRequest\n */\nexport interface UserCreationRequest {\n /**\n * Логин пользователя.\n * @type {string}\n * @memberof UserCreationRequest\n */\n login: string;\n /**\n * Пароль пользователя.\n * @type {string}\n * @memberof UserCreationRequest\n */\n password: string;\n /**\n * Email пользователя.\n * @type {string}\n * @memberof UserCreationRequest\n */\n email: string;\n /**\n * Номер телефона пользователя.\n * @type {string}\n * @memberof UserCreationRequest\n */\n phoneNumber: string;\n /**\n * Полное имя пользователя.\n * @type {string}\n * @memberof UserCreationRequest\n */\n fullName: string;\n /**\n * Краткое имя пользователя.\n * @type {string}\n * @memberof UserCreationRequest\n */\n shortName: string;\n /**\n * Фамилия пользователя.\n * @type {string}\n * @memberof UserCreationRequest\n */\n familyName: string;\n /**\n * Имя пользователя.\n * @type {string}\n * @memberof UserCreationRequest\n */\n givenName: string;\n /**\n * Отчество пользователя.\n * @type {string}\n * @memberof UserCreationRequest\n */\n middleName?: string | null;\n /**\n * Наименование тенанта пользователя.\n * @type {string}\n * @memberof UserCreationRequest\n */\n tenantName?: string | null;\n /**\n * Наименования ролей пользователя.\n * @type {string}\n * @memberof UserCreationRequest\n */\n roleNames?: string | null;\n}\n/**\n * Ответ на создание пользователя.\n * @export\n * @interface UserCreationResponse\n */\nexport interface UserCreationResponse {\n /**\n * ИД пользователя.\n * @type {string}\n * @memberof UserCreationResponse\n */\n id?: string | null;\n}\n/**\n * Модель пользователя.\n * @export\n * @interface UserModel\n */\nexport interface UserModel {\n /**\n * ИД пользователя.\n * @type {string}\n * @memberof UserModel\n */\n id?: string | null;\n /**\n * Логин пользователя.\n * @type {string}\n * @memberof UserModel\n */\n login?: string | null;\n /**\n * Пароль пользователя.\n * @type {string}\n * @memberof UserModel\n */\n password?: string | null;\n /**\n * Email пользователя.\n * @type {string}\n * @memberof UserModel\n */\n email?: string | null;\n /**\n * Номер телефона пользователя.\n * @type {string}\n * @memberof UserModel\n */\n phoneNumber?: string | null;\n /**\n * Полное имя пользователя.\n * @type {string}\n * @memberof UserModel\n */\n fullName?: string | null;\n /**\n * Краткое имя пользователя.\n * @type {string}\n * @memberof UserModel\n */\n shortName?: string | null;\n /**\n * Фамилия пользователя.\n * @type {string}\n * @memberof UserModel\n */\n familyName?: string | null;\n /**\n * Имя пользователя.\n * @type {string}\n * @memberof UserModel\n */\n givenName?: string | null;\n /**\n * Отчество пользователя.\n * @type {string}\n * @memberof UserModel\n */\n middleName?: string | null;\n /**\n * Наименование тенанта пользователя.\n * @type {string}\n * @memberof UserModel\n */\n tenantName?: string | null;\n /**\n * Наименования ролей пользователя.\n * @type {string}\n * @memberof UserModel\n */\n roleNames?: string | null;\n}\n/**\n * \n * @export\n * @interface UserModelPaginationResponse\n */\nexport interface UserModelPaginationResponse {\n /**\n * \n * @type {Array}\n * @memberof UserModelPaginationResponse\n */\n items?: Array | null;\n /**\n * \n * @type {boolean}\n * @memberof UserModelPaginationResponse\n */\n hasMore?: boolean;\n /**\n * \n * @type {number}\n * @memberof UserModelPaginationResponse\n */\n pageIndex?: number;\n /**\n * \n * @type {number}\n * @memberof UserModelPaginationResponse\n */\n pageSize?: number;\n /**\n * \n * @type {number}\n * @memberof UserModelPaginationResponse\n */\n totalItemCount?: number | null;\n /**\n * \n * @type {number}\n * @memberof UserModelPaginationResponse\n */\n totalPageCount?: number | null;\n /**\n * \n * @type {number}\n * @memberof UserModelPaginationResponse\n */\n fromItemInclusive?: number;\n /**\n * \n * @type {number}\n * @memberof UserModelPaginationResponse\n */\n toItemExclusive?: number;\n}\n/**\n * Запрос на обновление пользователя.\n * @export\n * @interface UserUpdatingRequest\n */\nexport interface UserUpdatingRequest {\n /**\n * Логин пользователя.\n * @type {string}\n * @memberof UserUpdatingRequest\n */\n login: string;\n /**\n * Email пользователя.\n * @type {string}\n * @memberof UserUpdatingRequest\n */\n email: string;\n /**\n * Номер телефона пользователя.\n * @type {string}\n * @memberof UserUpdatingRequest\n */\n phoneNumber: string;\n /**\n * Полное имя пользователя.\n * @type {string}\n * @memberof UserUpdatingRequest\n */\n fullName: string;\n /**\n * Краткое имя пользователя.\n * @type {string}\n * @memberof UserUpdatingRequest\n */\n shortName: string;\n /**\n * Фамилия пользователя.\n * @type {string}\n * @memberof UserUpdatingRequest\n */\n familyName: string;\n /**\n * Имя пользователя.\n * @type {string}\n * @memberof UserUpdatingRequest\n */\n givenName: string;\n /**\n * Отчество пользователя.\n * @type {string}\n * @memberof UserUpdatingRequest\n */\n middleName?: string | null;\n /**\n * Наименование тенанта пользователя.\n * @type {string}\n * @memberof UserUpdatingRequest\n */\n tenantName?: string | null;\n /**\n * Наименования ролей пользователя.\n * @type {string}\n * @memberof UserUpdatingRequest\n */\n roleNames?: string | null;\n}\n\n/**\n * AccountApi - axios parameter creator\n * @export\n */\nexport const AccountApiAxiosParamCreator = function (configuration?: Configuration) {\n return {\n /**\n * \n * @summary Получить информацию об аккаунте.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getAccountInfo: async (options: any = {}): Promise => {\n const localVarPath = `/api/v1/identity/account/info`;\n const localVarUrlObj = globalImportUrl.parse(localVarPath, true);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n\n \n localVarUrlObj.query = {...localVarUrlObj.query, ...localVarQueryParameter, ...options.query};\n // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n delete localVarUrlObj.search;\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: globalImportUrl.format(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Получить информацию об ошибке.\n * @param {string} [errorId] ИД выхоошибкида.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getErrorInfo: async (errorId?: string, options: any = {}): Promise => {\n const localVarPath = `/api/v1/identity/account/error`;\n const localVarUrlObj = globalImportUrl.parse(localVarPath, true);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n if (errorId !== undefined) {\n localVarQueryParameter['errorId'] = errorId;\n }\n\n\n \n localVarUrlObj.query = {...localVarUrlObj.query, ...localVarQueryParameter, ...options.query};\n // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n delete localVarUrlObj.search;\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: globalImportUrl.format(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Получить информацию о выходе.\n * @param {string} [logoutId] ИД выхода.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getLogoutInfo: async (logoutId?: string, options: any = {}): Promise => {\n const localVarPath = `/api/v1/identity/account/logout`;\n const localVarUrlObj = globalImportUrl.parse(localVarPath, true);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n if (logoutId !== undefined) {\n localVarQueryParameter['logoutId'] = logoutId;\n }\n\n\n \n localVarUrlObj.query = {...localVarUrlObj.query, ...localVarQueryParameter, ...options.query};\n // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n delete localVarUrlObj.search;\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: globalImportUrl.format(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Выполнить вход.\n * @param {LoginRequestModel} [loginRequestModel] Запрос на вход.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n processAccountLogin: async (loginRequestModel?: LoginRequestModel, options: any = {}): Promise => {\n const localVarPath = `/api/v1/identity/account/login`;\n const localVarUrlObj = globalImportUrl.parse(localVarPath, true);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n\n \n localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';\n\n localVarUrlObj.query = {...localVarUrlObj.query, ...localVarQueryParameter, ...options.query};\n // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n delete localVarUrlObj.search;\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof loginRequestModel !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(loginRequestModel !== undefined ? loginRequestModel : {}) : (loginRequestModel || \"\");\n\n return {\n url: globalImportUrl.format(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Выполнить выход.\n * @param {LogoutRequestModel} [logoutRequestModel] Запрос на выход.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n processAccountLogout: async (logoutRequestModel?: LogoutRequestModel, options: any = {}): Promise => {\n const localVarPath = `/api/v1/identity/account/logout`;\n const localVarUrlObj = globalImportUrl.parse(localVarPath, true);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n\n \n localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';\n\n localVarUrlObj.query = {...localVarUrlObj.query, ...localVarQueryParameter, ...options.query};\n // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n delete localVarUrlObj.search;\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof logoutRequestModel !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(logoutRequestModel !== undefined ? logoutRequestModel : {}) : (logoutRequestModel || \"\");\n\n return {\n url: globalImportUrl.format(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n }\n};\n\n/**\n * AccountApi - functional programming interface\n * @export\n */\nexport const AccountApiFp = function(configuration?: Configuration) {\n return {\n /**\n * \n * @summary Получить информацию об аккаунте.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async getAccountInfo(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await AccountApiAxiosParamCreator(configuration).getAccountInfo(options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Получить информацию об ошибке.\n * @param {string} [errorId] ИД выхоошибкида.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async getErrorInfo(errorId?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await AccountApiAxiosParamCreator(configuration).getErrorInfo(errorId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Получить информацию о выходе.\n * @param {string} [logoutId] ИД выхода.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async getLogoutInfo(logoutId?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await AccountApiAxiosParamCreator(configuration).getLogoutInfo(logoutId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Выполнить вход.\n * @param {LoginRequestModel} [loginRequestModel] Запрос на вход.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async processAccountLogin(loginRequestModel?: LoginRequestModel, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await AccountApiAxiosParamCreator(configuration).processAccountLogin(loginRequestModel, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Выполнить выход.\n * @param {LogoutRequestModel} [logoutRequestModel] Запрос на выход.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async processAccountLogout(logoutRequestModel?: LogoutRequestModel, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await AccountApiAxiosParamCreator(configuration).processAccountLogout(logoutRequestModel, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n }\n};\n\n/**\n * AccountApi - factory interface\n * @export\n */\nexport const AccountApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {\n return {\n /**\n * \n * @summary Получить информацию об аккаунте.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getAccountInfo(options?: any): AxiosPromise {\n return AccountApiFp(configuration).getAccountInfo(options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Получить информацию об ошибке.\n * @param {string} [errorId] ИД выхоошибкида.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getErrorInfo(errorId?: string, options?: any): AxiosPromise {\n return AccountApiFp(configuration).getErrorInfo(errorId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Получить информацию о выходе.\n * @param {string} [logoutId] ИД выхода.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getLogoutInfo(logoutId?: string, options?: any): AxiosPromise {\n return AccountApiFp(configuration).getLogoutInfo(logoutId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Выполнить вход.\n * @param {LoginRequestModel} [loginRequestModel] Запрос на вход.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n processAccountLogin(loginRequestModel?: LoginRequestModel, options?: any): AxiosPromise {\n return AccountApiFp(configuration).processAccountLogin(loginRequestModel, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Выполнить выход.\n * @param {LogoutRequestModel} [logoutRequestModel] Запрос на выход.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n processAccountLogout(logoutRequestModel?: LogoutRequestModel, options?: any): AxiosPromise {\n return AccountApiFp(configuration).processAccountLogout(logoutRequestModel, options).then((request) => request(axios, basePath));\n },\n };\n};\n\n/**\n * AccountApi - object-oriented interface\n * @export\n * @class AccountApi\n * @extends {BaseAPI}\n */\nexport class AccountApi extends BaseAPI {\n /**\n * \n * @summary Получить информацию об аккаунте.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof AccountApi\n */\n public getAccountInfo(options?: any) {\n return AccountApiFp(this.configuration).getAccountInfo(options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @summary Получить информацию об ошибке.\n * @param {string} [errorId] ИД выхоошибкида.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof AccountApi\n */\n public getErrorInfo(errorId?: string, options?: any) {\n return AccountApiFp(this.configuration).getErrorInfo(errorId, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @summary Получить информацию о выходе.\n * @param {string} [logoutId] ИД выхода.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof AccountApi\n */\n public getLogoutInfo(logoutId?: string, options?: any) {\n return AccountApiFp(this.configuration).getLogoutInfo(logoutId, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @summary Выполнить вход.\n * @param {LoginRequestModel} [loginRequestModel] Запрос на вход.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof AccountApi\n */\n public processAccountLogin(loginRequestModel?: LoginRequestModel, options?: any) {\n return AccountApiFp(this.configuration).processAccountLogin(loginRequestModel, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @summary Выполнить выход.\n * @param {LogoutRequestModel} [logoutRequestModel] Запрос на выход.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof AccountApi\n */\n public processAccountLogout(logoutRequestModel?: LogoutRequestModel, options?: any) {\n return AccountApiFp(this.configuration).processAccountLogout(logoutRequestModel, options).then((request) => request(this.axios, this.basePath));\n }\n}\n\n\n/**\n * ApplicationApi - axios parameter creator\n * @export\n */\nexport const ApplicationApiAxiosParamCreator = function (configuration?: Configuration) {\n return {\n /**\n * \n * @summary Получить информацию о приложении.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getAboutInfo: async (options: any = {}): Promise => {\n const localVarPath = `/api/v1/info/application/about`;\n const localVarUrlObj = globalImportUrl.parse(localVarPath, true);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n\n \n localVarUrlObj.query = {...localVarUrlObj.query, ...localVarQueryParameter, ...options.query};\n // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n delete localVarUrlObj.search;\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: globalImportUrl.format(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Получить информацию о работоспособности.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getHealthInfo: async (options: any = {}): Promise => {\n const localVarPath = `/api/v1/info/application/health`;\n const localVarUrlObj = globalImportUrl.parse(localVarPath, true);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n\n \n localVarUrlObj.query = {...localVarUrlObj.query, ...localVarQueryParameter, ...options.query};\n // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n delete localVarUrlObj.search;\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: globalImportUrl.format(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n }\n};\n\n/**\n * ApplicationApi - functional programming interface\n * @export\n */\nexport const ApplicationApiFp = function(configuration?: Configuration) {\n return {\n /**\n * \n * @summary Получить информацию о приложении.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async getAboutInfo(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await ApplicationApiAxiosParamCreator(configuration).getAboutInfo(options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Получить информацию о работоспособности.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async getHealthInfo(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await ApplicationApiAxiosParamCreator(configuration).getHealthInfo(options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n }\n};\n\n/**\n * ApplicationApi - factory interface\n * @export\n */\nexport const ApplicationApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {\n return {\n /**\n * \n * @summary Получить информацию о приложении.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getAboutInfo(options?: any): AxiosPromise {\n return ApplicationApiFp(configuration).getAboutInfo(options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Получить информацию о работоспособности.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getHealthInfo(options?: any): AxiosPromise {\n return ApplicationApiFp(configuration).getHealthInfo(options).then((request) => request(axios, basePath));\n },\n };\n};\n\n/**\n * ApplicationApi - object-oriented interface\n * @export\n * @class ApplicationApi\n * @extends {BaseAPI}\n */\nexport class ApplicationApi extends BaseAPI {\n /**\n * \n * @summary Получить информацию о приложении.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof ApplicationApi\n */\n public getAboutInfo(options?: any) {\n return ApplicationApiFp(this.configuration).getAboutInfo(options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @summary Получить информацию о работоспособности.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof ApplicationApi\n */\n public getHealthInfo(options?: any) {\n return ApplicationApiFp(this.configuration).getHealthInfo(options).then((request) => request(this.axios, this.basePath));\n }\n}\n\n\n/**\n * ConfigurationApi - axios parameter creator\n * @export\n */\nexport const ConfigurationApiAxiosParamCreator = function (configuration?: Configuration) {\n return {\n /**\n * \n * @summary Получить конфигурацию клиента.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getClientConfig: async (options: any = {}): Promise => {\n const localVarPath = `/api/v1/info/configuration/client`;\n const localVarUrlObj = globalImportUrl.parse(localVarPath, true);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n\n \n localVarUrlObj.query = {...localVarUrlObj.query, ...localVarQueryParameter, ...options.query};\n // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n delete localVarUrlObj.search;\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: globalImportUrl.format(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n }\n};\n\n/**\n * ConfigurationApi - functional programming interface\n * @export\n */\nexport const ConfigurationApiFp = function(configuration?: Configuration) {\n return {\n /**\n * \n * @summary Получить конфигурацию клиента.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async getClientConfig(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await ConfigurationApiAxiosParamCreator(configuration).getClientConfig(options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n }\n};\n\n/**\n * ConfigurationApi - factory interface\n * @export\n */\nexport const ConfigurationApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {\n return {\n /**\n * \n * @summary Получить конфигурацию клиента.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getClientConfig(options?: any): AxiosPromise {\n return ConfigurationApiFp(configuration).getClientConfig(options).then((request) => request(axios, basePath));\n },\n };\n};\n\n/**\n * ConfigurationApi - object-oriented interface\n * @export\n * @class ConfigurationApi\n * @extends {BaseAPI}\n */\nexport class ConfigurationApi extends BaseAPI {\n /**\n * \n * @summary Получить конфигурацию клиента.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof ConfigurationApi\n */\n public getClientConfig(options?: any) {\n return ConfigurationApiFp(this.configuration).getClientConfig(options).then((request) => request(this.axios, this.basePath));\n }\n}\n\n\n/**\n * RoleApi - axios parameter creator\n * @export\n */\nexport const RoleApiAxiosParamCreator = function (configuration?: Configuration) {\n return {\n /**\n * \n * @summary Создать роль.\n * @param {RoleCreationRequest} [roleCreationRequest] Запрос на создание роли.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n createRole: async (roleCreationRequest?: RoleCreationRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v1/membership/roles`;\n const localVarUrlObj = globalImportUrl.parse(localVarPath, true);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n\n \n localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';\n\n localVarUrlObj.query = {...localVarUrlObj.query, ...localVarQueryParameter, ...options.query};\n // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n delete localVarUrlObj.search;\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof roleCreationRequest !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(roleCreationRequest !== undefined ? roleCreationRequest : {}) : (roleCreationRequest || \"\");\n\n return {\n url: globalImportUrl.format(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Удалить роль.\n * @param {string} id ИД роли.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n deleteRole: async (id: string, options: any = {}): Promise => {\n // verify required parameter 'id' is not null or undefined\n if (id === null || id === undefined) {\n throw new RequiredError('id','Required parameter id was null or undefined when calling deleteRole.');\n }\n const localVarPath = `/api/v1/membership/roles/{id}`\n .replace(`{${\"id\"}}`, encodeURIComponent(String(id)));\n const localVarUrlObj = globalImportUrl.parse(localVarPath, true);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n\n \n localVarUrlObj.query = {...localVarUrlObj.query, ...localVarQueryParameter, ...options.query};\n // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n delete localVarUrlObj.search;\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: globalImportUrl.format(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Получить роль.\n * @param {string} id ИД роли.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getRole: async (id: string, options: any = {}): Promise => {\n // verify required parameter 'id' is not null or undefined\n if (id === null || id === undefined) {\n throw new RequiredError('id','Required parameter id was null or undefined when calling getRole.');\n }\n const localVarPath = `/api/v1/membership/roles/{id}`\n .replace(`{${\"id\"}}`, encodeURIComponent(String(id)));\n const localVarUrlObj = globalImportUrl.parse(localVarPath, true);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n\n \n localVarUrlObj.query = {...localVarUrlObj.query, ...localVarQueryParameter, ...options.query};\n // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n delete localVarUrlObj.search;\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: globalImportUrl.format(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Выполнить поиск ролей.\n * @param {object} [filtration] Параметры фильтрации.\n * @param {number} [pageIndex] \n * @param {number} [pageSize] \n * @param {boolean} [withTotal] \n * @param {number} [fromItemInclusive] \n * @param {number} [toItemExclusive] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n searchRoles: async (filtration?: object, pageIndex?: number, pageSize?: number, withTotal?: boolean, fromItemInclusive?: number, toItemExclusive?: number, options: any = {}): Promise => {\n const localVarPath = `/api/v1/membership/roles`;\n const localVarUrlObj = globalImportUrl.parse(localVarPath, true);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n if (filtration !== undefined) {\n localVarQueryParameter['filtration'] = filtration;\n }\n\n if (pageIndex !== undefined) {\n localVarQueryParameter['PageIndex'] = pageIndex;\n }\n\n if (pageSize !== undefined) {\n localVarQueryParameter['PageSize'] = pageSize;\n }\n\n if (withTotal !== undefined) {\n localVarQueryParameter['WithTotal'] = withTotal;\n }\n\n if (fromItemInclusive !== undefined) {\n localVarQueryParameter['FromItemInclusive'] = fromItemInclusive;\n }\n\n if (toItemExclusive !== undefined) {\n localVarQueryParameter['ToItemExclusive'] = toItemExclusive;\n }\n\n\n \n localVarUrlObj.query = {...localVarUrlObj.query, ...localVarQueryParameter, ...options.query};\n // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n delete localVarUrlObj.search;\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: globalImportUrl.format(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Обновить роль.\n * @param {string} id ИД роли.\n * @param {RoleUpdatingRequest} [roleUpdatingRequest] Запрос на обновление роли.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n updateRole: async (id: string, roleUpdatingRequest?: RoleUpdatingRequest, options: any = {}): Promise => {\n // verify required parameter 'id' is not null or undefined\n if (id === null || id === undefined) {\n throw new RequiredError('id','Required parameter id was null or undefined when calling updateRole.');\n }\n const localVarPath = `/api/v1/membership/roles/{id}`\n .replace(`{${\"id\"}}`, encodeURIComponent(String(id)));\n const localVarUrlObj = globalImportUrl.parse(localVarPath, true);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'PUT', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n\n \n localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';\n\n localVarUrlObj.query = {...localVarUrlObj.query, ...localVarQueryParameter, ...options.query};\n // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n delete localVarUrlObj.search;\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof roleUpdatingRequest !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(roleUpdatingRequest !== undefined ? roleUpdatingRequest : {}) : (roleUpdatingRequest || \"\");\n\n return {\n url: globalImportUrl.format(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n }\n};\n\n/**\n * RoleApi - functional programming interface\n * @export\n */\nexport const RoleApiFp = function(configuration?: Configuration) {\n return {\n /**\n * \n * @summary Создать роль.\n * @param {RoleCreationRequest} [roleCreationRequest] Запрос на создание роли.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async createRole(roleCreationRequest?: RoleCreationRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await RoleApiAxiosParamCreator(configuration).createRole(roleCreationRequest, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Удалить роль.\n * @param {string} id ИД роли.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async deleteRole(id: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await RoleApiAxiosParamCreator(configuration).deleteRole(id, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Получить роль.\n * @param {string} id ИД роли.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async getRole(id: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await RoleApiAxiosParamCreator(configuration).getRole(id, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Выполнить поиск ролей.\n * @param {object} [filtration] Параметры фильтрации.\n * @param {number} [pageIndex] \n * @param {number} [pageSize] \n * @param {boolean} [withTotal] \n * @param {number} [fromItemInclusive] \n * @param {number} [toItemExclusive] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async searchRoles(filtration?: object, pageIndex?: number, pageSize?: number, withTotal?: boolean, fromItemInclusive?: number, toItemExclusive?: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await RoleApiAxiosParamCreator(configuration).searchRoles(filtration, pageIndex, pageSize, withTotal, fromItemInclusive, toItemExclusive, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Обновить роль.\n * @param {string} id ИД роли.\n * @param {RoleUpdatingRequest} [roleUpdatingRequest] Запрос на обновление роли.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async updateRole(id: string, roleUpdatingRequest?: RoleUpdatingRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await RoleApiAxiosParamCreator(configuration).updateRole(id, roleUpdatingRequest, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n }\n};\n\n/**\n * RoleApi - factory interface\n * @export\n */\nexport const RoleApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {\n return {\n /**\n * \n * @summary Создать роль.\n * @param {RoleCreationRequest} [roleCreationRequest] Запрос на создание роли.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n createRole(roleCreationRequest?: RoleCreationRequest, options?: any): AxiosPromise {\n return RoleApiFp(configuration).createRole(roleCreationRequest, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Удалить роль.\n * @param {string} id ИД роли.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n deleteRole(id: string, options?: any): AxiosPromise {\n return RoleApiFp(configuration).deleteRole(id, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Получить роль.\n * @param {string} id ИД роли.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getRole(id: string, options?: any): AxiosPromise {\n return RoleApiFp(configuration).getRole(id, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Выполнить поиск ролей.\n * @param {object} [filtration] Параметры фильтрации.\n * @param {number} [pageIndex] \n * @param {number} [pageSize] \n * @param {boolean} [withTotal] \n * @param {number} [fromItemInclusive] \n * @param {number} [toItemExclusive] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n searchRoles(filtration?: object, pageIndex?: number, pageSize?: number, withTotal?: boolean, fromItemInclusive?: number, toItemExclusive?: number, options?: any): AxiosPromise {\n return RoleApiFp(configuration).searchRoles(filtration, pageIndex, pageSize, withTotal, fromItemInclusive, toItemExclusive, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Обновить роль.\n * @param {string} id ИД роли.\n * @param {RoleUpdatingRequest} [roleUpdatingRequest] Запрос на обновление роли.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n updateRole(id: string, roleUpdatingRequest?: RoleUpdatingRequest, options?: any): AxiosPromise {\n return RoleApiFp(configuration).updateRole(id, roleUpdatingRequest, options).then((request) => request(axios, basePath));\n },\n };\n};\n\n/**\n * RoleApi - object-oriented interface\n * @export\n * @class RoleApi\n * @extends {BaseAPI}\n */\nexport class RoleApi extends BaseAPI {\n /**\n * \n * @summary Создать роль.\n * @param {RoleCreationRequest} [roleCreationRequest] Запрос на создание роли.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof RoleApi\n */\n public createRole(roleCreationRequest?: RoleCreationRequest, options?: any) {\n return RoleApiFp(this.configuration).createRole(roleCreationRequest, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @summary Удалить роль.\n * @param {string} id ИД роли.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof RoleApi\n */\n public deleteRole(id: string, options?: any) {\n return RoleApiFp(this.configuration).deleteRole(id, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @summary Получить роль.\n * @param {string} id ИД роли.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof RoleApi\n */\n public getRole(id: string, options?: any) {\n return RoleApiFp(this.configuration).getRole(id, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @summary Выполнить поиск ролей.\n * @param {object} [filtration] Параметры фильтрации.\n * @param {number} [pageIndex] \n * @param {number} [pageSize] \n * @param {boolean} [withTotal] \n * @param {number} [fromItemInclusive] \n * @param {number} [toItemExclusive] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof RoleApi\n */\n public searchRoles(filtration?: object, pageIndex?: number, pageSize?: number, withTotal?: boolean, fromItemInclusive?: number, toItemExclusive?: number, options?: any) {\n return RoleApiFp(this.configuration).searchRoles(filtration, pageIndex, pageSize, withTotal, fromItemInclusive, toItemExclusive, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @summary Обновить роль.\n * @param {string} id ИД роли.\n * @param {RoleUpdatingRequest} [roleUpdatingRequest] Запрос на обновление роли.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof RoleApi\n */\n public updateRole(id: string, roleUpdatingRequest?: RoleUpdatingRequest, options?: any) {\n return RoleApiFp(this.configuration).updateRole(id, roleUpdatingRequest, options).then((request) => request(this.axios, this.basePath));\n }\n}\n\n\n/**\n * TenantApi - axios parameter creator\n * @export\n */\nexport const TenantApiAxiosParamCreator = function (configuration?: Configuration) {\n return {\n /**\n * \n * @summary Создать тенанта.\n * @param {TenantCreationRequest} [tenantCreationRequest] Запрос на создание тенанта.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n createTenant: async (tenantCreationRequest?: TenantCreationRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v1/general/tenants`;\n const localVarUrlObj = globalImportUrl.parse(localVarPath, true);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n\n \n localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';\n\n localVarUrlObj.query = {...localVarUrlObj.query, ...localVarQueryParameter, ...options.query};\n // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n delete localVarUrlObj.search;\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof tenantCreationRequest !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(tenantCreationRequest !== undefined ? tenantCreationRequest : {}) : (tenantCreationRequest || \"\");\n\n return {\n url: globalImportUrl.format(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Удалить тенант.\n * @param {string} id ИД тенанта.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n deleteTenant: async (id: string, options: any = {}): Promise => {\n // verify required parameter 'id' is not null or undefined\n if (id === null || id === undefined) {\n throw new RequiredError('id','Required parameter id was null or undefined when calling deleteTenant.');\n }\n const localVarPath = `/api/v1/general/tenants/{id}`\n .replace(`{${\"id\"}}`, encodeURIComponent(String(id)));\n const localVarUrlObj = globalImportUrl.parse(localVarPath, true);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n\n \n localVarUrlObj.query = {...localVarUrlObj.query, ...localVarQueryParameter, ...options.query};\n // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n delete localVarUrlObj.search;\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: globalImportUrl.format(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Получить тенанта.\n * @param {string} id ИД тенанта.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getTenant: async (id: string, options: any = {}): Promise => {\n // verify required parameter 'id' is not null or undefined\n if (id === null || id === undefined) {\n throw new RequiredError('id','Required parameter id was null or undefined when calling getTenant.');\n }\n const localVarPath = `/api/v1/general/tenants/{id}`\n .replace(`{${\"id\"}}`, encodeURIComponent(String(id)));\n const localVarUrlObj = globalImportUrl.parse(localVarPath, true);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n\n \n localVarUrlObj.query = {...localVarUrlObj.query, ...localVarQueryParameter, ...options.query};\n // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n delete localVarUrlObj.search;\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: globalImportUrl.format(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Выполнить поиск тенантов.\n * @param {object} [filtration] Параметры фильтрации.\n * @param {number} [pageIndex] \n * @param {number} [pageSize] \n * @param {boolean} [withTotal] \n * @param {number} [fromItemInclusive] \n * @param {number} [toItemExclusive] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n searchTenants: async (filtration?: object, pageIndex?: number, pageSize?: number, withTotal?: boolean, fromItemInclusive?: number, toItemExclusive?: number, options: any = {}): Promise => {\n const localVarPath = `/api/v1/general/tenants`;\n const localVarUrlObj = globalImportUrl.parse(localVarPath, true);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n if (filtration !== undefined) {\n localVarQueryParameter['filtration'] = filtration;\n }\n\n if (pageIndex !== undefined) {\n localVarQueryParameter['PageIndex'] = pageIndex;\n }\n\n if (pageSize !== undefined) {\n localVarQueryParameter['PageSize'] = pageSize;\n }\n\n if (withTotal !== undefined) {\n localVarQueryParameter['WithTotal'] = withTotal;\n }\n\n if (fromItemInclusive !== undefined) {\n localVarQueryParameter['FromItemInclusive'] = fromItemInclusive;\n }\n\n if (toItemExclusive !== undefined) {\n localVarQueryParameter['ToItemExclusive'] = toItemExclusive;\n }\n\n\n \n localVarUrlObj.query = {...localVarUrlObj.query, ...localVarQueryParameter, ...options.query};\n // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n delete localVarUrlObj.search;\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: globalImportUrl.format(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Обновить тенанта.\n * @param {string} id ИД тенанта.\n * @param {TenantUpdatingRequest} [tenantUpdatingRequest] Запрос на обновление тенанта.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n updateTenant: async (id: string, tenantUpdatingRequest?: TenantUpdatingRequest, options: any = {}): Promise => {\n // verify required parameter 'id' is not null or undefined\n if (id === null || id === undefined) {\n throw new RequiredError('id','Required parameter id was null or undefined when calling updateTenant.');\n }\n const localVarPath = `/api/v1/general/tenants/{id}`\n .replace(`{${\"id\"}}`, encodeURIComponent(String(id)));\n const localVarUrlObj = globalImportUrl.parse(localVarPath, true);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'PUT', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n\n \n localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';\n\n localVarUrlObj.query = {...localVarUrlObj.query, ...localVarQueryParameter, ...options.query};\n // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n delete localVarUrlObj.search;\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof tenantUpdatingRequest !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(tenantUpdatingRequest !== undefined ? tenantUpdatingRequest : {}) : (tenantUpdatingRequest || \"\");\n\n return {\n url: globalImportUrl.format(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n }\n};\n\n/**\n * TenantApi - functional programming interface\n * @export\n */\nexport const TenantApiFp = function(configuration?: Configuration) {\n return {\n /**\n * \n * @summary Создать тенанта.\n * @param {TenantCreationRequest} [tenantCreationRequest] Запрос на создание тенанта.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async createTenant(tenantCreationRequest?: TenantCreationRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await TenantApiAxiosParamCreator(configuration).createTenant(tenantCreationRequest, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Удалить тенант.\n * @param {string} id ИД тенанта.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async deleteTenant(id: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await TenantApiAxiosParamCreator(configuration).deleteTenant(id, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Получить тенанта.\n * @param {string} id ИД тенанта.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async getTenant(id: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await TenantApiAxiosParamCreator(configuration).getTenant(id, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Выполнить поиск тенантов.\n * @param {object} [filtration] Параметры фильтрации.\n * @param {number} [pageIndex] \n * @param {number} [pageSize] \n * @param {boolean} [withTotal] \n * @param {number} [fromItemInclusive] \n * @param {number} [toItemExclusive] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async searchTenants(filtration?: object, pageIndex?: number, pageSize?: number, withTotal?: boolean, fromItemInclusive?: number, toItemExclusive?: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await TenantApiAxiosParamCreator(configuration).searchTenants(filtration, pageIndex, pageSize, withTotal, fromItemInclusive, toItemExclusive, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Обновить тенанта.\n * @param {string} id ИД тенанта.\n * @param {TenantUpdatingRequest} [tenantUpdatingRequest] Запрос на обновление тенанта.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async updateTenant(id: string, tenantUpdatingRequest?: TenantUpdatingRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await TenantApiAxiosParamCreator(configuration).updateTenant(id, tenantUpdatingRequest, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n }\n};\n\n/**\n * TenantApi - factory interface\n * @export\n */\nexport const TenantApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {\n return {\n /**\n * \n * @summary Создать тенанта.\n * @param {TenantCreationRequest} [tenantCreationRequest] Запрос на создание тенанта.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n createTenant(tenantCreationRequest?: TenantCreationRequest, options?: any): AxiosPromise {\n return TenantApiFp(configuration).createTenant(tenantCreationRequest, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Удалить тенант.\n * @param {string} id ИД тенанта.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n deleteTenant(id: string, options?: any): AxiosPromise {\n return TenantApiFp(configuration).deleteTenant(id, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Получить тенанта.\n * @param {string} id ИД тенанта.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getTenant(id: string, options?: any): AxiosPromise {\n return TenantApiFp(configuration).getTenant(id, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Выполнить поиск тенантов.\n * @param {object} [filtration] Параметры фильтрации.\n * @param {number} [pageIndex] \n * @param {number} [pageSize] \n * @param {boolean} [withTotal] \n * @param {number} [fromItemInclusive] \n * @param {number} [toItemExclusive] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n searchTenants(filtration?: object, pageIndex?: number, pageSize?: number, withTotal?: boolean, fromItemInclusive?: number, toItemExclusive?: number, options?: any): AxiosPromise {\n return TenantApiFp(configuration).searchTenants(filtration, pageIndex, pageSize, withTotal, fromItemInclusive, toItemExclusive, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Обновить тенанта.\n * @param {string} id ИД тенанта.\n * @param {TenantUpdatingRequest} [tenantUpdatingRequest] Запрос на обновление тенанта.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n updateTenant(id: string, tenantUpdatingRequest?: TenantUpdatingRequest, options?: any): AxiosPromise {\n return TenantApiFp(configuration).updateTenant(id, tenantUpdatingRequest, options).then((request) => request(axios, basePath));\n },\n };\n};\n\n/**\n * TenantApi - object-oriented interface\n * @export\n * @class TenantApi\n * @extends {BaseAPI}\n */\nexport class TenantApi extends BaseAPI {\n /**\n * \n * @summary Создать тенанта.\n * @param {TenantCreationRequest} [tenantCreationRequest] Запрос на создание тенанта.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof TenantApi\n */\n public createTenant(tenantCreationRequest?: TenantCreationRequest, options?: any) {\n return TenantApiFp(this.configuration).createTenant(tenantCreationRequest, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @summary Удалить тенант.\n * @param {string} id ИД тенанта.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof TenantApi\n */\n public deleteTenant(id: string, options?: any) {\n return TenantApiFp(this.configuration).deleteTenant(id, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @summary Получить тенанта.\n * @param {string} id ИД тенанта.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof TenantApi\n */\n public getTenant(id: string, options?: any) {\n return TenantApiFp(this.configuration).getTenant(id, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @summary Выполнить поиск тенантов.\n * @param {object} [filtration] Параметры фильтрации.\n * @param {number} [pageIndex] \n * @param {number} [pageSize] \n * @param {boolean} [withTotal] \n * @param {number} [fromItemInclusive] \n * @param {number} [toItemExclusive] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof TenantApi\n */\n public searchTenants(filtration?: object, pageIndex?: number, pageSize?: number, withTotal?: boolean, fromItemInclusive?: number, toItemExclusive?: number, options?: any) {\n return TenantApiFp(this.configuration).searchTenants(filtration, pageIndex, pageSize, withTotal, fromItemInclusive, toItemExclusive, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @summary Обновить тенанта.\n * @param {string} id ИД тенанта.\n * @param {TenantUpdatingRequest} [tenantUpdatingRequest] Запрос на обновление тенанта.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof TenantApi\n */\n public updateTenant(id: string, tenantUpdatingRequest?: TenantUpdatingRequest, options?: any) {\n return TenantApiFp(this.configuration).updateTenant(id, tenantUpdatingRequest, options).then((request) => request(this.axios, this.basePath));\n }\n}\n\n\n/**\n * UserApi - axios parameter creator\n * @export\n */\nexport const UserApiAxiosParamCreator = function (configuration?: Configuration) {\n return {\n /**\n * \n * @summary Создать пользователя.\n * @param {UserCreationRequest} [userCreationRequest] Запрос на создание пользователя.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n createUser: async (userCreationRequest?: UserCreationRequest, options: any = {}): Promise => {\n const localVarPath = `/api/v1/membership/users`;\n const localVarUrlObj = globalImportUrl.parse(localVarPath, true);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n\n \n localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';\n\n localVarUrlObj.query = {...localVarUrlObj.query, ...localVarQueryParameter, ...options.query};\n // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n delete localVarUrlObj.search;\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof userCreationRequest !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(userCreationRequest !== undefined ? userCreationRequest : {}) : (userCreationRequest || \"\");\n\n return {\n url: globalImportUrl.format(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Удалить пользователя.\n * @param {string} id ИД пользователя.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n deleteUser: async (id: string, options: any = {}): Promise => {\n // verify required parameter 'id' is not null or undefined\n if (id === null || id === undefined) {\n throw new RequiredError('id','Required parameter id was null or undefined when calling deleteUser.');\n }\n const localVarPath = `/api/v1/membership/users/{id}`\n .replace(`{${\"id\"}}`, encodeURIComponent(String(id)));\n const localVarUrlObj = globalImportUrl.parse(localVarPath, true);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n\n \n localVarUrlObj.query = {...localVarUrlObj.query, ...localVarQueryParameter, ...options.query};\n // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n delete localVarUrlObj.search;\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: globalImportUrl.format(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Получить пользователя.\n * @param {string} id ИД пользователя.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getUser: async (id: string, options: any = {}): Promise => {\n // verify required parameter 'id' is not null or undefined\n if (id === null || id === undefined) {\n throw new RequiredError('id','Required parameter id was null or undefined when calling getUser.');\n }\n const localVarPath = `/api/v1/membership/users/{id}`\n .replace(`{${\"id\"}}`, encodeURIComponent(String(id)));\n const localVarUrlObj = globalImportUrl.parse(localVarPath, true);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n\n \n localVarUrlObj.query = {...localVarUrlObj.query, ...localVarQueryParameter, ...options.query};\n // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n delete localVarUrlObj.search;\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: globalImportUrl.format(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Выполнить поиск пользователей.\n * @param {object} [filtration] Параметры фильтрации.\n * @param {number} [pageIndex] \n * @param {number} [pageSize] \n * @param {boolean} [withTotal] \n * @param {number} [fromItemInclusive] \n * @param {number} [toItemExclusive] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n searchUsers: async (filtration?: object, pageIndex?: number, pageSize?: number, withTotal?: boolean, fromItemInclusive?: number, toItemExclusive?: number, options: any = {}): Promise => {\n const localVarPath = `/api/v1/membership/users`;\n const localVarUrlObj = globalImportUrl.parse(localVarPath, true);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n if (filtration !== undefined) {\n localVarQueryParameter['filtration'] = filtration;\n }\n\n if (pageIndex !== undefined) {\n localVarQueryParameter['PageIndex'] = pageIndex;\n }\n\n if (pageSize !== undefined) {\n localVarQueryParameter['PageSize'] = pageSize;\n }\n\n if (withTotal !== undefined) {\n localVarQueryParameter['WithTotal'] = withTotal;\n }\n\n if (fromItemInclusive !== undefined) {\n localVarQueryParameter['FromItemInclusive'] = fromItemInclusive;\n }\n\n if (toItemExclusive !== undefined) {\n localVarQueryParameter['ToItemExclusive'] = toItemExclusive;\n }\n\n\n \n localVarUrlObj.query = {...localVarUrlObj.query, ...localVarQueryParameter, ...options.query};\n // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n delete localVarUrlObj.search;\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: globalImportUrl.format(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Обновить пользователя.\n * @param {string} id ИД пользователя.\n * @param {UserUpdatingRequest} [userUpdatingRequest] Запрос на обновление пользователя.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n updateUser: async (id: string, userUpdatingRequest?: UserUpdatingRequest, options: any = {}): Promise => {\n // verify required parameter 'id' is not null or undefined\n if (id === null || id === undefined) {\n throw new RequiredError('id','Required parameter id was null or undefined when calling updateUser.');\n }\n const localVarPath = `/api/v1/membership/users/{id}`\n .replace(`{${\"id\"}}`, encodeURIComponent(String(id)));\n const localVarUrlObj = globalImportUrl.parse(localVarPath, true);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'PUT', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n\n \n localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';\n\n localVarUrlObj.query = {...localVarUrlObj.query, ...localVarQueryParameter, ...options.query};\n // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n delete localVarUrlObj.search;\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof userUpdatingRequest !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(userUpdatingRequest !== undefined ? userUpdatingRequest : {}) : (userUpdatingRequest || \"\");\n\n return {\n url: globalImportUrl.format(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n }\n};\n\n/**\n * UserApi - functional programming interface\n * @export\n */\nexport const UserApiFp = function(configuration?: Configuration) {\n return {\n /**\n * \n * @summary Создать пользователя.\n * @param {UserCreationRequest} [userCreationRequest] Запрос на создание пользователя.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async createUser(userCreationRequest?: UserCreationRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await UserApiAxiosParamCreator(configuration).createUser(userCreationRequest, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Удалить пользователя.\n * @param {string} id ИД пользователя.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async deleteUser(id: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await UserApiAxiosParamCreator(configuration).deleteUser(id, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Получить пользователя.\n * @param {string} id ИД пользователя.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async getUser(id: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await UserApiAxiosParamCreator(configuration).getUser(id, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Выполнить поиск пользователей.\n * @param {object} [filtration] Параметры фильтрации.\n * @param {number} [pageIndex] \n * @param {number} [pageSize] \n * @param {boolean} [withTotal] \n * @param {number} [fromItemInclusive] \n * @param {number} [toItemExclusive] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async searchUsers(filtration?: object, pageIndex?: number, pageSize?: number, withTotal?: boolean, fromItemInclusive?: number, toItemExclusive?: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await UserApiAxiosParamCreator(configuration).searchUsers(filtration, pageIndex, pageSize, withTotal, fromItemInclusive, toItemExclusive, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Обновить пользователя.\n * @param {string} id ИД пользователя.\n * @param {UserUpdatingRequest} [userUpdatingRequest] Запрос на обновление пользователя.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async updateUser(id: string, userUpdatingRequest?: UserUpdatingRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await UserApiAxiosParamCreator(configuration).updateUser(id, userUpdatingRequest, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n }\n};\n\n/**\n * UserApi - factory interface\n * @export\n */\nexport const UserApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {\n return {\n /**\n * \n * @summary Создать пользователя.\n * @param {UserCreationRequest} [userCreationRequest] Запрос на создание пользователя.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n createUser(userCreationRequest?: UserCreationRequest, options?: any): AxiosPromise {\n return UserApiFp(configuration).createUser(userCreationRequest, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Удалить пользователя.\n * @param {string} id ИД пользователя.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n deleteUser(id: string, options?: any): AxiosPromise {\n return UserApiFp(configuration).deleteUser(id, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Получить пользователя.\n * @param {string} id ИД пользователя.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getUser(id: string, options?: any): AxiosPromise {\n return UserApiFp(configuration).getUser(id, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Выполнить поиск пользователей.\n * @param {object} [filtration] Параметры фильтрации.\n * @param {number} [pageIndex] \n * @param {number} [pageSize] \n * @param {boolean} [withTotal] \n * @param {number} [fromItemInclusive] \n * @param {number} [toItemExclusive] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n searchUsers(filtration?: object, pageIndex?: number, pageSize?: number, withTotal?: boolean, fromItemInclusive?: number, toItemExclusive?: number, options?: any): AxiosPromise {\n return UserApiFp(configuration).searchUsers(filtration, pageIndex, pageSize, withTotal, fromItemInclusive, toItemExclusive, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Обновить пользователя.\n * @param {string} id ИД пользователя.\n * @param {UserUpdatingRequest} [userUpdatingRequest] Запрос на обновление пользователя.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n updateUser(id: string, userUpdatingRequest?: UserUpdatingRequest, options?: any): AxiosPromise {\n return UserApiFp(configuration).updateUser(id, userUpdatingRequest, options).then((request) => request(axios, basePath));\n },\n };\n};\n\n/**\n * UserApi - object-oriented interface\n * @export\n * @class UserApi\n * @extends {BaseAPI}\n */\nexport class UserApi extends BaseAPI {\n /**\n * \n * @summary Создать пользователя.\n * @param {UserCreationRequest} [userCreationRequest] Запрос на создание пользователя.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof UserApi\n */\n public createUser(userCreationRequest?: UserCreationRequest, options?: any) {\n return UserApiFp(this.configuration).createUser(userCreationRequest, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @summary Удалить пользователя.\n * @param {string} id ИД пользователя.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof UserApi\n */\n public deleteUser(id: string, options?: any) {\n return UserApiFp(this.configuration).deleteUser(id, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @summary Получить пользователя.\n * @param {string} id ИД пользователя.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof UserApi\n */\n public getUser(id: string, options?: any) {\n return UserApiFp(this.configuration).getUser(id, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @summary Выполнить поиск пользователей.\n * @param {object} [filtration] Параметры фильтрации.\n * @param {number} [pageIndex] \n * @param {number} [pageSize] \n * @param {boolean} [withTotal] \n * @param {number} [fromItemInclusive] \n * @param {number} [toItemExclusive] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof UserApi\n */\n public searchUsers(filtration?: object, pageIndex?: number, pageSize?: number, withTotal?: boolean, fromItemInclusive?: number, toItemExclusive?: number, options?: any) {\n return UserApiFp(this.configuration).searchUsers(filtration, pageIndex, pageSize, withTotal, fromItemInclusive, toItemExclusive, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @summary Обновить пользователя.\n * @param {string} id ИД пользователя.\n * @param {UserUpdatingRequest} [userUpdatingRequest] Запрос на обновление пользователя.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof UserApi\n */\n public updateUser(id: string, userUpdatingRequest?: UserUpdatingRequest, options?: any) {\n return UserApiFp(this.configuration).updateUser(id, userUpdatingRequest, options).then((request) => request(this.axios, this.basePath));\n }\n}\n\n\n","export const BASEPATH = window.location.origin;\n","import { AccountApi, ConfigurationApi } from '../api';\n\nimport { BASEPATH } from './constants';\n\nexport const accountApi = new AccountApi({ basePath: BASEPATH });\nexport const configurationApi = new ConfigurationApi({ basePath: BASEPATH });\n","import React, { useEffect, useState } from 'react';\nimport { Alert, Form, Input, Button, Checkbox, Spin, Card, Divider } from 'antd';\nimport { UserOutlined, LockOutlined } from '@ant-design/icons';\nimport { StatusCodes } from 'http-status-codes';\nimport * as store from 'store';\n\nimport { logger } from '../utils/loggerUtil';\nimport { getQueryVariable } from '../utils/queryUtil';\nimport { getConfig } from '../utils/configUtil';\nimport { LoginRequestModel } from '../../api';\nimport { accountApi } from '../apis';\n\nimport AuthProvider, { IAuthProviderSettings } from './AuthProvider';\n\nenum LoginStatus {\n None,\n Login,\n Success,\n Error,\n}\n\nconst USERNAME_KEY = 'username';\nconst PASSWORD_KEY = 'password';\n\nconst LoginForm: React.FC<{}> = () => {\n const [form] = Form.useForm();\n const [rememberMe, setRememberMe] = useState(false);\n const [providers, setProviders] = useState([] as IAuthProviderSettings[]);\n const [status, setStatus] = useState(LoginStatus.None);\n\n const returnUrl = getQueryVariable('ReturnUrl');\n\n const loadData = () => {\n const username = store.get(USERNAME_KEY);\n if (username) {\n form.setFieldsValue({\n [USERNAME_KEY]: username,\n });\n }\n };\n useEffect(loadData, []);\n\n const loadProviders = () => {\n const loadAsync = async () => {\n const config = await getConfig();\n setProviders(config.authentication.providers);\n };\n loadAsync();\n };\n useEffect(loadProviders, []);\n\n const handleSubmit = async () => {\n setStatus(LoginStatus.Login);\n\n const options = { withCredentials: true };\n\n const formFields = form.getFieldsValue();\n\n const request: LoginRequestModel = {\n username: formFields[USERNAME_KEY],\n password: formFields[PASSWORD_KEY],\n rememberMe: rememberMe,\n returnUrl: returnUrl,\n };\n\n try {\n const response = await accountApi.processAccountLogin(request, options);\n if (response.status === StatusCodes.OK) {\n store.set(USERNAME_KEY, request.username);\n setStatus(LoginStatus.Success);\n window.location.href = response.data.redirectUrl || '/';\n } else {\n logger.warn('Ошибка входа', response);\n setStatus(LoginStatus.Error);\n }\n } catch (e) {\n logger.warn('Ошибка входа', e);\n setStatus(LoginStatus.Error);\n }\n };\n\n const renderProviders = () => {\n const results = Object.values(providers)\n .filter((provider) => provider.visible)\n .map((provider) => {\n return ;\n });\n if (results.length) {\n results.unshift();\n }\n return results;\n };\n\n const renderStatusAlert = () => {\n switch (status) {\n case LoginStatus.Login:\n return (\n \n \n \n );\n\n case LoginStatus.Error:\n return ;\n\n case LoginStatus.Success:\n return (\n \n \n \n );\n default:\n return null;\n }\n };\n\n const renderStatusBlock = () => {\n const alert = renderStatusAlert();\n if (!alert) {\n return null;\n }\n return (\n \n \n {alert}\n \n );\n };\n\n return (\n \n
handleSubmit()}>\n \n }\n size=\"large\"\n />\n \n\n \n }\n size=\"large\"\n type=\"password\"\n />\n \n\n \n \n setRememberMe(e.target.checked)}>\n Запомнить меня\n \n \n \n\n \n \n Войти, используя свой аккаунт ELMA Bot\n \n \n \n {renderProviders()}\n {renderStatusBlock()}\n
\n );\n};\n\nexport default LoginForm;\n","import React from 'react';\n\nimport AccountInfo from '../components/AccountInfo';\n\nconst InfoPage: React.FC<{}> = () => {\n return (\n
\n \n
\n );\n};\n\nexport default InfoPage;\n","const getQueryVariable = (variable: string) => {\n const query = window.location.search.substring(1);\n const vars = query.split('&');\n for (let i = 0; i < vars.length; i++) {\n const pair = vars[i].split('=');\n if (decodeURIComponent(pair[0]) === variable) {\n return decodeURIComponent(pair[1]);\n }\n }\n};\n\nexport { getQueryVariable };\n","import { configurationApi } from '../apis';\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nlet config: any = null;\n\nconst getConfig = async () => {\n if (config !== null) {\n return config;\n }\n\n try {\n const response = await configurationApi.getClientConfig();\n // eslint-disable-next-line require-atomic-updates\n config = response.data;\n } catch (e) {\n // eslint-disable-next-line no-console\n console.log('Ошибка при загрузке конфигурации', e);\n throw e;\n }\n\n return config;\n};\n\nexport { getConfig };\n","import React, { useEffect, useState } from 'react';\nimport { Form, Button, Modal, Input } from 'antd';\nimport * as store from 'store';\n\nimport { LogoElma365 } from '../assets';\n\nconst PARAMETER_PREFIX = 'p.';\n\nconst getChallengeUrl = (scheme: string, parameters: Record, returnUrl: string | undefined) => {\n const queryStringParams: Record = {\n scheme,\n ...parameters,\n };\n if (returnUrl) {\n queryStringParams.returnUrl = returnUrl;\n }\n const urlSearchParams = new URLSearchParams(queryStringParams);\n return `/api/v1/identity/providers/challenge?${urlSearchParams}`;\n};\n\ninterface IAuthProviderParameter {\n label: string;\n value?: string;\n required: boolean;\n disabled: boolean;\n visible: boolean;\n}\n\nexport interface IAuthProviderSettings {\n scheme: string;\n title: string;\n image: string;\n visible: boolean;\n parameters: Record;\n}\n\nexport interface IAuthProviderProps {\n settings: IAuthProviderSettings;\n returnUrl: string | undefined;\n}\n\nconst AuthProvider: React.FC = ({ settings, returnUrl }) => {\n const [form] = Form.useForm();\n const [withParameters, setWithParameters] = useState(false);\n\n const buttonTitle = `Войти, используя свою учетную запись ${settings.title}`;\n\n const loadData = () => {\n const parameters = settings.parameters || {};\n const formFields: Record = {};\n for (const parameterName of Object.keys(parameters)) {\n const parameter = parameters[parameterName];\n const fieldName = `${PARAMETER_PREFIX}${parameterName}`;\n const fieldValue = !parameter.disabled && parameter.visible ? store.get(fieldName) : undefined;\n formFields[fieldName] = fieldValue || parameter.value || '';\n }\n form.setFieldsValue(formFields);\n };\n useEffect(loadData, []);\n\n const onFinishLogin = async () => {\n const parameters = settings.parameters || {};\n const formFields = await form.validateFields();\n for (const parameterName of Object.keys(parameters)) {\n const parameter = parameters[parameterName];\n const fieldName = `${PARAMETER_PREFIX}${parameterName}`;\n if (!parameter.disabled && parameter.visible) {\n store.set(fieldName, formFields[fieldName]);\n } else {\n formFields[fieldName] = parameter.value || '';\n }\n }\n window.location.href = getChallengeUrl(settings.scheme, formFields, returnUrl);\n };\n\n const onStartLogin = async () => {\n const parameters = settings.parameters || {};\n if (Object.values(parameters).some((p) => p.visible)) {\n setWithParameters(true);\n } else {\n await onFinishLogin();\n }\n };\n\n const onCancelLogin = () => {\n setWithParameters(false);\n };\n\n const renderLogo = () => {\n switch (settings.image) {\n case 'logo-elma365':\n return ;\n default:\n return {settings.title};\n }\n };\n\n const renderParameters = () => {\n const parameters = settings.parameters || {};\n return Object.keys(parameters).map((name) => {\n const parameter = parameters[name];\n if (!parameter.visible) {\n return null;\n }\n\n const rules = [];\n if (parameter.required) {\n rules.push({\n required: true,\n message: 'Пожалуйста, укажите значение',\n });\n }\n\n return (\n \n \n \n );\n });\n };\n\n return (\n \n \n \n
\n {renderParameters()}\n
\n \n
\n );\n};\n\nexport default AuthProvider;\n","import React, { useState, useEffect } from 'react';\nimport { Button, Result, Spin, Card } from 'antd';\nimport { StatusCodes } from 'http-status-codes';\n\nimport { logger } from '../utils/loggerUtil';\nimport { getQueryVariable } from '../utils/queryUtil';\nimport { LogoutRequestModel } from '../../api';\nimport { accountApi } from '../apis';\n\nenum LogoutStatus {\n Logout,\n Success,\n Error,\n}\n\nconst LogoutPanel: React.FC<{}> = () => {\n const [status, setStatus] = useState(LogoutStatus.Logout);\n const [error, setError] = useState('');\n\n const processLogoutAsync = async () => {\n const logoutId = getQueryVariable('logoutId');\n const options = { withCredentials: true };\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n let result: any = {};\n\n try {\n const response = await accountApi.getLogoutInfo(logoutId, options);\n\n if (response.status !== StatusCodes.OK) {\n logger.error('Ошибка выхода', logoutId, response);\n setStatus(LogoutStatus.Error);\n setError(response.statusText);\n return;\n }\n\n result = response.data;\n } catch (e) {\n logger.error('Ошибка выхода', logoutId, e);\n setStatus(LogoutStatus.Error);\n setError(e.message);\n return;\n }\n\n // TODO: Добавить prompt.\n if (result.showLogoutPrompt) {\n const request: LogoutRequestModel = { logoutId };\n try {\n const response = await accountApi.processAccountLogout(request, options);\n\n if (response.status !== StatusCodes.OK) {\n logger.error('Ошибка выхода', request, response);\n setStatus(LogoutStatus.Error);\n setError(response.statusText);\n return;\n }\n\n result = response.data;\n } catch (e) {\n logger.error('Ошибка выхода', request, e);\n setStatus(LogoutStatus.Error);\n setError(e.message);\n return;\n }\n }\n\n setStatus(LogoutStatus.Success);\n setError('');\n window.location.href = result.postLogoutRedirectUri || '/';\n };\n\n const processLogout = () => {\n processLogoutAsync();\n };\n\n useEffect(processLogout, []);\n\n const getLogoutResult = () => {\n switch (status) {\n case LogoutStatus.Logout:\n return } status=\"info\" title=\"Выполняется выход из системы\" />;\n\n case LogoutStatus.Success:\n return (\n } status=\"success\" title=\"Выход выполнен, выполняется перенаправление\" />\n );\n\n case LogoutStatus.Error:\n return (\n \n Вернуться на страницу входа\n ,\n ]}\n status=\"error\"\n subTitle={error}\n title=\"Во время выхода произошла ошибка\"\n />\n );\n }\n };\n\n return {getLogoutResult()};\n};\n\nexport default LogoutPanel;\n","import React from 'react';\n\nimport LoginForm from '../components/LoginForm';\n\nconst LoginPage: React.FC<{}> = () => {\n return (\n
\n \n
\n );\n};\n\nexport default LoginPage;\n","import React from 'react';\n\nimport LogoutPanel from '../components/LogoutPanel';\n\nconst LogoutPage: React.FC<{}> = () => {\n return (\n
\n \n
\n );\n};\n\nexport default LogoutPage;\n","import React, { useState, useEffect } from 'react';\nimport { Button, Result, Spin, Card } from 'antd';\nimport { StatusCodes } from 'http-status-codes';\n\nimport { logger } from '../utils/loggerUtil';\nimport { getQueryVariable } from '../utils/queryUtil';\nimport { ErrorInfoModel } from '../../api';\nimport { accountApi } from '../apis';\n\nconst ErrorInfo: React.FC<{}> = () => {\n const errorId = getQueryVariable('errorId');\n const [loading, setLoading] = useState(true);\n const [error, setError] = useState({} as ErrorInfoModel);\n\n const loadDataAsync = async () => {\n try {\n const response = await accountApi.getErrorInfo(errorId);\n if (response.status === StatusCodes.OK) {\n setError(response.data);\n } else {\n logger.error('Ошибка загрузки данных', errorId, response.statusText);\n setError({ message: response.statusText });\n }\n } catch (e) {\n logger.error('Ошибка загрузки данных', errorId, e);\n setError({ message: e.messsage });\n }\n setLoading(false);\n };\n const loadData = () => {\n loadDataAsync();\n };\n useEffect(loadData, []);\n\n const getError = () => {\n if (loading) {\n return } status=\"error\" />;\n }\n\n return (\n \n Вернуться на страницу входа\n ,\n ]}\n status=\"error\"\n subTitle={error.description}\n title={error.message}\n />\n );\n };\n\n return {getError()};\n};\n\nexport default ErrorInfo;\n","import React from 'react';\n\nimport ErrorInfo from '../components/ErrorInfo';\n\nconst ErrorPage: React.FC<{}> = () => {\n return (\n
\n \n
\n );\n};\n\nexport default ErrorPage;\n","import { createBrowserHistory } from 'history';\nimport React from 'react';\nimport { Redirect, Route, Router, Switch } from 'react-router';\n\nimport './App.less';\nimport AuthLayout from './layouts/AuthLayout';\nimport InfoPage from './pages/InfoPage';\nimport LoginPage from './pages/LoginPage';\nimport LogoutPage from './pages/LogoutPage';\nimport ErrorPage from './pages/ErrorPage';\n\nexport const browserHistory = createBrowserHistory();\n\nfunction App() {\n return (\n \n \n (\n \n \n \n )}\n />\n (\n \n \n \n )}\n />\n (\n \n \n \n )}\n />\n (\n \n \n \n )}\n />\n \n \n \n \n \n );\n}\n\nexport default App;\n","// This optional code is used to register a service worker.\n// register() is not called by default.\n\n// This lets the app load faster on subsequent visits in production, and gives\n// it offline capabilities. However, it also means that developers (and users)\n// will only see deployed updates on subsequent visits to a page, after all the\n// existing tabs open on the page have been closed, since previously cached\n// resources are updated in the background.\n\n// To learn more about the benefits of this model and instructions on how to\n// opt-in, read https://bit.ly/CRA-PWA\n\nconst isLocalhost = Boolean(\n window.location.hostname === 'localhost' ||\n // [::1] is the IPv6 localhost address.\n window.location.hostname === '[::1]' ||\n // 127.0.0.0/8 are considered localhost for IPv4.\n window.location.hostname.match(/^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/)\n);\n\ninterface IConfig {\n onSuccess?: (registration: ServiceWorkerRegistration) => void;\n onUpdate?: (registration: ServiceWorkerRegistration) => void;\n}\n\nexport function register(config?: IConfig) {\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\n // The URL constructor is available in all browsers that support SW.\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location.href);\n if (publicUrl.origin !== window.location.origin) {\n // Our service worker won't work if PUBLIC_URL is on a different origin\n // from what our page is served on. This might happen if a CDN is used to\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\n return;\n }\n\n window.addEventListener('load', () => {\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\n\n if (isLocalhost) {\n // This is running on localhost. Let's check if a service worker still exists or not.\n checkValidServiceWorker(swUrl, config);\n\n // Add some additional logging to localhost, pointing developers to the\n // service worker/PWA documentation.\n navigator.serviceWorker.ready.then(() => {\n console.log(\n 'This web app is being served cache-first by a service ' +\n 'worker. To learn more, visit https://bit.ly/CRA-PWA'\n );\n });\n } else {\n // Is not localhost. Just register service worker\n registerValidSW(swUrl, config);\n }\n });\n }\n}\n\nfunction registerValidSW(swUrl: string, config?: IConfig) {\n navigator.serviceWorker\n .register(swUrl)\n .then((registration) => {\n registration.onupdatefound = () => {\n const installingWorker = registration.installing;\n if (installingWorker == null) {\n return;\n }\n installingWorker.onstatechange = () => {\n if (installingWorker.state === 'installed') {\n if (navigator.serviceWorker.controller) {\n // At this point, the updated precached content has been fetched,\n // but the previous service worker will still serve the older\n // content until all client tabs are closed.\n console.log(\n 'New content is available and will be used when all ' +\n 'tabs for this page are closed. See https://bit.ly/CRA-PWA.'\n );\n\n // Execute callback\n if (config && config.onUpdate) {\n config.onUpdate(registration);\n }\n } else {\n // At this point, everything has been precached.\n // It's the perfect time to display a\n // \"Content is cached for offline use.\" message.\n console.log('Content is cached for offline use.');\n\n // Execute callback\n if (config && config.onSuccess) {\n config.onSuccess(registration);\n }\n }\n }\n };\n };\n })\n .catch((error) => {\n console.error('Error during service worker registration:', error);\n });\n}\n\nfunction checkValidServiceWorker(swUrl: string, config?: IConfig) {\n // Check if the service worker can be found. If it can't reload the page.\n fetch(swUrl, {\n headers: { 'Service-Worker': 'script' },\n })\n .then((response) => {\n // Ensure service worker exists, and that we really are getting a JS file.\n const contentType = response.headers.get('content-type');\n if (response.status === 404 || (contentType != null && contentType.indexOf('javascript') === -1)) {\n // No service worker found. Probably a different app. Reload the page.\n navigator.serviceWorker.ready.then((registration) => {\n registration.unregister().then(() => {\n window.location.reload();\n });\n });\n } else {\n // Service worker found. Proceed as normal.\n registerValidSW(swUrl, config);\n }\n })\n .catch(() => {\n console.log('No internet connection found. App is running in offline mode.');\n });\n}\n\nexport function unregister() {\n if ('serviceWorker' in navigator) {\n navigator.serviceWorker.ready\n .then((registration) => {\n registration.unregister();\n })\n .catch((error) => {\n console.error(error.message);\n });\n }\n}\n","import React from 'react';\nimport ReactDOM from 'react-dom';\n\nimport App from './App';\nimport './index.css';\nimport * as serviceWorker from './serviceWorker';\n\nReactDOM.render(, document.getElementById('root'));\n\n// If you want your app to work offline and load faster, you can change\n// unregister() to register() below. Note this comes with some pitfalls.\n// Learn more about service workers: https://bit.ly/CRA-PWA\nserviceWorker.unregister();\n"],"sourceRoot":""}