harperdb 4.5.1 → 4.5.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/bin/harperdb.js +74 -74
- package/bin/lite.js +72 -72
- package/launchServiceScripts/launchNatsIngestService.js +72 -72
- package/launchServiceScripts/launchNatsReplyService.js +72 -72
- package/launchServiceScripts/launchUpdateNodes4-0-0.js +74 -74
- package/npm-shrinkwrap.json +312 -303
- package/package.json +2 -1
- package/server/jobs/jobProcess.js +72 -72
- package/server/threads/threadServer.js +71 -71
- package/studio/build-local/asset-manifest.json +34 -34
- package/studio/build-local/index.html +1 -1
- package/studio/build-local/static/js/164.13a1ca36.chunk.js +1 -0
- package/studio/build-local/static/js/{833.22ea9ecd.chunk.js → 833.0adf7923.chunk.js} +1 -1
- package/studio/build-local/static/js/86.5d79defb.chunk.js +2 -0
- package/studio/build-local/static/js/{browse-csvupload.1345356f.chunk.js → browse-csvupload.aceb2454.chunk.js} +1 -1
- package/studio/build-local/static/js/{browse-datatable.8d180288.chunk.js → browse-datatable.170a2dc3.chunk.js} +1 -1
- package/studio/build-local/static/js/{browse-entitymanager.3f0871ba.chunk.js → browse-entitymanager.bab20377.chunk.js} +1 -1
- package/studio/build-local/static/js/{browse-jsonviewer.7ef3cb49.chunk.js → browse-jsonviewer.62991eaa.chunk.js} +1 -1
- package/studio/build-local/static/js/{custom-functions.d7869749.chunk.js → custom-functions.fc08c212.chunk.js} +1 -1
- package/studio/build-local/static/js/{instance-cluster.ded77459.chunk.js → instance-cluster.b1cecd22.chunk.js} +1 -1
- package/studio/build-local/static/js/{instance-config.f3087710.chunk.js → instance-config.3b4c8bb2.chunk.js} +1 -1
- package/studio/build-local/static/js/{instance-logs.fb150c6f.chunk.js → instance-logs.7ffbdb78.chunk.js} +1 -1
- package/studio/build-local/static/js/{instance-roles.32b7be24.chunk.js → instance-roles.0496670c.chunk.js} +1 -1
- package/studio/build-local/static/js/{instance-status.d7ddf38a.chunk.js → instance-status.e1d264ed.chunk.js} +1 -1
- package/studio/build-local/static/js/{instance-users-datatable.68cb8e34.chunk.js → instance-users-datatable.74be158e.chunk.js} +1 -1
- package/studio/build-local/static/js/{instance-users-edit.8de84af8.chunk.js → instance-users-edit.f6546639.chunk.js} +1 -1
- package/studio/build-local/static/js/{instance-users.ff289f79.chunk.js → instance-users.9f8c9ce8.chunk.js} +1 -1
- package/studio/build-local/static/js/{instance.127e14b8.chunk.js → instance.7f8bc10e.chunk.js} +1 -1
- package/studio/build-local/static/js/{instances.1dd2b960.chunk.js → instances.b9528378.chunk.js} +1 -1
- package/studio/build-local/static/js/{main.20cb1d9f.js → main.055e9e0e.js} +2 -2
- package/studio/build-local/static/js/{offline-app.029491be.chunk.js → offline-app.2b3d559a.chunk.js} +1 -1
- package/studio/build-local/static/js/{online-app.80d24598.chunk.js → online-app.75d38a43.chunk.js} +1 -1
- package/studio/build-local/static/js/{organization-billing.586a6019.chunk.js → organization-billing.eb5f253c.chunk.js} +1 -1
- package/studio/build-local/static/js/{organization-users.0facdb34.chunk.js → organization-users.6e22a1a5.chunk.js} +1 -1
- package/studio/build-local/static/js/{organization.4e2c7ae6.chunk.js → organization.42c0f784.chunk.js} +1 -1
- package/studio/build-local/static/js/{organizations.c8c00251.chunk.js → organizations.44dd3bd2.chunk.js} +1 -1
- package/studio/build-local/static/js/{profile.a5fbf515.chunk.js → profile.97200a91.chunk.js} +1 -1
- package/studio/build-local/static/js/{resetPassword.9ad8cde1.chunk.js → resetPassword.a3406893.chunk.js} +1 -1
- package/studio/build-local/static/js/{roles-jsonviewer.ad6e2622.chunk.js → roles-jsonviewer.b6e22a22.chunk.js} +1 -1
- package/studio/build-local/static/js/{signIn.3d65d81a.chunk.js → signIn.6aa68409.chunk.js} +1 -1
- package/studio/build-local/static/js/{signUp.eaa5b3f0.chunk.js → signUp.1df9eab1.chunk.js} +1 -1
- package/studio/build-local/static/js/{structure-reloader.8c8f5e18.chunk.js → structure-reloader.b808fbf1.chunk.js} +1 -1
- package/studio/build-local/static/js/{topnav.73def1f2.chunk.js → topnav.64ebd91d.chunk.js} +1 -1
- package/studio/build-local/static/js/{updatePassword.e0a672ee.chunk.js → updatePassword.a3c0ffcf.chunk.js} +1 -1
- package/utility/scripts/restartHdb.js +72 -72
- package/studio/build-local/static/js/164.a6861c91.chunk.js +0 -1
- package/studio/build-local/static/js/873.55a21fe5.chunk.js +0 -2
- /package/studio/build-local/static/js/{873.55a21fe5.chunk.js.LICENSE.txt → 86.5d79defb.chunk.js.LICENSE.txt} +0 -0
- /package/studio/build-local/static/js/{main.20cb1d9f.js.LICENSE.txt → main.055e9e0e.js.LICENSE.txt} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";(self.webpackChunkharperdb_studio=self.webpackChunkharperdb_studio||[]).push([[575],{1679:(e,t,s)=>{s.r(t),s.d(t,{default:()=>oe});var n=s(9950),a=s(6713),r=s(135),l=s(1368),i=s(5269),o=s(7176),c=s(6114),u=s(4084),d=s(8156),h=s(9435),m=s(6165),p=s(3150),g=s(3628),f=s(3452),v=s(2010),b=s(4834),_=s(127);var x=s(8198),j=s(8738),N=s.n(j),A=s(4414);function k(e){let{error:t,style:s={}}=e;return(0,A.jsx)("div",{style:s,className:N()("form-validation-error",{error:t}),children:t||"input is valid"})}var y=s(5488);const w=function(e){let{label:t,value:s,type:a="text",max:r=null,min:l=null,editable:i=!1,handleChange:o,validator:c=()=>!0,errorMessage:u="is required",addSpace:d=!0,valid:h=!1}=e;const[m,p]=(0,n.useState)(null);return i?(0,A.jsxs)(A.Fragment,{children:[d&&(0,A.jsx)("br",{}),(0,A.jsxs)("div",{className:N()("text-nowrap mt-2 mb-1",{"text-danger":m}),children:[t," ",m]}),(0,A.jsx)(y.A,{id:`cluster-field-${t}`,type:a,className:N()("cluster-field form-control",{error:m}),max:r,min:l,defaultValue:s,valid:h,onChange:e=>o(e.target.value),onBlur:e=>{const t=c(e.target.value);p(t?null:u)}})]}):(0,A.jsxs)(A.Fragment,{children:[d&&(0,A.jsx)("br",{}),(0,A.jsx)("div",{className:"text-nowrap mt-2 mb-1",children:t}),(0,A.jsx)(y.A,{readOnly:!0,valid:!0,type:a,value:s})]})};var C=s(2765);const S=function(e){var t,s,r,l,o,c,u,d,h;let{setConfiguring:m,clusterStatus:p,refreshStatus:g,compute_stack_id:j}=e;const N=(0,a.O$)(i.A,(e=>e.auth)),y=(0,a.O$)(i.A,(e=>e.url)),S=p.engine,P=1024,O=65535,[E,T]=(0,n.useState)({clusterRole:null===p||void 0===p||null===(t=p.cluster_role)||void 0===t?void 0:t.role,clusterUsername:(null===p||void 0===p||null===(s=p.cluster_user)||void 0===s?void 0:s.username)||"cluster_user",clusterPassword:(null===p||void 0===p||null===(r=p.cluster_user)||void 0===r?void 0:r.password)||"",clusterPort:(null===p||void 0===p?void 0:p.config_cluster_port)||"",clusterNodeName:(null===p||void 0===p?void 0:p.node_name)||j}),[R,F]=(0,n.useState)(null);function M(e){T({...E,...e})}return(0,A.jsxs)(A.Fragment,{children:[(0,A.jsx)(w,{label:"Cluster Role",handleChange:e=>M({clusterRole:e}),value:E.clusterRole,valid:(null===(l=E.clusterRole)||void 0===l?void 0:l.trim().length)>0,validator:e=>(null===e||void 0===e?void 0:e.trim().length)>0,editable:!(null!==p&&void 0!==p&&null!==(o=p.cluster_role)&&void 0!==o&&o.role),addSpace:!1}),(0,A.jsx)(w,{label:"Cluster User",handleChange:e=>M({clusterUsername:e}),value:E.clusterUsername,valid:E.clusterUsername.trim().length>0,validator:e=>e.trim().length>0,editable:!(null!==p&&void 0!==p&&null!==(c=p.cluster_user)&&void 0!==c&&c.username)}),(0,A.jsx)(w,{label:"Cluster Password",type:"password",handleChange:e=>M({clusterPassword:e}),value:null!==p&&void 0!==p&&null!==(u=p.cluster_user)&&void 0!==u&&u.username?"********":E.clusterPassword,valid:(null===p||void 0===p||null===(d=p.cluster_user)||void 0===d?void 0:d.username)||E.clusterPassword.trim().length>0,validator:e=>e.trim().length>0,editable:!(null!==p&&void 0!==p&&null!==(h=p.cluster_user)&&void 0!==h&&h.username),showDivider:!1}),(0,A.jsx)(w,{label:"Cluster Port",type:"number",max:O,min:P,handleChange:e=>M({clusterPort:e}),value:E.clusterPort,valid:E.clusterPort>=P&&E.clusterPort<=O,validator:e=>e>=P&&e<=O,errorMessage:"must be between 1024 and 65535",editable:!(null!==p&&void 0!==p&&p.config_cluster_port)}),(0,A.jsx)(w,{label:"Cluster Node Name",handleChange:e=>M({clusterNodeName:e}),value:E.clusterNodeName,valid:E.clusterNodeName.length>0,validator:e=>e.length>0,editable:!(null!==p&&void 0!==p&&p.node_name)}),(0,A.jsx)("hr",{className:"my-3"}),(0,A.jsx)(f.A,{block:!0,color:"success",disabled:!function(e){var t;let{clusterRole:s,clusterUsername:n,clusterPassword:a,clusterPort:r,clusterNodeName:l}=e;return(null===s||void 0===s?void 0:s.length)>0&&n.length>0&&((null===p||void 0===p||null===(t=p.cluster_user)||void 0===t?void 0:t.username)||a.length>0)&&l.length>0&&r>=P&&r<=O}(E),onClick:async function(){var e;if(F(null),null===(e=p.cluster_role)||void 0===e||!e.role){const e=await(0,C.A)({auth:N,url:y,role:E.clusterRole,permission:{cluster_user:!0}});if(e.error)return F(e.message)}if(!p.cluster_user){const e=await(0,x.A)({auth:N,url:y,role:E.clusterRole,username:E.clusterUsername,password:E.clusterPassword});if(e.error)return F(e.message)}const t="nats"===S?await(0,b.A)({auth:N,url:y,clustering_enabled:!0,clustering_nodeName:E.clusterNodeName,clustering_port:E.clusterPort,clustering_user:E.clusterUsername}):await(async e=>{let{CLUSTERING:t=!1,CLUSTERING_PORT:s,CLUSTERING_USER:n,NODE_NAME:a,auth:r,url:l}=e;return(0,_.A)({operation:{operation:"configure_cluster",CLUSTERING:t,CLUSTERING_PORT:s,CLUSTERING_USER:n,NODE_NAME:a},auth:r,url:l})})({auth:N,url:y,CLUSTERING:!0,CLUSTERING_PORT:E.clusterPort,CLUSTERING_USER:E.clusterUsername,NODE_NAME:E.clusterNodeName});return t.error?F(t.message):(window._kmq&&window._kmq.push(["record","enabled clustering"]),await(0,v.A)({auth:N,url:y}),setTimeout((()=>m(!0)),0),g())},children:"Enable Clustering"}),(0,A.jsx)("br",{}),R&&(0,A.jsx)(k,{error:R})]})};const P=function(e){let{setConfiguring:t,clusterStatus:s,refreshStatus:n}=e;const{compute_stack_id:r}=(0,l.g)(),f=null===s||void 0===s?void 0:s.cluster_role,v=(null===s||void 0===s?void 0:s.cluster_role)&&(null===s||void 0===s?void 0:s.cluster_user),b=(null===s||void 0===s?void 0:s.cluster_role)&&(null===s||void 0===s?void 0:s.cluster_user),_=(null===s||void 0===s?void 0:s.cluster_role)&&(null===s||void 0===s?void 0:s.cluster_user)&&(null===s||void 0===s?void 0:s.node_name),x=(0,a.O$)(i.A,(e=>e.rule_arn)),j=Boolean(x);return(0,A.jsxs)(o.A,{id:"clustering",children:[(0,A.jsxs)(c.A,{xl:"3",lg:"4",md:"5",xs:"12",children:[(0,A.jsx)("span",{className:"floating-card-header",children:"enable clustering"}),(0,A.jsx)(u.A,{className:"my-3",children:(0,A.jsx)(d.A,{children:(0,A.jsx)(h.tH,{onError:(e,t)=>(0,g.A)({error:{message:e.message,componentStack:t}}),FallbackComponent:p.A,children:(0,A.jsx)(S,{setConfiguring:t,refreshStatus:n,clusterStatus:s,compute_stack_id:r})})})})]}),(0,A.jsx)(c.A,{xl:"9",lg:"8",md:"7",xs:"12",children:_?(0,A.jsx)(m.A,{headline:"You're all set!",description:"Click the button at left to enable clustering. NOTE: We'll restart the instance when you click this button.",icon:(0,A.jsx)("i",{className:"fa fa-thumbs-up text-success"})}):b?(0,A.jsx)(m.A,{headline:"Set Instance Cluster Name",description:`We need to set a unique node name to identify your instance in the cluster. By default, we set it to "${r}", but you can choose your own unique node name.`,icon:(0,A.jsx)("i",{className:"fa fa-exclamation-triangle text-warning"})}):v?(0,A.jsx)(m.A,{headline:"Cluster Port Set To: 12345",description:"If your instance is behind a firewall, you'll need to ensure this port is accessible by other instances if you want to publish/subscribe to/from this instance.",icon:(0,A.jsx)("i",{className:"fa fa-thumbs-up text-success"})}):f?(0,A.jsx)(m.A,{headline:"Create a Cluster User",description:"If you have other instances you want to cluster together with this one, make sure the cluster user has the same name and password as those other instances.",warning:j?"Harper clustering functionality will not work between AWS cloud instances. We are working on upgrading our cloud infrastructure to support clustering functionality.":null,icon:(0,A.jsx)("i",{className:"fa fa-exclamation-triangle text-warning"})}):(0,A.jsx)(m.A,{headline:"Create a Cluster Role",description:"This role subscribes to instance transaction logs and handles operations that result from its pub/sub configuration.",icon:(0,A.jsx)("i",{className:"fa fa-exclamation-triangle text-warning"})})})]})};var O=s(7348);const E=function(e){let{handleAddNode:t,loading:s}=e;return(0,A.jsx)(f.A,{color:"purple",className:"round",title:"Connect To This Instance",disabled:s,onClick:t,children:(0,A.jsx)("i",{className:`fa ${s?"fa-spin fa-spinner":"fa-plus"} text-white`})})};const T=function(e){let{handleRemoveNode:t,showModal:s,loading:n}=e;return(0,A.jsxs)(A.Fragment,{children:[(0,A.jsx)(f.A,{color:"danger",className:"round me-1",title:"Why isn't this instance clustering?",disabled:n,onClick:s,children:(0,A.jsx)("i",{className:"fa fa-exclamation"})}),(0,A.jsx)(f.A,{color:"purple",className:"round",title:"Disconnect From This Instance",disabled:n,onClick:t,children:(0,A.jsx)("i",{className:`fa ${n?"fa-spin fa-spinner":"fa-minus"} text-white`})})]})};const R=function(e){let{handleRemoveNode:t,loading:s}=e;return(0,A.jsx)(f.A,{color:"purple",className:"round",title:"Disconnect From This Instance",disabled:s,onClick:t,children:(0,A.jsx)("i",{className:`fa ${s?"fa-spin fa-spinner":"fa-minus"} text-white`})})};const F=function(){return(0,A.jsx)(f.A,{color:"purple",className:"round",title:"Connecting to this instance",disabled:!0,children:(0,A.jsx)("i",{className:"fa fa-spin fa-spinner text-white"})})};const M=function(e){let{handleConfigureNode:t,loading:s}=e;return(0,A.jsx)(f.A,{color:"success",className:"round me-1",title:"Enable Clustering",disabled:s,onClick:t,children:(0,A.jsx)("i",{className:`fa ${s?"fa-spin fa-spinner":"fa-share"} text-white`})})};const $=function(e){var t,s,n;let{setShowModal:a,item:r,itemType:l,loading:i,handleAddNode:u,handleRemoveNode:d,handleConfigureNode:h,refreshNetwork:m}=e;const p=r.compute_stack_id===i;return(0,A.jsxs)(o.A,{className:"item-row",children:[(0,A.jsx)(c.A,{className:"item-label "+("closed"===(null===(t=r.connection)||void 0===t?void 0:t.state)?"text-danger":""),children:r.instance_name}),(0,A.jsx)(c.A,{className:"item-action",children:"incompatible/unreachable"===l?null:"unconfigured"===l?(0,A.jsx)(M,{loading:p,handleConfigureNode:()=>h({compute_stack_id:r.compute_stack_id})}):"CREATE_IN_PROGRESS"===r.instance_status?(0,A.jsx)(f.A,{color:"grey",className:"round",title:"Creating Instance",disabled:!0,children:(0,A.jsx)("i",{className:"fa fa-spin fa-spinner"})}):r.connection?"closed"===(null===(s=r.connection)||void 0===s?void 0:s.state)?(0,A.jsx)(T,{loading:p,handleRemoveNode:()=>d({compute_stack_id:r.compute_stack_id}),showModal:()=>a(r.instance_name)}):"connecting"===(null===(n=r.connection)||void 0===n?void 0:n.state)?(0,A.jsx)(F,{refreshNetwork:m}):(0,A.jsx)(R,{loading:p,handleRemoveNode:()=>d({compute_stack_id:r.compute_stack_id,instance_host:r.instance_host,clusterPort:r.clusterPort})}):(0,A.jsx)(E,{loading:p,handleAddNode:()=>u({compute_stack_id:r.compute_stack_id,instance_url:r.instance_url,instance_host:r.instance_host,clusterPort:r.clusterPort})})})]})};var I=s(1534);const L=function(e){let{items:t,itemType:s,setShowModal:r,loading:h,setLoading:m,refreshNetwork:p}=e;const{customer_id:g}=(0,l.g)(),f=(0,l.Zp)(),v=(0,O.MW)(),b=(0,a.O$)(i.A,(e=>e.compute_stack_id)),x=(0,a.O$)(i.A,(e=>e.auth),[b]),j=(0,a.O$)(i.A,(e=>e.url),[b]),N=(0,a.O$)(i.A,(e=>e.is_local),[b]),k=(0,a.O$)(i.A,(e=>{var t;return parseFloat(null===(t=e.auth)||void 0===t?void 0:t.version)>=4?"nats":"socketcluster"}),[b]),y=(0,n.useCallback)((async e=>{m(e.compute_stack_id);const t="nats"===k?await(async e=>{let{auth:t,url:s,server:n="hub",routes:a}=e;return(0,_.A)({operation:{operation:"cluster_set_routes",server:n,routes:a},auth:t,url:s})})({auth:x,url:j,routes:[{host:e.instance_host,port:e.clusterPort}]}):await(async e=>{let{compute_stack_id:t,instance_host:s,clusterPort:n,auth:a,url:r}=e;return(0,_.A)({operation:{operation:"add_node",name:t,node_name:t,host:s,port:n,subscriptions:[]},auth:a,url:r})})({...e,auth:x,url:j,is_local:N,customer_id:g});t.error?(v.error("localhost"===e.instance_host?"External instances cannot reach that instance's URL":t.message),m(!1)):("nats"===k&&await(0,I.A)({auth:x,url:j,service:"clustering config"}),await p()),m(!1)}),[m,x,j,N,g,p,v,k]),w=(0,n.useCallback)((async e=>{m(e.compute_stack_id);const t="nats"===k?await(async e=>{let{auth:t,url:s,routes:n}=e;return(0,_.A)({operation:{operation:"cluster_delete_routes",routes:n},auth:t,url:s})})({auth:x,url:j,routes:[{host:e.instance_host,port:e.clusterPort}]}):await(async e=>{let{compute_stack_id:t,auth:s,url:n}=e;return(0,_.A)({operation:{operation:"remove_node",name:t,node_name:t},auth:s,url:n})})({...e,auth:x,url:j,is_local:N,customer_id:g});t.error?(v.error(t.message),m(!1)):("nats"===k&&await(0,I.A)({auth:x,url:j,service:"clustering config"}),await p()),m(!1)}),[m,x,j,N,g,p,v,k]),C=(0,n.useCallback)((e=>f(`/o/${g}/i/${e.compute_stack_id}/cluster`)),[f,g]);return(0,A.jsxs)("div",{className:"entity-manager",children:[(0,A.jsxs)("div",{className:"floating-card-header",children:[s," instances"]}),(0,A.jsx)(u.A,{className:"my-3",children:(0,A.jsx)(d.A,{children:null!==t&&void 0!==t&&t.length?t.map((e=>(0,A.jsx)($,{item:e,itemType:s,setShowModal:r,handleAddNode:y,handleRemoveNode:w,handleConfigureNode:C,loading:h,refreshNetwork:p},e.instance_name))):t?(0,A.jsx)(o.A,{className:"item-row",children:(0,A.jsxs)(c.A,{className:"item-label",children:["There are no ",s," instances"]})}):(0,A.jsx)(o.A,{className:"item-row",children:(0,A.jsx)(c.A,{className:"item-label",children:(0,A.jsx)("i",{className:"fa fa-spinner fa-spin"})})})})})]})};var U=s(4343);const z={filtered:[],sorted:[],page:0,totalPages:1,pageSize:20,autoRefresh:!1,showFilter:!1,lastUpdate:!1};const D=function(e){let{refreshNetwork:t,loading:s,setLoading:r}=e;const l=(0,a.O$)(i.A,(e=>e.clusterDataTable||[])),h=(0,a.O$)(i.A,(e=>e.clusterDataTableColumns||[])),[m,p]=(0,n.useState)(z);(0,n.useEffect)((()=>{p({...m,totalPages:Math.ceil((l.length||m.pageSize)/m.pageSize)})}),[p,m.pageSize]);const g=(0,n.useCallback)((async()=>{r(!0),t()}),[r,t]);return(0,A.jsxs)(A.Fragment,{children:[(0,A.jsxs)(o.A,{className:"floating-card-header",children:[(0,A.jsx)(c.A,{children:"manage clustering"}),(0,A.jsx)(c.A,{className:"text-end",children:(0,A.jsxs)(f.A,{color:"link",onClick:g,className:"me-2",children:[(0,A.jsx)("span",{className:"me-2",children:"refresh network"}),(0,A.jsx)("i",{title:"Refresh Roles",className:"fa "+(s?"fa-spinner fa-spin":"fa-sync-alt")})]})})]}),(0,A.jsx)(u.A,{className:"my-3",children:(0,A.jsx)(d.A,{className:"react-table-holder "+(s?"loading":""),children:null!==l&&void 0!==l&&l.length?(0,A.jsx)(U.A,{columns:h,data:l,page:m.page,pageSize:m.pageSize,totalPages:m.totalPages,showFilter:m.showFilter,sorted:m.sorted,onFilteredChange:e=>p({...m,filtered:e}),onSortedChange:e=>p({...m,sorted:e}),onPageChange:e=>p({...m,pageSize:e}),onPageSizeChange:e=>p({...m,page:0,pageSize:e})}):(0,A.jsx)("div",{className:"empty-prompt",children:"Please connect at least one instance to configure clustering"})})})]})};var G=s(6685),B=s(1340),X=s(877);const H=function(e){let{showModal:t,setShowModal:s}=e;const{compute_stack_id:n}=(0,l.g)(),r=(0,a.O$)(i.A,(e=>e.instance_name),[n]);return(0,A.jsxs)(G.A,{id:"cluster-state-modal",isOpen:!!t,toggle:()=>s(!1),centered:!0,fade:!1,children:[(0,A.jsx)(B.A,{toggle:()=>s(!1),children:"Instance Cluster Error"}),(0,A.jsx)(X.A,{children:(0,A.jsx)(u.A,{children:(0,A.jsxs)(d.A,{children:[(0,A.jsx)("b",{children:r})," is unable to open a connection to ",(0,A.jsx)("b",{children:t}),".",(0,A.jsx)("hr",{className:"my-3"}),(0,A.jsxs)("ul",{children:[(0,A.jsx)("li",{children:"Clustered instances must be able to reach each other. This may require allowing access through a firewall."}),(0,A.jsx)("li",{children:"Both instances must be running. In the event of a restart, instances will automatically attempt to reconnect."}),(0,A.jsxs)("li",{children:["Clustered instances must have the same cluster user ",(0,A.jsx)("b",{children:"name"})," and ",(0,A.jsx)("b",{children:"password"}),". You can edit an instance's cluster user credentials in the ",(0,A.jsx)("b",{children:"config"})," section."]})]}),(0,A.jsx)("hr",{className:"my-3"}),"If none of these help fix the issue, you can disconnect ",(0,A.jsx)("b",{children:t})," from ",(0,A.jsx)("b",{children:r})," by clicking the purple disconnect button with the minus sign."]})})})]})};var q=s(2414),W=s.n(q);var Y=s(1110);const J=async e=>{let{channel:t,subscriptions:s,buttonState:n,instance_host:a,clusterPort:r,clusterName:l,auth:o,url:c}=e;const u=JSON.parse(JSON.stringify(s)),d=u.findIndex((e=>e.channel===t)),[h,m]=t.split(":");-1===d?u.push({channel:t,schema:h,table:m,publish:"togglePublish"===n,subscribe:"toggleSubscribe"===n}):"togglePublish"===n?u[d].publish=!u[d].publish:"toggleSubscribe"===n&&(u[d].subscribe=!u[d].subscribe),u[d]&&!u[d].publish&&u[d].subscribe;const p={operation:"update_node",name:l,node_name:l,host:a,port:r,subscriptions:u},g=await(0,_.A)({operation:p,auth:o,url:c});return g.error&&-1!==g.message.indexOf("add_node")&&(p.operation="add_node",await(0,_.A)({operation:p,auth:o,url:c})),i.A.update((e=>{e.lastUpdate=Date.now()}))};var V=s(5346),K=s(396),Z=s(6177);const Q=async e=>{let{instance:t,auth:s}=e;const n=s&&await(0,Z.A)({auth:s,url:t.url}),a=s&&await(0,V.A)({auth:s,url:t.url}),{structure:r}=a?(0,K.A)(a):{structure:{}},l=new URL(t.url),i={...t,auth:s,structure:r,host:l.hostname,clustering:n};return Object.entries(i).reduce(((e,t)=>{let[s,n]=t;return null==n||(e[s]=n),e}),{})},ee=async e=>{let{auth:t,url:s,instances:n,connections:a}=e;const r=await(async e=>{let{auth:t,url:s}=e;return(0,_.A)({operation:{operation:"cluster_get_routes"},auth:t,url:s})})({auth:t,url:s});return r.hub.map((e=>{var t;const s=n.find((t=>t.host===e.host||t.private_ip===e.host));if(!s)return!1;const r=s.host===s.private_ip?s.private_ip:s.host,l=a.find((e=>{var t;return e.node_name===(null===s||void 0===s||null===(t=s.clustering)||void 0===t?void 0:t.node_name)})),i=(null===l||void 0===l||null===(t=l.subscriptions)||void 0===t?void 0:t.map((e=>({channel:`${e.schema}:${e.table}`,...e}))))||[];return{host:r,port:e.port,state:"open",name:null===s||void 0===s?void 0:s.compute_stack_id,subscriptions:i}})).filter((e=>!1!==e))},te=e=>{let{connections:t}=e;return t?t.filter((e=>-1===e.host_address.indexOf("::ffff"))).map((e=>({name:e.node_name,host:e.host_address,port:e.host_port,state:e.state,subscriptions:e.subscriptions}))):[]},se=async e=>{let{auth:t,url:s,instances:n,compute_stack_id:a,instanceAuths:r,setLoading:l}=e;const o=await Promise.all(n.filter((e=>!!r[e.compute_stack_id])).map((e=>Q({instance:e,auth:r[e.compute_stack_id]})))),c=o.find((e=>e.compute_stack_id===a)),u=c.clustering.message||!c.clustering.is_enabled?[]:"nats"===c.clustering.engine?await ee({auth:t,url:s,instances:o,connections:c.clustering.connections}):te({connections:c.clustering.status.outbound_connections}),d={is_enabled:c.clustering.is_enabled,connections:u},h=(e=>{let{instances:t,network:s,instance_region:n,instance_wavelength_zone_id:a,instance_cluster_engine:r}=e;const l=t.filter((e=>e.url&&"DELETE_IN_PROGRESS"!==e.status)).filter((e=>e.clustering.engine===r)).map((e=>{var t,l;const i="socketcluster"===r?null===s||void 0===s?void 0:s.connections.find((t=>t.name===e.compute_stack_id)):null===s||void 0===s?void 0:s.connections.find((t=>t.host===e.host)),o=(null===i||void 0===i?void 0:i.subscriptions)||[],c=null===e||void 0===e||null===(t=e.clustering)||void 0===t?void 0:t.config_cluster_port,u=e.is_local?"OK":e.status,d=!n||n!==e.instance_region||e.wavelength_zone_id||a?e.url.match(/^https?:\/\/([^/:?#]+)(?:[/:?#]|$)/i)[1]:e.private_ip,h=e.clustering.node_name;return{instance_name:e.instance_name,instance_url:e.url,compute_stack_id:e.compute_stack_id,instance_status:u,instance_host:d,clusterPort:c,clusterName:h,connection:i,subscriptions:o,structure:e.structure,configured:null===(l=e.clustering)||void 0===l?void 0:l.is_ready}})),i=t.filter((e=>e.clustering.engine!==r)).map((e=>({instance_name:e.instance_name,compute_stack_id:e.name})));return{connected:l.filter((e=>e.connection&&e.configured)),unconnected:l.filter((e=>!e.connection&&e.configured)),unconfigured:l.filter((e=>!e.configured)),unreachable:i}})({instances:o.filter((e=>r[e.compute_stack_id]&&e.compute_stack_id!==a)),network:d,instance_region:c.instance_region,instance_wavelength_zone_id:c.wavelength_zone_id,instance_cluster_engine:c.clustering.engine}),m=(e=>{let{instances:t,structure:s}=e;if(!s||!t.length)return[];const n=[];return t.map((e=>{const t=W()(e.structure,s);return Object.keys(t).sort().map(((s,a)=>(Object.keys(t[s]).sort().map(((t,r)=>{const l=`${s}:${t}`,i=l&&e.subscriptions.find((e=>e.channel===l)),o=i&&i.publish,c=i&&i.subscribe;return n.push({is_first_instance:0===a&&0===r,is_first_schema:0===r,instance_name:e.instance_name,schema:s,table:t,compute_stack_id:e.compute_stack_id,instance_host:e.instance_host,clusterPort:e.clusterPort,clusterName:e.clusterName,subscriptions:e.subscriptions,channel:l,publish:o,subscribe:c}),!0})),!0))),!0})),n})({instances:h.connected.filter((e=>"closed"!==e.connection.state)),structure:c.structure}),p=(e=>{let{auth:t,url:s,buildNetwork:n,setLoading:a}=e;return[{Header:"instance",Cell:e=>{let{row:{original:{is_first_instance:t,instance_name:s}}}=e;return(0,A.jsx)("div",{className:t?"text-bold":"text-grey",children:s})}},{Header:"schema",Cell:e=>{let{row:{original:{is_first_schema:t,schema:s}}}=e;return(0,A.jsx)("div",{className:t?"text-bold":"text-grey",children:s})}},{Header:"table",accessor:"table"},{Header:"publish",id:"hdb-narrow-publish",Cell:e=>{let{row:{original:{compute_stack_id:r,instance_host:l,instance_name:i,clusterPort:o,clusterName:c,subscriptions:u,publish:d,channel:h}}}=e;return(0,A.jsx)(Y.A,{checked:d||!1,onChange:async()=>{a(r),await J({channel:h,subscriptions:u,instance_host:l,instance_name:i,clusterPort:o,clusterName:c,auth:t,url:s,buttonState:"togglePublish"}),n()}})}},{Header:"subscribe",id:"hdb-narrow-subscribe",Cell:e=>{let{row:{original:{compute_stack_id:r,instance_host:l,instance_name:i,clusterPort:o,clusterName:c,subscriptions:u,subscribe:d,channel:h}}}=e;return(0,A.jsx)(Y.A,{checked:d||!1,onChange:async()=>{a(r),await J({channel:h,subscriptions:u,instance_host:l,instance_name:i,clusterPort:o,clusterName:c,auth:t,url:s,buttonState:"toggleSubscribe"}),n()}})}}]})({auth:t,url:c.url,compute_stack_id:a,buildNetwork:()=>se({auth:t,url:s,instances:n,compute_stack_id:a,instanceAuths:r,setLoading:l}),setLoading:l});return i.A.update((e=>{e.network=d,e.clusterPartners=h,e.clusterDataTable=m,e.clusterDataTableColumns=p,e.instances=o})),l(!1),{network:d,clusterPartners:h,clusterDataTable:m,clusterDataTableColumns:p}},ne=se;var ae=s(5553),re=s(4319);const le=function(e){let{configuring:t}=e;const{compute_stack_id:s}=(0,l.g)(),u=(0,a.O$)(ae.A,(e=>e.instances)),[d]=(0,re.A)({}),m=(0,a.O$)(i.A,(e=>e.auth),[s]),f=(0,a.O$)(i.A,(e=>e.url),[s]),v=(0,a.O$)(i.A,(e=>e.clusterPartners),[s]),b=(0,a.O$)(i.A,(e=>e.restarting),[s]),_="socketcluster"===(0,a.O$)(i.A,(e=>{var t;return parseFloat(null===(t=e.registration)||void 0===t?void 0:t.version)>=4?"nats":"socketcluster"}),[s])&&(null===v||void 0===v?void 0:v.connected.some((e=>"connecting"===e.connection.state))),[x,j]=(0,n.useState)(!1),[N,k]=(0,n.useState)(!1),y=(0,n.useCallback)((async()=>{m&&f&&u&&s&&!b&&!t&&await ne({auth:m,url:f,instances:u,compute_stack_id:s,instanceAuths:d,setLoading:k})}),[m,f,u,s,b,d,t]);return(0,n.useEffect)((()=>{y()}),[y]),(0,r.A)((()=>_&&y()),1500),(0,A.jsxs)(A.Fragment,{children:[(0,A.jsxs)(o.A,{id:"clustering",children:[(0,A.jsx)(c.A,{xl:"3",lg:"4",md:"6",xs:"12",children:(0,A.jsxs)(h.tH,{onError:(e,t)=>(0,g.A)({error:{message:e.message,componentStack:t}}),FallbackComponent:p.A,children:[(0,A.jsx)(L,{items:null===v||void 0===v?void 0:v.connected,itemType:"connected",loading:N,refreshNetwork:y,setLoading:k,setShowModal:j}),(0,A.jsx)(L,{items:null===v||void 0===v?void 0:v.unconnected,itemType:"unconnected",loading:N,refreshNetwork:y,setLoading:k}),(0,A.jsx)(L,{items:null===v||void 0===v?void 0:v.unconfigured,itemType:"unconfigured",loading:N}),(0,A.jsx)(L,{items:null===v||void 0===v?void 0:v.unreachable,itemType:"incompatible/unreachable",loading:N})]})}),(0,A.jsx)(c.A,{xl:"9",lg:"8",md:"6",xs:"12",children:(0,A.jsx)(D,{refreshNetwork:y,loading:N,setLoading:k})})]}),(0,A.jsx)(H,{showModal:x,setShowModal:j})]})};var ie=s(4979);const oe=function(){const{compute_stack_id:e}=(0,l.g)(),t=(0,a.O$)(i.A,(e=>e.auth),[e]),s=(0,a.O$)(i.A,(e=>e.url),[e]),[o,c]=(0,n.useState)(!1),[u,d]=(0,n.useState)(!1),h=(0,n.useCallback)((async()=>{if(t&&s){const e=await(0,Z.A)({auth:t,url:s});c(e),e.is_ready&&d(!1)}}),[t,s]);return(0,r.A)((async()=>{u&&h()}),3e3),(0,n.useEffect)((()=>{h()}),[h]),(0,n.useEffect)((()=>{c(!1)}),[e]),o?u?(0,A.jsx)(m.A,{description:"Configuring Clustering",icon:(0,A.jsx)("i",{className:"fa fa-spinner fa-spin"})}):o.is_ready?(0,A.jsx)(le,{configuring:u}):(0,A.jsx)(P,{setConfiguring:d,clusterStatus:o,refreshStatus:h}):(0,A.jsx)(ie.A,{header:"loading network",spinner:!0})}},4343:(e,t,s)=>{s.d(t,{A:()=>x});var n=s(9950),a=s(2043),r=s(5488),l=s(9435),i=s(7176),o=s(6114),c=s(4414);const u=e=>{let{headerGroups:t,onSortedChange:s,sorted:n,showFilter:a,dynamicAttributesFromDataTable:r,tableDescriptionAttributes:l}=e;const u=e=>{let t=!1;return l.forEach((s=>{s.attribute===e&&(s.is_primary_key||s.indexed)&&(t=!0)})),t};return t.map((e=>{const{key:t,...l}=e.getHeaderGroupProps();return(0,c.jsxs)("div",{...l,children:[(0,c.jsx)(i.A,{className:"header g-0",children:e.headers.map((e=>{var t,a;return(0,c.jsx)(o.A,{onClick:()=>{var t,a;r&&!r.includes(e.id)&&u(e.id)&&s([{id:e.id,desc:(null===(t=n[0])||void 0===t?void 0:t.id)===e.id&&!(null!==(a=n[0])&&void 0!==a&&a.desc)}])},className:`${(null===(t=n[0])||void 0===t?void 0:t.id)===e.id?"sorted":""} ${null!==(a=n[0])&&void 0!==a&&a.desc?"desc":"asc"} ${-1!==e.id.indexOf("hdb-narrow")?"action":""} px-1 ${r&&!r.includes(e.id)&&u(e.id)?"":"disabled-column"}`,children:(0,c.jsx)("div",{className:"text-renderer",children:e.render("Header")})},e.id)}))}),a&&(0,c.jsx)(i.A,{className:"filter g-0",children:e.headers.map((e=>(0,c.jsx)(o.A,{className:-1!==e.id.indexOf("hdb-narrow")?"action":"",children:e.render("Filter")},e.id)))})]},t)}))};var d=s(3452);const h=function(e){let{page:t,pageSize:s,totalPages:n,onPageChange:a,onPageSizeChange:l,loading:u}=e;return(0,c.jsxs)(i.A,{className:"pagination",children:[(0,c.jsx)(o.A,{xs:"12",sm:"2",className:"previous",children:(0,c.jsx)(d.A,{className:"mb-2 btn-pagination",color:"purple",block:!0,onClick:()=>a(t-1),disabled:!n||0===t,children:(0,c.jsx)("i",{className:"fa fa-chevron-left"})})}),(0,c.jsxs)(o.A,{xs:"12",sm:"4",className:"paginator",children:[(0,c.jsx)("i",{className:"fa fa-book me-2"}),(0,c.jsx)(r.A,{className:"mb-2",type:"number",value:t+1,min:1,max:n,onChange:e=>a(e.target.value-1)}),(0,c.jsxs)("div",{className:"page-count",children:["\xa0/\xa0",u?(0,c.jsx)("i",{className:"fa fa-spinner fa-spin"}):n]})]}),(0,c.jsx)(o.A,{xs:"12",sm:"4",className:"page-size",children:(0,c.jsx)(r.A,{className:"mb-2",type:"select",value:s,onChange:e=>l(e.target.value),children:[20,50,100,250].map((e=>(0,c.jsxs)("option",{value:e,children:[e," rows"]},e)))})}),(0,c.jsx)(o.A,{xs:"12",sm:"2",className:"next",children:(0,c.jsx)(d.A,{className:"mb-2 pull-right btn-pagination",block:!0,color:"purple",onClick:()=>a(t+1),disabled:!n||t+1===n,children:(0,c.jsx)("i",{className:"fa fa-chevron-right"})})})]})};const m=function(e){let{previousPage:t,canPreviousPage:s,pageIndex:n,gotoPage:a,setPageSize:l,pageCount:u,nextPage:h,canNextPage:m,loading:p}=e;return(0,c.jsxs)(i.A,{className:"pagination",children:[(0,c.jsx)(o.A,{xs:"12",sm:"2",className:"previous",children:(0,c.jsx)(d.A,{className:"mb-2 btn-pagination",color:"purple",block:!0,onClick:t,disabled:!u||!s,children:(0,c.jsx)("i",{className:"fa fa-chevron-left"})})}),(0,c.jsxs)(o.A,{xs:"12",sm:"4",className:"paginator",children:[(0,c.jsx)("i",{className:"fa fa-book me-2"}),(0,c.jsx)(r.A,{className:"mb-2",type:"number",value:n+1||1,min:1,max:u,onChange:e=>a(e.target.value?Number(e.target.value)-1:0)}),(0,c.jsxs)("div",{className:"page-count",children:["\xa0/\xa0",p?(0,c.jsx)("i",{className:"fa fa-spinner fa-spin"}):u]})]}),(0,c.jsx)(o.A,{xs:"12",sm:"4",className:"page-size",children:(0,c.jsx)(r.A,{className:"mb-2",type:"select",onChange:e=>{a(0),setTimeout((()=>l(e.target.value)),1e3)},children:[20,50,100,250].map((e=>(0,c.jsxs)("option",{value:e,children:[e," rows"]},e)))})}),(0,c.jsx)(o.A,{xs:"12",sm:"2",className:"next",children:(0,c.jsx)(d.A,{className:"mb-2 pull-right btn-pagination",block:!0,color:"purple",onClick:h,disabled:!u||!m,children:(0,c.jsx)("i",{className:"fa fa-chevron-right"})})})]})};const p=function(e){let{prepareRow:t,row:s,onRowClick:n=!1}=e;return t(s),(0,c.jsx)(i.A,{onClick:()=>n&&n(s.original),className:"g-0",children:s.cells.map((e=>(0,c.jsx)(o.A,{className:-1!==e.column.id.indexOf("hdb-narrow")?"action":"",children:e.render("Cell")},`${e.row.id}-${e.column.id}`)))})};var g=s(3628),f=s(3150);function v(e){let{value:t}=e;return(0,c.jsx)("div",{className:"text-renderer",children:t})}function b(e){let{src:t}=e;const[s,a]=(0,n.useState)(!1),[r,l]=(0,n.useState)(!1);return(0,c.jsxs)("div",{className:"image-renderer",onMouseEnter:()=>a(!0),onMouseLeave:()=>a(!1),children:[(0,c.jsx)("i",{className:"fa fa-image"}),s&&r?(0,c.jsxs)("div",{className:"preview-image no-image",children:[(0,c.jsx)("i",{className:"fa fa-ban text-danger"}),(0,c.jsx)("div",{className:"mt-2",children:"image failed to load"})]}):s?(0,c.jsx)("img",{onError:l,alt:t,src:t,className:"preview-image"}):null]})}const _={Filter:e=>{let{column:{filterValue:t,setFilter:s}}=e;return(0,c.jsx)(r.A,{type:"text",value:t||"",onChange:e=>s(e.target.value||void 0)})},Cell:e=>{let{value:t}=e;return(e=>{switch(Object.prototype.toString.call(e)){case"[object Array]":case"[object Object]":return(0,c.jsx)(v,{value:JSON.stringify(e)});case"[object Boolean]":return(0,c.jsx)(v,{value:e?"true":"false"});case"[object String]":return(t=e)&&(t.match(/^https?.*\.(jpeg|jpg|gif|png)$/)||-1!==t.indexOf("data:image"))?(0,c.jsx)(b,{src:e}):(0,c.jsx)(v,{value:e});default:return(0,c.jsx)(v,{value:e})}var t})(t)}};const x=function(e){let{columns:t,data:s,error:r,currentPage:i,pageSize:o,totalPages:d,onFilteredChange:v,onSortedChange:b,onPageChange:x,onPageSizeChange:j,showFilter:N,onRowClick:A,sorted:k,loading:y,dynamicAttributesFromDataTable:w,tableDescriptionAttributes:C,manual:S=!1}=e;const{headerGroups:P,page:O,rows:E,prepareRow:T,state:R,setAllFilters:F,canPreviousPage:M,canNextPage:$,pageOptions:I,pageCount:L,gotoPage:U,nextPage:z,previousPage:D,setPageSize:G}=(0,a.useTable)({columns:t,data:s,defaultColumn:_,onFilteredChange:v,onSortedChange:b,onPageChange:x,onPageSizeChange:j,onRowClick:A,manualPagination:S,manualFilters:S,initialState:{pageIndex:i,pageSize:o}},a.useFilters,a.usePagination),[B,X]=(0,n.useState)(!0),H=S||!O.length?E:O;return(0,n.useEffect)((()=>{!N&&R.filters.length?F([]):v(R.filters)}),[R.filters,N]),(0,n.useEffect)((()=>{setTimeout((()=>X(!1)),100)}),[null===H||void 0===H?void 0:H.length]),(0,c.jsxs)(l.tH,{onError:(e,t)=>(0,g.A)({error:{message:e.message,componentStack:t}}),FallbackComponent:f.A,children:[(0,c.jsxs)("div",{className:"react-table-scroller",children:[(0,c.jsx)(u,{headerGroups:P,tableDescriptionAttributes:C,dynamicAttributesFromDataTable:w,onSortedChange:b,sorted:k,showFilter:N}),y||B?(0,c.jsx)("div",{className:"centered text-center",children:(0,c.jsx)("i",{className:"fa fa-spinner fa-spin"})}):H.length?H.map((e=>(0,c.jsx)(p,{row:e,prepareRow:T,onRowClick:A},e.id))):(0,c.jsxs)("div",{className:"centered text-center",children:[(0,c.jsx)("i",{className:"fa fa-exclamation-triangle text-danger"}),(0,c.jsx)("div",{className:"mt-2 text-darkgrey",children:r?`Error loading data: ${r}`:"no records"})]})]}),S?(0,c.jsx)(h,{page:i,pageSize:o,totalPages:d,onPageChange:x,onPageSizeChange:j,loading:y}):(0,c.jsx)(m,{previousPage:D,pageSize:o,canPreviousPage:M,pageIndex:R.pageIndex,pageOptions:I,gotoPage:U,setPageSize:G,pageCount:L,nextPage:z,canNextPage:$,loading:y})]})}},2765:(e,t,s)=>{s.d(t,{A:()=>a});var n=s(127);const a=async e=>{let{auth:t,url:s,role:a,permission:r}=e;return(0,n.A)({operation:{operation:"add_role",role:a,permission:r},auth:t,url:s})}},8198:(e,t,s)=>{s.d(t,{A:()=>a});var n=s(127);const a=async e=>{let{auth:t,role:s,username:a,password:r,url:l}=e;return(0,n.A)({operation:{operation:"add_user",role:s,username:a,password:r,active:!0},auth:t,url:l})}},8750:(e,t,s)=>{s.d(t,{A:()=>a});var n=s(127);const a=async e=>{let{auth:t,url:s}=e;return(0,n.A)({operation:{operation:"get_configuration"},auth:t,url:s})}},2415:(e,t,s)=>{s.d(t,{A:()=>r});var n=s(127),a=s(5269);const r=async e=>{let{auth:t,url:s}=e;const r=await(0,n.A)({operation:{operation:"list_roles"},auth:t,url:s}),l=[...Array.isArray(r)?r:[]].sort(((e,t)=>e.role.toLowerCase()>t.role.toLowerCase()?1:-1));return a.A.update((e=>{e.roles=l})),l}},8222:(e,t,s)=>{s.d(t,{A:()=>r});var n=s(127),a=s(5269);const r=async e=>{let{auth:t,url:s,signal:r}=e;const l=await(0,n.A)({operation:{operation:"list_users"},auth:t,url:s,signal:r}),i=Array.isArray(l)?[...l].map((e=>({username:e.username,role:e.role.role}))).sort(((e,t)=>e.username.toLowerCase()>t.username.toLowerCase()?1:-1)):[];return a.A.update((e=>{e.users=i})),i}},2010:(e,t,s)=>{s.d(t,{A:()=>r});var n=s(127),a=s(5269);const r=async e=>{let{auth:t,url:s}=e;return a.A.update((e=>{e.restarting=!0})),(0,n.A)({operation:{operation:"restart"},auth:t,url:s})}},1534:(e,t,s)=>{s.d(t,{A:()=>r});var n=s(127),a=s(5269);const r=async e=>{let{auth:t,url:s,service:r=null}=e;return r?(a.A.update((e=>{e.restarting_service=r})),(0,n.A)({operation:{operation:"restart_service",service:r},auth:t,url:s})):{error:!0,message:"You must specify a service"}}},4834:(e,t,s)=>{s.d(t,{A:()=>a});var n=s(127);const a=async e=>{let{auth:t,url:s,...a}=e;return(0,n.A)({operation:{operation:"set_configuration",...a},auth:t,url:s})}},6177:(e,t,s)=>{s.d(t,{A:()=>o});var n=s(8750),a=s(2415),r=s(8222),l=s(717),i=s(127);const o=async e=>{var t,s,o,c,u,d,h;let{auth:m,url:p}=e;const g=await(0,n.A)({auth:m,url:p}),f=await(0,l.A)({auth:m,url:p}),v=await(async e=>{let{auth:t,url:s}=e;return(0,i.A)({operation:{operation:"cluster_status"},auth:t,url:s})})({auth:m,url:p}),b=parseFloat(null===f||void 0===f?void 0:f.version)>=4?"nats":"socketcluster",_=await(0,a.A)({auth:m,url:p});let x=!1;_.error||(x=_.find((e=>e.permission.cluster_user)));const j=await(0,r.A)({auth:m,url:p});let N=!1;j.error||(N=x&&j.find((e=>e.role===x.role)));const A="nats"===b?null===(t=g.clustering)||void 0===t?void 0:t.enabled:g.CLUSTERING,k="nats"===b?null===(s=g.clustering)||void 0===s?void 0:s.user:g.CLUSTERING_USER,y="nats"===b?null===(o=g.clustering)||void 0===o||null===(c=o.hubServer)||void 0===c||null===(u=c.cluster)||void 0===u||null===(d=u.network)||void 0===d?void 0:d.port:g.CLUSTERING_PORT,w="nats"===b?null===(h=g.clustering)||void 0===h?void 0:h.nodeName:g.NODE_NAME;return{is_ready:!!A&&!!N&&!!k&&!!x&&!!y&&!!w,cluster_role:x,cluster_user:N,is_enabled:A,config_cluster_user:k,config_cluster_port:y,node_name:w,engine:b,status:null===v||void 0===v?void 0:v.status,message:null===v||void 0===v?void 0:v.message,connections:null===v||void 0===v?void 0:v.connections}}},2414:e=>{var t=function(e){return function(e){return!!e&&"object"===typeof e}(e)&&!function(e){var t=Object.prototype.toString.call(e);return"[object RegExp]"===t||"[object Date]"===t||function(e){return e.$$typeof===s}(e)}(e)};var s="function"===typeof Symbol&&Symbol.for?Symbol.for("react.element"):60103;function n(e,t){return!1!==t.clone&&t.isMergeableObject(e)?o((s=e,Array.isArray(s)?[]:{}),e,t):e;var s}function a(e,t,s){return e.concat(t).map((function(e){return n(e,s)}))}function r(e){return Object.keys(e).concat(function(e){return Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(e).filter((function(t){return Object.propertyIsEnumerable.call(e,t)})):[]}(e))}function l(e,t){try{return t in e}catch(s){return!1}}function i(e,t,s){var a={};return s.isMergeableObject(e)&&r(e).forEach((function(t){a[t]=n(e[t],s)})),r(t).forEach((function(r){(function(e,t){return l(e,t)&&!(Object.hasOwnProperty.call(e,t)&&Object.propertyIsEnumerable.call(e,t))})(e,r)||(l(e,r)&&s.isMergeableObject(t[r])?a[r]=function(e,t){if(!t.customMerge)return o;var s=t.customMerge(e);return"function"===typeof s?s:o}(r,s)(e[r],t[r],s):a[r]=n(t[r],s))})),a}function o(e,s,r){(r=r||{}).arrayMerge=r.arrayMerge||a,r.isMergeableObject=r.isMergeableObject||t,r.cloneUnlessOtherwiseSpecified=n;var l=Array.isArray(s);return l===Array.isArray(e)?l?r.arrayMerge(e,s,r):i(e,s,r):n(s,r)}o.all=function(e,t){if(!Array.isArray(e))throw new Error("first argument should be an array");return e.reduce((function(e,s){return o(e,s,t)}),{})};var c=o;e.exports=c},4010:(e,t,s)=>{Object.defineProperty(t,"__esModule",{value:!0});var n,a=s(9950),r=(n=a)&&n.__esModule?n:{default:n};t.default=function(){return r.default.createElement("svg",{width:"14",height:"11",viewBox:"0 0 14 11"},r.default.createElement("path",{d:"M11.264 0L5.26 6.004 2.103 2.847 0 4.95l5.26 5.26 8.108-8.107L11.264 0",fill:"#fff",fillRule:"evenodd"}))}},1110:(e,t,s)=>{var n=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var s=arguments[t];for(var n in s)Object.prototype.hasOwnProperty.call(s,n)&&(e[n]=s[n])}return e},a=function(){function e(e,t){for(var s=0;s<t.length;s++){var n=t[s];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,s,n){return s&&e(t.prototype,s),n&&e(t,n),t}}(),r=s(9950),l=h(r),i=h(s(8738)),o=h(s(1942)),c=h(s(4010)),u=h(s(4990)),d=s(6104);function h(e){return e&&e.__esModule?e:{default:e}}var m=function(e){function t(e){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var s=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return s.handleClick=s.handleClick.bind(s),s.handleTouchStart=s.handleTouchStart.bind(s),s.handleTouchMove=s.handleTouchMove.bind(s),s.handleTouchEnd=s.handleTouchEnd.bind(s),s.handleFocus=s.handleFocus.bind(s),s.handleBlur=s.handleBlur.bind(s),s.previouslyChecked=!(!e.checked&&!e.defaultChecked),s.state={checked:!(!e.checked&&!e.defaultChecked),hasFocus:!1},s}return function(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),a(t,[{key:"componentDidUpdate",value:function(e){e.checked!==this.props.checked&&this.setState({checked:!!this.props.checked})}},{key:"handleClick",value:function(e){if(!this.props.disabled){var t=this.input;if(e.target!==t&&!this.moved)return this.previouslyChecked=t.checked,e.preventDefault(),t.focus(),void t.click();var s=this.props.hasOwnProperty("checked")?this.props.checked:t.checked;this.setState({checked:s})}}},{key:"handleTouchStart",value:function(e){this.props.disabled||(this.startX=(0,d.pointerCoord)(e).x,this.activated=!0)}},{key:"handleTouchMove",value:function(e){if(this.activated&&(this.moved=!0,this.startX)){var t=(0,d.pointerCoord)(e).x;this.state.checked&&t+15<this.startX?(this.setState({checked:!1}),this.startX=t,this.activated=!0):t-15>this.startX&&(this.setState({checked:!0}),this.startX=t,this.activated=t<this.startX+5)}}},{key:"handleTouchEnd",value:function(e){if(this.moved){var t=this.input;if(e.preventDefault(),this.startX){var s=(0,d.pointerCoord)(e).x;!0===this.previouslyChecked&&this.startX+4>s?this.previouslyChecked!==this.state.checked&&(this.setState({checked:!1}),this.previouslyChecked=this.state.checked,t.click()):this.startX-4<s&&this.previouslyChecked!==this.state.checked&&(this.setState({checked:!0}),this.previouslyChecked=this.state.checked,t.click()),this.activated=!1,this.startX=null,this.moved=!1}}}},{key:"handleFocus",value:function(e){var t=this.props.onFocus;t&&t(e),this.setState({hasFocus:!0})}},{key:"handleBlur",value:function(e){var t=this.props.onBlur;t&&t(e),this.setState({hasFocus:!1})}},{key:"getIcon",value:function(e){var s=this.props.icons;return s?void 0===s[e]?t.defaultProps.icons[e]:s[e]:null}},{key:"render",value:function(){var e=this,t=this.props,s=t.className,a=(t.icons,function(e,t){var s={};for(var n in e)t.indexOf(n)>=0||Object.prototype.hasOwnProperty.call(e,n)&&(s[n]=e[n]);return s}(t,["className","icons"])),r=(0,i.default)("react-toggle",{"react-toggle--checked":this.state.checked,"react-toggle--focus":this.state.hasFocus,"react-toggle--disabled":this.props.disabled},s);return l.default.createElement("div",{className:r,onClick:this.handleClick,onTouchStart:this.handleTouchStart,onTouchMove:this.handleTouchMove,onTouchEnd:this.handleTouchEnd},l.default.createElement("div",{className:"react-toggle-track"},l.default.createElement("div",{className:"react-toggle-track-check"},this.getIcon("checked")),l.default.createElement("div",{className:"react-toggle-track-x"},this.getIcon("unchecked"))),l.default.createElement("div",{className:"react-toggle-thumb"}),l.default.createElement("input",n({},a,{ref:function(t){e.input=t},onFocus:this.handleFocus,onBlur:this.handleBlur,className:"react-toggle-screenreader-only",type:"checkbox"})))}}]),t}(r.PureComponent);t.A=m,m.displayName="Toggle",m.defaultProps={icons:{checked:l.default.createElement(c.default,null),unchecked:l.default.createElement(u.default,null)}},m.propTypes={checked:o.default.bool,disabled:o.default.bool,defaultChecked:o.default.bool,onChange:o.default.func,onFocus:o.default.func,onBlur:o.default.func,className:o.default.string,name:o.default.string,value:o.default.string,id:o.default.string,"aria-labelledby":o.default.string,"aria-label":o.default.string,icons:o.default.oneOfType([o.default.bool,o.default.shape({checked:o.default.node,unchecked:o.default.node})])}},6104:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.pointerCoord=function(e){if(e){var t=e.changedTouches;if(t&&t.length>0){var s=t[0];return{x:s.clientX,y:s.clientY}}var n=e.pageX;if(void 0!==n)return{x:n,y:e.pageY}}return{x:0,y:0}}},4990:(e,t,s)=>{Object.defineProperty(t,"__esModule",{value:!0});var n,a=s(9950),r=(n=a)&&n.__esModule?n:{default:n};t.default=function(){return r.default.createElement("svg",{width:"10",height:"10",viewBox:"0 0 10 10"},r.default.createElement("path",{d:"M9.9 2.12L7.78 0 4.95 2.828 2.12 0 0 2.12l2.83 2.83L0 7.776 2.123 9.9 4.95 7.07 7.78 9.9 9.9 7.776 7.072 4.95 9.9 2.12",fill:"#fff",fillRule:"evenodd"}))}}}]);
|
|
1
|
+
"use strict";(self.webpackChunkharperdb_studio=self.webpackChunkharperdb_studio||[]).push([[575],{1679:(e,t,s)=>{s.r(t),s.d(t,{default:()=>oe});var n=s(9950),a=s(6713),r=s(135),l=s(2231),i=s(5269),o=s(7176),c=s(6114),u=s(4084),d=s(8156),h=s(9435),m=s(6165),p=s(3150),g=s(3628),f=s(3452),v=s(2010),b=s(4834),_=s(127);var x=s(8198),j=s(8738),N=s.n(j),A=s(4414);function k(e){let{error:t,style:s={}}=e;return(0,A.jsx)("div",{style:s,className:N()("form-validation-error",{error:t}),children:t||"input is valid"})}var y=s(5488);const w=function(e){let{label:t,value:s,type:a="text",max:r=null,min:l=null,editable:i=!1,handleChange:o,validator:c=()=>!0,errorMessage:u="is required",addSpace:d=!0,valid:h=!1}=e;const[m,p]=(0,n.useState)(null);return i?(0,A.jsxs)(A.Fragment,{children:[d&&(0,A.jsx)("br",{}),(0,A.jsxs)("div",{className:N()("text-nowrap mt-2 mb-1",{"text-danger":m}),children:[t," ",m]}),(0,A.jsx)(y.A,{id:`cluster-field-${t}`,type:a,className:N()("cluster-field form-control",{error:m}),max:r,min:l,defaultValue:s,valid:h,onChange:e=>o(e.target.value),onBlur:e=>{const t=c(e.target.value);p(t?null:u)}})]}):(0,A.jsxs)(A.Fragment,{children:[d&&(0,A.jsx)("br",{}),(0,A.jsx)("div",{className:"text-nowrap mt-2 mb-1",children:t}),(0,A.jsx)(y.A,{readOnly:!0,valid:!0,type:a,value:s})]})};var C=s(2765);const S=function(e){var t,s,r,l,o,c,u,d,h;let{setConfiguring:m,clusterStatus:p,refreshStatus:g,compute_stack_id:j}=e;const N=(0,a.O$)(i.A,(e=>e.auth)),y=(0,a.O$)(i.A,(e=>e.url)),S=p.engine,P=1024,O=65535,[E,T]=(0,n.useState)({clusterRole:null===p||void 0===p||null===(t=p.cluster_role)||void 0===t?void 0:t.role,clusterUsername:(null===p||void 0===p||null===(s=p.cluster_user)||void 0===s?void 0:s.username)||"cluster_user",clusterPassword:(null===p||void 0===p||null===(r=p.cluster_user)||void 0===r?void 0:r.password)||"",clusterPort:(null===p||void 0===p?void 0:p.config_cluster_port)||"",clusterNodeName:(null===p||void 0===p?void 0:p.node_name)||j}),[R,F]=(0,n.useState)(null);function M(e){T({...E,...e})}return(0,A.jsxs)(A.Fragment,{children:[(0,A.jsx)(w,{label:"Cluster Role",handleChange:e=>M({clusterRole:e}),value:E.clusterRole,valid:(null===(l=E.clusterRole)||void 0===l?void 0:l.trim().length)>0,validator:e=>(null===e||void 0===e?void 0:e.trim().length)>0,editable:!(null!==p&&void 0!==p&&null!==(o=p.cluster_role)&&void 0!==o&&o.role),addSpace:!1}),(0,A.jsx)(w,{label:"Cluster User",handleChange:e=>M({clusterUsername:e}),value:E.clusterUsername,valid:E.clusterUsername.trim().length>0,validator:e=>e.trim().length>0,editable:!(null!==p&&void 0!==p&&null!==(c=p.cluster_user)&&void 0!==c&&c.username)}),(0,A.jsx)(w,{label:"Cluster Password",type:"password",handleChange:e=>M({clusterPassword:e}),value:null!==p&&void 0!==p&&null!==(u=p.cluster_user)&&void 0!==u&&u.username?"********":E.clusterPassword,valid:(null===p||void 0===p||null===(d=p.cluster_user)||void 0===d?void 0:d.username)||E.clusterPassword.trim().length>0,validator:e=>e.trim().length>0,editable:!(null!==p&&void 0!==p&&null!==(h=p.cluster_user)&&void 0!==h&&h.username),showDivider:!1}),(0,A.jsx)(w,{label:"Cluster Port",type:"number",max:O,min:P,handleChange:e=>M({clusterPort:e}),value:E.clusterPort,valid:E.clusterPort>=P&&E.clusterPort<=O,validator:e=>e>=P&&e<=O,errorMessage:"must be between 1024 and 65535",editable:!(null!==p&&void 0!==p&&p.config_cluster_port)}),(0,A.jsx)(w,{label:"Cluster Node Name",handleChange:e=>M({clusterNodeName:e}),value:E.clusterNodeName,valid:E.clusterNodeName.length>0,validator:e=>e.length>0,editable:!(null!==p&&void 0!==p&&p.node_name)}),(0,A.jsx)("hr",{className:"my-3"}),(0,A.jsx)(f.A,{block:!0,color:"success",disabled:!function(e){var t;let{clusterRole:s,clusterUsername:n,clusterPassword:a,clusterPort:r,clusterNodeName:l}=e;return(null===s||void 0===s?void 0:s.length)>0&&n.length>0&&((null===p||void 0===p||null===(t=p.cluster_user)||void 0===t?void 0:t.username)||a.length>0)&&l.length>0&&r>=P&&r<=O}(E),onClick:async function(){var e;if(F(null),null===(e=p.cluster_role)||void 0===e||!e.role){const e=await(0,C.A)({auth:N,url:y,role:E.clusterRole,permission:{cluster_user:!0}});if(e.error)return F(e.message)}if(!p.cluster_user){const e=await(0,x.A)({auth:N,url:y,role:E.clusterRole,username:E.clusterUsername,password:E.clusterPassword});if(e.error)return F(e.message)}const t="nats"===S?await(0,b.A)({auth:N,url:y,clustering_enabled:!0,clustering_nodeName:E.clusterNodeName,clustering_port:E.clusterPort,clustering_user:E.clusterUsername}):await(async e=>{let{CLUSTERING:t=!1,CLUSTERING_PORT:s,CLUSTERING_USER:n,NODE_NAME:a,auth:r,url:l}=e;return(0,_.A)({operation:{operation:"configure_cluster",CLUSTERING:t,CLUSTERING_PORT:s,CLUSTERING_USER:n,NODE_NAME:a},auth:r,url:l})})({auth:N,url:y,CLUSTERING:!0,CLUSTERING_PORT:E.clusterPort,CLUSTERING_USER:E.clusterUsername,NODE_NAME:E.clusterNodeName});return t.error?F(t.message):(window._kmq&&window._kmq.push(["record","enabled clustering"]),await(0,v.A)({auth:N,url:y}),setTimeout((()=>m(!0)),0),g())},children:"Enable Clustering"}),(0,A.jsx)("br",{}),R&&(0,A.jsx)(k,{error:R})]})};const P=function(e){let{setConfiguring:t,clusterStatus:s,refreshStatus:n}=e;const{compute_stack_id:r}=(0,l.g)(),f=null===s||void 0===s?void 0:s.cluster_role,v=(null===s||void 0===s?void 0:s.cluster_role)&&(null===s||void 0===s?void 0:s.cluster_user),b=(null===s||void 0===s?void 0:s.cluster_role)&&(null===s||void 0===s?void 0:s.cluster_user),_=(null===s||void 0===s?void 0:s.cluster_role)&&(null===s||void 0===s?void 0:s.cluster_user)&&(null===s||void 0===s?void 0:s.node_name),x=(0,a.O$)(i.A,(e=>e.rule_arn)),j=Boolean(x);return(0,A.jsxs)(o.A,{id:"clustering",children:[(0,A.jsxs)(c.A,{xl:"3",lg:"4",md:"5",xs:"12",children:[(0,A.jsx)("span",{className:"floating-card-header",children:"enable clustering"}),(0,A.jsx)(u.A,{className:"my-3",children:(0,A.jsx)(d.A,{children:(0,A.jsx)(h.tH,{onError:(e,t)=>(0,g.A)({error:{message:e.message,componentStack:t}}),FallbackComponent:p.A,children:(0,A.jsx)(S,{setConfiguring:t,refreshStatus:n,clusterStatus:s,compute_stack_id:r})})})})]}),(0,A.jsx)(c.A,{xl:"9",lg:"8",md:"7",xs:"12",children:_?(0,A.jsx)(m.A,{headline:"You're all set!",description:"Click the button at left to enable clustering. NOTE: We'll restart the instance when you click this button.",icon:(0,A.jsx)("i",{className:"fa fa-thumbs-up text-success"})}):b?(0,A.jsx)(m.A,{headline:"Set Instance Cluster Name",description:`We need to set a unique node name to identify your instance in the cluster. By default, we set it to "${r}", but you can choose your own unique node name.`,icon:(0,A.jsx)("i",{className:"fa fa-exclamation-triangle text-warning"})}):v?(0,A.jsx)(m.A,{headline:"Cluster Port Set To: 12345",description:"If your instance is behind a firewall, you'll need to ensure this port is accessible by other instances if you want to publish/subscribe to/from this instance.",icon:(0,A.jsx)("i",{className:"fa fa-thumbs-up text-success"})}):f?(0,A.jsx)(m.A,{headline:"Create a Cluster User",description:"If you have other instances you want to cluster together with this one, make sure the cluster user has the same name and password as those other instances.",warning:j?"Harper clustering functionality will not work between AWS cloud instances. We are working on upgrading our cloud infrastructure to support clustering functionality.":null,icon:(0,A.jsx)("i",{className:"fa fa-exclamation-triangle text-warning"})}):(0,A.jsx)(m.A,{headline:"Create a Cluster Role",description:"This role subscribes to instance transaction logs and handles operations that result from its pub/sub configuration.",icon:(0,A.jsx)("i",{className:"fa fa-exclamation-triangle text-warning"})})})]})};var O=s(7348);const E=function(e){let{handleAddNode:t,loading:s}=e;return(0,A.jsx)(f.A,{color:"purple",className:"round",title:"Connect To This Instance",disabled:s,onClick:t,children:(0,A.jsx)("i",{className:`fa ${s?"fa-spin fa-spinner":"fa-plus"} text-white`})})};const T=function(e){let{handleRemoveNode:t,showModal:s,loading:n}=e;return(0,A.jsxs)(A.Fragment,{children:[(0,A.jsx)(f.A,{color:"danger",className:"round me-1",title:"Why isn't this instance clustering?",disabled:n,onClick:s,children:(0,A.jsx)("i",{className:"fa fa-exclamation"})}),(0,A.jsx)(f.A,{color:"purple",className:"round",title:"Disconnect From This Instance",disabled:n,onClick:t,children:(0,A.jsx)("i",{className:`fa ${n?"fa-spin fa-spinner":"fa-minus"} text-white`})})]})};const R=function(e){let{handleRemoveNode:t,loading:s}=e;return(0,A.jsx)(f.A,{color:"purple",className:"round",title:"Disconnect From This Instance",disabled:s,onClick:t,children:(0,A.jsx)("i",{className:`fa ${s?"fa-spin fa-spinner":"fa-minus"} text-white`})})};const F=function(){return(0,A.jsx)(f.A,{color:"purple",className:"round",title:"Connecting to this instance",disabled:!0,children:(0,A.jsx)("i",{className:"fa fa-spin fa-spinner text-white"})})};const M=function(e){let{handleConfigureNode:t,loading:s}=e;return(0,A.jsx)(f.A,{color:"success",className:"round me-1",title:"Enable Clustering",disabled:s,onClick:t,children:(0,A.jsx)("i",{className:`fa ${s?"fa-spin fa-spinner":"fa-share"} text-white`})})};const $=function(e){var t,s,n;let{setShowModal:a,item:r,itemType:l,loading:i,handleAddNode:u,handleRemoveNode:d,handleConfigureNode:h,refreshNetwork:m}=e;const p=r.compute_stack_id===i;return(0,A.jsxs)(o.A,{className:"item-row",children:[(0,A.jsx)(c.A,{className:"item-label "+("closed"===(null===(t=r.connection)||void 0===t?void 0:t.state)?"text-danger":""),children:r.instance_name}),(0,A.jsx)(c.A,{className:"item-action",children:"incompatible/unreachable"===l?null:"unconfigured"===l?(0,A.jsx)(M,{loading:p,handleConfigureNode:()=>h({compute_stack_id:r.compute_stack_id})}):"CREATE_IN_PROGRESS"===r.instance_status?(0,A.jsx)(f.A,{color:"grey",className:"round",title:"Creating Instance",disabled:!0,children:(0,A.jsx)("i",{className:"fa fa-spin fa-spinner"})}):r.connection?"closed"===(null===(s=r.connection)||void 0===s?void 0:s.state)?(0,A.jsx)(T,{loading:p,handleRemoveNode:()=>d({compute_stack_id:r.compute_stack_id}),showModal:()=>a(r.instance_name)}):"connecting"===(null===(n=r.connection)||void 0===n?void 0:n.state)?(0,A.jsx)(F,{refreshNetwork:m}):(0,A.jsx)(R,{loading:p,handleRemoveNode:()=>d({compute_stack_id:r.compute_stack_id,instance_host:r.instance_host,clusterPort:r.clusterPort})}):(0,A.jsx)(E,{loading:p,handleAddNode:()=>u({compute_stack_id:r.compute_stack_id,instance_url:r.instance_url,instance_host:r.instance_host,clusterPort:r.clusterPort})})})]})};var I=s(1534);const L=function(e){let{items:t,itemType:s,setShowModal:r,loading:h,setLoading:m,refreshNetwork:p}=e;const{customer_id:g}=(0,l.g)(),f=(0,l.Zp)(),v=(0,O.MW)(),b=(0,a.O$)(i.A,(e=>e.compute_stack_id)),x=(0,a.O$)(i.A,(e=>e.auth),[b]),j=(0,a.O$)(i.A,(e=>e.url),[b]),N=(0,a.O$)(i.A,(e=>e.is_local),[b]),k=(0,a.O$)(i.A,(e=>{var t;return parseFloat(null===(t=e.auth)||void 0===t?void 0:t.version)>=4?"nats":"socketcluster"}),[b]),y=(0,n.useCallback)((async e=>{m(e.compute_stack_id);const t="nats"===k?await(async e=>{let{auth:t,url:s,server:n="hub",routes:a}=e;return(0,_.A)({operation:{operation:"cluster_set_routes",server:n,routes:a},auth:t,url:s})})({auth:x,url:j,routes:[{host:e.instance_host,port:e.clusterPort}]}):await(async e=>{let{compute_stack_id:t,instance_host:s,clusterPort:n,auth:a,url:r}=e;return(0,_.A)({operation:{operation:"add_node",name:t,node_name:t,host:s,port:n,subscriptions:[]},auth:a,url:r})})({...e,auth:x,url:j,is_local:N,customer_id:g});t.error?(v.error("localhost"===e.instance_host?"External instances cannot reach that instance's URL":t.message),m(!1)):("nats"===k&&await(0,I.A)({auth:x,url:j,service:"clustering config"}),await p()),m(!1)}),[m,x,j,N,g,p,v,k]),w=(0,n.useCallback)((async e=>{m(e.compute_stack_id);const t="nats"===k?await(async e=>{let{auth:t,url:s,routes:n}=e;return(0,_.A)({operation:{operation:"cluster_delete_routes",routes:n},auth:t,url:s})})({auth:x,url:j,routes:[{host:e.instance_host,port:e.clusterPort}]}):await(async e=>{let{compute_stack_id:t,auth:s,url:n}=e;return(0,_.A)({operation:{operation:"remove_node",name:t,node_name:t},auth:s,url:n})})({...e,auth:x,url:j,is_local:N,customer_id:g});t.error?(v.error(t.message),m(!1)):("nats"===k&&await(0,I.A)({auth:x,url:j,service:"clustering config"}),await p()),m(!1)}),[m,x,j,N,g,p,v,k]),C=(0,n.useCallback)((e=>f(`/o/${g}/i/${e.compute_stack_id}/cluster`)),[f,g]);return(0,A.jsxs)("div",{className:"entity-manager",children:[(0,A.jsxs)("div",{className:"floating-card-header",children:[s," instances"]}),(0,A.jsx)(u.A,{className:"my-3",children:(0,A.jsx)(d.A,{children:null!==t&&void 0!==t&&t.length?t.map((e=>(0,A.jsx)($,{item:e,itemType:s,setShowModal:r,handleAddNode:y,handleRemoveNode:w,handleConfigureNode:C,loading:h,refreshNetwork:p},e.instance_name))):t?(0,A.jsx)(o.A,{className:"item-row",children:(0,A.jsxs)(c.A,{className:"item-label",children:["There are no ",s," instances"]})}):(0,A.jsx)(o.A,{className:"item-row",children:(0,A.jsx)(c.A,{className:"item-label",children:(0,A.jsx)("i",{className:"fa fa-spinner fa-spin"})})})})})]})};var U=s(4343);const z={filtered:[],sorted:[],page:0,totalPages:1,pageSize:20,autoRefresh:!1,showFilter:!1,lastUpdate:!1};const D=function(e){let{refreshNetwork:t,loading:s,setLoading:r}=e;const l=(0,a.O$)(i.A,(e=>e.clusterDataTable||[])),h=(0,a.O$)(i.A,(e=>e.clusterDataTableColumns||[])),[m,p]=(0,n.useState)(z);(0,n.useEffect)((()=>{p({...m,totalPages:Math.ceil((l.length||m.pageSize)/m.pageSize)})}),[p,m.pageSize]);const g=(0,n.useCallback)((async()=>{r(!0),t()}),[r,t]);return(0,A.jsxs)(A.Fragment,{children:[(0,A.jsxs)(o.A,{className:"floating-card-header",children:[(0,A.jsx)(c.A,{children:"manage clustering"}),(0,A.jsx)(c.A,{className:"text-end",children:(0,A.jsxs)(f.A,{color:"link",onClick:g,className:"me-2",children:[(0,A.jsx)("span",{className:"me-2",children:"refresh network"}),(0,A.jsx)("i",{title:"Refresh Roles",className:"fa "+(s?"fa-spinner fa-spin":"fa-sync-alt")})]})})]}),(0,A.jsx)(u.A,{className:"my-3",children:(0,A.jsx)(d.A,{className:"react-table-holder "+(s?"loading":""),children:null!==l&&void 0!==l&&l.length?(0,A.jsx)(U.A,{columns:h,data:l,page:m.page,pageSize:m.pageSize,totalPages:m.totalPages,showFilter:m.showFilter,sorted:m.sorted,onFilteredChange:e=>p({...m,filtered:e}),onSortedChange:e=>p({...m,sorted:e}),onPageChange:e=>p({...m,pageSize:e}),onPageSizeChange:e=>p({...m,page:0,pageSize:e})}):(0,A.jsx)("div",{className:"empty-prompt",children:"Please connect at least one instance to configure clustering"})})})]})};var G=s(6685),B=s(1340),X=s(877);const H=function(e){let{showModal:t,setShowModal:s}=e;const{compute_stack_id:n}=(0,l.g)(),r=(0,a.O$)(i.A,(e=>e.instance_name),[n]);return(0,A.jsxs)(G.A,{id:"cluster-state-modal",isOpen:!!t,toggle:()=>s(!1),centered:!0,fade:!1,children:[(0,A.jsx)(B.A,{toggle:()=>s(!1),children:"Instance Cluster Error"}),(0,A.jsx)(X.A,{children:(0,A.jsx)(u.A,{children:(0,A.jsxs)(d.A,{children:[(0,A.jsx)("b",{children:r})," is unable to open a connection to ",(0,A.jsx)("b",{children:t}),".",(0,A.jsx)("hr",{className:"my-3"}),(0,A.jsxs)("ul",{children:[(0,A.jsx)("li",{children:"Clustered instances must be able to reach each other. This may require allowing access through a firewall."}),(0,A.jsx)("li",{children:"Both instances must be running. In the event of a restart, instances will automatically attempt to reconnect."}),(0,A.jsxs)("li",{children:["Clustered instances must have the same cluster user ",(0,A.jsx)("b",{children:"name"})," and ",(0,A.jsx)("b",{children:"password"}),". You can edit an instance's cluster user credentials in the ",(0,A.jsx)("b",{children:"config"})," section."]})]}),(0,A.jsx)("hr",{className:"my-3"}),"If none of these help fix the issue, you can disconnect ",(0,A.jsx)("b",{children:t})," from ",(0,A.jsx)("b",{children:r})," by clicking the purple disconnect button with the minus sign."]})})})]})};var q=s(2414),W=s.n(q);var Y=s(1110);const J=async e=>{let{channel:t,subscriptions:s,buttonState:n,instance_host:a,clusterPort:r,clusterName:l,auth:o,url:c}=e;const u=JSON.parse(JSON.stringify(s)),d=u.findIndex((e=>e.channel===t)),[h,m]=t.split(":");-1===d?u.push({channel:t,schema:h,table:m,publish:"togglePublish"===n,subscribe:"toggleSubscribe"===n}):"togglePublish"===n?u[d].publish=!u[d].publish:"toggleSubscribe"===n&&(u[d].subscribe=!u[d].subscribe),u[d]&&!u[d].publish&&u[d].subscribe;const p={operation:"update_node",name:l,node_name:l,host:a,port:r,subscriptions:u},g=await(0,_.A)({operation:p,auth:o,url:c});return g.error&&-1!==g.message.indexOf("add_node")&&(p.operation="add_node",await(0,_.A)({operation:p,auth:o,url:c})),i.A.update((e=>{e.lastUpdate=Date.now()}))};var V=s(5346),K=s(396),Z=s(6177);const Q=async e=>{let{instance:t,auth:s}=e;const n=s&&await(0,Z.A)({auth:s,url:t.url}),a=s&&await(0,V.A)({auth:s,url:t.url}),{structure:r}=a?(0,K.A)(a):{structure:{}},l=new URL(t.url),i={...t,auth:s,structure:r,host:l.hostname,clustering:n};return Object.entries(i).reduce(((e,t)=>{let[s,n]=t;return null==n||(e[s]=n),e}),{})},ee=async e=>{let{auth:t,url:s,instances:n,connections:a}=e;const r=await(async e=>{let{auth:t,url:s}=e;return(0,_.A)({operation:{operation:"cluster_get_routes"},auth:t,url:s})})({auth:t,url:s});return r.hub.map((e=>{var t;const s=n.find((t=>t.host===e.host||t.private_ip===e.host));if(!s)return!1;const r=s.host===s.private_ip?s.private_ip:s.host,l=a.find((e=>{var t;return e.node_name===(null===s||void 0===s||null===(t=s.clustering)||void 0===t?void 0:t.node_name)})),i=(null===l||void 0===l||null===(t=l.subscriptions)||void 0===t?void 0:t.map((e=>({channel:`${e.schema}:${e.table}`,...e}))))||[];return{host:r,port:e.port,state:"open",name:null===s||void 0===s?void 0:s.compute_stack_id,subscriptions:i}})).filter((e=>!1!==e))},te=e=>{let{connections:t}=e;return t?t.filter((e=>-1===e.host_address.indexOf("::ffff"))).map((e=>({name:e.node_name,host:e.host_address,port:e.host_port,state:e.state,subscriptions:e.subscriptions}))):[]},se=async e=>{let{auth:t,url:s,instances:n,compute_stack_id:a,instanceAuths:r,setLoading:l}=e;const o=await Promise.all(n.filter((e=>!!r[e.compute_stack_id])).map((e=>Q({instance:e,auth:r[e.compute_stack_id]})))),c=o.find((e=>e.compute_stack_id===a)),u=c.clustering.message||!c.clustering.is_enabled?[]:"nats"===c.clustering.engine?await ee({auth:t,url:s,instances:o,connections:c.clustering.connections}):te({connections:c.clustering.status.outbound_connections}),d={is_enabled:c.clustering.is_enabled,connections:u},h=(e=>{let{instances:t,network:s,instance_region:n,instance_wavelength_zone_id:a,instance_cluster_engine:r}=e;const l=t.filter((e=>e.url&&"DELETE_IN_PROGRESS"!==e.status)).filter((e=>e.clustering.engine===r)).map((e=>{var t,l;const i="socketcluster"===r?null===s||void 0===s?void 0:s.connections.find((t=>t.name===e.compute_stack_id)):null===s||void 0===s?void 0:s.connections.find((t=>t.host===e.host)),o=(null===i||void 0===i?void 0:i.subscriptions)||[],c=null===e||void 0===e||null===(t=e.clustering)||void 0===t?void 0:t.config_cluster_port,u=e.is_local?"OK":e.status,d=!n||n!==e.instance_region||e.wavelength_zone_id||a?e.url.match(/^https?:\/\/([^/:?#]+)(?:[/:?#]|$)/i)[1]:e.private_ip,h=e.clustering.node_name;return{instance_name:e.instance_name,instance_url:e.url,compute_stack_id:e.compute_stack_id,instance_status:u,instance_host:d,clusterPort:c,clusterName:h,connection:i,subscriptions:o,structure:e.structure,configured:null===(l=e.clustering)||void 0===l?void 0:l.is_ready}})),i=t.filter((e=>e.clustering.engine!==r)).map((e=>({instance_name:e.instance_name,compute_stack_id:e.name})));return{connected:l.filter((e=>e.connection&&e.configured)),unconnected:l.filter((e=>!e.connection&&e.configured)),unconfigured:l.filter((e=>!e.configured)),unreachable:i}})({instances:o.filter((e=>r[e.compute_stack_id]&&e.compute_stack_id!==a)),network:d,instance_region:c.instance_region,instance_wavelength_zone_id:c.wavelength_zone_id,instance_cluster_engine:c.clustering.engine}),m=(e=>{let{instances:t,structure:s}=e;if(!s||!t.length)return[];const n=[];return t.map((e=>{const t=W()(e.structure,s);return Object.keys(t).sort().map(((s,a)=>(Object.keys(t[s]).sort().map(((t,r)=>{const l=`${s}:${t}`,i=l&&e.subscriptions.find((e=>e.channel===l)),o=i&&i.publish,c=i&&i.subscribe;return n.push({is_first_instance:0===a&&0===r,is_first_schema:0===r,instance_name:e.instance_name,schema:s,table:t,compute_stack_id:e.compute_stack_id,instance_host:e.instance_host,clusterPort:e.clusterPort,clusterName:e.clusterName,subscriptions:e.subscriptions,channel:l,publish:o,subscribe:c}),!0})),!0))),!0})),n})({instances:h.connected.filter((e=>"closed"!==e.connection.state)),structure:c.structure}),p=(e=>{let{auth:t,url:s,buildNetwork:n,setLoading:a}=e;return[{Header:"instance",Cell:e=>{let{row:{original:{is_first_instance:t,instance_name:s}}}=e;return(0,A.jsx)("div",{className:t?"text-bold":"text-grey",children:s})}},{Header:"schema",Cell:e=>{let{row:{original:{is_first_schema:t,schema:s}}}=e;return(0,A.jsx)("div",{className:t?"text-bold":"text-grey",children:s})}},{Header:"table",accessor:"table"},{Header:"publish",id:"hdb-narrow-publish",Cell:e=>{let{row:{original:{compute_stack_id:r,instance_host:l,instance_name:i,clusterPort:o,clusterName:c,subscriptions:u,publish:d,channel:h}}}=e;return(0,A.jsx)(Y.A,{checked:d||!1,onChange:async()=>{a(r),await J({channel:h,subscriptions:u,instance_host:l,instance_name:i,clusterPort:o,clusterName:c,auth:t,url:s,buttonState:"togglePublish"}),n()}})}},{Header:"subscribe",id:"hdb-narrow-subscribe",Cell:e=>{let{row:{original:{compute_stack_id:r,instance_host:l,instance_name:i,clusterPort:o,clusterName:c,subscriptions:u,subscribe:d,channel:h}}}=e;return(0,A.jsx)(Y.A,{checked:d||!1,onChange:async()=>{a(r),await J({channel:h,subscriptions:u,instance_host:l,instance_name:i,clusterPort:o,clusterName:c,auth:t,url:s,buttonState:"toggleSubscribe"}),n()}})}}]})({auth:t,url:c.url,compute_stack_id:a,buildNetwork:()=>se({auth:t,url:s,instances:n,compute_stack_id:a,instanceAuths:r,setLoading:l}),setLoading:l});return i.A.update((e=>{e.network=d,e.clusterPartners=h,e.clusterDataTable=m,e.clusterDataTableColumns=p,e.instances=o})),l(!1),{network:d,clusterPartners:h,clusterDataTable:m,clusterDataTableColumns:p}},ne=se;var ae=s(5553),re=s(4319);const le=function(e){let{configuring:t}=e;const{compute_stack_id:s}=(0,l.g)(),u=(0,a.O$)(ae.A,(e=>e.instances)),[d]=(0,re.A)({}),m=(0,a.O$)(i.A,(e=>e.auth),[s]),f=(0,a.O$)(i.A,(e=>e.url),[s]),v=(0,a.O$)(i.A,(e=>e.clusterPartners),[s]),b=(0,a.O$)(i.A,(e=>e.restarting),[s]),_="socketcluster"===(0,a.O$)(i.A,(e=>{var t;return parseFloat(null===(t=e.registration)||void 0===t?void 0:t.version)>=4?"nats":"socketcluster"}),[s])&&(null===v||void 0===v?void 0:v.connected.some((e=>"connecting"===e.connection.state))),[x,j]=(0,n.useState)(!1),[N,k]=(0,n.useState)(!1),y=(0,n.useCallback)((async()=>{m&&f&&u&&s&&!b&&!t&&await ne({auth:m,url:f,instances:u,compute_stack_id:s,instanceAuths:d,setLoading:k})}),[m,f,u,s,b,d,t]);return(0,n.useEffect)((()=>{y()}),[y]),(0,r.A)((()=>_&&y()),1500),(0,A.jsxs)(A.Fragment,{children:[(0,A.jsxs)(o.A,{id:"clustering",children:[(0,A.jsx)(c.A,{xl:"3",lg:"4",md:"6",xs:"12",children:(0,A.jsxs)(h.tH,{onError:(e,t)=>(0,g.A)({error:{message:e.message,componentStack:t}}),FallbackComponent:p.A,children:[(0,A.jsx)(L,{items:null===v||void 0===v?void 0:v.connected,itemType:"connected",loading:N,refreshNetwork:y,setLoading:k,setShowModal:j}),(0,A.jsx)(L,{items:null===v||void 0===v?void 0:v.unconnected,itemType:"unconnected",loading:N,refreshNetwork:y,setLoading:k}),(0,A.jsx)(L,{items:null===v||void 0===v?void 0:v.unconfigured,itemType:"unconfigured",loading:N}),(0,A.jsx)(L,{items:null===v||void 0===v?void 0:v.unreachable,itemType:"incompatible/unreachable",loading:N})]})}),(0,A.jsx)(c.A,{xl:"9",lg:"8",md:"6",xs:"12",children:(0,A.jsx)(D,{refreshNetwork:y,loading:N,setLoading:k})})]}),(0,A.jsx)(H,{showModal:x,setShowModal:j})]})};var ie=s(4979);const oe=function(){const{compute_stack_id:e}=(0,l.g)(),t=(0,a.O$)(i.A,(e=>e.auth),[e]),s=(0,a.O$)(i.A,(e=>e.url),[e]),[o,c]=(0,n.useState)(!1),[u,d]=(0,n.useState)(!1),h=(0,n.useCallback)((async()=>{if(t&&s){const e=await(0,Z.A)({auth:t,url:s});c(e),e.is_ready&&d(!1)}}),[t,s]);return(0,r.A)((async()=>{u&&h()}),3e3),(0,n.useEffect)((()=>{h()}),[h]),(0,n.useEffect)((()=>{c(!1)}),[e]),o?u?(0,A.jsx)(m.A,{description:"Configuring Clustering",icon:(0,A.jsx)("i",{className:"fa fa-spinner fa-spin"})}):o.is_ready?(0,A.jsx)(le,{configuring:u}):(0,A.jsx)(P,{setConfiguring:d,clusterStatus:o,refreshStatus:h}):(0,A.jsx)(ie.A,{header:"loading network",spinner:!0})}},4343:(e,t,s)=>{s.d(t,{A:()=>x});var n=s(9950),a=s(2043),r=s(5488),l=s(9435),i=s(7176),o=s(6114),c=s(4414);const u=e=>{let{headerGroups:t,onSortedChange:s,sorted:n,showFilter:a,dynamicAttributesFromDataTable:r,tableDescriptionAttributes:l}=e;const u=e=>{let t=!1;return l.forEach((s=>{s.attribute===e&&(s.is_primary_key||s.indexed)&&(t=!0)})),t};return t.map((e=>{const{key:t,...l}=e.getHeaderGroupProps();return(0,c.jsxs)("div",{...l,children:[(0,c.jsx)(i.A,{className:"header g-0",children:e.headers.map((e=>{var t,a;return(0,c.jsx)(o.A,{onClick:()=>{var t,a;r&&!r.includes(e.id)&&u(e.id)&&s([{id:e.id,desc:(null===(t=n[0])||void 0===t?void 0:t.id)===e.id&&!(null!==(a=n[0])&&void 0!==a&&a.desc)}])},className:`${(null===(t=n[0])||void 0===t?void 0:t.id)===e.id?"sorted":""} ${null!==(a=n[0])&&void 0!==a&&a.desc?"desc":"asc"} ${-1!==e.id.indexOf("hdb-narrow")?"action":""} px-1 ${r&&!r.includes(e.id)&&u(e.id)?"":"disabled-column"}`,children:(0,c.jsx)("div",{className:"text-renderer",children:e.render("Header")})},e.id)}))}),a&&(0,c.jsx)(i.A,{className:"filter g-0",children:e.headers.map((e=>(0,c.jsx)(o.A,{className:-1!==e.id.indexOf("hdb-narrow")?"action":"",children:e.render("Filter")},e.id)))})]},t)}))};var d=s(3452);const h=function(e){let{page:t,pageSize:s,totalPages:n,onPageChange:a,onPageSizeChange:l,loading:u}=e;return(0,c.jsxs)(i.A,{className:"pagination",children:[(0,c.jsx)(o.A,{xs:"12",sm:"2",className:"previous",children:(0,c.jsx)(d.A,{className:"mb-2 btn-pagination",color:"purple",block:!0,onClick:()=>a(t-1),disabled:!n||0===t,children:(0,c.jsx)("i",{className:"fa fa-chevron-left"})})}),(0,c.jsxs)(o.A,{xs:"12",sm:"4",className:"paginator",children:[(0,c.jsx)("i",{className:"fa fa-book me-2"}),(0,c.jsx)(r.A,{className:"mb-2",type:"number",value:t+1,min:1,max:n,onChange:e=>a(e.target.value-1)}),(0,c.jsxs)("div",{className:"page-count",children:["\xa0/\xa0",u?(0,c.jsx)("i",{className:"fa fa-spinner fa-spin"}):n]})]}),(0,c.jsx)(o.A,{xs:"12",sm:"4",className:"page-size",children:(0,c.jsx)(r.A,{className:"mb-2",type:"select",value:s,onChange:e=>l(e.target.value),children:[20,50,100,250].map((e=>(0,c.jsxs)("option",{value:e,children:[e," rows"]},e)))})}),(0,c.jsx)(o.A,{xs:"12",sm:"2",className:"next",children:(0,c.jsx)(d.A,{className:"mb-2 pull-right btn-pagination",block:!0,color:"purple",onClick:()=>a(t+1),disabled:!n||t+1===n,children:(0,c.jsx)("i",{className:"fa fa-chevron-right"})})})]})};const m=function(e){let{previousPage:t,canPreviousPage:s,pageIndex:n,gotoPage:a,setPageSize:l,pageCount:u,nextPage:h,canNextPage:m,loading:p}=e;return(0,c.jsxs)(i.A,{className:"pagination",children:[(0,c.jsx)(o.A,{xs:"12",sm:"2",className:"previous",children:(0,c.jsx)(d.A,{className:"mb-2 btn-pagination",color:"purple",block:!0,onClick:t,disabled:!u||!s,children:(0,c.jsx)("i",{className:"fa fa-chevron-left"})})}),(0,c.jsxs)(o.A,{xs:"12",sm:"4",className:"paginator",children:[(0,c.jsx)("i",{className:"fa fa-book me-2"}),(0,c.jsx)(r.A,{className:"mb-2",type:"number",value:n+1||1,min:1,max:u,onChange:e=>a(e.target.value?Number(e.target.value)-1:0)}),(0,c.jsxs)("div",{className:"page-count",children:["\xa0/\xa0",p?(0,c.jsx)("i",{className:"fa fa-spinner fa-spin"}):u]})]}),(0,c.jsx)(o.A,{xs:"12",sm:"4",className:"page-size",children:(0,c.jsx)(r.A,{className:"mb-2",type:"select",onChange:e=>{a(0),setTimeout((()=>l(e.target.value)),1e3)},children:[20,50,100,250].map((e=>(0,c.jsxs)("option",{value:e,children:[e," rows"]},e)))})}),(0,c.jsx)(o.A,{xs:"12",sm:"2",className:"next",children:(0,c.jsx)(d.A,{className:"mb-2 pull-right btn-pagination",block:!0,color:"purple",onClick:h,disabled:!u||!m,children:(0,c.jsx)("i",{className:"fa fa-chevron-right"})})})]})};const p=function(e){let{prepareRow:t,row:s,onRowClick:n=!1}=e;return t(s),(0,c.jsx)(i.A,{onClick:()=>n&&n(s.original),className:"g-0",children:s.cells.map((e=>(0,c.jsx)(o.A,{className:-1!==e.column.id.indexOf("hdb-narrow")?"action":"",children:e.render("Cell")},`${e.row.id}-${e.column.id}`)))})};var g=s(3628),f=s(3150);function v(e){let{value:t}=e;return(0,c.jsx)("div",{className:"text-renderer",children:t})}function b(e){let{src:t}=e;const[s,a]=(0,n.useState)(!1),[r,l]=(0,n.useState)(!1);return(0,c.jsxs)("div",{className:"image-renderer",onMouseEnter:()=>a(!0),onMouseLeave:()=>a(!1),children:[(0,c.jsx)("i",{className:"fa fa-image"}),s&&r?(0,c.jsxs)("div",{className:"preview-image no-image",children:[(0,c.jsx)("i",{className:"fa fa-ban text-danger"}),(0,c.jsx)("div",{className:"mt-2",children:"image failed to load"})]}):s?(0,c.jsx)("img",{onError:l,alt:t,src:t,className:"preview-image"}):null]})}const _={Filter:e=>{let{column:{filterValue:t,setFilter:s}}=e;return(0,c.jsx)(r.A,{type:"text",value:t||"",onChange:e=>s(e.target.value||void 0)})},Cell:e=>{let{value:t}=e;return(e=>{switch(Object.prototype.toString.call(e)){case"[object Array]":case"[object Object]":return(0,c.jsx)(v,{value:JSON.stringify(e)});case"[object Boolean]":return(0,c.jsx)(v,{value:e?"true":"false"});case"[object String]":return(t=e)&&(t.match(/^https?.*\.(jpeg|jpg|gif|png)$/)||-1!==t.indexOf("data:image"))?(0,c.jsx)(b,{src:e}):(0,c.jsx)(v,{value:e});default:return(0,c.jsx)(v,{value:e})}var t})(t)}};const x=function(e){let{columns:t,data:s,error:r,currentPage:i,pageSize:o,totalPages:d,onFilteredChange:v,onSortedChange:b,onPageChange:x,onPageSizeChange:j,showFilter:N,onRowClick:A,sorted:k,loading:y,dynamicAttributesFromDataTable:w,tableDescriptionAttributes:C,manual:S=!1}=e;const{headerGroups:P,page:O,rows:E,prepareRow:T,state:R,setAllFilters:F,canPreviousPage:M,canNextPage:$,pageOptions:I,pageCount:L,gotoPage:U,nextPage:z,previousPage:D,setPageSize:G}=(0,a.useTable)({columns:t,data:s,defaultColumn:_,onFilteredChange:v,onSortedChange:b,onPageChange:x,onPageSizeChange:j,onRowClick:A,manualPagination:S,manualFilters:S,initialState:{pageIndex:i,pageSize:o}},a.useFilters,a.usePagination),[B,X]=(0,n.useState)(!0),H=S||!O.length?E:O;return(0,n.useEffect)((()=>{!N&&R.filters.length?F([]):v(R.filters)}),[R.filters,N]),(0,n.useEffect)((()=>{setTimeout((()=>X(!1)),100)}),[null===H||void 0===H?void 0:H.length]),(0,c.jsxs)(l.tH,{onError:(e,t)=>(0,g.A)({error:{message:e.message,componentStack:t}}),FallbackComponent:f.A,children:[(0,c.jsxs)("div",{className:"react-table-scroller",children:[(0,c.jsx)(u,{headerGroups:P,tableDescriptionAttributes:C,dynamicAttributesFromDataTable:w,onSortedChange:b,sorted:k,showFilter:N}),y||B?(0,c.jsx)("div",{className:"centered text-center",children:(0,c.jsx)("i",{className:"fa fa-spinner fa-spin"})}):H.length?H.map((e=>(0,c.jsx)(p,{row:e,prepareRow:T,onRowClick:A},e.id))):(0,c.jsxs)("div",{className:"centered text-center",children:[(0,c.jsx)("i",{className:"fa fa-exclamation-triangle text-danger"}),(0,c.jsx)("div",{className:"mt-2 text-darkgrey",children:r?`Error loading data: ${r}`:"no records"})]})]}),S?(0,c.jsx)(h,{page:i,pageSize:o,totalPages:d,onPageChange:x,onPageSizeChange:j,loading:y}):(0,c.jsx)(m,{previousPage:D,pageSize:o,canPreviousPage:M,pageIndex:R.pageIndex,pageOptions:I,gotoPage:U,setPageSize:G,pageCount:L,nextPage:z,canNextPage:$,loading:y})]})}},2765:(e,t,s)=>{s.d(t,{A:()=>a});var n=s(127);const a=async e=>{let{auth:t,url:s,role:a,permission:r}=e;return(0,n.A)({operation:{operation:"add_role",role:a,permission:r},auth:t,url:s})}},8198:(e,t,s)=>{s.d(t,{A:()=>a});var n=s(127);const a=async e=>{let{auth:t,role:s,username:a,password:r,url:l}=e;return(0,n.A)({operation:{operation:"add_user",role:s,username:a,password:r,active:!0},auth:t,url:l})}},8750:(e,t,s)=>{s.d(t,{A:()=>a});var n=s(127);const a=async e=>{let{auth:t,url:s}=e;return(0,n.A)({operation:{operation:"get_configuration"},auth:t,url:s})}},2415:(e,t,s)=>{s.d(t,{A:()=>r});var n=s(127),a=s(5269);const r=async e=>{let{auth:t,url:s}=e;const r=await(0,n.A)({operation:{operation:"list_roles"},auth:t,url:s}),l=[...Array.isArray(r)?r:[]].sort(((e,t)=>e.role.toLowerCase()>t.role.toLowerCase()?1:-1));return a.A.update((e=>{e.roles=l})),l}},8222:(e,t,s)=>{s.d(t,{A:()=>r});var n=s(127),a=s(5269);const r=async e=>{let{auth:t,url:s,signal:r}=e;const l=await(0,n.A)({operation:{operation:"list_users"},auth:t,url:s,signal:r}),i=Array.isArray(l)?[...l].map((e=>({username:e.username,role:e.role.role}))).sort(((e,t)=>e.username.toLowerCase()>t.username.toLowerCase()?1:-1)):[];return a.A.update((e=>{e.users=i})),i}},2010:(e,t,s)=>{s.d(t,{A:()=>r});var n=s(127),a=s(5269);const r=async e=>{let{auth:t,url:s}=e;return a.A.update((e=>{e.restarting=!0})),(0,n.A)({operation:{operation:"restart"},auth:t,url:s})}},1534:(e,t,s)=>{s.d(t,{A:()=>r});var n=s(127),a=s(5269);const r=async e=>{let{auth:t,url:s,service:r=null}=e;return r?(a.A.update((e=>{e.restarting_service=r})),(0,n.A)({operation:{operation:"restart_service",service:r},auth:t,url:s})):{error:!0,message:"You must specify a service"}}},4834:(e,t,s)=>{s.d(t,{A:()=>a});var n=s(127);const a=async e=>{let{auth:t,url:s,...a}=e;return(0,n.A)({operation:{operation:"set_configuration",...a},auth:t,url:s})}},6177:(e,t,s)=>{s.d(t,{A:()=>o});var n=s(8750),a=s(2415),r=s(8222),l=s(717),i=s(127);const o=async e=>{var t,s,o,c,u,d,h;let{auth:m,url:p}=e;const g=await(0,n.A)({auth:m,url:p}),f=await(0,l.A)({auth:m,url:p}),v=await(async e=>{let{auth:t,url:s}=e;return(0,i.A)({operation:{operation:"cluster_status"},auth:t,url:s})})({auth:m,url:p}),b=parseFloat(null===f||void 0===f?void 0:f.version)>=4?"nats":"socketcluster",_=await(0,a.A)({auth:m,url:p});let x=!1;_.error||(x=_.find((e=>e.permission.cluster_user)));const j=await(0,r.A)({auth:m,url:p});let N=!1;j.error||(N=x&&j.find((e=>e.role===x.role)));const A="nats"===b?null===(t=g.clustering)||void 0===t?void 0:t.enabled:g.CLUSTERING,k="nats"===b?null===(s=g.clustering)||void 0===s?void 0:s.user:g.CLUSTERING_USER,y="nats"===b?null===(o=g.clustering)||void 0===o||null===(c=o.hubServer)||void 0===c||null===(u=c.cluster)||void 0===u||null===(d=u.network)||void 0===d?void 0:d.port:g.CLUSTERING_PORT,w="nats"===b?null===(h=g.clustering)||void 0===h?void 0:h.nodeName:g.NODE_NAME;return{is_ready:!!A&&!!N&&!!k&&!!x&&!!y&&!!w,cluster_role:x,cluster_user:N,is_enabled:A,config_cluster_user:k,config_cluster_port:y,node_name:w,engine:b,status:null===v||void 0===v?void 0:v.status,message:null===v||void 0===v?void 0:v.message,connections:null===v||void 0===v?void 0:v.connections}}},2414:e=>{var t=function(e){return function(e){return!!e&&"object"===typeof e}(e)&&!function(e){var t=Object.prototype.toString.call(e);return"[object RegExp]"===t||"[object Date]"===t||function(e){return e.$$typeof===s}(e)}(e)};var s="function"===typeof Symbol&&Symbol.for?Symbol.for("react.element"):60103;function n(e,t){return!1!==t.clone&&t.isMergeableObject(e)?o((s=e,Array.isArray(s)?[]:{}),e,t):e;var s}function a(e,t,s){return e.concat(t).map((function(e){return n(e,s)}))}function r(e){return Object.keys(e).concat(function(e){return Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(e).filter((function(t){return Object.propertyIsEnumerable.call(e,t)})):[]}(e))}function l(e,t){try{return t in e}catch(s){return!1}}function i(e,t,s){var a={};return s.isMergeableObject(e)&&r(e).forEach((function(t){a[t]=n(e[t],s)})),r(t).forEach((function(r){(function(e,t){return l(e,t)&&!(Object.hasOwnProperty.call(e,t)&&Object.propertyIsEnumerable.call(e,t))})(e,r)||(l(e,r)&&s.isMergeableObject(t[r])?a[r]=function(e,t){if(!t.customMerge)return o;var s=t.customMerge(e);return"function"===typeof s?s:o}(r,s)(e[r],t[r],s):a[r]=n(t[r],s))})),a}function o(e,s,r){(r=r||{}).arrayMerge=r.arrayMerge||a,r.isMergeableObject=r.isMergeableObject||t,r.cloneUnlessOtherwiseSpecified=n;var l=Array.isArray(s);return l===Array.isArray(e)?l?r.arrayMerge(e,s,r):i(e,s,r):n(s,r)}o.all=function(e,t){if(!Array.isArray(e))throw new Error("first argument should be an array");return e.reduce((function(e,s){return o(e,s,t)}),{})};var c=o;e.exports=c},4010:(e,t,s)=>{Object.defineProperty(t,"__esModule",{value:!0});var n,a=s(9950),r=(n=a)&&n.__esModule?n:{default:n};t.default=function(){return r.default.createElement("svg",{width:"14",height:"11",viewBox:"0 0 14 11"},r.default.createElement("path",{d:"M11.264 0L5.26 6.004 2.103 2.847 0 4.95l5.26 5.26 8.108-8.107L11.264 0",fill:"#fff",fillRule:"evenodd"}))}},1110:(e,t,s)=>{var n=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var s=arguments[t];for(var n in s)Object.prototype.hasOwnProperty.call(s,n)&&(e[n]=s[n])}return e},a=function(){function e(e,t){for(var s=0;s<t.length;s++){var n=t[s];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,s,n){return s&&e(t.prototype,s),n&&e(t,n),t}}(),r=s(9950),l=h(r),i=h(s(8738)),o=h(s(1942)),c=h(s(4010)),u=h(s(4990)),d=s(6104);function h(e){return e&&e.__esModule?e:{default:e}}var m=function(e){function t(e){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var s=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return s.handleClick=s.handleClick.bind(s),s.handleTouchStart=s.handleTouchStart.bind(s),s.handleTouchMove=s.handleTouchMove.bind(s),s.handleTouchEnd=s.handleTouchEnd.bind(s),s.handleFocus=s.handleFocus.bind(s),s.handleBlur=s.handleBlur.bind(s),s.previouslyChecked=!(!e.checked&&!e.defaultChecked),s.state={checked:!(!e.checked&&!e.defaultChecked),hasFocus:!1},s}return function(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),a(t,[{key:"componentDidUpdate",value:function(e){e.checked!==this.props.checked&&this.setState({checked:!!this.props.checked})}},{key:"handleClick",value:function(e){if(!this.props.disabled){var t=this.input;if(e.target!==t&&!this.moved)return this.previouslyChecked=t.checked,e.preventDefault(),t.focus(),void t.click();var s=this.props.hasOwnProperty("checked")?this.props.checked:t.checked;this.setState({checked:s})}}},{key:"handleTouchStart",value:function(e){this.props.disabled||(this.startX=(0,d.pointerCoord)(e).x,this.activated=!0)}},{key:"handleTouchMove",value:function(e){if(this.activated&&(this.moved=!0,this.startX)){var t=(0,d.pointerCoord)(e).x;this.state.checked&&t+15<this.startX?(this.setState({checked:!1}),this.startX=t,this.activated=!0):t-15>this.startX&&(this.setState({checked:!0}),this.startX=t,this.activated=t<this.startX+5)}}},{key:"handleTouchEnd",value:function(e){if(this.moved){var t=this.input;if(e.preventDefault(),this.startX){var s=(0,d.pointerCoord)(e).x;!0===this.previouslyChecked&&this.startX+4>s?this.previouslyChecked!==this.state.checked&&(this.setState({checked:!1}),this.previouslyChecked=this.state.checked,t.click()):this.startX-4<s&&this.previouslyChecked!==this.state.checked&&(this.setState({checked:!0}),this.previouslyChecked=this.state.checked,t.click()),this.activated=!1,this.startX=null,this.moved=!1}}}},{key:"handleFocus",value:function(e){var t=this.props.onFocus;t&&t(e),this.setState({hasFocus:!0})}},{key:"handleBlur",value:function(e){var t=this.props.onBlur;t&&t(e),this.setState({hasFocus:!1})}},{key:"getIcon",value:function(e){var s=this.props.icons;return s?void 0===s[e]?t.defaultProps.icons[e]:s[e]:null}},{key:"render",value:function(){var e=this,t=this.props,s=t.className,a=(t.icons,function(e,t){var s={};for(var n in e)t.indexOf(n)>=0||Object.prototype.hasOwnProperty.call(e,n)&&(s[n]=e[n]);return s}(t,["className","icons"])),r=(0,i.default)("react-toggle",{"react-toggle--checked":this.state.checked,"react-toggle--focus":this.state.hasFocus,"react-toggle--disabled":this.props.disabled},s);return l.default.createElement("div",{className:r,onClick:this.handleClick,onTouchStart:this.handleTouchStart,onTouchMove:this.handleTouchMove,onTouchEnd:this.handleTouchEnd},l.default.createElement("div",{className:"react-toggle-track"},l.default.createElement("div",{className:"react-toggle-track-check"},this.getIcon("checked")),l.default.createElement("div",{className:"react-toggle-track-x"},this.getIcon("unchecked"))),l.default.createElement("div",{className:"react-toggle-thumb"}),l.default.createElement("input",n({},a,{ref:function(t){e.input=t},onFocus:this.handleFocus,onBlur:this.handleBlur,className:"react-toggle-screenreader-only",type:"checkbox"})))}}]),t}(r.PureComponent);t.A=m,m.displayName="Toggle",m.defaultProps={icons:{checked:l.default.createElement(c.default,null),unchecked:l.default.createElement(u.default,null)}},m.propTypes={checked:o.default.bool,disabled:o.default.bool,defaultChecked:o.default.bool,onChange:o.default.func,onFocus:o.default.func,onBlur:o.default.func,className:o.default.string,name:o.default.string,value:o.default.string,id:o.default.string,"aria-labelledby":o.default.string,"aria-label":o.default.string,icons:o.default.oneOfType([o.default.bool,o.default.shape({checked:o.default.node,unchecked:o.default.node})])}},6104:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.pointerCoord=function(e){if(e){var t=e.changedTouches;if(t&&t.length>0){var s=t[0];return{x:s.clientX,y:s.clientY}}var n=e.pageX;if(void 0!==n)return{x:n,y:e.pageY}}return{x:0,y:0}}},4990:(e,t,s)=>{Object.defineProperty(t,"__esModule",{value:!0});var n,a=s(9950),r=(n=a)&&n.__esModule?n:{default:n};t.default=function(){return r.default.createElement("svg",{width:"10",height:"10",viewBox:"0 0 10 10"},r.default.createElement("path",{d:"M9.9 2.12L7.78 0 4.95 2.828 2.12 0 0 2.12l2.83 2.83L0 7.776 2.123 9.9 4.95 7.07 7.78 9.9 9.9 7.776 7.072 4.95 9.9 2.12",fill:"#fff",fillRule:"evenodd"}))}}}]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";(self.webpackChunkharperdb_studio=self.webpackChunkharperdb_studio||[]).push([[741],{7368:(e,t,s)=>{s.r(t),s.d(t,{default:()=>Y});var n=s(9950),i=s(7176),r=s(6114),a=s(3452),l=s(4084),o=s(8156),c=s(6713),d=s(1368),u=s(9435),m=s(9163),p=s.n(m),h=s(5269),_=s(5553),x=s(6359),v=s(7348),A=s(5996),j=s(4414);const g=function(e){let{which:t,compute:s,storage:n,total:a}=e;return(0,j.jsx)(l.A,{className:"my-3",children:(0,j.jsxs)(o.A,{className:"p-2 text-small",children:[(0,j.jsxs)(i.A,{children:[(0,j.jsxs)(r.A,{xs:"6",className:"text-nowrap",children:["Compute","compute"===t&&" (new)"]}),(0,j.jsx)(r.A,{xs:"6",className:"text-nowrap text-end text-truncate",children:s}),(0,j.jsx)(r.A,{xs:"12",children:(0,j.jsx)("hr",{className:"my-1"})})]}),(0,j.jsxs)(i.A,{children:[(0,j.jsxs)(r.A,{xs:"6",className:"text-nowrap",children:["Storage","storage"===t&&" (new)"]}),(0,j.jsx)(r.A,{xs:"6",className:"text-nowrap text-end text-truncate",children:n}),(0,j.jsx)(r.A,{xs:"12",children:(0,j.jsx)("hr",{className:"my-1"})})]}),(0,j.jsxs)(i.A,{children:[(0,j.jsx)(r.A,{xs:"6",className:"text-nowrap",children:(0,j.jsx)("b",{children:"New Total"})}),(0,j.jsx)(r.A,{xs:"6",className:"text-nowrap text-end text-truncate",children:(0,j.jsx)("b",{children:a})})]})]})})};var f=s(5887),b=s(1943),y=s(2714);const w=async e=>(0,y.A)({endpoint:"updateInstance",method:"POST",payload:Object.entries({stripe_plan_id:e.stripe_plan_id,compute_stack_id:e.compute_stack_id,customer_id:e.customer_id,data_volume_size:e.data_volume_size,stripe_storage_plan_id:e.stripe_storage_plan_id,compute_subscription_id:e.compute_subscription_id,storage_subscription_id:e.storage_subscription_id}).reduce(((e,t)=>{let[s,n]=t;return null==n||(e[s]=n),e}),{}),auth:e.auth});var O=s(4549);const N=function(e){let{setInstanceAction:t,showPrepaidStorage:s}=e;const{customer_id:u,compute_stack_id:m}=(0,d.g)(),y=(0,d.Zp)(),N=(0,v.MW)(),$=(0,c.O$)(_.A,(e=>e.auth)),k=(0,c.O$)(_.A,(e=>e.hasCard)),C=(0,c.O$)(_.A,(e=>{var t,s;return"invoice.payment_failed"===(null===(t=e.customer)||void 0===t||null===(s=t.current_payment_status)||void 0===s?void 0:s.status)})),S=(0,c.O$)(h.A,(e=>e.compute)),E=(0,c.O$)(h.A,(e=>e.storage)),P=(0,c.O$)(h.A,(e=>e.is_local)),T=(0,c.O$)(h.A,(e=>!["CREATE_COMPLETE","UPDATE_COMPLETE"].includes(e.status))),R=(0,c.O$)(h.A,(e=>e.last_volume_resize)),I=(0,c.O$)(h.A,(e=>e.data_volume_size)),z=(0,c.O$)(_.A,(e=>e.products.cloud_storage.filter((e=>e.value.data_volume_size>=(null===E||void 0===E?void 0:E.data_volume_size))))),D=(0,c.O$)(_.A,(e=>e.subscriptions.cloud_storage.filter((e=>(e.value.data_volume_size===I||e.value.storage_quantity_available>=e.value.data_volume_size)&&e.value.data_volume_size>=(null===E||void 0===E?void 0:E.data_volume_size))))),[L,F]=(0,n.useState)({}),[M,U]=(0,n.useState)({compute_stack_id:m,customer_id:u,...E}),[H,B]=(0,n.useState)(!1),W=s?D:z,q=W.find((e=>e.value.data_volume_size===M.data_volume_size&&e.value.stripe_storage_plan_id===M.stripe_storage_plan_id&&e.value.storage_subscription_id===M.storage_subscription_id)),V=$.orgs.filter((e=>$.user_id===e.owner_user_id)).reduce(((e,t)=>e+t.free_cloud_instance_count),0)<A.A.free_cloud_instance_limit,Y=((null===M||void 0===M?void 0:M.storage_price)||0)+((null===S||void 0===S?void 0:S.compute_price)||0),Z=Y?`${(0,O.A)(Y.toFixed(2))}/${S.compute_interval}`:"FREE",G=!R||(Date.now()-new Date(R).getTime())/1e3/3600>6,K=()=>U({compute_stack_id:m,customer_id:u,...E});return p()(K,[s]),p()((()=>{B((null===E||void 0===E?void 0:E.data_volume_size)!==M.data_volume_size||(null===E||void 0===E?void 0:E.stripe_storage_plan_id)!==M.stripe_storage_plan_id||(null===E||void 0===E?void 0:E.storage_subscription_id)!==M.storage_subscription_id)}),[M]),p()((()=>{B(!1)}),[m]),p()((async()=>{const{submitted:e}=L;if(e){t("Updating");(await w({auth:$,...M})).error?(N.error("There was an error updating your instance. Please try again later."),t(!1)):(window._kmq&&window._kmq.push(["record","upgrade instance - disk size",{totalPrice:null===M||void 0===M?void 0:M.compute_price,currency:"USD",products:[{name:"storage",id:q.data_volume_size_string,price:(null===M||void 0===M?void 0:M.storage_price)||0}]}]),N.success("Instance update initialized successfully"),_.A.update((e=>{e.lastUpdate=Date.now()})),setTimeout((()=>y(`/o/${u}/instances`)),100))}}),[L]),T?(0,j.jsx)(l.A,{className:"error",children:(0,j.jsx)(o.A,{children:"instance updating. please wait."})}):(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(x.Ay,{className:"react-select-container",classNamePrefix:"react-select",onChange:e=>{let{value:t}=e;return U({...M,...t})},options:W.filter((e=>e.value.active)),value:q,defaultValue:E,isSearchable:!1,isClearable:!1,isLoading:!W,placeholder:"Select Data Volume Size",styles:{placeholder:e=>({...e,textAlign:"center",width:"100%",color:"#BCBCBC"})}}),!H||M.storage_subscription_id||Y||P||V?H&&!G?(0,j.jsx)(l.A,{className:"error mt-3 text-start",children:(0,j.jsxs)(o.A,{children:["You may update disk size every 6 hours",(0,j.jsx)("br",{}),(0,j.jsx)("br",{}),"Last resize: ",new Date(R).toLocaleTimeString(),(0,j.jsx)("br",{}),(0,j.jsx)("br",{}),"Try again at: ",new Date(new Date(R).getTime()+216e5).toLocaleTimeString()]})}):H&&(null!==M&&void 0!==M&&M.storage_price||null!==S&&void 0!==S&&S.compute_price)&&C?(0,j.jsxs)("div",{className:"mt-3",children:[(0,j.jsx)(f.A,{}),(0,j.jsx)(b.A,{disabled:!H||L.submitted,label:"Update Credit Card",onClick:()=>y(`/o/${u}/billing?returnURL=/${u}/i/${m}/config`)})]}):H&&(null!==M&&void 0!==M&&M.storage_price||null!==S&&void 0!==S&&S.compute_price)&&!k?(0,j.jsx)(b.A,{disabled:!H||L.submitted,label:"Add Credit Card To Account",onClick:()=>y(`/o/${u}/billing?returnURL=/${u}/i/${m}/config`)}):H?(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(g,{which:"storage",compute:null===S||void 0===S?void 0:S.compute_price_string_with_interval,storage:(null===M||void 0===M?void 0:M.storage_price_string_with_interval)||"FREE",total:Z}),(0,j.jsxs)(i.A,{children:[(0,j.jsx)(r.A,{children:(0,j.jsx)(a.A,{id:"cancelChange",onClick:K,title:"Cancel",block:!0,disabled:L.submitted,color:"grey",children:"Cancel"})}),(0,j.jsx)(r.A,{children:(0,j.jsx)(a.A,{id:"confirmChange",onClick:()=>F({submitted:!0}),title:"Confirm Instance Details",block:!0,disabled:!H||L.submitted,color:"success",children:"Update"})})]})]}):null:(0,j.jsx)(l.A,{className:"error mt-3",children:(0,j.jsxs)(o.A,{children:["You are limited to ",A.A.free_cloud_instance_limit," free cloud instance",1!==A.A.free_cloud_instance_limit?"s":""]})})]})};const $=function(e){let{setInstanceAction:t,showPrepaidCompute:s}=e;const{customer_id:u,compute_stack_id:m}=(0,d.g)(),y=(0,d.Zp)(),N=(0,v.MW)(),$=(0,c.O$)(_.A,(e=>e.auth)),k=(0,c.O$)(_.A,(e=>e.hasCard)),C=(0,c.O$)(_.A,(e=>{var t,s;return"invoice.payment_failed"===(null===(t=e.customer)||void 0===t||null===(s=t.current_payment_status)||void 0===s?void 0:s.status)})),S=(0,c.O$)(h.A,(e=>e.compute)),E=(0,c.O$)(h.A,(e=>e.storage)),P=(0,c.O$)(h.A,(e=>e.is_local)),T=(0,c.O$)(h.A,(e=>e.wavelength_zone_id)),R=(0,c.O$)(h.A,(e=>e.compute_subscription_id)),I=(0,c.O$)(h.A,(e=>!["CREATE_COMPLETE","UPDATE_COMPLETE"].includes(e.status))),z=(0,c.O$)(_.A,(e=>{var t;return null===(t=e.customer)||void 0===t?void 0:t.is_unpaid})),D=(0,c.O$)(_.A,(e=>e.products[P?"local_compute":T?"wavelength_compute":"cloud_compute"])),L=(0,c.O$)(_.A,(e=>e.subscriptions[P?"local_compute":T?"wavelength_compute":"cloud_compute"].filter((e=>e.value.compute_subscription_id===R||e.value.compute_quantity_available)))),[F,M]=(0,n.useState)({}),[U,H]=(0,n.useState)({compute_stack_id:m,customer_id:u,...S}),[B,W]=(0,n.useState)(!1),q=s?L:D,V=q.find((e=>e.value.stripe_plan_id===U.stripe_plan_id&&e.value.compute_subscription_id===U.compute_subscription_id)),Y=$.orgs.filter((e=>$.user_id===e.owner_user_id)).reduce(((e,t)=>e+t.free_cloud_instance_count),0)<A.A.free_cloud_instance_limit,Z=((null===E||void 0===E?void 0:E.storage_price)||0)+((null===U||void 0===U?void 0:U.compute_price)||0),G=Z?`${(0,O.A)(Z.toFixed(2))}/${S.compute_interval}`:"FREE",K=()=>H({compute_stack_id:m,customer_id:u,...S});return p()(K,[s]),p()((()=>{W((null===S||void 0===S?void 0:S.stripe_plan_id)!==U.stripe_plan_id||U.compute_subscription_id!==(null===S||void 0===S?void 0:S.compute_subscription_id))}),[U]),p()((()=>{W(!1)}),[m]),p()((async()=>{const{submitted:e}=F;if(e)if(Z||U.compute_subscription_id||P||Y){t("Updating");(await w({auth:$,...U})).error?(N.error("There was an error updating your instance. Please try again later."),t(!1)):(window._kmq&&window._kmq.push(["record","upgrade instance - RAM",{totalPrice:null===U||void 0===U?void 0:U.compute_price,currency:"USD",products:[{name:"compute",id:V.compute_ram_string,price:(null===U||void 0===U?void 0:U.compute_price)||0}]}]),N.success("Instance update initialized successfully"),_.A.update((e=>{e.lastUpdate=Date.now()})),setTimeout((()=>y(`/o/${u}/instances`)),100))}else N.error(`You are limited to ${A.A.free_cloud_instance_limit} free cloud instance${1!==A.A.free_cloud_instance_limit?"s":""}`),K(),M({})}),[F]),I?(0,j.jsx)(l.A,{className:"error",children:(0,j.jsx)(o.A,{children:"instance updating. please wait."})}):(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(x.Ay,{className:"react-select-container",classNamePrefix:"react-select",onChange:e=>{let{value:t}=e;return H({...U,...t})},options:q.filter((e=>e.value.active)),value:V,defaultValue:S,isSearchable:!1,isClearable:!1,isLoading:!q,placeholder:"select a RAM allotment",styles:{placeholder:e=>({...e,textAlign:"center",width:"100%",color:"#BCBCBC"})}}),!B||Z||U.compute_subscription_id||P||Y?B&&(null!==E&&void 0!==E&&E.storage_price||null!==U&&void 0!==U&&U.compute_price)&&C?(0,j.jsxs)("div",{className:"mt-3",children:[(0,j.jsx)(f.A,{}),(0,j.jsx)(b.A,{disabled:!B||F.submitted,label:"Update Credit Card",onClick:()=>y(`/o/${u}/billing?returnURL=/${u}/i/${m}/config`)})]}):B&&(null!==E&&void 0!==E&&E.storage_price||null!==U&&void 0!==U&&U.compute_price)&&!k&&!z?(0,j.jsx)(b.A,{disabled:!B||F.submitted,label:"Add Credit Card To Account",onClick:()=>y(`/o/${u}/billing?returnURL=/${u}/i/${m}/config`)}):B?(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(g,{which:"compute",compute:U.compute_price_string_with_interval,storage:(null===E||void 0===E?void 0:E.storage_price_string_with_interval)||"FREE",total:G}),(0,j.jsxs)(i.A,{children:[(0,j.jsx)(r.A,{children:(0,j.jsx)(a.A,{id:"cancelChange",onClick:K,title:"Cancel",block:!0,disabled:F.submitted,color:"grey",children:"Cancel"})}),(0,j.jsx)(r.A,{children:(0,j.jsx)(a.A,{id:"confirmChange",onClick:()=>M({submitted:!0}),title:"Confirm Instance Details",block:!0,disabled:!B||F.submitted,color:"success",children:"Update"})})]})]}):null:(0,j.jsx)(l.A,{className:"error mt-2",children:(0,j.jsxs)(o.A,{children:["You are limited to ",A.A.free_cloud_instance_limit," free cloud instance",1!==A.A.free_cloud_instance_limit?"s":""]})})]})};var k=s(5488),C=s(6404);const S=function(e){let{setInstanceAction:t}=e;const{customer_id:s,compute_stack_id:u}=(0,d.g)(),m=(0,d.Zp)(),x=(0,v.MW)(),A=(0,c.O$)(_.A,(e=>e.auth)),g=(0,c.O$)(h.A,(e=>e.instance_name)),f=(0,c.O$)(h.A,(e=>e.is_local)),b=(0,c.O$)(h.A,(e=>e.wavelength_zone_id)),y=(0,c.O$)(h.A,(e=>!["CREATE_COMPLETE","UPDATE_COMPLETE"].includes(e.status))),[w,O]=(0,n.useState)({}),[N,$]=(0,n.useState)({});return p()((async()=>{const{submitted:e}=w;if(e){const{delete_instance_name:e}=N;if(g!==e)O({error:"instance name is not correct"});else{t("Removing");(await(0,C.A)({auth:A,customer_id:s,compute_stack_id:u,wavelength_zone_id:b})).error?(x.error("There was an error removing your instance. Please try again later."),t(!1)):(x.success("Instance deletion initiated"),_.A.update((e=>{e.lastUpdate=Date.now()})),setTimeout((()=>m(`/o/${s}/instances`)),3e3))}}}),[w]),y?(0,j.jsx)(l.A,{className:"error",children:(0,j.jsx)(o.A,{children:"instance updating. please wait."})}):(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(k.A,{id:"instance_name_remove",onChange:e=>$({delete_instance_name:e.target.value}),type:"text",title:"instance_name",placeholder:`Enter "${g}" here to confirm.`,value:N.delete_instance_name||""}),N.delete_instance_name===g&&(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(l.A,{className:"my-2",children:(0,j.jsx)(o.A,{className:"px-2 pb-2 pt-3 text-small",children:f?(0,j.jsxs)("ul",{className:"text-small mb-0",children:[(0,j.jsxs)("li",{children:[(0,j.jsx)("b",{children:"DOES NOT"})," uninstall Harper."]}),(0,j.jsxs)("li",{children:[(0,j.jsx)("b",{children:"DOES"})," leave all your data intact."]}),(0,j.jsx)("li",{children:"REMOVES your instance license."}),(0,j.jsx)("li",{children:"STOPS recurring license charges."}),(0,j.jsx)("li",{children:"LIMITS instance to 1GB RAM."}),(0,j.jsx)("li",{children:"REMOVES instance from the Studio."}),(0,j.jsx)("li",{children:"RESTARTS the instance."})]}):(0,j.jsxs)("ul",{className:"text-small mb-0",children:[(0,j.jsxs)("li",{children:[(0,j.jsx)("b",{children:"THIS IS"})," an irreversible process."]}),(0,j.jsxs)("li",{children:[(0,j.jsx)("b",{children:"IT CANNOT"})," be undone."]}),(0,j.jsx)("li",{children:"DELETES your instance completely."}),(0,j.jsx)("li",{children:"STOPS recurring license charges."}),(0,j.jsx)("li",{children:"REMOVES instance from the Studio."})]})})}),(0,j.jsxs)(i.A,{children:[(0,j.jsx)(r.A,{children:(0,j.jsx)(a.A,{id:"cancelDeleteInstance",onClick:()=>$({delete_instance_name:""}),title:"Cancel",block:!0,disabled:w.submitted,color:"grey",children:"Cancel"})}),(0,j.jsx)(r.A,{children:(0,j.jsx)(a.A,{id:"removeInstance",onClick:()=>O({submitted:!0}),title:"Confirm Instance Details",block:!0,disabled:w.submitted,color:"danger",children:"Remove"})})]})]})]})};var E=s(135),P=s(5911),T=s(2010);const R=function(e){let{instanceAction:t,setInstanceAction:s}=e;const d=(0,v.MW)(),u=(0,c.O$)(h.A,(e=>e.auth)),m=(0,c.O$)(h.A,(e=>e.url)),_=(0,c.O$)(h.A,(e=>e.instance_name)),x=(0,c.O$)(h.A,(e=>!["CREATE_COMPLETE","UPDATE_COMPLETE"].includes(e.status))),[g,f]=(0,n.useState)({}),[b,y]=(0,n.useState)({});return p()((async()=>{const{submitted:e}=g;if(e){s("Restarting");const e=await(0,T.A)({auth:u,url:m});null!==e&&void 0!==e&&e.error&&(s(!1),d.error("There was an error restarting your instance. Please try again later."))}}),[g]),(0,E.A)((()=>{"Restarting"===t&&(async()=>{(await(0,P.A)({auth:u,url:m})).error||(y({}),f({}),s(!1),d.success("Instance restarted successfully"))})()}),A.A.refresh_content_interval),"Restarting"===t?(0,j.jsx)(l.A,{className:"error",children:(0,j.jsxs)(o.A,{children:[(0,j.jsx)("i",{className:"fa fa-spin fa-spinner me-2"}),"instance restarting. please wait."]})}):!A.A.is_local_studio&&x?(0,j.jsx)(l.A,{className:"error",children:(0,j.jsx)(o.A,{children:"instance updating. please wait."})}):(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(k.A,{id:"instance_name_restart",onChange:e=>y({restart_instance_name:e.target.value}),type:"text",title:"instance_name",placeholder:`Enter "${_}" here to confirm.`,value:b.restart_instance_name||""}),b.restart_instance_name===_&&(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(l.A,{className:"my-2",children:(0,j.jsx)(o.A,{className:"px-2 pb-2 pt-3 text-small",children:(0,j.jsxs)("ul",{className:"text-small mb-0",children:[(0,j.jsxs)("li",{children:[(0,j.jsx)("b",{children:"WILL"})," interrupt connectivity."]}),(0,j.jsxs)("li",{children:[(0,j.jsx)("b",{children:"WILL"})," leave all your data intact."]})]})})}),(0,j.jsxs)(i.A,{children:[(0,j.jsx)(r.A,{children:(0,j.jsx)(a.A,{onClick:()=>y({restart_instance_name:""}),title:"Cancel",block:!0,disabled:g.submitted,color:"grey",children:"Cancel"})}),(0,j.jsx)(r.A,{children:(0,j.jsx)(a.A,{onClick:()=>f({submitted:!0}),title:"Confirm Instance Details",block:!0,disabled:g.submitted,color:"danger",children:"Restart"})})]})]})]})};var I=s(1652),z=s(7666);const D=function(e){var t,s,n,a,d,u,m,p,_,x,v,g,f,b,y,w,O,N;let{clusterNodeName:$,instanceConfig:k}=e;const C=(0,c.O$)(h.A,(e=>e.url)),S=(0,c.O$)(h.A,(e=>e.auth)),E=(0,c.O$)(h.A,(e=>e.totalPriceStringWithInterval)),P=(0,c.O$)(h.A,(e=>e.compute)),T=(0,c.O$)(h.A,(e=>!!e.compute_subscription_id)),R=(0,c.O$)(h.A,(e=>!!e.storage_subscription_id)),D=(0,c.O$)(h.A,(e=>e.creation_date)),L=(0,c.O$)(h.A,(e=>e.instance_region)),F=(0,c.O$)(h.A,(e=>e.storage)),M=(0,c.O$)(h.A,(e=>e.is_local)),U=null!==S&&void 0!==S&&S.user?`${btoa(`${S.user}:${S.pass}`)}`:"...",H=M?"HARDWARE LIMIT":`${null===F||void 0===F?void 0:F.iops}`,B=D?new Date(D).toLocaleDateString():"N/A",{hostname:W,origin:q}=window.location,V=new URL(A.A.is_local_studio?q:C),Y=A.A.is_local_studio?`${null!==(m=k.operationsApi)&&void 0!==m&&null!==(p=m.network)&&void 0!==p&&p.securePort?"https://":"http://"}${W}:${(null===(_=k.operationsApi)||void 0===_||null===(x=_.network)||void 0===x?void 0:x.securePort)||(null===(v=k.operationsApi)||void 0===v||null===(g=v.network)||void 0===g?void 0:g.port)}`:`${null!==(t=k.operationsApi)&&void 0!==t&&null!==(s=t.network)&&void 0!==s&&s.securePort?"https://":"http://"}${V.hostname}:${(null===(n=k.operationsApi)||void 0===n||null===(a=n.network)||void 0===a?void 0:a.securePort)||(null===(d=k.operationsApi)||void 0===d||null===(u=d.network)||void 0===u?void 0:u.port)}`,Z=A.A.is_local_studio?`${null!==(w=k.http)&&void 0!==w&&w.securePort?"https://":"http://"}${W}:${(null===(O=k.http)||void 0===O?void 0:O.securePort)||(null===(N=k.http)||void 0===N?void 0:N.port)}`:`${null!==(f=k.http)&&void 0!==f&&f.securePort?"https://":"http://"}${V.hostname}:${(null===(b=k.http)||void 0===b?void 0:b.securePort)||(null===(y=k.http)||void 0===y?void 0:y.port)}`,G=(0,c.O$)(h.A,(e=>{var t;return null===(t=e.registration)||void 0===t?void 0:t.version})),[K,J]=(null===G||void 0===G?void 0:G.split("."))||[],Q=parseFloat(`${K}.${J}`);return(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)("span",{className:"floating-card-header",children:"instance overview"}),(0,j.jsx)(l.A,{className:"mt-3 mb-4 instance-details",children:(0,j.jsx)(o.A,{children:(0,j.jsxs)(i.A,{children:[(0,j.jsx)(r.A,{md:"4",xs:"12",children:(0,j.jsx)(I.A,{header:"Instance URL",className:"mb-3",children:(0,j.jsx)("div",{className:"nowrap-scroll",children:(0,j.jsx)(z.A,{text:Y})})})}),(0,j.jsx)(r.A,{md:"4",xs:"12",children:(0,j.jsx)(I.A,{header:(Q>=4.2?"Applications":"Custom Functions")+" URL",className:"mb-3",children:(0,j.jsx)("div",{className:"nowrap-scroll",children:(0,j.jsx)(z.A,{text:Z})})})}),(0,j.jsx)(r.A,{md:"4",xs:"12",children:(0,j.jsx)(I.A,{header:"Instance Node Name (for clustering)",className:"mb-3",children:(0,j.jsx)("div",{className:"nowrap-scroll",children:$?(0,j.jsx)(z.A,{text:$}):"clustering not enabled"})})}),!A.A.is_local_studio&&(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(r.A,{md:"4",xs:"12",children:(0,j.jsx)(I.A,{header:"Instance API Auth Header (this user)",className:"mb-3",children:(0,j.jsx)("div",{className:"nowrap-scroll",children:(0,j.jsx)(z.A,{text:U,beforeText:"Basic ",obscure:!0})})})}),(0,j.jsx)(r.A,{md:"2",sm:"4",xs:"6",children:(0,j.jsx)(I.A,{header:"Created",className:"mb-3",children:(0,j.jsx)("div",{className:"nowrap-scroll",children:B})})}),L&&(0,j.jsx)(r.A,{md:"2",sm:"4",xs:"6",children:(0,j.jsx)(I.A,{header:"Region",className:"mb-3",children:(0,j.jsx)("div",{className:"nowrap-scroll",children:L})})}),(0,j.jsx)(r.A,{md:"2",sm:"4",xs:"6",children:(0,j.jsx)(I.A,{header:"Total Price",className:"mb-3",children:(0,j.jsx)("div",{className:"nowrap-scroll",children:E})})}),(0,j.jsx)(r.A,{md:"2",sm:"4",xs:"6",children:(0,j.jsx)(I.A,{header:"RAM",className:"mb-3",children:(0,j.jsxs)("div",{className:"nowrap-scroll",children:[null===P||void 0===P?void 0:P.compute_ram_string," ",T&&"(PREPAID)"]})})}),!M&&(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(r.A,{md:"2",sm:"4",xs:"6",children:(0,j.jsx)(I.A,{header:"Storage",className:"mb-3 text-nowrap",children:(0,j.jsxs)("div",{className:"nowrap-scroll",children:[null===F||void 0===F?void 0:F.data_volume_size_string," ",R&&"(PREPAID)"]})})}),(0,j.jsx)(r.A,{md:"2",sm:"4",xs:"6",children:(0,j.jsx)(I.A,{header:"Disk IOPS",className:"mb-3 text-nowrap",children:(0,j.jsx)("div",{className:"nowrap-scroll",children:H})})})]})]})]})})})]})};var L=s(4979),F=s(3150),M=s(3628),U=s(7596),H=s(5012),B=s(2594);const W=function(e){let{instanceConfig:t}=e;const s=(0,c.O$)(_.A,(e=>e.theme));return(0,j.jsx)(B.A,{placeholder:t,height:"calc(100vh - 568px)",theme:"light_mitsuketa_tribute",viewOnly:!0,colors:{background:"transparent",default:"dark"===s?"#aaa":"#000",colon:"dark"===s?"#aaa":"#000",keys:"dark"===s?"#aaa":"#000",string:"#13c664",number:"#ea4c89",primitive:"#ffa500"},style:{warningBox:{display:"none"},body:{padding:"8px 0 0 0"}},locale:H.A,width:"100%",confirmGood:!1,waitAfterKeyPress:3e4})};var q=s(8750);const V=function(){return(0,j.jsx)("div",{className:"configLoader",children:(0,j.jsx)("i",{className:"fa fa-spinner fa-spin"})})};const Y=function(){const{customer_id:e,compute_stack_id:t}=(0,d.g)(),s=(0,c.O$)(_.A,(e=>e.auth)),m=(0,c.O$)(_.A,(e=>e.theme)),x=(0,c.O$)(h.A,(e=>e.auth),[t]),v=(0,c.O$)(h.A,(e=>e.url),[t]),A=(0,c.O$)(_.A,(e=>{var t;return null===(t=e.customer)||void 0===t?void 0:t.stripe_id})),g=(0,c.O$)(h.A,(e=>e.is_local),[t]),f=(0,c.O$)(h.A,(e=>{var t;return parseFloat(null===(t=e.registration)||void 0===t?void 0:t.version)>=4?"nats":"socketcluster"}),[t]),b=(0,c.O$)(h.A,(e=>e.compute_subscription_id),[t]),y=(0,c.O$)(h.A,(e=>e.storage_subscription_id),[t]),w=(0,c.O$)(_.A,(t=>{var s,n;return null===(s=t.auth)||void 0===s||null===(n=s.orgs)||void 0===n?void 0:n.find((t=>{var s;return(null===(s=t.customer_id)||void 0===s?void 0:s.toString())===e}))}),[e]),O="owner"===(null===w||void 0===w?void 0:w.status),[k,C]=(0,n.useState)(!1),[E,P]=(0,n.useState)(!1),[T,I]=(0,n.useState)(""),z=(0,c.O$)(_.A,(e=>{var t;return(null===(t=e.subscriptions[g?"local_compute":"cloud_compute"])||void 0===t?void 0:t.filter((e=>!e.value.compute_subscription_name||e.value.compute_quantity_available)))||[]})),H=(0,c.O$)(_.A,(e=>{var t,s;return(null===(t=e.subscriptions)||void 0===t||null===(s=t.cloud_storage)||void 0===s?void 0:s.filter((e=>!e.value.storage_subscription_name||e.value.storage_quantity_available)))||[]})),[B,Y]=(0,n.useState)(!!b),[Z,G]=(0,n.useState)(!!y);return p()((async()=>{s&&e&&A&&(0,U.A)({auth:s,customer_id:e,stripe_id:A})}),[s,e,A]),p()((async()=>{if(x&&v){I("..."),P(!1);const t=await(0,q.A)({auth:x,url:v});if(!t.error){var e;const s="nats"===f?null===(e=t.clustering)||void 0===e?void 0:e.nodeName:t.NODE_NAME;I(s),P(t)}}}),[x]),k&&"Restarting"!==k?(0,j.jsx)(L.A,{header:`${k} Instance`,spinner:!0}):(0,j.jsxs)(i.A,{id:"config",children:[(0,j.jsx)(r.A,{xs:"12",children:(0,j.jsx)(u.tH,{onError:(e,t)=>(0,M.A)({error:{message:e.message,componentStack:t}}),FallbackComponent:F.A,children:(0,j.jsx)(D,{clusterNodeName:T,instanceConfig:E})})}),O&&"akamai"!==m&&(0,j.jsxs)(r.A,{lg:"3",sm:"6",xs:"12",children:[(0,j.jsxs)(i.A,{children:[(0,j.jsx)(r.A,{children:(0,j.jsx)("span",{className:"floating-card-header",children:"update ram"})}),(0,j.jsx)(r.A,{className:"text-end",children:(!!b||!!z.length)&&(0,j.jsxs)("span",{className:"floating-card-header",children:["prepaid:"," ",(0,j.jsx)(a.A,{id:"showPrepaidCompute",color:"link",onClick:()=>Y(!B),children:(0,j.jsx)("i",{className:"fa fa-lg fa-toggle-"+(B?"on":"off")})})]})})]}),(0,j.jsx)(l.A,{className:"my-3",children:(0,j.jsx)(o.A,{children:(0,j.jsx)(u.tH,{onError:(e,t)=>(0,M.A)({error:{message:e.message,componentStack:t}}),FallbackComponent:F.A,children:E?(0,j.jsx)($,{setInstanceAction:C,showPrepaidCompute:B}):(0,j.jsx)(V,{})})})})]}),O&&!g&&"akamai"!==m&&(0,j.jsxs)(r.A,{lg:"3",sm:"6",xs:"12",children:[(0,j.jsxs)(i.A,{children:[(0,j.jsx)(r.A,{children:(0,j.jsx)("span",{className:"floating-card-header",children:"update storage"})}),(0,j.jsx)(r.A,{className:"text-end",children:(!!y||!!H.length)&&(0,j.jsxs)("span",{className:"floating-card-header",children:["prepaid:"," ",(0,j.jsx)(a.A,{id:"showPrepaidStorage",color:"link",onClick:()=>G(!Z),children:(0,j.jsx)("i",{className:"fa fa-lg fa-toggle-"+(Z?"on":"off")})})]})})]}),(0,j.jsx)(l.A,{className:"my-3",children:(0,j.jsx)(o.A,{children:(0,j.jsx)(u.tH,{onError:(e,t)=>(0,M.A)({error:{message:e.message,componentStack:t}}),FallbackComponent:F.A,children:E?(0,j.jsx)(N,{setInstanceAction:C,showPrepaidStorage:Z}):(0,j.jsx)(V,{})})})})]}),O&&(0,j.jsxs)(r.A,{lg:"3",sm:"6",xs:"12",children:[(0,j.jsx)("span",{className:"floating-card-header",children:"remove instance"}),(0,j.jsx)(l.A,{className:"my-3",children:(0,j.jsx)(o.A,{children:(0,j.jsx)(u.tH,{onError:(e,t)=>(0,M.A)({error:{message:e.message,componentStack:t}}),FallbackComponent:F.A,children:(0,j.jsx)(S,{setInstanceAction:C,instanceAction:k})})})})]}),(0,j.jsxs)(r.A,{lg:"3",sm:"6",xs:"12",children:[(0,j.jsx)("span",{className:"floating-card-header",children:"restart instance"}),(0,j.jsx)(l.A,{className:"my-3",children:(0,j.jsx)(o.A,{children:(0,j.jsx)(u.tH,{onError:(e,t)=>(0,M.A)({error:{message:e.message,componentStack:t}}),FallbackComponent:F.A,children:(0,j.jsx)(R,{setInstanceAction:C,instanceAction:k})})})})]}),(0,j.jsxs)(r.A,{xs:"12",children:[(0,j.jsx)("span",{className:"floating-card-header",children:"instance config (read only)"}),(0,j.jsx)(l.A,{className:"mt-3 mb-4",children:(0,j.jsx)(o.A,{className:"p-0",children:(0,j.jsx)(u.tH,{onError:(e,t)=>(0,M.A)({error:{message:e.message,componentStack:t}}),FallbackComponent:F.A,children:E?(0,j.jsx)(W,{instanceConfig:E}):(0,j.jsx)(V,{})})})})]})]})}},5887:(e,t,s)=>{s.d(t,{A:()=>i});s(9950);var n=s(4414);const i=function(){return(0,n.jsxs)("div",{className:"text-danger",children:[(0,n.jsx)("i",{children:"Your most recent card payment failed. Please update your card below."}),(0,n.jsx)("hr",{className:"mt-3 mb-2"})]})}},1652:(e,t,s)=>{s.d(t,{A:()=>i});s(9950);var n=s(4414);const i=function(e){let{children:t,header:s,subheader:i,maxHeight:r="auto",minHeight:a="auto",className:l}=e;return(0,n.jsxs)("div",{className:`content-container ${l}`,children:[(0,n.jsxs)("div",{className:"header-container",children:[(0,n.jsx)("span",{className:"header",children:s}),(0,n.jsx)("span",{className:"subheader",children:i})]}),(0,n.jsx)("div",{className:"auto"!==r?"scrollable":"",style:{maxHeight:r,minHeight:a},children:t})]})}},7666:(e,t,s)=>{s.d(t,{A:()=>c});var n=s(9950),i=s(7176),r=s(6114),a=s(3452),l=s(7348),o=s(4414);const c=function(e){let{text:t,beforeText:s,afterText:c,obscure:d=!1}=e;const u=(0,l.MW)(),m=navigator.clipboard,p=(0,n.useCallback)((async e=>{e.stopPropagation(),await navigator.clipboard.writeText(t),u.success("Text copied to clipboard")}),[u,t]);return(0,o.jsxs)(i.A,{className:"copyable-text-holder g-0",children:[m&&t&&(0,o.jsx)(r.A,{className:"copy-icon",children:(0,o.jsx)(a.A,{title:"Copy this value",onClick:p,color:"link",children:(0,o.jsx)("i",{className:"fa fa-copy text-small"})})}),(0,o.jsx)(r.A,{className:"text-container",children:t?(0,o.jsxs)(o.Fragment,{children:[s,d?t.replace(/./g,"*"):t,c]}):(0,o.jsx)("span",{children:"\xa0"})})]})}},1943:(e,t,s)=>{s.d(t,{A:()=>r});s(9950);var n=s(3452),i=s(4414);const r=function(e){let{disabled:t,label:s,onClick:r}=e;return(0,i.jsx)(n.A,{onClick:r,title:s,block:!0,disabled:t,color:"danger",className:"mt-2",id:"visitCreditCard",children:s})}},8750:(e,t,s)=>{s.d(t,{A:()=>i});var n=s(127);const i=async e=>{let{auth:t,url:s}=e;return(0,n.A)({operation:{operation:"get_configuration"},auth:t,url:s})}},2010:(e,t,s)=>{s.d(t,{A:()=>r});var n=s(127),i=s(5269);const r=async e=>{let{auth:t,url:s}=e;return i.A.update((e=>{e.restarting=!0})),(0,n.A)({operation:{operation:"restart"},auth:t,url:s})}},6404:(e,t,s)=>{s.d(t,{A:()=>i});var n=s(2714);const i=async e=>{let{auth:t,customer_id:s,compute_stack_id:i,is_verizon:r,is_akamai:a}=e;return(0,n.A)({endpoint:r?"wl/removeWavelengthInstance":a?"removeAkamaiInstance":"removeInstance",method:"POST",payload:{customer_id:s,compute_stack_id:i,compute_stack_wl_id:i},auth:t})}},5488:(e,t,s)=>{s.d(t,{A:()=>g});var n=s(9950),i=s(1942),r=s.n(i),a=s(8738),l=s.n(a),o=s(1497);function c(e){return c="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},c(e)}var d=["className","cssModule","type","bsSize","valid","invalid","tag","addon","plaintext","innerRef"];function u(){return u=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var s=arguments[t];for(var n in s)Object.prototype.hasOwnProperty.call(s,n)&&(e[n]=s[n])}return e},u.apply(this,arguments)}function m(e,t){if(null==e)return{};var s,n,i=function(e,t){if(null==e)return{};var s,n,i={},r=Object.keys(e);for(n=0;n<r.length;n++)s=r[n],t.indexOf(s)>=0||(i[s]=e[s]);return i}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(n=0;n<r.length;n++)s=r[n],t.indexOf(s)>=0||Object.prototype.propertyIsEnumerable.call(e,s)&&(i[s]=e[s])}return i}function p(e,t){for(var s=0;s<t.length;s++){var n=t[s];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function h(e,t){return h=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},h(e,t)}function _(e){var t=function(){if("undefined"===typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"===typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var s,n=v(e);if(t){var i=v(this).constructor;s=Reflect.construct(n,arguments,i)}else s=n.apply(this,arguments);return function(e,t){if(t&&("object"===c(t)||"function"===typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return x(e)}(this,s)}}function x(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function v(e){return v=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},v(e)}var A={children:r().node,type:r().string,size:r().oneOfType([r().number,r().string]),bsSize:r().string,valid:r().bool,invalid:r().bool,tag:o.Wx,innerRef:r().oneOfType([r().object,r().func,r().string]),plaintext:r().bool,addon:r().bool,className:r().string,cssModule:r().object},j=function(e){!function(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&h(e,t)}(a,e);var t,s,i,r=_(a);function a(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,a),(t=r.call(this,e)).getRef=t.getRef.bind(x(t)),t.focus=t.focus.bind(x(t)),t}return t=a,(s=[{key:"getRef",value:function(e){this.props.innerRef&&this.props.innerRef(e),this.ref=e}},{key:"focus",value:function(){this.ref&&this.ref.focus()}},{key:"render",value:function(){var e=this.props,t=e.className,s=e.cssModule,i=e.type,r=void 0===i?"text":i,a=e.bsSize,c=e.valid,p=e.invalid,h=e.tag,_=e.addon,x=e.plaintext,v=e.innerRef,A=m(e,d),j=["switch","radio","checkbox"].indexOf(r)>-1,g="select"===r,f="range"===r,b=h||(g||"textarea"===r?r:"input"),y="form-control";x?(y="".concat(y,"-plaintext"),b=h||"input"):f?y="form-range":g?y="form-select":j&&(y=_?null:"form-check-input"),A.size&&/\D/g.test(A.size)&&((0,o.mc)('Please use the prop "bsSize" instead of the "size" to bootstrap\'s input sizing.'),a=A.size,delete A.size);var w=(0,o.qO)(l()(t,p&&"is-invalid",c&&"is-valid",!!a&&(g?"form-select-".concat(a):"form-control-".concat(a)),y),s);return("input"===b||h&&"function"===typeof h)&&(A.type="switch"===r?"checkbox":r),A.children&&!x&&"select"!==r&&"string"===typeof b&&"select"!==b&&((0,o.mc)('Input with a type of "'.concat(r,'" cannot have children. Please use "value"/"defaultValue" instead.')),delete A.children),n.createElement(b,u({},A,{ref:v,className:w,"aria-invalid":p}))}}])&&p(t.prototype,s),i&&p(t,i),Object.defineProperty(t,"prototype",{writable:!1}),a}(n.Component);j.propTypes=A;const g=j}}]);
|
|
1
|
+
"use strict";(self.webpackChunkharperdb_studio=self.webpackChunkharperdb_studio||[]).push([[741],{7368:(e,t,s)=>{s.r(t),s.d(t,{default:()=>Y});var n=s(9950),i=s(7176),r=s(6114),a=s(3452),l=s(4084),o=s(8156),c=s(6713),d=s(2231),u=s(9435),m=s(9163),p=s.n(m),h=s(5269),_=s(5553),x=s(6359),v=s(7348),A=s(5996),j=s(4414);const g=function(e){let{which:t,compute:s,storage:n,total:a}=e;return(0,j.jsx)(l.A,{className:"my-3",children:(0,j.jsxs)(o.A,{className:"p-2 text-small",children:[(0,j.jsxs)(i.A,{children:[(0,j.jsxs)(r.A,{xs:"6",className:"text-nowrap",children:["Compute","compute"===t&&" (new)"]}),(0,j.jsx)(r.A,{xs:"6",className:"text-nowrap text-end text-truncate",children:s}),(0,j.jsx)(r.A,{xs:"12",children:(0,j.jsx)("hr",{className:"my-1"})})]}),(0,j.jsxs)(i.A,{children:[(0,j.jsxs)(r.A,{xs:"6",className:"text-nowrap",children:["Storage","storage"===t&&" (new)"]}),(0,j.jsx)(r.A,{xs:"6",className:"text-nowrap text-end text-truncate",children:n}),(0,j.jsx)(r.A,{xs:"12",children:(0,j.jsx)("hr",{className:"my-1"})})]}),(0,j.jsxs)(i.A,{children:[(0,j.jsx)(r.A,{xs:"6",className:"text-nowrap",children:(0,j.jsx)("b",{children:"New Total"})}),(0,j.jsx)(r.A,{xs:"6",className:"text-nowrap text-end text-truncate",children:(0,j.jsx)("b",{children:a})})]})]})})};var f=s(5887),b=s(1943),y=s(2714);const w=async e=>(0,y.A)({endpoint:"updateInstance",method:"POST",payload:Object.entries({stripe_plan_id:e.stripe_plan_id,compute_stack_id:e.compute_stack_id,customer_id:e.customer_id,data_volume_size:e.data_volume_size,stripe_storage_plan_id:e.stripe_storage_plan_id,compute_subscription_id:e.compute_subscription_id,storage_subscription_id:e.storage_subscription_id}).reduce(((e,t)=>{let[s,n]=t;return null==n||(e[s]=n),e}),{}),auth:e.auth});var O=s(4549);const N=function(e){let{setInstanceAction:t,showPrepaidStorage:s}=e;const{customer_id:u,compute_stack_id:m}=(0,d.g)(),y=(0,d.Zp)(),N=(0,v.MW)(),$=(0,c.O$)(_.A,(e=>e.auth)),k=(0,c.O$)(_.A,(e=>e.hasCard)),C=(0,c.O$)(_.A,(e=>{var t,s;return"invoice.payment_failed"===(null===(t=e.customer)||void 0===t||null===(s=t.current_payment_status)||void 0===s?void 0:s.status)})),S=(0,c.O$)(h.A,(e=>e.compute)),E=(0,c.O$)(h.A,(e=>e.storage)),P=(0,c.O$)(h.A,(e=>e.is_local)),T=(0,c.O$)(h.A,(e=>!["CREATE_COMPLETE","UPDATE_COMPLETE"].includes(e.status))),R=(0,c.O$)(h.A,(e=>e.last_volume_resize)),I=(0,c.O$)(h.A,(e=>e.data_volume_size)),z=(0,c.O$)(_.A,(e=>e.products.cloud_storage.filter((e=>e.value.data_volume_size>=(null===E||void 0===E?void 0:E.data_volume_size))))),D=(0,c.O$)(_.A,(e=>e.subscriptions.cloud_storage.filter((e=>(e.value.data_volume_size===I||e.value.storage_quantity_available>=e.value.data_volume_size)&&e.value.data_volume_size>=(null===E||void 0===E?void 0:E.data_volume_size))))),[L,F]=(0,n.useState)({}),[M,U]=(0,n.useState)({compute_stack_id:m,customer_id:u,...E}),[H,B]=(0,n.useState)(!1),W=s?D:z,q=W.find((e=>e.value.data_volume_size===M.data_volume_size&&e.value.stripe_storage_plan_id===M.stripe_storage_plan_id&&e.value.storage_subscription_id===M.storage_subscription_id)),V=$.orgs.filter((e=>$.user_id===e.owner_user_id)).reduce(((e,t)=>e+t.free_cloud_instance_count),0)<A.A.free_cloud_instance_limit,Y=((null===M||void 0===M?void 0:M.storage_price)||0)+((null===S||void 0===S?void 0:S.compute_price)||0),Z=Y?`${(0,O.A)(Y.toFixed(2))}/${S.compute_interval}`:"FREE",G=!R||(Date.now()-new Date(R).getTime())/1e3/3600>6,K=()=>U({compute_stack_id:m,customer_id:u,...E});return p()(K,[s]),p()((()=>{B((null===E||void 0===E?void 0:E.data_volume_size)!==M.data_volume_size||(null===E||void 0===E?void 0:E.stripe_storage_plan_id)!==M.stripe_storage_plan_id||(null===E||void 0===E?void 0:E.storage_subscription_id)!==M.storage_subscription_id)}),[M]),p()((()=>{B(!1)}),[m]),p()((async()=>{const{submitted:e}=L;if(e){t("Updating");(await w({auth:$,...M})).error?(N.error("There was an error updating your instance. Please try again later."),t(!1)):(window._kmq&&window._kmq.push(["record","upgrade instance - disk size",{totalPrice:null===M||void 0===M?void 0:M.compute_price,currency:"USD",products:[{name:"storage",id:q.data_volume_size_string,price:(null===M||void 0===M?void 0:M.storage_price)||0}]}]),N.success("Instance update initialized successfully"),_.A.update((e=>{e.lastUpdate=Date.now()})),setTimeout((()=>y(`/o/${u}/instances`)),100))}}),[L]),T?(0,j.jsx)(l.A,{className:"error",children:(0,j.jsx)(o.A,{children:"instance updating. please wait."})}):(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(x.Ay,{className:"react-select-container",classNamePrefix:"react-select",onChange:e=>{let{value:t}=e;return U({...M,...t})},options:W.filter((e=>e.value.active)),value:q,defaultValue:E,isSearchable:!1,isClearable:!1,isLoading:!W,placeholder:"Select Data Volume Size",styles:{placeholder:e=>({...e,textAlign:"center",width:"100%",color:"#BCBCBC"})}}),!H||M.storage_subscription_id||Y||P||V?H&&!G?(0,j.jsx)(l.A,{className:"error mt-3 text-start",children:(0,j.jsxs)(o.A,{children:["You may update disk size every 6 hours",(0,j.jsx)("br",{}),(0,j.jsx)("br",{}),"Last resize: ",new Date(R).toLocaleTimeString(),(0,j.jsx)("br",{}),(0,j.jsx)("br",{}),"Try again at: ",new Date(new Date(R).getTime()+216e5).toLocaleTimeString()]})}):H&&(null!==M&&void 0!==M&&M.storage_price||null!==S&&void 0!==S&&S.compute_price)&&C?(0,j.jsxs)("div",{className:"mt-3",children:[(0,j.jsx)(f.A,{}),(0,j.jsx)(b.A,{disabled:!H||L.submitted,label:"Update Credit Card",onClick:()=>y(`/o/${u}/billing?returnURL=/${u}/i/${m}/config`)})]}):H&&(null!==M&&void 0!==M&&M.storage_price||null!==S&&void 0!==S&&S.compute_price)&&!k?(0,j.jsx)(b.A,{disabled:!H||L.submitted,label:"Add Credit Card To Account",onClick:()=>y(`/o/${u}/billing?returnURL=/${u}/i/${m}/config`)}):H?(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(g,{which:"storage",compute:null===S||void 0===S?void 0:S.compute_price_string_with_interval,storage:(null===M||void 0===M?void 0:M.storage_price_string_with_interval)||"FREE",total:Z}),(0,j.jsxs)(i.A,{children:[(0,j.jsx)(r.A,{children:(0,j.jsx)(a.A,{id:"cancelChange",onClick:K,title:"Cancel",block:!0,disabled:L.submitted,color:"grey",children:"Cancel"})}),(0,j.jsx)(r.A,{children:(0,j.jsx)(a.A,{id:"confirmChange",onClick:()=>F({submitted:!0}),title:"Confirm Instance Details",block:!0,disabled:!H||L.submitted,color:"success",children:"Update"})})]})]}):null:(0,j.jsx)(l.A,{className:"error mt-3",children:(0,j.jsxs)(o.A,{children:["You are limited to ",A.A.free_cloud_instance_limit," free cloud instance",1!==A.A.free_cloud_instance_limit?"s":""]})})]})};const $=function(e){let{setInstanceAction:t,showPrepaidCompute:s}=e;const{customer_id:u,compute_stack_id:m}=(0,d.g)(),y=(0,d.Zp)(),N=(0,v.MW)(),$=(0,c.O$)(_.A,(e=>e.auth)),k=(0,c.O$)(_.A,(e=>e.hasCard)),C=(0,c.O$)(_.A,(e=>{var t,s;return"invoice.payment_failed"===(null===(t=e.customer)||void 0===t||null===(s=t.current_payment_status)||void 0===s?void 0:s.status)})),S=(0,c.O$)(h.A,(e=>e.compute)),E=(0,c.O$)(h.A,(e=>e.storage)),P=(0,c.O$)(h.A,(e=>e.is_local)),T=(0,c.O$)(h.A,(e=>e.wavelength_zone_id)),R=(0,c.O$)(h.A,(e=>e.compute_subscription_id)),I=(0,c.O$)(h.A,(e=>!["CREATE_COMPLETE","UPDATE_COMPLETE"].includes(e.status))),z=(0,c.O$)(_.A,(e=>{var t;return null===(t=e.customer)||void 0===t?void 0:t.is_unpaid})),D=(0,c.O$)(_.A,(e=>e.products[P?"local_compute":T?"wavelength_compute":"cloud_compute"])),L=(0,c.O$)(_.A,(e=>e.subscriptions[P?"local_compute":T?"wavelength_compute":"cloud_compute"].filter((e=>e.value.compute_subscription_id===R||e.value.compute_quantity_available)))),[F,M]=(0,n.useState)({}),[U,H]=(0,n.useState)({compute_stack_id:m,customer_id:u,...S}),[B,W]=(0,n.useState)(!1),q=s?L:D,V=q.find((e=>e.value.stripe_plan_id===U.stripe_plan_id&&e.value.compute_subscription_id===U.compute_subscription_id)),Y=$.orgs.filter((e=>$.user_id===e.owner_user_id)).reduce(((e,t)=>e+t.free_cloud_instance_count),0)<A.A.free_cloud_instance_limit,Z=((null===E||void 0===E?void 0:E.storage_price)||0)+((null===U||void 0===U?void 0:U.compute_price)||0),G=Z?`${(0,O.A)(Z.toFixed(2))}/${S.compute_interval}`:"FREE",K=()=>H({compute_stack_id:m,customer_id:u,...S});return p()(K,[s]),p()((()=>{W((null===S||void 0===S?void 0:S.stripe_plan_id)!==U.stripe_plan_id||U.compute_subscription_id!==(null===S||void 0===S?void 0:S.compute_subscription_id))}),[U]),p()((()=>{W(!1)}),[m]),p()((async()=>{const{submitted:e}=F;if(e)if(Z||U.compute_subscription_id||P||Y){t("Updating");(await w({auth:$,...U})).error?(N.error("There was an error updating your instance. Please try again later."),t(!1)):(window._kmq&&window._kmq.push(["record","upgrade instance - RAM",{totalPrice:null===U||void 0===U?void 0:U.compute_price,currency:"USD",products:[{name:"compute",id:V.compute_ram_string,price:(null===U||void 0===U?void 0:U.compute_price)||0}]}]),N.success("Instance update initialized successfully"),_.A.update((e=>{e.lastUpdate=Date.now()})),setTimeout((()=>y(`/o/${u}/instances`)),100))}else N.error(`You are limited to ${A.A.free_cloud_instance_limit} free cloud instance${1!==A.A.free_cloud_instance_limit?"s":""}`),K(),M({})}),[F]),I?(0,j.jsx)(l.A,{className:"error",children:(0,j.jsx)(o.A,{children:"instance updating. please wait."})}):(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(x.Ay,{className:"react-select-container",classNamePrefix:"react-select",onChange:e=>{let{value:t}=e;return H({...U,...t})},options:q.filter((e=>e.value.active)),value:V,defaultValue:S,isSearchable:!1,isClearable:!1,isLoading:!q,placeholder:"select a RAM allotment",styles:{placeholder:e=>({...e,textAlign:"center",width:"100%",color:"#BCBCBC"})}}),!B||Z||U.compute_subscription_id||P||Y?B&&(null!==E&&void 0!==E&&E.storage_price||null!==U&&void 0!==U&&U.compute_price)&&C?(0,j.jsxs)("div",{className:"mt-3",children:[(0,j.jsx)(f.A,{}),(0,j.jsx)(b.A,{disabled:!B||F.submitted,label:"Update Credit Card",onClick:()=>y(`/o/${u}/billing?returnURL=/${u}/i/${m}/config`)})]}):B&&(null!==E&&void 0!==E&&E.storage_price||null!==U&&void 0!==U&&U.compute_price)&&!k&&!z?(0,j.jsx)(b.A,{disabled:!B||F.submitted,label:"Add Credit Card To Account",onClick:()=>y(`/o/${u}/billing?returnURL=/${u}/i/${m}/config`)}):B?(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(g,{which:"compute",compute:U.compute_price_string_with_interval,storage:(null===E||void 0===E?void 0:E.storage_price_string_with_interval)||"FREE",total:G}),(0,j.jsxs)(i.A,{children:[(0,j.jsx)(r.A,{children:(0,j.jsx)(a.A,{id:"cancelChange",onClick:K,title:"Cancel",block:!0,disabled:F.submitted,color:"grey",children:"Cancel"})}),(0,j.jsx)(r.A,{children:(0,j.jsx)(a.A,{id:"confirmChange",onClick:()=>M({submitted:!0}),title:"Confirm Instance Details",block:!0,disabled:!B||F.submitted,color:"success",children:"Update"})})]})]}):null:(0,j.jsx)(l.A,{className:"error mt-2",children:(0,j.jsxs)(o.A,{children:["You are limited to ",A.A.free_cloud_instance_limit," free cloud instance",1!==A.A.free_cloud_instance_limit?"s":""]})})]})};var k=s(5488),C=s(6404);const S=function(e){let{setInstanceAction:t}=e;const{customer_id:s,compute_stack_id:u}=(0,d.g)(),m=(0,d.Zp)(),x=(0,v.MW)(),A=(0,c.O$)(_.A,(e=>e.auth)),g=(0,c.O$)(h.A,(e=>e.instance_name)),f=(0,c.O$)(h.A,(e=>e.is_local)),b=(0,c.O$)(h.A,(e=>e.wavelength_zone_id)),y=(0,c.O$)(h.A,(e=>!["CREATE_COMPLETE","UPDATE_COMPLETE"].includes(e.status))),[w,O]=(0,n.useState)({}),[N,$]=(0,n.useState)({});return p()((async()=>{const{submitted:e}=w;if(e){const{delete_instance_name:e}=N;if(g!==e)O({error:"instance name is not correct"});else{t("Removing");(await(0,C.A)({auth:A,customer_id:s,compute_stack_id:u,wavelength_zone_id:b})).error?(x.error("There was an error removing your instance. Please try again later."),t(!1)):(x.success("Instance deletion initiated"),_.A.update((e=>{e.lastUpdate=Date.now()})),setTimeout((()=>m(`/o/${s}/instances`)),3e3))}}}),[w]),y?(0,j.jsx)(l.A,{className:"error",children:(0,j.jsx)(o.A,{children:"instance updating. please wait."})}):(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(k.A,{id:"instance_name_remove",onChange:e=>$({delete_instance_name:e.target.value}),type:"text",title:"instance_name",placeholder:`Enter "${g}" here to confirm.`,value:N.delete_instance_name||""}),N.delete_instance_name===g&&(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(l.A,{className:"my-2",children:(0,j.jsx)(o.A,{className:"px-2 pb-2 pt-3 text-small",children:f?(0,j.jsxs)("ul",{className:"text-small mb-0",children:[(0,j.jsxs)("li",{children:[(0,j.jsx)("b",{children:"DOES NOT"})," uninstall Harper."]}),(0,j.jsxs)("li",{children:[(0,j.jsx)("b",{children:"DOES"})," leave all your data intact."]}),(0,j.jsx)("li",{children:"REMOVES your instance license."}),(0,j.jsx)("li",{children:"STOPS recurring license charges."}),(0,j.jsx)("li",{children:"LIMITS instance to 1GB RAM."}),(0,j.jsx)("li",{children:"REMOVES instance from the Studio."}),(0,j.jsx)("li",{children:"RESTARTS the instance."})]}):(0,j.jsxs)("ul",{className:"text-small mb-0",children:[(0,j.jsxs)("li",{children:[(0,j.jsx)("b",{children:"THIS IS"})," an irreversible process."]}),(0,j.jsxs)("li",{children:[(0,j.jsx)("b",{children:"IT CANNOT"})," be undone."]}),(0,j.jsx)("li",{children:"DELETES your instance completely."}),(0,j.jsx)("li",{children:"STOPS recurring license charges."}),(0,j.jsx)("li",{children:"REMOVES instance from the Studio."})]})})}),(0,j.jsxs)(i.A,{children:[(0,j.jsx)(r.A,{children:(0,j.jsx)(a.A,{id:"cancelDeleteInstance",onClick:()=>$({delete_instance_name:""}),title:"Cancel",block:!0,disabled:w.submitted,color:"grey",children:"Cancel"})}),(0,j.jsx)(r.A,{children:(0,j.jsx)(a.A,{id:"removeInstance",onClick:()=>O({submitted:!0}),title:"Confirm Instance Details",block:!0,disabled:w.submitted,color:"danger",children:"Remove"})})]})]})]})};var E=s(135),P=s(5911),T=s(2010);const R=function(e){let{instanceAction:t,setInstanceAction:s}=e;const d=(0,v.MW)(),u=(0,c.O$)(h.A,(e=>e.auth)),m=(0,c.O$)(h.A,(e=>e.url)),_=(0,c.O$)(h.A,(e=>e.instance_name)),x=(0,c.O$)(h.A,(e=>!["CREATE_COMPLETE","UPDATE_COMPLETE"].includes(e.status))),[g,f]=(0,n.useState)({}),[b,y]=(0,n.useState)({});return p()((async()=>{const{submitted:e}=g;if(e){s("Restarting");const e=await(0,T.A)({auth:u,url:m});null!==e&&void 0!==e&&e.error&&(s(!1),d.error("There was an error restarting your instance. Please try again later."))}}),[g]),(0,E.A)((()=>{"Restarting"===t&&(async()=>{(await(0,P.A)({auth:u,url:m})).error||(y({}),f({}),s(!1),d.success("Instance restarted successfully"))})()}),A.A.refresh_content_interval),"Restarting"===t?(0,j.jsx)(l.A,{className:"error",children:(0,j.jsxs)(o.A,{children:[(0,j.jsx)("i",{className:"fa fa-spin fa-spinner me-2"}),"instance restarting. please wait."]})}):!A.A.is_local_studio&&x?(0,j.jsx)(l.A,{className:"error",children:(0,j.jsx)(o.A,{children:"instance updating. please wait."})}):(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(k.A,{id:"instance_name_restart",onChange:e=>y({restart_instance_name:e.target.value}),type:"text",title:"instance_name",placeholder:`Enter "${_}" here to confirm.`,value:b.restart_instance_name||""}),b.restart_instance_name===_&&(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(l.A,{className:"my-2",children:(0,j.jsx)(o.A,{className:"px-2 pb-2 pt-3 text-small",children:(0,j.jsxs)("ul",{className:"text-small mb-0",children:[(0,j.jsxs)("li",{children:[(0,j.jsx)("b",{children:"WILL"})," interrupt connectivity."]}),(0,j.jsxs)("li",{children:[(0,j.jsx)("b",{children:"WILL"})," leave all your data intact."]})]})})}),(0,j.jsxs)(i.A,{children:[(0,j.jsx)(r.A,{children:(0,j.jsx)(a.A,{onClick:()=>y({restart_instance_name:""}),title:"Cancel",block:!0,disabled:g.submitted,color:"grey",children:"Cancel"})}),(0,j.jsx)(r.A,{children:(0,j.jsx)(a.A,{onClick:()=>f({submitted:!0}),title:"Confirm Instance Details",block:!0,disabled:g.submitted,color:"danger",children:"Restart"})})]})]})]})};var I=s(1652),z=s(7666);const D=function(e){var t,s,n,a,d,u,m,p,_,x,v,g,f,b,y,w,O,N;let{clusterNodeName:$,instanceConfig:k}=e;const C=(0,c.O$)(h.A,(e=>e.url)),S=(0,c.O$)(h.A,(e=>e.auth)),E=(0,c.O$)(h.A,(e=>e.totalPriceStringWithInterval)),P=(0,c.O$)(h.A,(e=>e.compute)),T=(0,c.O$)(h.A,(e=>!!e.compute_subscription_id)),R=(0,c.O$)(h.A,(e=>!!e.storage_subscription_id)),D=(0,c.O$)(h.A,(e=>e.creation_date)),L=(0,c.O$)(h.A,(e=>e.instance_region)),F=(0,c.O$)(h.A,(e=>e.storage)),M=(0,c.O$)(h.A,(e=>e.is_local)),U=null!==S&&void 0!==S&&S.user?`${btoa(`${S.user}:${S.pass}`)}`:"...",H=M?"HARDWARE LIMIT":`${null===F||void 0===F?void 0:F.iops}`,B=D?new Date(D).toLocaleDateString():"N/A",{hostname:W,origin:q}=window.location,V=new URL(A.A.is_local_studio?q:C),Y=A.A.is_local_studio?`${null!==(m=k.operationsApi)&&void 0!==m&&null!==(p=m.network)&&void 0!==p&&p.securePort?"https://":"http://"}${W}:${(null===(_=k.operationsApi)||void 0===_||null===(x=_.network)||void 0===x?void 0:x.securePort)||(null===(v=k.operationsApi)||void 0===v||null===(g=v.network)||void 0===g?void 0:g.port)}`:`${null!==(t=k.operationsApi)&&void 0!==t&&null!==(s=t.network)&&void 0!==s&&s.securePort?"https://":"http://"}${V.hostname}:${(null===(n=k.operationsApi)||void 0===n||null===(a=n.network)||void 0===a?void 0:a.securePort)||(null===(d=k.operationsApi)||void 0===d||null===(u=d.network)||void 0===u?void 0:u.port)}`,Z=A.A.is_local_studio?`${null!==(w=k.http)&&void 0!==w&&w.securePort?"https://":"http://"}${W}:${(null===(O=k.http)||void 0===O?void 0:O.securePort)||(null===(N=k.http)||void 0===N?void 0:N.port)}`:`${null!==(f=k.http)&&void 0!==f&&f.securePort?"https://":"http://"}${V.hostname}:${(null===(b=k.http)||void 0===b?void 0:b.securePort)||(null===(y=k.http)||void 0===y?void 0:y.port)}`,G=(0,c.O$)(h.A,(e=>{var t;return null===(t=e.registration)||void 0===t?void 0:t.version})),[K,J]=(null===G||void 0===G?void 0:G.split("."))||[],Q=parseFloat(`${K}.${J}`);return(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)("span",{className:"floating-card-header",children:"instance overview"}),(0,j.jsx)(l.A,{className:"mt-3 mb-4 instance-details",children:(0,j.jsx)(o.A,{children:(0,j.jsxs)(i.A,{children:[(0,j.jsx)(r.A,{md:"4",xs:"12",children:(0,j.jsx)(I.A,{header:"Instance URL",className:"mb-3",children:(0,j.jsx)("div",{className:"nowrap-scroll",children:(0,j.jsx)(z.A,{text:Y})})})}),(0,j.jsx)(r.A,{md:"4",xs:"12",children:(0,j.jsx)(I.A,{header:(Q>=4.2?"Applications":"Custom Functions")+" URL",className:"mb-3",children:(0,j.jsx)("div",{className:"nowrap-scroll",children:(0,j.jsx)(z.A,{text:Z})})})}),(0,j.jsx)(r.A,{md:"4",xs:"12",children:(0,j.jsx)(I.A,{header:"Instance Node Name (for clustering)",className:"mb-3",children:(0,j.jsx)("div",{className:"nowrap-scroll",children:$?(0,j.jsx)(z.A,{text:$}):"clustering not enabled"})})}),!A.A.is_local_studio&&(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(r.A,{md:"4",xs:"12",children:(0,j.jsx)(I.A,{header:"Instance API Auth Header (this user)",className:"mb-3",children:(0,j.jsx)("div",{className:"nowrap-scroll",children:(0,j.jsx)(z.A,{text:U,beforeText:"Basic ",obscure:!0})})})}),(0,j.jsx)(r.A,{md:"2",sm:"4",xs:"6",children:(0,j.jsx)(I.A,{header:"Created",className:"mb-3",children:(0,j.jsx)("div",{className:"nowrap-scroll",children:B})})}),L&&(0,j.jsx)(r.A,{md:"2",sm:"4",xs:"6",children:(0,j.jsx)(I.A,{header:"Region",className:"mb-3",children:(0,j.jsx)("div",{className:"nowrap-scroll",children:L})})}),(0,j.jsx)(r.A,{md:"2",sm:"4",xs:"6",children:(0,j.jsx)(I.A,{header:"Total Price",className:"mb-3",children:(0,j.jsx)("div",{className:"nowrap-scroll",children:E})})}),(0,j.jsx)(r.A,{md:"2",sm:"4",xs:"6",children:(0,j.jsx)(I.A,{header:"RAM",className:"mb-3",children:(0,j.jsxs)("div",{className:"nowrap-scroll",children:[null===P||void 0===P?void 0:P.compute_ram_string," ",T&&"(PREPAID)"]})})}),!M&&(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(r.A,{md:"2",sm:"4",xs:"6",children:(0,j.jsx)(I.A,{header:"Storage",className:"mb-3 text-nowrap",children:(0,j.jsxs)("div",{className:"nowrap-scroll",children:[null===F||void 0===F?void 0:F.data_volume_size_string," ",R&&"(PREPAID)"]})})}),(0,j.jsx)(r.A,{md:"2",sm:"4",xs:"6",children:(0,j.jsx)(I.A,{header:"Disk IOPS",className:"mb-3 text-nowrap",children:(0,j.jsx)("div",{className:"nowrap-scroll",children:H})})})]})]})]})})})]})};var L=s(4979),F=s(3150),M=s(3628),U=s(7596),H=s(5012),B=s(2594);const W=function(e){let{instanceConfig:t}=e;const s=(0,c.O$)(_.A,(e=>e.theme));return(0,j.jsx)(B.A,{placeholder:t,height:"calc(100vh - 568px)",theme:"light_mitsuketa_tribute",viewOnly:!0,colors:{background:"transparent",default:"dark"===s?"#aaa":"#000",colon:"dark"===s?"#aaa":"#000",keys:"dark"===s?"#aaa":"#000",string:"#13c664",number:"#ea4c89",primitive:"#ffa500"},style:{warningBox:{display:"none"},body:{padding:"8px 0 0 0"}},locale:H.A,width:"100%",confirmGood:!1,waitAfterKeyPress:3e4})};var q=s(8750);const V=function(){return(0,j.jsx)("div",{className:"configLoader",children:(0,j.jsx)("i",{className:"fa fa-spinner fa-spin"})})};const Y=function(){const{customer_id:e,compute_stack_id:t}=(0,d.g)(),s=(0,c.O$)(_.A,(e=>e.auth)),m=(0,c.O$)(_.A,(e=>e.theme)),x=(0,c.O$)(h.A,(e=>e.auth),[t]),v=(0,c.O$)(h.A,(e=>e.url),[t]),A=(0,c.O$)(_.A,(e=>{var t;return null===(t=e.customer)||void 0===t?void 0:t.stripe_id})),g=(0,c.O$)(h.A,(e=>e.is_local),[t]),f=(0,c.O$)(h.A,(e=>{var t;return parseFloat(null===(t=e.registration)||void 0===t?void 0:t.version)>=4?"nats":"socketcluster"}),[t]),b=(0,c.O$)(h.A,(e=>e.compute_subscription_id),[t]),y=(0,c.O$)(h.A,(e=>e.storage_subscription_id),[t]),w=(0,c.O$)(_.A,(t=>{var s,n;return null===(s=t.auth)||void 0===s||null===(n=s.orgs)||void 0===n?void 0:n.find((t=>{var s;return(null===(s=t.customer_id)||void 0===s?void 0:s.toString())===e}))}),[e]),O="owner"===(null===w||void 0===w?void 0:w.status),[k,C]=(0,n.useState)(!1),[E,P]=(0,n.useState)(!1),[T,I]=(0,n.useState)(""),z=(0,c.O$)(_.A,(e=>{var t;return(null===(t=e.subscriptions[g?"local_compute":"cloud_compute"])||void 0===t?void 0:t.filter((e=>!e.value.compute_subscription_name||e.value.compute_quantity_available)))||[]})),H=(0,c.O$)(_.A,(e=>{var t,s;return(null===(t=e.subscriptions)||void 0===t||null===(s=t.cloud_storage)||void 0===s?void 0:s.filter((e=>!e.value.storage_subscription_name||e.value.storage_quantity_available)))||[]})),[B,Y]=(0,n.useState)(!!b),[Z,G]=(0,n.useState)(!!y);return p()((async()=>{s&&e&&A&&(0,U.A)({auth:s,customer_id:e,stripe_id:A})}),[s,e,A]),p()((async()=>{if(x&&v){I("..."),P(!1);const t=await(0,q.A)({auth:x,url:v});if(!t.error){var e;const s="nats"===f?null===(e=t.clustering)||void 0===e?void 0:e.nodeName:t.NODE_NAME;I(s),P(t)}}}),[x]),k&&"Restarting"!==k?(0,j.jsx)(L.A,{header:`${k} Instance`,spinner:!0}):(0,j.jsxs)(i.A,{id:"config",children:[(0,j.jsx)(r.A,{xs:"12",children:(0,j.jsx)(u.tH,{onError:(e,t)=>(0,M.A)({error:{message:e.message,componentStack:t}}),FallbackComponent:F.A,children:(0,j.jsx)(D,{clusterNodeName:T,instanceConfig:E})})}),O&&"akamai"!==m&&(0,j.jsxs)(r.A,{lg:"3",sm:"6",xs:"12",children:[(0,j.jsxs)(i.A,{children:[(0,j.jsx)(r.A,{children:(0,j.jsx)("span",{className:"floating-card-header",children:"update ram"})}),(0,j.jsx)(r.A,{className:"text-end",children:(!!b||!!z.length)&&(0,j.jsxs)("span",{className:"floating-card-header",children:["prepaid:"," ",(0,j.jsx)(a.A,{id:"showPrepaidCompute",color:"link",onClick:()=>Y(!B),children:(0,j.jsx)("i",{className:"fa fa-lg fa-toggle-"+(B?"on":"off")})})]})})]}),(0,j.jsx)(l.A,{className:"my-3",children:(0,j.jsx)(o.A,{children:(0,j.jsx)(u.tH,{onError:(e,t)=>(0,M.A)({error:{message:e.message,componentStack:t}}),FallbackComponent:F.A,children:E?(0,j.jsx)($,{setInstanceAction:C,showPrepaidCompute:B}):(0,j.jsx)(V,{})})})})]}),O&&!g&&"akamai"!==m&&(0,j.jsxs)(r.A,{lg:"3",sm:"6",xs:"12",children:[(0,j.jsxs)(i.A,{children:[(0,j.jsx)(r.A,{children:(0,j.jsx)("span",{className:"floating-card-header",children:"update storage"})}),(0,j.jsx)(r.A,{className:"text-end",children:(!!y||!!H.length)&&(0,j.jsxs)("span",{className:"floating-card-header",children:["prepaid:"," ",(0,j.jsx)(a.A,{id:"showPrepaidStorage",color:"link",onClick:()=>G(!Z),children:(0,j.jsx)("i",{className:"fa fa-lg fa-toggle-"+(Z?"on":"off")})})]})})]}),(0,j.jsx)(l.A,{className:"my-3",children:(0,j.jsx)(o.A,{children:(0,j.jsx)(u.tH,{onError:(e,t)=>(0,M.A)({error:{message:e.message,componentStack:t}}),FallbackComponent:F.A,children:E?(0,j.jsx)(N,{setInstanceAction:C,showPrepaidStorage:Z}):(0,j.jsx)(V,{})})})})]}),O&&(0,j.jsxs)(r.A,{lg:"3",sm:"6",xs:"12",children:[(0,j.jsx)("span",{className:"floating-card-header",children:"remove instance"}),(0,j.jsx)(l.A,{className:"my-3",children:(0,j.jsx)(o.A,{children:(0,j.jsx)(u.tH,{onError:(e,t)=>(0,M.A)({error:{message:e.message,componentStack:t}}),FallbackComponent:F.A,children:(0,j.jsx)(S,{setInstanceAction:C,instanceAction:k})})})})]}),(0,j.jsxs)(r.A,{lg:"3",sm:"6",xs:"12",children:[(0,j.jsx)("span",{className:"floating-card-header",children:"restart instance"}),(0,j.jsx)(l.A,{className:"my-3",children:(0,j.jsx)(o.A,{children:(0,j.jsx)(u.tH,{onError:(e,t)=>(0,M.A)({error:{message:e.message,componentStack:t}}),FallbackComponent:F.A,children:(0,j.jsx)(R,{setInstanceAction:C,instanceAction:k})})})})]}),(0,j.jsxs)(r.A,{xs:"12",children:[(0,j.jsx)("span",{className:"floating-card-header",children:"instance config (read only)"}),(0,j.jsx)(l.A,{className:"mt-3 mb-4",children:(0,j.jsx)(o.A,{className:"p-0",children:(0,j.jsx)(u.tH,{onError:(e,t)=>(0,M.A)({error:{message:e.message,componentStack:t}}),FallbackComponent:F.A,children:E?(0,j.jsx)(W,{instanceConfig:E}):(0,j.jsx)(V,{})})})})]})]})}},5887:(e,t,s)=>{s.d(t,{A:()=>i});s(9950);var n=s(4414);const i=function(){return(0,n.jsxs)("div",{className:"text-danger",children:[(0,n.jsx)("i",{children:"Your most recent card payment failed. Please update your card below."}),(0,n.jsx)("hr",{className:"mt-3 mb-2"})]})}},1652:(e,t,s)=>{s.d(t,{A:()=>i});s(9950);var n=s(4414);const i=function(e){let{children:t,header:s,subheader:i,maxHeight:r="auto",minHeight:a="auto",className:l}=e;return(0,n.jsxs)("div",{className:`content-container ${l}`,children:[(0,n.jsxs)("div",{className:"header-container",children:[(0,n.jsx)("span",{className:"header",children:s}),(0,n.jsx)("span",{className:"subheader",children:i})]}),(0,n.jsx)("div",{className:"auto"!==r?"scrollable":"",style:{maxHeight:r,minHeight:a},children:t})]})}},7666:(e,t,s)=>{s.d(t,{A:()=>c});var n=s(9950),i=s(7176),r=s(6114),a=s(3452),l=s(7348),o=s(4414);const c=function(e){let{text:t,beforeText:s,afterText:c,obscure:d=!1}=e;const u=(0,l.MW)(),m=navigator.clipboard,p=(0,n.useCallback)((async e=>{e.stopPropagation(),await navigator.clipboard.writeText(t),u.success("Text copied to clipboard")}),[u,t]);return(0,o.jsxs)(i.A,{className:"copyable-text-holder g-0",children:[m&&t&&(0,o.jsx)(r.A,{className:"copy-icon",children:(0,o.jsx)(a.A,{title:"Copy this value",onClick:p,color:"link",children:(0,o.jsx)("i",{className:"fa fa-copy text-small"})})}),(0,o.jsx)(r.A,{className:"text-container",children:t?(0,o.jsxs)(o.Fragment,{children:[s,d?t.replace(/./g,"*"):t,c]}):(0,o.jsx)("span",{children:"\xa0"})})]})}},1943:(e,t,s)=>{s.d(t,{A:()=>r});s(9950);var n=s(3452),i=s(4414);const r=function(e){let{disabled:t,label:s,onClick:r}=e;return(0,i.jsx)(n.A,{onClick:r,title:s,block:!0,disabled:t,color:"danger",className:"mt-2",id:"visitCreditCard",children:s})}},8750:(e,t,s)=>{s.d(t,{A:()=>i});var n=s(127);const i=async e=>{let{auth:t,url:s}=e;return(0,n.A)({operation:{operation:"get_configuration"},auth:t,url:s})}},2010:(e,t,s)=>{s.d(t,{A:()=>r});var n=s(127),i=s(5269);const r=async e=>{let{auth:t,url:s}=e;return i.A.update((e=>{e.restarting=!0})),(0,n.A)({operation:{operation:"restart"},auth:t,url:s})}},6404:(e,t,s)=>{s.d(t,{A:()=>i});var n=s(2714);const i=async e=>{let{auth:t,customer_id:s,compute_stack_id:i,is_verizon:r,is_akamai:a}=e;return(0,n.A)({endpoint:r?"wl/removeWavelengthInstance":a?"removeAkamaiInstance":"removeInstance",method:"POST",payload:{customer_id:s,compute_stack_id:i,compute_stack_wl_id:i},auth:t})}},5488:(e,t,s)=>{s.d(t,{A:()=>g});var n=s(9950),i=s(1942),r=s.n(i),a=s(8738),l=s.n(a),o=s(1497);function c(e){return c="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},c(e)}var d=["className","cssModule","type","bsSize","valid","invalid","tag","addon","plaintext","innerRef"];function u(){return u=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var s=arguments[t];for(var n in s)Object.prototype.hasOwnProperty.call(s,n)&&(e[n]=s[n])}return e},u.apply(this,arguments)}function m(e,t){if(null==e)return{};var s,n,i=function(e,t){if(null==e)return{};var s,n,i={},r=Object.keys(e);for(n=0;n<r.length;n++)s=r[n],t.indexOf(s)>=0||(i[s]=e[s]);return i}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(n=0;n<r.length;n++)s=r[n],t.indexOf(s)>=0||Object.prototype.propertyIsEnumerable.call(e,s)&&(i[s]=e[s])}return i}function p(e,t){for(var s=0;s<t.length;s++){var n=t[s];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function h(e,t){return h=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},h(e,t)}function _(e){var t=function(){if("undefined"===typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"===typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var s,n=v(e);if(t){var i=v(this).constructor;s=Reflect.construct(n,arguments,i)}else s=n.apply(this,arguments);return function(e,t){if(t&&("object"===c(t)||"function"===typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return x(e)}(this,s)}}function x(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function v(e){return v=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},v(e)}var A={children:r().node,type:r().string,size:r().oneOfType([r().number,r().string]),bsSize:r().string,valid:r().bool,invalid:r().bool,tag:o.Wx,innerRef:r().oneOfType([r().object,r().func,r().string]),plaintext:r().bool,addon:r().bool,className:r().string,cssModule:r().object},j=function(e){!function(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&h(e,t)}(a,e);var t,s,i,r=_(a);function a(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,a),(t=r.call(this,e)).getRef=t.getRef.bind(x(t)),t.focus=t.focus.bind(x(t)),t}return t=a,(s=[{key:"getRef",value:function(e){this.props.innerRef&&this.props.innerRef(e),this.ref=e}},{key:"focus",value:function(){this.ref&&this.ref.focus()}},{key:"render",value:function(){var e=this.props,t=e.className,s=e.cssModule,i=e.type,r=void 0===i?"text":i,a=e.bsSize,c=e.valid,p=e.invalid,h=e.tag,_=e.addon,x=e.plaintext,v=e.innerRef,A=m(e,d),j=["switch","radio","checkbox"].indexOf(r)>-1,g="select"===r,f="range"===r,b=h||(g||"textarea"===r?r:"input"),y="form-control";x?(y="".concat(y,"-plaintext"),b=h||"input"):f?y="form-range":g?y="form-select":j&&(y=_?null:"form-check-input"),A.size&&/\D/g.test(A.size)&&((0,o.mc)('Please use the prop "bsSize" instead of the "size" to bootstrap\'s input sizing.'),a=A.size,delete A.size);var w=(0,o.qO)(l()(t,p&&"is-invalid",c&&"is-valid",!!a&&(g?"form-select-".concat(a):"form-control-".concat(a)),y),s);return("input"===b||h&&"function"===typeof h)&&(A.type="switch"===r?"checkbox":r),A.children&&!x&&"select"!==r&&"string"===typeof b&&"select"!==b&&((0,o.mc)('Input with a type of "'.concat(r,'" cannot have children. Please use "value"/"defaultValue" instead.')),delete A.children),n.createElement(b,u({},A,{ref:v,className:w,"aria-invalid":p}))}}])&&p(t.prototype,s),i&&p(t,i),Object.defineProperty(t,"prototype",{writable:!1}),a}(n.Component);j.propTypes=A;const g=j}}]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";(self.webpackChunkharperdb_studio=self.webpackChunkharperdb_studio||[]).push([[18],{4016:(e,l,s)=>{s.r(l),s.d(l,{default:()=>I});var a=s(9950),t=s(7176),r=s(6114),n=s(1646),o=s(5488),i=s(3452),c=s(6359),d=s(7348),m=s(6713),u=s(4084),x=s(8156),h=s(6685),g=s(1340),p=s(877),v=s(135),f=s(9435),j=s(1368),b=s(5269),A=s(5553),N=s(5996),w=s(127);var y=s(7209),O=s(4414);const S=function(e){let{onRowClick:l,level:s,timestamp:a,message:n,tags:o,thread:i}=e;return(0,O.jsxs)(t.A,{xs:"12",md:"12",className:"item-row",onClick:l,children:[(0,O.jsx)(r.A,{xs:"2",md:"1",className:`text-nowrap ${null===s||void 0===s?void 0:s.toLowerCase()}`,children:(null===s||void 0===s?void 0:s.toUpperCase())||"UNKNOWN"}),(0,O.jsx)(r.A,{xs:"2",md:"2",lg:"1",children:new Date(a||null).toLocaleDateString()}),(0,O.jsx)(r.A,{xs:"2",md:"2",lg:"1",children:new Date(a||null).toLocaleTimeString()}),(0,O.jsx)(r.A,{xs:"2",md:"1",lg:"1",children:i}),(0,O.jsx)(r.A,{xs:"2",md:"2",lg:"1",children:null===o||void 0===o?void 0:o.join(", ")}),(0,O.jsx)(r.A,{xs:"2",md:"4",lg:"7",children:(0,y.A)(n)&&n.error?n.error:(0,O.jsx)("pre",{children:(0,O.jsx)("code",{children:n})})})]})};var k=s(3150),L=s(3628);let C;const F=async e=>{let{auth:l,url:s,logsFilter:a}=e;C=new AbortController,await(async e=>{let{auth:l,url:s,signal:a,logsFilter:t}=e;const r=await(0,w.A)({operation:{operation:"read_log",start:0,...t,order:"desc"},auth:l,url:s,signal:a});return b.A.update((e=>{e.logs=r.error?[]:(null===r||void 0===r?void 0:r.filter((e=>e.message)))||[],e.logsError=!1}))})({auth:l,url:s,signal:C.signal,logsFilter:a})};const T=function(e){var l,s,n,o,c;let{logsFilter:d}=e;const{compute_stack_id:w}=(0,j.g)(),y=(0,m.O$)(b.A,(e=>e.auth)),T=(0,m.O$)(b.A,(e=>e.url)),D=(0,m.O$)(b.A,(e=>e.logs),[w]),I=(0,m.O$)(b.A,(e=>e.logsError)),E=(0,m.O$)(A.A,(e=>e.theme)),[U,z]=(0,a.useState)(!1),[P,R]=(0,a.useState)(!0),[$,_]=(0,a.useState)(!0),[M,V]=(0,a.useState)(!1),[W,q]=(0,a.useState)({}),G=()=>V(!M);return(0,a.useEffect)((()=>(y&&(R(!0),F({auth:y,url:T,logsFilter:d}),R(!1)),()=>{var e;null===(e=C)||void 0===e||e.abort()})),[y,$,d]),(0,v.A)((()=>y&&U&&_(Date.now())),N.A.refresh_content_interval),(0,O.jsxs)(f.tH,{onError:(e,l)=>(0,L.A)({error:{message:e.message,componentStack:l}}),FallbackComponent:k.A,children:[(0,O.jsxs)(t.A,{className:"floating-card-header",children:[(0,O.jsx)(r.A,{children:"logs"}),(0,O.jsxs)(r.A,{className:"text-end",children:[(0,O.jsx)(i.A,{color:"link",title:"Update Logs",className:"me-2",onClick:()=>_(Date.now()),children:(0,O.jsx)("i",{className:"fa "+(P?"fa-spinner fa-spin":"fa-sync-alt")})}),(0,O.jsxs)(i.A,{color:"link",title:"Turn on auto refresh",onClick:()=>z(!U),children:[(0,O.jsx)("span",{className:"me-2",children:"auto"}),(0,O.jsx)("i",{className:"fa fa-lg fa-toggle-"+(U?"on":"off")})]})]})]}),(0,O.jsx)(u.A,{className:"my-3",children:(0,O.jsxs)(x.A,{className:"item-list",children:[(0,O.jsxs)(t.A,{xs:"12",md:"12",className:"header",children:[(0,O.jsx)(r.A,{xs:"2",md:"1",className:"text-bold text-nowrap",children:"Status"}),(0,O.jsx)(r.A,{xs:"2",md:"2",lg:"1",className:"text-bold text-nowrap",children:"Date"}),(0,O.jsx)(r.A,{xs:"2",md:"2",lg:"1",className:"text-left text-bold text-nowrap",children:!P&&I?(0,O.jsxs)("span",{className:"text-danger",children:["log fetch error: ",(new Date).toLocaleTimeString().toLowerCase()]}):(0,O.jsx)("span",{children:"Time"})}),(0,O.jsx)(r.A,{xs:"2",md:"1",lg:"1",className:"text-bold text-nowrap",children:"Thread"}),(0,O.jsx)(r.A,{xs:"2",md:"2",lg:"1",className:"text-bold text-nowrap",children:"Tags"}),(0,O.jsx)(r.A,{xs:"2",md:"3",lg:"7",className:"text-bold text-nowrap",children:"Message"})]}),(0,O.jsx)("hr",{className:"mt-1 mb-0"}),(0,O.jsx)("div",{className:"item-scroller",children:!P||D||U?D&&D.length?D.map(((e,l)=>(0,O.jsx)(S,{level:e.level,timestamp:e.timestamp,message:e.message,tags:e.tags,thread:e.thread,onRowClick:()=>{q(e),G()}},e.timestamp+l))):D&&!D.length?(0,O.jsx)("div",{className:"pt-5 text-center",children:"no logs found"}):(0,O.jsx)("div",{className:"pt-5 text-center",children:"no logs found in this view"}):(0,O.jsx)("div",{className:"pt-5 text-center",children:(0,O.jsx)("i",{className:"fa fa-spinner fa-spin text-lightgrey"})})})]})}),(0,O.jsx)("br",{}),(0,O.jsxs)(h.A,{isOpen:M,className:E,centered:!0,fade:!1,id:"log-info-modal",children:[(0,O.jsx)(g.A,{toggle:G,children:"View Log Info"}),(0,O.jsx)(p.A,{children:W&&(0,O.jsxs)("div",{children:[(0,O.jsxs)("p",{children:[(0,O.jsx)("b",{children:"Level:"})," ",(0,O.jsx)("span",{className:`${null===W||void 0===W||null===(l=W.level)||void 0===l?void 0:l.toLowerCase()}`,children:null===W||void 0===W||null===(s=W.level)||void 0===s?void 0:s.toUpperCase()})]}),(0,O.jsx)("p",{className:"mb-1",children:(0,O.jsx)("b",{children:"Timestamp(UTC):"})}),(0,O.jsx)("span",{children:null===W||void 0===W?void 0:W.timestamp}),(0,O.jsxs)("p",{className:"mt-4",children:[(0,O.jsx)("b",{children:"Thread:"})," ",null===W||void 0===W?void 0:W.thread]}),(0,O.jsxs)("p",{children:[(0,O.jsx)("b",{children:"Tags:"})," ",null===W||void 0===W||null===(n=W.tags)||void 0===n?void 0:n.join(", ")]}),(0,O.jsx)("p",{className:"mb-2",children:(0,O.jsx)("b",{children:"Message:"})}),(0,O.jsx)("pre",{children:null!==W&&void 0!==W&&null!==(o=W.message)&&void 0!==o&&o.error?null===W||void 0===W||null===(c=W.message)||void 0===c?void 0:c.error:null===W||void 0===W?void 0:W.message})]})})]})]})},D={limit:1e3,level:void 0,from:void 0,until:void 0};const I=function(){const[e,l]=(0,a.useState)(D),s=(0,a.useRef)(),m=(0,a.useRef)(),u=(0,a.useRef)(),x=(0,d.MW)();return(0,O.jsxs)(t.A,{id:"logs",children:[(0,O.jsxs)(r.A,{lg:"2",xs:"12",children:[(0,O.jsx)("h2",{className:"mb-3 filters-header",children:"Log Filters"}),(0,O.jsx)("form",{onSubmit:e=>{var s,a;(e.preventDefault(),s=e.target.elements.logFromInput.value,a=e.target.elements.logUntilInput.value,!s&&!a||!s||!a||new Date(s)<=new Date(a))?l({limit:parseInt(e.target.elements.logLimitSelect.value,10)||1e3,level:e.target.elements.logLevelSelect.value||void 0,from:e.target.elements.logFromInput.value||void 0,until:e.target.elements.logUntilInput.value||void 0}):x.error("Please provide a valid date range.")},onReset:()=>{s.current.reset(),m.current.clearValue(),u.current.clearValue(),l(D)},ref:s,children:(0,O.jsxs)(t.A,{children:[(0,O.jsx)(r.A,{xs:"6",lg:"12",className:"mb-3",children:(0,O.jsx)(c.Ay,{name:"logLimitSelect",isSearchable:!1,className:"react-select-container",classNamePrefix:"react-select",ref:m,placeholder:"Log Limit",options:[{value:1e3,label:"1000"},{value:500,label:"500"},{value:250,label:"250"},{value:100,label:"100"},{value:10,label:"10"}]})}),(0,O.jsx)(r.A,{xs:"6",lg:"12",className:"mb-3",children:(0,O.jsx)(c.Ay,{name:"logLevelSelect",isSearchable:!1,className:"react-select-container",classNamePrefix:"react-select",ref:u,placeholder:"Log Level",defaultValue:null,options:[{value:null,label:"All"},{value:"notify",label:"Notify"},{value:"error",label:"Error"},{value:"warn",label:"Warn"},{value:"info",label:"Info"},{value:"debug",label:"Debug"},{value:"trace",label:"Trace"}]})}),(0,O.jsxs)(r.A,{xs:"8",lg:"12",className:"mb-3",children:[(0,O.jsx)(n.A,{htmlFor:"logFromInput",className:"input-label",children:"Start Date:"}),(0,O.jsx)(o.A,{name:"logFromInput",type:"datetime-local"})]}),(0,O.jsxs)(r.A,{xs:"8",lg:"12",className:"mb-3",children:[(0,O.jsx)(n.A,{htmlFor:"logUntilInput",className:"input-label",children:"End Date:"}),(0,O.jsx)(o.A,{name:"logUntilInput",type:"datetime-local"})]}),(0,O.jsx)(r.A,{xs:"6",lg:"12",className:"mb-3",children:(0,O.jsx)(i.A,{type:"submit",className:"btn btn-purple px-4 w-100",children:"Apply"})}),(0,O.jsx)(r.A,{xs:"6",lg:"12",className:"mb-3",children:(0,O.jsx)(i.A,{type:"reset",className:"btn btn-purple px-4 w-100",children:"Reset"})})]})})]}),(0,O.jsx)(r.A,{lg:"10",xs:"12",children:(0,O.jsx)(T,{logsFilter:e})})]})}},7209:(e,l,s)=>{s.d(l,{A:()=>a});const a=e=>"object"===typeof e&&!Array.isArray(e)&&null!==e},1646:(e,l,s)=>{s.d(l,{A:()=>j});var a=s(9950),t=s(1942),r=s.n(t),n=s(8738),o=s.n(n),i=s(1497),c=["className","cssModule","hidden","widths","tag","check","size","for"];function d(){return d=Object.assign?Object.assign.bind():function(e){for(var l=1;l<arguments.length;l++){var s=arguments[l];for(var a in s)Object.prototype.hasOwnProperty.call(s,a)&&(e[a]=s[a])}return e},d.apply(this,arguments)}function m(e,l,s){return l in e?Object.defineProperty(e,l,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[l]=s,e}function u(e,l){if(null==e)return{};var s,a,t=function(e,l){if(null==e)return{};var s,a,t={},r=Object.keys(e);for(a=0;a<r.length;a++)s=r[a],l.indexOf(s)>=0||(t[s]=e[s]);return t}(e,l);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(a=0;a<r.length;a++)s=r[a],l.indexOf(s)>=0||Object.prototype.propertyIsEnumerable.call(e,s)&&(t[s]=e[s])}return t}var x=["xs","sm","md","lg","xl","xxl"],h=r().oneOfType([r().number,r().string]),g=r().oneOfType([r().bool,r().string,r().number,r().shape({size:h,order:h,offset:h})]),p={children:r().node,hidden:r().bool,check:r().bool,size:r().string,for:r().string,tag:i.Wx,className:r().string,cssModule:r().object,xs:g,sm:g,md:g,lg:g,xl:g,xxl:g,widths:r().array},v=function(e,l,s){return!0===s||""===s?e?"col":"col-".concat(l):"auto"===s?e?"col-auto":"col-".concat(l,"-auto"):e?"col-".concat(s):"col-".concat(l,"-").concat(s)};function f(e){var l=e.className,s=e.cssModule,t=e.hidden,r=e.widths,n=void 0===r?x:r,h=e.tag,g=void 0===h?"label":h,p=e.check,f=e.size,j=e.for,b=u(e,c),A=[];n.forEach((function(l,a){var t=e[l];if(delete b[l],t||""===t){var r,n=!a;if((0,i.Gv)(t)){var c,d=n?"-":"-".concat(l,"-");r=v(n,l,t.size),A.push((0,i.qO)(o()((m(c={},r,t.size||""===t.size),m(c,"order".concat(d).concat(t.order),t.order||0===t.order),m(c,"offset".concat(d).concat(t.offset),t.offset||0===t.offset),c))),s)}else r=v(n,l,t),A.push(r)}}));var N=f||A.length,w=!(p||N),y=(0,i.qO)(o()(l,!!t&&"visually-hidden",!!p&&"form-check-label",!!f&&"col-form-label-".concat(f),A,!!N&&"col-form-label",!!w&&"form-label"),s);return a.createElement(g,d({htmlFor:j},b,{className:y}))}f.propTypes=p;const j=f}}]);
|
|
1
|
+
"use strict";(self.webpackChunkharperdb_studio=self.webpackChunkharperdb_studio||[]).push([[18],{4016:(e,l,s)=>{s.r(l),s.d(l,{default:()=>I});var a=s(9950),t=s(7176),r=s(6114),n=s(1646),o=s(5488),i=s(3452),c=s(6359),d=s(7348),m=s(6713),u=s(4084),x=s(8156),h=s(6685),g=s(1340),p=s(877),v=s(135),f=s(9435),j=s(2231),b=s(5269),A=s(5553),N=s(5996),w=s(127);var y=s(7209),O=s(4414);const S=function(e){let{onRowClick:l,level:s,timestamp:a,message:n,tags:o,thread:i}=e;return(0,O.jsxs)(t.A,{xs:"12",md:"12",className:"item-row",onClick:l,children:[(0,O.jsx)(r.A,{xs:"2",md:"1",className:`text-nowrap ${null===s||void 0===s?void 0:s.toLowerCase()}`,children:(null===s||void 0===s?void 0:s.toUpperCase())||"UNKNOWN"}),(0,O.jsx)(r.A,{xs:"2",md:"2",lg:"1",children:new Date(a||null).toLocaleDateString()}),(0,O.jsx)(r.A,{xs:"2",md:"2",lg:"1",children:new Date(a||null).toLocaleTimeString()}),(0,O.jsx)(r.A,{xs:"2",md:"1",lg:"1",children:i}),(0,O.jsx)(r.A,{xs:"2",md:"2",lg:"1",children:null===o||void 0===o?void 0:o.join(", ")}),(0,O.jsx)(r.A,{xs:"2",md:"4",lg:"7",children:(0,y.A)(n)&&n.error?n.error:(0,O.jsx)("pre",{children:(0,O.jsx)("code",{children:n})})})]})};var k=s(3150),L=s(3628);let C;const F=async e=>{let{auth:l,url:s,logsFilter:a}=e;C=new AbortController,await(async e=>{let{auth:l,url:s,signal:a,logsFilter:t}=e;const r=await(0,w.A)({operation:{operation:"read_log",start:0,...t,order:"desc"},auth:l,url:s,signal:a});return b.A.update((e=>{e.logs=r.error?[]:(null===r||void 0===r?void 0:r.filter((e=>e.message)))||[],e.logsError=!1}))})({auth:l,url:s,signal:C.signal,logsFilter:a})};const T=function(e){var l,s,n,o,c;let{logsFilter:d}=e;const{compute_stack_id:w}=(0,j.g)(),y=(0,m.O$)(b.A,(e=>e.auth)),T=(0,m.O$)(b.A,(e=>e.url)),D=(0,m.O$)(b.A,(e=>e.logs),[w]),I=(0,m.O$)(b.A,(e=>e.logsError)),E=(0,m.O$)(A.A,(e=>e.theme)),[U,z]=(0,a.useState)(!1),[P,R]=(0,a.useState)(!0),[$,_]=(0,a.useState)(!0),[M,V]=(0,a.useState)(!1),[W,q]=(0,a.useState)({}),G=()=>V(!M);return(0,a.useEffect)((()=>(y&&(R(!0),F({auth:y,url:T,logsFilter:d}),R(!1)),()=>{var e;null===(e=C)||void 0===e||e.abort()})),[y,$,d]),(0,v.A)((()=>y&&U&&_(Date.now())),N.A.refresh_content_interval),(0,O.jsxs)(f.tH,{onError:(e,l)=>(0,L.A)({error:{message:e.message,componentStack:l}}),FallbackComponent:k.A,children:[(0,O.jsxs)(t.A,{className:"floating-card-header",children:[(0,O.jsx)(r.A,{children:"logs"}),(0,O.jsxs)(r.A,{className:"text-end",children:[(0,O.jsx)(i.A,{color:"link",title:"Update Logs",className:"me-2",onClick:()=>_(Date.now()),children:(0,O.jsx)("i",{className:"fa "+(P?"fa-spinner fa-spin":"fa-sync-alt")})}),(0,O.jsxs)(i.A,{color:"link",title:"Turn on auto refresh",onClick:()=>z(!U),children:[(0,O.jsx)("span",{className:"me-2",children:"auto"}),(0,O.jsx)("i",{className:"fa fa-lg fa-toggle-"+(U?"on":"off")})]})]})]}),(0,O.jsx)(u.A,{className:"my-3",children:(0,O.jsxs)(x.A,{className:"item-list",children:[(0,O.jsxs)(t.A,{xs:"12",md:"12",className:"header",children:[(0,O.jsx)(r.A,{xs:"2",md:"1",className:"text-bold text-nowrap",children:"Status"}),(0,O.jsx)(r.A,{xs:"2",md:"2",lg:"1",className:"text-bold text-nowrap",children:"Date"}),(0,O.jsx)(r.A,{xs:"2",md:"2",lg:"1",className:"text-left text-bold text-nowrap",children:!P&&I?(0,O.jsxs)("span",{className:"text-danger",children:["log fetch error: ",(new Date).toLocaleTimeString().toLowerCase()]}):(0,O.jsx)("span",{children:"Time"})}),(0,O.jsx)(r.A,{xs:"2",md:"1",lg:"1",className:"text-bold text-nowrap",children:"Thread"}),(0,O.jsx)(r.A,{xs:"2",md:"2",lg:"1",className:"text-bold text-nowrap",children:"Tags"}),(0,O.jsx)(r.A,{xs:"2",md:"3",lg:"7",className:"text-bold text-nowrap",children:"Message"})]}),(0,O.jsx)("hr",{className:"mt-1 mb-0"}),(0,O.jsx)("div",{className:"item-scroller",children:!P||D||U?D&&D.length?D.map(((e,l)=>(0,O.jsx)(S,{level:e.level,timestamp:e.timestamp,message:e.message,tags:e.tags,thread:e.thread,onRowClick:()=>{q(e),G()}},e.timestamp+l))):D&&!D.length?(0,O.jsx)("div",{className:"pt-5 text-center",children:"no logs found"}):(0,O.jsx)("div",{className:"pt-5 text-center",children:"no logs found in this view"}):(0,O.jsx)("div",{className:"pt-5 text-center",children:(0,O.jsx)("i",{className:"fa fa-spinner fa-spin text-lightgrey"})})})]})}),(0,O.jsx)("br",{}),(0,O.jsxs)(h.A,{isOpen:M,className:E,centered:!0,fade:!1,id:"log-info-modal",children:[(0,O.jsx)(g.A,{toggle:G,children:"View Log Info"}),(0,O.jsx)(p.A,{children:W&&(0,O.jsxs)("div",{children:[(0,O.jsxs)("p",{children:[(0,O.jsx)("b",{children:"Level:"})," ",(0,O.jsx)("span",{className:`${null===W||void 0===W||null===(l=W.level)||void 0===l?void 0:l.toLowerCase()}`,children:null===W||void 0===W||null===(s=W.level)||void 0===s?void 0:s.toUpperCase()})]}),(0,O.jsx)("p",{className:"mb-1",children:(0,O.jsx)("b",{children:"Timestamp(UTC):"})}),(0,O.jsx)("span",{children:null===W||void 0===W?void 0:W.timestamp}),(0,O.jsxs)("p",{className:"mt-4",children:[(0,O.jsx)("b",{children:"Thread:"})," ",null===W||void 0===W?void 0:W.thread]}),(0,O.jsxs)("p",{children:[(0,O.jsx)("b",{children:"Tags:"})," ",null===W||void 0===W||null===(n=W.tags)||void 0===n?void 0:n.join(", ")]}),(0,O.jsx)("p",{className:"mb-2",children:(0,O.jsx)("b",{children:"Message:"})}),(0,O.jsx)("pre",{children:null!==W&&void 0!==W&&null!==(o=W.message)&&void 0!==o&&o.error?null===W||void 0===W||null===(c=W.message)||void 0===c?void 0:c.error:null===W||void 0===W?void 0:W.message})]})})]})]})},D={limit:1e3,level:void 0,from:void 0,until:void 0};const I=function(){const[e,l]=(0,a.useState)(D),s=(0,a.useRef)(),m=(0,a.useRef)(),u=(0,a.useRef)(),x=(0,d.MW)();return(0,O.jsxs)(t.A,{id:"logs",children:[(0,O.jsxs)(r.A,{lg:"2",xs:"12",children:[(0,O.jsx)("h2",{className:"mb-3 filters-header",children:"Log Filters"}),(0,O.jsx)("form",{onSubmit:e=>{var s,a;(e.preventDefault(),s=e.target.elements.logFromInput.value,a=e.target.elements.logUntilInput.value,!s&&!a||!s||!a||new Date(s)<=new Date(a))?l({limit:parseInt(e.target.elements.logLimitSelect.value,10)||1e3,level:e.target.elements.logLevelSelect.value||void 0,from:e.target.elements.logFromInput.value||void 0,until:e.target.elements.logUntilInput.value||void 0}):x.error("Please provide a valid date range.")},onReset:()=>{s.current.reset(),m.current.clearValue(),u.current.clearValue(),l(D)},ref:s,children:(0,O.jsxs)(t.A,{children:[(0,O.jsx)(r.A,{xs:"6",lg:"12",className:"mb-3",children:(0,O.jsx)(c.Ay,{name:"logLimitSelect",isSearchable:!1,className:"react-select-container",classNamePrefix:"react-select",ref:m,placeholder:"Log Limit",options:[{value:1e3,label:"1000"},{value:500,label:"500"},{value:250,label:"250"},{value:100,label:"100"},{value:10,label:"10"}]})}),(0,O.jsx)(r.A,{xs:"6",lg:"12",className:"mb-3",children:(0,O.jsx)(c.Ay,{name:"logLevelSelect",isSearchable:!1,className:"react-select-container",classNamePrefix:"react-select",ref:u,placeholder:"Log Level",defaultValue:null,options:[{value:null,label:"All"},{value:"notify",label:"Notify"},{value:"error",label:"Error"},{value:"warn",label:"Warn"},{value:"info",label:"Info"},{value:"debug",label:"Debug"},{value:"trace",label:"Trace"}]})}),(0,O.jsxs)(r.A,{xs:"8",lg:"12",className:"mb-3",children:[(0,O.jsx)(n.A,{htmlFor:"logFromInput",className:"input-label",children:"Start Date:"}),(0,O.jsx)(o.A,{name:"logFromInput",type:"datetime-local"})]}),(0,O.jsxs)(r.A,{xs:"8",lg:"12",className:"mb-3",children:[(0,O.jsx)(n.A,{htmlFor:"logUntilInput",className:"input-label",children:"End Date:"}),(0,O.jsx)(o.A,{name:"logUntilInput",type:"datetime-local"})]}),(0,O.jsx)(r.A,{xs:"6",lg:"12",className:"mb-3",children:(0,O.jsx)(i.A,{type:"submit",className:"btn btn-purple px-4 w-100",children:"Apply"})}),(0,O.jsx)(r.A,{xs:"6",lg:"12",className:"mb-3",children:(0,O.jsx)(i.A,{type:"reset",className:"btn btn-purple px-4 w-100",children:"Reset"})})]})})]}),(0,O.jsx)(r.A,{lg:"10",xs:"12",children:(0,O.jsx)(T,{logsFilter:e})})]})}},7209:(e,l,s)=>{s.d(l,{A:()=>a});const a=e=>"object"===typeof e&&!Array.isArray(e)&&null!==e},1646:(e,l,s)=>{s.d(l,{A:()=>j});var a=s(9950),t=s(1942),r=s.n(t),n=s(8738),o=s.n(n),i=s(1497),c=["className","cssModule","hidden","widths","tag","check","size","for"];function d(){return d=Object.assign?Object.assign.bind():function(e){for(var l=1;l<arguments.length;l++){var s=arguments[l];for(var a in s)Object.prototype.hasOwnProperty.call(s,a)&&(e[a]=s[a])}return e},d.apply(this,arguments)}function m(e,l,s){return l in e?Object.defineProperty(e,l,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[l]=s,e}function u(e,l){if(null==e)return{};var s,a,t=function(e,l){if(null==e)return{};var s,a,t={},r=Object.keys(e);for(a=0;a<r.length;a++)s=r[a],l.indexOf(s)>=0||(t[s]=e[s]);return t}(e,l);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(a=0;a<r.length;a++)s=r[a],l.indexOf(s)>=0||Object.prototype.propertyIsEnumerable.call(e,s)&&(t[s]=e[s])}return t}var x=["xs","sm","md","lg","xl","xxl"],h=r().oneOfType([r().number,r().string]),g=r().oneOfType([r().bool,r().string,r().number,r().shape({size:h,order:h,offset:h})]),p={children:r().node,hidden:r().bool,check:r().bool,size:r().string,for:r().string,tag:i.Wx,className:r().string,cssModule:r().object,xs:g,sm:g,md:g,lg:g,xl:g,xxl:g,widths:r().array},v=function(e,l,s){return!0===s||""===s?e?"col":"col-".concat(l):"auto"===s?e?"col-auto":"col-".concat(l,"-auto"):e?"col-".concat(s):"col-".concat(l,"-").concat(s)};function f(e){var l=e.className,s=e.cssModule,t=e.hidden,r=e.widths,n=void 0===r?x:r,h=e.tag,g=void 0===h?"label":h,p=e.check,f=e.size,j=e.for,b=u(e,c),A=[];n.forEach((function(l,a){var t=e[l];if(delete b[l],t||""===t){var r,n=!a;if((0,i.Gv)(t)){var c,d=n?"-":"-".concat(l,"-");r=v(n,l,t.size),A.push((0,i.qO)(o()((m(c={},r,t.size||""===t.size),m(c,"order".concat(d).concat(t.order),t.order||0===t.order),m(c,"offset".concat(d).concat(t.offset),t.offset||0===t.offset),c))),s)}else r=v(n,l,t),A.push(r)}}));var N=f||A.length,w=!(p||N),y=(0,i.qO)(o()(l,!!t&&"visually-hidden",!!p&&"form-check-label",!!f&&"col-form-label-".concat(f),A,!!N&&"col-form-label",!!w&&"form-label"),s);return a.createElement(g,d({htmlFor:j},b,{className:y}))}f.propTypes=p;const j=f}}]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";(self.webpackChunkharperdb_studio=self.webpackChunkharperdb_studio||[]).push([[522],{7591:(e,t,r)=>{r.r(t),r.d(t,{default:()=>P});var n=r(9950),o=r(1368),s=r(7176),i=r(6114),a=r(3452),l=r(4084),c=r(8156),u=r(6713),f=r(5269),p=r(9435),d=r(9708),m=r(5488),h=r(7348),y=r(2765),b=r(2415),g=r(6196),j=r(4414);const v=function(e){let{itemType:t,toggleDropItem:r,toggleCreate:l,baseUrl:c}=e;const{compute_stack_id:p,customer_id:v}=(0,o.g)(),x=(0,o.Zp)(),A=(0,h.MW)(),O=(0,u.O$)(f.A,(e=>e.auth)),w=(0,u.O$)(f.A,(e=>e.url)),N=(0,u.O$)(f.A,(e=>e.is_local)),_=(0,u.O$)(f.A,(e=>e.roles&&e.roles.map((e=>e.role)))),[k,R]=(0,n.useState)({});return(0,n.useEffect)((()=>{r()}),[r]),(0,j.jsx)(d.A,{onSubmit:async e=>{if(e.preventDefault(),!k.name)return R({...k,error:!0}),A.error("You must provide a role name");if(_.includes(k.name))return R({...k,error:!0}),A.error("Role with that name already exists");if(!(0,g.A)(k.name))return R({...k,error:!0}),A.error("Role names must have only letters and underscores");const r="cluster user"===t?{cluster_user:!0}:"super user"===t?{super_user:!0}:{},n=await(0,y.A)({auth:O,url:w,is_local:N,compute_stack_id:p,customer_id:v,role:k.name,permission:r});return n.error?(R({...k,error:!0}),A.error(n.message)):(R({}),await(0,b.A)({auth:O,url:w}),x(`${c}/${n.id}`))},children:(0,j.jsxs)(s.A,{className:"item-row form",children:[(0,j.jsx)(i.A,{className:"input-holder",children:(0,j.jsx)(m.A,{id:"name",invalid:k.error,onChange:e=>R({name:e.target.value.toString()}),type:"text",name:"name",placeholder:"name"})}),(0,j.jsxs)(i.A,{className:"item-action",children:[(0,j.jsx)(a.A,{id:"createRole",color:"success",className:"round me-1",children:(0,j.jsx)("i",{className:"fa fa-check text-white"})}),(0,j.jsx)(a.A,{color:"black",className:"round",onClick:()=>l(!1),children:(0,j.jsx)("i",{className:"fa fa-times text-white"})})]})]})})};var x=r(127);const A=function(e){let{item:t,baseUrl:r,isActive:l,toggleDropItem:c,isDropping:p}=e;const d=(0,o.Zp)(),m=(0,h.MW)(),[y,g]=(0,n.useState)(!1),v=(0,u.O$)(f.A,(e=>e.auth)),A=(0,u.O$)(f.A,(e=>e.url)),O=async()=>{if(!y)return!1;const e=await(async e=>{let{auth:t,id:r,url:n}=e;return(0,x.A)({operation:{operation:"drop_role",id:r},auth:t,url:n})})({auth:v,url:A,id:t.id});return e.error?m.error(e.message):((0,b.A)({auth:v,url:A}),!!l&&setTimeout((()=>d(r)),100))};return(0,j.jsxs)(s.A,{className:"item-row "+(l?"active":""),onClick:()=>!(l||p||y)&&d(`${r}/${t.id}`),children:[(0,j.jsx)(i.A,{className:"item-label "+(y?"text-danger text-nowrap":""),children:y?`drop ${t.role}?`:t.role}),(0,j.jsx)(i.A,{className:"item-action",children:y?(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(a.A,{id:"confirmDropRole",color:"danger",className:"round me-1",title:`confirm drop ${t.role}`,onClick:()=>{g(!1),O()},children:(0,j.jsx)("i",{className:"fa fa-check text-white"})}),(0,j.jsx)(a.A,{color:"black",className:"round",title:`Cancel drop ${t.role}`,onClick:()=>{g(!1)},children:(0,j.jsx)("i",{className:"fa fa-times text-white"})})]}):p?(0,j.jsx)(a.A,{id:`drop${t.role}`,color:"danger",className:"round",title:`Drop ${t.role}`,onClick:()=>{g(t),c(!1)},children:(0,j.jsx)("i",{className:"fa fa-minus text-white"})}):l?(0,j.jsx)(a.A,{color:"purple",className:"round",title:`Viewing ${t.role}`,children:(0,j.jsx)("i",{className:"fa fa-chevron-right"})}):null})]},t)};const O=function(e){let{items:t,itemType:r,toggleDropItem:n,isDropping:o,toggleCreate:l,isCreating:c,showForm:u}=e;return(0,j.jsxs)(s.A,{className:"floating-card-header",children:[(0,j.jsxs)(i.A,{children:[r,"s"]}),u&&t&&t.length?(0,j.jsxs)(i.A,{className:"text-end",children:[(0,j.jsx)(a.A,{color:"link",title:`Remove ${r}s`,className:"add-remove me-3",onClick:()=>{n(!o),l(!1)},children:(0,j.jsx)("i",{className:"fa fa-minus"})}),(0,j.jsx)(a.A,{color:"link",title:`Add ${r}`,className:"add-remove me-1",onClick:()=>{l(!c),n(!1)},children:(0,j.jsx)("i",{className:"fa fa-plus"})})]}):null]})};var w=r(3150),N=r(3628);const _=function(e){let{items:t,activeItem:r,showForm:o,baseUrl:s,itemType:i}=e;const[a,u]=(0,n.useState)(!1),[f,d]=(0,n.useState)(!1);(0,n.useEffect)((()=>{d(),u()}),[r,t]);const m=t&&[...t].sort(((e,t)=>e.role<t.role?-1:1));return(0,j.jsx)(p.tH,{onError:(e,t)=>(0,N.A)({error:{message:e.message,componentStack:t}}),FallbackComponent:w.A,children:(0,j.jsxs)("div",{className:"entity-manager",children:[(0,j.jsx)(O,{items:t,itemType:i,isDropping:a,toggleDropItem:u,isCreating:f,toggleCreate:d,showForm:o}),(0,j.jsx)(l.A,{className:"my-3",children:(0,j.jsxs)(c.A,{children:[m&&m.length?m.map((e=>(0,j.jsx)(A,{item:e,baseUrl:s,isActive:r===e.id,isDropping:a,toggleDropItem:u},e.id))):null,(t&&!t.length||f)&&(0,j.jsx)(v,{itemType:i,baseUrl:s,isDropping:a,toggleDropItem:u,isCreating:f,toggleCreate:d})]})})]})})};var k=r(4979),R=r(717);const S=(0,n.lazy)((()=>Promise.all([r.e(239),r.e(831)]).then(r.bind(r,3109)))),C={roleName:!1,canEdit:!1,superUsers:[],clusterUsers:[],standardUsers:[],showAttributes:!1};const P=function(){const{role_id:e,customer_id:t}=(0,o.g)(),r=(0,u.O$)(f.A,(e=>e.compute_stack_id)),p=(0,u.O$)(f.A,(e=>e.auth)),d=(0,u.O$)(f.A,(e=>e.url)),m=(0,u.O$)(f.A,(e=>e.roles),[r]),[h,y]=(0,n.useState)(!1),[g,v]=(0,n.useState)(C),x=`/o/${t}/i/${r}/roles`,A=(0,u.O$)(f.A,(e=>{var t;return null===(t=e.registration)||void 0===t?void 0:t.version})),[O,w]=(null===A||void 0===A?void 0:A.split("."))||[],N=parseFloat(`${O}.${w}`),P=(0,n.useCallback)((async()=>{y(!0),await(0,b.A)({auth:p,url:d}),await(0,R.A)({auth:p,url:d}),y(!1)}),[p,d]);return(0,n.useEffect)((()=>{if(m){const t=e&&m.find((t=>t.id===e));v({...g,roleName:t&&t.role,canEdit:t&&!t.permission.cluster_user&&!t.permission.super_user,clusterUsers:m.filter((e=>e.permission.cluster_user)),superUsers:m.filter((e=>e.permission.super_user)),standardUsers:m.filter((e=>!e.permission.super_user&&!e.permission.cluster_user)),showAttributes:!1})}else v(C)}),[e,m]),(0,n.useEffect)((()=>{P()}),[P,r]),(0,j.jsxs)(s.A,{id:"roles",children:[(0,j.jsxs)(i.A,{xl:"3",lg:"4",md:"5",xs:"12",children:[(0,j.jsx)(_,{showForm:!0,activeItem:e,items:g.superUsers,baseUrl:x,itemType:"super user"}),(0,j.jsx)(_,{showForm:!0,activeItem:e,items:g.clusterUsers,baseUrl:x,itemType:"cluster user"}),(0,j.jsx)(_,{showForm:!0,activeItem:e,items:g.standardUsers,baseUrl:x,itemType:"standard role"})]}),(0,j.jsxs)(i.A,{xl:"9",lg:"8",md:"7",xs:"12",children:[(0,j.jsxs)(s.A,{className:"floating-card-header",children:[g.canEdit&&(0,j.jsxs)(i.A,{children:["edit role > ",g.roleName]}),(0,j.jsxs)(i.A,{className:"text-md-end",children:[g.canEdit&&(0,j.jsxs)(j.Fragment,{children:[(0,j.jsxs)(a.A,{color:"link",tabIndex:"0",title:"Show Attributes",onClick:()=>v({...g,showAttributes:!g.showAttributes}),children:[(0,j.jsx)("span",{className:"me-2",children:"show all attributes"}),(0,j.jsx)("i",{className:"fa fa-lg fa-toggle-"+(g.showAttributes?"on":"off")})]}),(0,j.jsx)("span",{className:"mx-3 text",children:"|"})]}),(0,j.jsxs)(a.A,{color:"link",onClick:P,className:"me-2",children:[(0,j.jsx)("span",{className:"me-2",children:"refresh roles"}),(0,j.jsx)("i",{title:"Refresh Roles",className:"fa "+(h?"fa-spinner fa-spin":"fa-sync-alt")})]})]})]}),g.canEdit?(0,j.jsx)(l.A,{className:"my-3",children:(0,j.jsx)(c.A,{className:"full-height",children:(0,j.jsx)(n.Suspense,{fallback:(0,j.jsx)(k.A,{header:" ",spinner:!0}),children:(0,j.jsx)(S,{showAttributes:g.showAttributes,fetchRoles:P})})})}):(0,j.jsx)(l.A,{className:"my-3",children:(0,j.jsx)(c.A,{children:e?(0,j.jsxs)("div",{className:"empty-prompt",children:["Super Users and Cluster Users have full access to all"," ",N>=4.2?"databases":"schemas",", tables, and attributes."]}):(0,j.jsx)("div",{className:"empty-prompt",children:"Please choose or add a role to manage it."})})})]})]})}},2765:(e,t,r)=>{r.d(t,{A:()=>o});var n=r(127);const o=async e=>{let{auth:t,url:r,role:o,permission:s}=e;return(0,n.A)({operation:{operation:"add_role",role:o,permission:s},auth:t,url:r})}},2415:(e,t,r)=>{r.d(t,{A:()=>s});var n=r(127),o=r(5269);const s=async e=>{let{auth:t,url:r}=e;const s=await(0,n.A)({operation:{operation:"list_roles"},auth:t,url:r}),i=[...Array.isArray(s)?s:[]].sort(((e,t)=>e.role.toLowerCase()>t.role.toLowerCase()?1:-1));return o.A.update((e=>{e.roles=i})),i}},6196:(e,t,r)=>{r.d(t,{A:()=>n});const n=e=>e.match(/^[a-zA-Z_]+$/)},9708:(e,t,r)=>{r.d(t,{A:()=>g});var n=r(9950),o=r(1942),s=r.n(o),i=r(1497);function a(e){return a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},a(e)}var l=["className","cssModule","tag","innerRef"];function c(){return c=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},c.apply(this,arguments)}function u(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},s=Object.keys(e);for(n=0;n<s.length;n++)r=s[n],t.indexOf(r)>=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(n=0;n<s.length;n++)r=s[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}function f(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function p(e,t){return p=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},p(e,t)}function d(e){var t=function(){if("undefined"===typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"===typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var r,n=h(e);if(t){var o=h(this).constructor;r=Reflect.construct(n,arguments,o)}else r=n.apply(this,arguments);return function(e,t){if(t&&("object"===a(t)||"function"===typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return m(e)}(this,r)}}function m(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function h(e){return h=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},h(e)}var y={children:s().node,tag:i.Wx,innerRef:s().oneOfType([s().object,s().func,s().string]),className:s().string,cssModule:s().object},b=function(e){!function(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&p(e,t)}(a,e);var t,r,o,s=d(a);function a(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,a),(t=s.call(this,e)).getRef=t.getRef.bind(m(t)),t.submit=t.submit.bind(m(t)),t}return t=a,(r=[{key:"getRef",value:function(e){this.props.innerRef&&this.props.innerRef(e),this.ref=e}},{key:"submit",value:function(){this.ref&&this.ref.submit()}},{key:"render",value:function(){var e=this.props,t=e.className,r=e.cssModule,o=e.tag,s=void 0===o?"form":o,a=e.innerRef,f=u(e,l),p=(0,i.qO)(t,r);return n.createElement(s,c({},f,{ref:a,className:p}))}}])&&f(t.prototype,r),o&&f(t,o),Object.defineProperty(t,"prototype",{writable:!1}),a}(n.Component);b.propTypes=y;const g=b},5488:(e,t,r)=>{r.d(t,{A:()=>v});var n=r(9950),o=r(1942),s=r.n(o),i=r(8738),a=r.n(i),l=r(1497);function c(e){return c="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},c(e)}var u=["className","cssModule","type","bsSize","valid","invalid","tag","addon","plaintext","innerRef"];function f(){return f=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},f.apply(this,arguments)}function p(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},s=Object.keys(e);for(n=0;n<s.length;n++)r=s[n],t.indexOf(r)>=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(n=0;n<s.length;n++)r=s[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}function d(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function m(e,t){return m=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},m(e,t)}function h(e){var t=function(){if("undefined"===typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"===typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var r,n=b(e);if(t){var o=b(this).constructor;r=Reflect.construct(n,arguments,o)}else r=n.apply(this,arguments);return function(e,t){if(t&&("object"===c(t)||"function"===typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return y(e)}(this,r)}}function y(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function b(e){return b=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},b(e)}var g={children:s().node,type:s().string,size:s().oneOfType([s().number,s().string]),bsSize:s().string,valid:s().bool,invalid:s().bool,tag:l.Wx,innerRef:s().oneOfType([s().object,s().func,s().string]),plaintext:s().bool,addon:s().bool,className:s().string,cssModule:s().object},j=function(e){!function(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&m(e,t)}(i,e);var t,r,o,s=h(i);function i(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,i),(t=s.call(this,e)).getRef=t.getRef.bind(y(t)),t.focus=t.focus.bind(y(t)),t}return t=i,(r=[{key:"getRef",value:function(e){this.props.innerRef&&this.props.innerRef(e),this.ref=e}},{key:"focus",value:function(){this.ref&&this.ref.focus()}},{key:"render",value:function(){var e=this.props,t=e.className,r=e.cssModule,o=e.type,s=void 0===o?"text":o,i=e.bsSize,c=e.valid,d=e.invalid,m=e.tag,h=e.addon,y=e.plaintext,b=e.innerRef,g=p(e,u),j=["switch","radio","checkbox"].indexOf(s)>-1,v="select"===s,x="range"===s,A=m||(v||"textarea"===s?s:"input"),O="form-control";y?(O="".concat(O,"-plaintext"),A=m||"input"):x?O="form-range":v?O="form-select":j&&(O=h?null:"form-check-input"),g.size&&/\D/g.test(g.size)&&((0,l.mc)('Please use the prop "bsSize" instead of the "size" to bootstrap\'s input sizing.'),i=g.size,delete g.size);var w=(0,l.qO)(a()(t,d&&"is-invalid",c&&"is-valid",!!i&&(v?"form-select-".concat(i):"form-control-".concat(i)),O),r);return("input"===A||m&&"function"===typeof m)&&(g.type="switch"===s?"checkbox":s),g.children&&!y&&"select"!==s&&"string"===typeof A&&"select"!==A&&((0,l.mc)('Input with a type of "'.concat(s,'" cannot have children. Please use "value"/"defaultValue" instead.')),delete g.children),n.createElement(A,f({},g,{ref:b,className:w,"aria-invalid":d}))}}])&&d(t.prototype,r),o&&d(t,o),Object.defineProperty(t,"prototype",{writable:!1}),i}(n.Component);j.propTypes=g;const v=j}}]);
|
|
1
|
+
"use strict";(self.webpackChunkharperdb_studio=self.webpackChunkharperdb_studio||[]).push([[522],{7591:(e,t,r)=>{r.r(t),r.d(t,{default:()=>P});var n=r(9950),o=r(2231),s=r(7176),i=r(6114),a=r(3452),l=r(4084),c=r(8156),u=r(6713),f=r(5269),p=r(9435),d=r(9708),m=r(5488),h=r(7348),y=r(2765),b=r(2415),g=r(6196),j=r(4414);const v=function(e){let{itemType:t,toggleDropItem:r,toggleCreate:l,baseUrl:c}=e;const{compute_stack_id:p,customer_id:v}=(0,o.g)(),x=(0,o.Zp)(),A=(0,h.MW)(),O=(0,u.O$)(f.A,(e=>e.auth)),w=(0,u.O$)(f.A,(e=>e.url)),N=(0,u.O$)(f.A,(e=>e.is_local)),_=(0,u.O$)(f.A,(e=>e.roles&&e.roles.map((e=>e.role)))),[k,R]=(0,n.useState)({});return(0,n.useEffect)((()=>{r()}),[r]),(0,j.jsx)(d.A,{onSubmit:async e=>{if(e.preventDefault(),!k.name)return R({...k,error:!0}),A.error("You must provide a role name");if(_.includes(k.name))return R({...k,error:!0}),A.error("Role with that name already exists");if(!(0,g.A)(k.name))return R({...k,error:!0}),A.error("Role names must have only letters and underscores");const r="cluster user"===t?{cluster_user:!0}:"super user"===t?{super_user:!0}:{},n=await(0,y.A)({auth:O,url:w,is_local:N,compute_stack_id:p,customer_id:v,role:k.name,permission:r});return n.error?(R({...k,error:!0}),A.error(n.message)):(R({}),await(0,b.A)({auth:O,url:w}),x(`${c}/${n.id}`))},children:(0,j.jsxs)(s.A,{className:"item-row form",children:[(0,j.jsx)(i.A,{className:"input-holder",children:(0,j.jsx)(m.A,{id:"name",invalid:k.error,onChange:e=>R({name:e.target.value.toString()}),type:"text",name:"name",placeholder:"name"})}),(0,j.jsxs)(i.A,{className:"item-action",children:[(0,j.jsx)(a.A,{id:"createRole",color:"success",className:"round me-1",children:(0,j.jsx)("i",{className:"fa fa-check text-white"})}),(0,j.jsx)(a.A,{color:"black",className:"round",onClick:()=>l(!1),children:(0,j.jsx)("i",{className:"fa fa-times text-white"})})]})]})})};var x=r(127);const A=function(e){let{item:t,baseUrl:r,isActive:l,toggleDropItem:c,isDropping:p}=e;const d=(0,o.Zp)(),m=(0,h.MW)(),[y,g]=(0,n.useState)(!1),v=(0,u.O$)(f.A,(e=>e.auth)),A=(0,u.O$)(f.A,(e=>e.url)),O=async()=>{if(!y)return!1;const e=await(async e=>{let{auth:t,id:r,url:n}=e;return(0,x.A)({operation:{operation:"drop_role",id:r},auth:t,url:n})})({auth:v,url:A,id:t.id});return e.error?m.error(e.message):((0,b.A)({auth:v,url:A}),!!l&&setTimeout((()=>d(r)),100))};return(0,j.jsxs)(s.A,{className:"item-row "+(l?"active":""),onClick:()=>!(l||p||y)&&d(`${r}/${t.id}`),children:[(0,j.jsx)(i.A,{className:"item-label "+(y?"text-danger text-nowrap":""),children:y?`drop ${t.role}?`:t.role}),(0,j.jsx)(i.A,{className:"item-action",children:y?(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(a.A,{id:"confirmDropRole",color:"danger",className:"round me-1",title:`confirm drop ${t.role}`,onClick:()=>{g(!1),O()},children:(0,j.jsx)("i",{className:"fa fa-check text-white"})}),(0,j.jsx)(a.A,{color:"black",className:"round",title:`Cancel drop ${t.role}`,onClick:()=>{g(!1)},children:(0,j.jsx)("i",{className:"fa fa-times text-white"})})]}):p?(0,j.jsx)(a.A,{id:`drop${t.role}`,color:"danger",className:"round",title:`Drop ${t.role}`,onClick:()=>{g(t),c(!1)},children:(0,j.jsx)("i",{className:"fa fa-minus text-white"})}):l?(0,j.jsx)(a.A,{color:"purple",className:"round",title:`Viewing ${t.role}`,children:(0,j.jsx)("i",{className:"fa fa-chevron-right"})}):null})]},t)};const O=function(e){let{items:t,itemType:r,toggleDropItem:n,isDropping:o,toggleCreate:l,isCreating:c,showForm:u}=e;return(0,j.jsxs)(s.A,{className:"floating-card-header",children:[(0,j.jsxs)(i.A,{children:[r,"s"]}),u&&t&&t.length?(0,j.jsxs)(i.A,{className:"text-end",children:[(0,j.jsx)(a.A,{color:"link",title:`Remove ${r}s`,className:"add-remove me-3",onClick:()=>{n(!o),l(!1)},children:(0,j.jsx)("i",{className:"fa fa-minus"})}),(0,j.jsx)(a.A,{color:"link",title:`Add ${r}`,className:"add-remove me-1",onClick:()=>{l(!c),n(!1)},children:(0,j.jsx)("i",{className:"fa fa-plus"})})]}):null]})};var w=r(3150),N=r(3628);const _=function(e){let{items:t,activeItem:r,showForm:o,baseUrl:s,itemType:i}=e;const[a,u]=(0,n.useState)(!1),[f,d]=(0,n.useState)(!1);(0,n.useEffect)((()=>{d(),u()}),[r,t]);const m=t&&[...t].sort(((e,t)=>e.role<t.role?-1:1));return(0,j.jsx)(p.tH,{onError:(e,t)=>(0,N.A)({error:{message:e.message,componentStack:t}}),FallbackComponent:w.A,children:(0,j.jsxs)("div",{className:"entity-manager",children:[(0,j.jsx)(O,{items:t,itemType:i,isDropping:a,toggleDropItem:u,isCreating:f,toggleCreate:d,showForm:o}),(0,j.jsx)(l.A,{className:"my-3",children:(0,j.jsxs)(c.A,{children:[m&&m.length?m.map((e=>(0,j.jsx)(A,{item:e,baseUrl:s,isActive:r===e.id,isDropping:a,toggleDropItem:u},e.id))):null,(t&&!t.length||f)&&(0,j.jsx)(v,{itemType:i,baseUrl:s,isDropping:a,toggleDropItem:u,isCreating:f,toggleCreate:d})]})})]})})};var k=r(4979),R=r(717);const S=(0,n.lazy)((()=>Promise.all([r.e(239),r.e(831)]).then(r.bind(r,3109)))),C={roleName:!1,canEdit:!1,superUsers:[],clusterUsers:[],standardUsers:[],showAttributes:!1};const P=function(){const{role_id:e,customer_id:t}=(0,o.g)(),r=(0,u.O$)(f.A,(e=>e.compute_stack_id)),p=(0,u.O$)(f.A,(e=>e.auth)),d=(0,u.O$)(f.A,(e=>e.url)),m=(0,u.O$)(f.A,(e=>e.roles),[r]),[h,y]=(0,n.useState)(!1),[g,v]=(0,n.useState)(C),x=`/o/${t}/i/${r}/roles`,A=(0,u.O$)(f.A,(e=>{var t;return null===(t=e.registration)||void 0===t?void 0:t.version})),[O,w]=(null===A||void 0===A?void 0:A.split("."))||[],N=parseFloat(`${O}.${w}`),P=(0,n.useCallback)((async()=>{y(!0),await(0,b.A)({auth:p,url:d}),await(0,R.A)({auth:p,url:d}),y(!1)}),[p,d]);return(0,n.useEffect)((()=>{if(m){const t=e&&m.find((t=>t.id===e));v({...g,roleName:t&&t.role,canEdit:t&&!t.permission.cluster_user&&!t.permission.super_user,clusterUsers:m.filter((e=>e.permission.cluster_user)),superUsers:m.filter((e=>e.permission.super_user)),standardUsers:m.filter((e=>!e.permission.super_user&&!e.permission.cluster_user)),showAttributes:!1})}else v(C)}),[e,m]),(0,n.useEffect)((()=>{P()}),[P,r]),(0,j.jsxs)(s.A,{id:"roles",children:[(0,j.jsxs)(i.A,{xl:"3",lg:"4",md:"5",xs:"12",children:[(0,j.jsx)(_,{showForm:!0,activeItem:e,items:g.superUsers,baseUrl:x,itemType:"super user"}),(0,j.jsx)(_,{showForm:!0,activeItem:e,items:g.clusterUsers,baseUrl:x,itemType:"cluster user"}),(0,j.jsx)(_,{showForm:!0,activeItem:e,items:g.standardUsers,baseUrl:x,itemType:"standard role"})]}),(0,j.jsxs)(i.A,{xl:"9",lg:"8",md:"7",xs:"12",children:[(0,j.jsxs)(s.A,{className:"floating-card-header",children:[g.canEdit&&(0,j.jsxs)(i.A,{children:["edit role > ",g.roleName]}),(0,j.jsxs)(i.A,{className:"text-md-end",children:[g.canEdit&&(0,j.jsxs)(j.Fragment,{children:[(0,j.jsxs)(a.A,{color:"link",tabIndex:"0",title:"Show Attributes",onClick:()=>v({...g,showAttributes:!g.showAttributes}),children:[(0,j.jsx)("span",{className:"me-2",children:"show all attributes"}),(0,j.jsx)("i",{className:"fa fa-lg fa-toggle-"+(g.showAttributes?"on":"off")})]}),(0,j.jsx)("span",{className:"mx-3 text",children:"|"})]}),(0,j.jsxs)(a.A,{color:"link",onClick:P,className:"me-2",children:[(0,j.jsx)("span",{className:"me-2",children:"refresh roles"}),(0,j.jsx)("i",{title:"Refresh Roles",className:"fa "+(h?"fa-spinner fa-spin":"fa-sync-alt")})]})]})]}),g.canEdit?(0,j.jsx)(l.A,{className:"my-3",children:(0,j.jsx)(c.A,{className:"full-height",children:(0,j.jsx)(n.Suspense,{fallback:(0,j.jsx)(k.A,{header:" ",spinner:!0}),children:(0,j.jsx)(S,{showAttributes:g.showAttributes,fetchRoles:P})})})}):(0,j.jsx)(l.A,{className:"my-3",children:(0,j.jsx)(c.A,{children:e?(0,j.jsxs)("div",{className:"empty-prompt",children:["Super Users and Cluster Users have full access to all"," ",N>=4.2?"databases":"schemas",", tables, and attributes."]}):(0,j.jsx)("div",{className:"empty-prompt",children:"Please choose or add a role to manage it."})})})]})]})}},2765:(e,t,r)=>{r.d(t,{A:()=>o});var n=r(127);const o=async e=>{let{auth:t,url:r,role:o,permission:s}=e;return(0,n.A)({operation:{operation:"add_role",role:o,permission:s},auth:t,url:r})}},2415:(e,t,r)=>{r.d(t,{A:()=>s});var n=r(127),o=r(5269);const s=async e=>{let{auth:t,url:r}=e;const s=await(0,n.A)({operation:{operation:"list_roles"},auth:t,url:r}),i=[...Array.isArray(s)?s:[]].sort(((e,t)=>e.role.toLowerCase()>t.role.toLowerCase()?1:-1));return o.A.update((e=>{e.roles=i})),i}},6196:(e,t,r)=>{r.d(t,{A:()=>n});const n=e=>e.match(/^[a-zA-Z_]+$/)},9708:(e,t,r)=>{r.d(t,{A:()=>g});var n=r(9950),o=r(1942),s=r.n(o),i=r(1497);function a(e){return a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},a(e)}var l=["className","cssModule","tag","innerRef"];function c(){return c=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},c.apply(this,arguments)}function u(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},s=Object.keys(e);for(n=0;n<s.length;n++)r=s[n],t.indexOf(r)>=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(n=0;n<s.length;n++)r=s[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}function f(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function p(e,t){return p=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},p(e,t)}function d(e){var t=function(){if("undefined"===typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"===typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var r,n=h(e);if(t){var o=h(this).constructor;r=Reflect.construct(n,arguments,o)}else r=n.apply(this,arguments);return function(e,t){if(t&&("object"===a(t)||"function"===typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return m(e)}(this,r)}}function m(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function h(e){return h=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},h(e)}var y={children:s().node,tag:i.Wx,innerRef:s().oneOfType([s().object,s().func,s().string]),className:s().string,cssModule:s().object},b=function(e){!function(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&p(e,t)}(a,e);var t,r,o,s=d(a);function a(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,a),(t=s.call(this,e)).getRef=t.getRef.bind(m(t)),t.submit=t.submit.bind(m(t)),t}return t=a,(r=[{key:"getRef",value:function(e){this.props.innerRef&&this.props.innerRef(e),this.ref=e}},{key:"submit",value:function(){this.ref&&this.ref.submit()}},{key:"render",value:function(){var e=this.props,t=e.className,r=e.cssModule,o=e.tag,s=void 0===o?"form":o,a=e.innerRef,f=u(e,l),p=(0,i.qO)(t,r);return n.createElement(s,c({},f,{ref:a,className:p}))}}])&&f(t.prototype,r),o&&f(t,o),Object.defineProperty(t,"prototype",{writable:!1}),a}(n.Component);b.propTypes=y;const g=b},5488:(e,t,r)=>{r.d(t,{A:()=>v});var n=r(9950),o=r(1942),s=r.n(o),i=r(8738),a=r.n(i),l=r(1497);function c(e){return c="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},c(e)}var u=["className","cssModule","type","bsSize","valid","invalid","tag","addon","plaintext","innerRef"];function f(){return f=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},f.apply(this,arguments)}function p(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},s=Object.keys(e);for(n=0;n<s.length;n++)r=s[n],t.indexOf(r)>=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(n=0;n<s.length;n++)r=s[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}function d(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function m(e,t){return m=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},m(e,t)}function h(e){var t=function(){if("undefined"===typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"===typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var r,n=b(e);if(t){var o=b(this).constructor;r=Reflect.construct(n,arguments,o)}else r=n.apply(this,arguments);return function(e,t){if(t&&("object"===c(t)||"function"===typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return y(e)}(this,r)}}function y(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function b(e){return b=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},b(e)}var g={children:s().node,type:s().string,size:s().oneOfType([s().number,s().string]),bsSize:s().string,valid:s().bool,invalid:s().bool,tag:l.Wx,innerRef:s().oneOfType([s().object,s().func,s().string]),plaintext:s().bool,addon:s().bool,className:s().string,cssModule:s().object},j=function(e){!function(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&m(e,t)}(i,e);var t,r,o,s=h(i);function i(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,i),(t=s.call(this,e)).getRef=t.getRef.bind(y(t)),t.focus=t.focus.bind(y(t)),t}return t=i,(r=[{key:"getRef",value:function(e){this.props.innerRef&&this.props.innerRef(e),this.ref=e}},{key:"focus",value:function(){this.ref&&this.ref.focus()}},{key:"render",value:function(){var e=this.props,t=e.className,r=e.cssModule,o=e.type,s=void 0===o?"text":o,i=e.bsSize,c=e.valid,d=e.invalid,m=e.tag,h=e.addon,y=e.plaintext,b=e.innerRef,g=p(e,u),j=["switch","radio","checkbox"].indexOf(s)>-1,v="select"===s,x="range"===s,A=m||(v||"textarea"===s?s:"input"),O="form-control";y?(O="".concat(O,"-plaintext"),A=m||"input"):x?O="form-range":v?O="form-select":j&&(O=h?null:"form-check-input"),g.size&&/\D/g.test(g.size)&&((0,l.mc)('Please use the prop "bsSize" instead of the "size" to bootstrap\'s input sizing.'),i=g.size,delete g.size);var w=(0,l.qO)(a()(t,d&&"is-invalid",c&&"is-valid",!!i&&(v?"form-select-".concat(i):"form-control-".concat(i)),O),r);return("input"===A||m&&"function"===typeof m)&&(g.type="switch"===s?"checkbox":s),g.children&&!y&&"select"!==s&&"string"===typeof A&&"select"!==A&&((0,l.mc)('Input with a type of "'.concat(s,'" cannot have children. Please use "value"/"defaultValue" instead.')),delete g.children),n.createElement(A,f({},g,{ref:b,className:w,"aria-invalid":d}))}}])&&d(t.prototype,r),o&&d(t,o),Object.defineProperty(t,"prototype",{writable:!1}),i}(n.Component);j.propTypes=g;const v=j}}]);
|