harperdb 4.5.2 → 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.
Files changed (49) hide show
  1. package/README.md +1 -1
  2. package/bin/harperdb.js +2 -2
  3. package/bin/lite.js +2 -2
  4. package/launchServiceScripts/launchNatsIngestService.js +2 -2
  5. package/launchServiceScripts/launchNatsReplyService.js +2 -2
  6. package/launchServiceScripts/launchUpdateNodes4-0-0.js +2 -2
  7. package/npm-shrinkwrap.json +75 -66
  8. package/package.json +2 -1
  9. package/server/jobs/jobProcess.js +2 -2
  10. package/server/threads/threadServer.js +2 -2
  11. package/studio/build-local/asset-manifest.json +34 -34
  12. package/studio/build-local/index.html +1 -1
  13. package/studio/build-local/static/js/{164.f552d832.chunk.js → 164.13a1ca36.chunk.js} +1 -1
  14. package/studio/build-local/static/js/{833.5847bc85.chunk.js → 833.0adf7923.chunk.js} +1 -1
  15. package/studio/build-local/static/js/86.5d79defb.chunk.js +2 -0
  16. package/studio/build-local/static/js/{browse-csvupload.97e20c4a.chunk.js → browse-csvupload.aceb2454.chunk.js} +1 -1
  17. package/studio/build-local/static/js/{browse-datatable.339fb83c.chunk.js → browse-datatable.170a2dc3.chunk.js} +1 -1
  18. package/studio/build-local/static/js/{browse-entitymanager.fd37a083.chunk.js → browse-entitymanager.bab20377.chunk.js} +1 -1
  19. package/studio/build-local/static/js/{browse-jsonviewer.f57cc39c.chunk.js → browse-jsonviewer.62991eaa.chunk.js} +1 -1
  20. package/studio/build-local/static/js/{custom-functions.f682aa33.chunk.js → custom-functions.fc08c212.chunk.js} +1 -1
  21. package/studio/build-local/static/js/{instance-cluster.e2dba73f.chunk.js → instance-cluster.b1cecd22.chunk.js} +1 -1
  22. package/studio/build-local/static/js/{instance-config.4e2c4644.chunk.js → instance-config.3b4c8bb2.chunk.js} +1 -1
  23. package/studio/build-local/static/js/{instance-logs.bcec2256.chunk.js → instance-logs.7ffbdb78.chunk.js} +1 -1
  24. package/studio/build-local/static/js/{instance-roles.1ad69c74.chunk.js → instance-roles.0496670c.chunk.js} +1 -1
  25. package/studio/build-local/static/js/{instance-status.4e190908.chunk.js → instance-status.e1d264ed.chunk.js} +1 -1
  26. package/studio/build-local/static/js/{instance-users-datatable.4a2c57e4.chunk.js → instance-users-datatable.74be158e.chunk.js} +1 -1
  27. package/studio/build-local/static/js/{instance-users-edit.ecf717d1.chunk.js → instance-users-edit.f6546639.chunk.js} +1 -1
  28. package/studio/build-local/static/js/{instance-users.967796d9.chunk.js → instance-users.9f8c9ce8.chunk.js} +1 -1
  29. package/studio/build-local/static/js/{instance.809ece1e.chunk.js → instance.7f8bc10e.chunk.js} +1 -1
  30. package/studio/build-local/static/js/{instances.2eb16b86.chunk.js → instances.b9528378.chunk.js} +1 -1
  31. package/studio/build-local/static/js/{main.2384076c.js → main.055e9e0e.js} +2 -2
  32. package/studio/build-local/static/js/{offline-app.86377447.chunk.js → offline-app.2b3d559a.chunk.js} +1 -1
  33. package/studio/build-local/static/js/{online-app.e65f9ef3.chunk.js → online-app.75d38a43.chunk.js} +1 -1
  34. package/studio/build-local/static/js/{organization-billing.1c318ac1.chunk.js → organization-billing.eb5f253c.chunk.js} +1 -1
  35. package/studio/build-local/static/js/{organization-users.36a2ed5a.chunk.js → organization-users.6e22a1a5.chunk.js} +1 -1
  36. package/studio/build-local/static/js/{organization.9a81d022.chunk.js → organization.42c0f784.chunk.js} +1 -1
  37. package/studio/build-local/static/js/{organizations.af48c8e8.chunk.js → organizations.44dd3bd2.chunk.js} +1 -1
  38. package/studio/build-local/static/js/{profile.190afea3.chunk.js → profile.97200a91.chunk.js} +1 -1
  39. package/studio/build-local/static/js/{resetPassword.50fa5b91.chunk.js → resetPassword.a3406893.chunk.js} +1 -1
  40. package/studio/build-local/static/js/{roles-jsonviewer.b5d5a908.chunk.js → roles-jsonviewer.b6e22a22.chunk.js} +1 -1
  41. package/studio/build-local/static/js/{signIn.8fbf4021.chunk.js → signIn.6aa68409.chunk.js} +1 -1
  42. package/studio/build-local/static/js/{signUp.459d42df.chunk.js → signUp.1df9eab1.chunk.js} +1 -1
  43. package/studio/build-local/static/js/{structure-reloader.ceaf6675.chunk.js → structure-reloader.b808fbf1.chunk.js} +1 -1
  44. package/studio/build-local/static/js/{topnav.79dbd3ab.chunk.js → topnav.64ebd91d.chunk.js} +1 -1
  45. package/studio/build-local/static/js/{updatePassword.b05821cb.chunk.js → updatePassword.a3c0ffcf.chunk.js} +1 -1
  46. package/utility/scripts/restartHdb.js +2 -2
  47. package/studio/build-local/static/js/708.1805e937.chunk.js +0 -2
  48. /package/studio/build-local/static/js/{708.1805e937.chunk.js.LICENSE.txt → 86.5d79defb.chunk.js.LICENSE.txt} +0 -0
  49. /package/studio/build-local/static/js/{main.2384076c.js.LICENSE.txt → main.055e9e0e.js.LICENSE.txt} +0 -0
@@ -1 +1 @@
1
- "use strict";(self.webpackChunkharperdb_studio=self.webpackChunkharperdb_studio||[]).push([[541],{6812:(e,s,t)=>{t.r(s),t.d(s,{default:()=>M});var a=t(9950),r=t(7176),n=t(6114),l=t(6713),o=t(3452),i=t(4084),c=t(8156),d=t(9435),u=t(5269),m=t(127);const x=1e9,h=1073741824;var p=t(1652),j=t(3150),v=t(3628),A=t(4414);let f;const y=function(){const e=(0,l.O$)(u.A,(e=>e.auth)),s=(0,l.O$)(u.A,(e=>e.url)),t=(0,l.O$)(u.A,(e=>e.systemInfo)),y=(0,l.O$)(u.A,(e=>e.is_local)),[g,N]=(0,a.useState)(!(null!==t&&void 0!==t&&t.totalMemory)),w=async()=>{N(!0),f=new AbortController,await(async e=>{var s,t,a,r,n,l,o,i,c,d,p,j;let{auth:v,url:A,signal:f,refresh:y,is_local:g,cachedSystemInfo:N,skip:w=[]}=e;const k=["network","disk","cpu","memory","system"],b=await(0,m.A)({operation:{operation:"system_information",attributes:null!==w&&void 0!==w&&w.length?k.filter((e=>!w.includes(e))):k},auth:v,url:A,signal:f});if(b.error&&y)return u.A.update((e=>{e.systemInfoError=!0}));if(b.error)return u.A.update((e=>{e.systemInfo={totalMemory:"...",usedMemory:"...",freeMemory:"...",memoryStatus:"grey",totalDisk:"...",usedDisk:"...",freeDisk:"...",diskStatus:"grey",cpuInfo:"...",cpuCores:"...",cpuLoad:"...",cpuStatus:"grey",networkTransferred:"...",networkReceived:"...",networkLatency:"...",networkLatencyStatus:"grey"},e.systemInfoError=!0}));const S=w.includes("memory")?parseFloat(N.totalMemory):b.memory.total/h,_=w.includes("memory")?parseFloat(N.usedMemory):b.memory.active/h,C=w.includes("memory")?parseFloat(N.freeMemory):b.memory.available/h,F=w.includes("memory")?N.memoryStatus:C/S<.1?"danger":C/S<.25?"warning":"success",D=w.includes("disk")?parseFloat(N.totalDisk):"darwin"===b.system.platform?(null===(s=b.disk)||void 0===s||null===(t=s.size)||void 0===t?void 0:t[0].size)/x:g?(null===(n=b.disk)||void 0===n||null===(l=n.size)||void 0===l?void 0:l[0].size)/h:(null===(a=b.disk)||void 0===a||null===(r=a.size)||void 0===r?void 0:r.find((e=>"/home/ubuntu/hdb"===e.mount)).size)/h,L=w.includes("disk")?parseFloat(N.usedDisk):"darwin"===b.system.platform?(null===(o=b.disk)||void 0===o||null===(i=o.size)||void 0===i?void 0:i.reduce(((e,s)=>e+s.used),0))/x:g?(null===(p=b.disk)||void 0===p||null===(j=p.size)||void 0===j?void 0:j.reduce(((e,s)=>e+s.used),0))/h:(null===(c=b.disk)||void 0===c||null===(d=c.size)||void 0===d?void 0:d.find((e=>"/home/ubuntu/hdb"===e.mount)).used)/h,$=w.includes("disk")?parseFloat(N.freeDisk):D-L,M=w.includes("disk")?N.diskStatus:$/D<.1?"danger":$/D<.25?"warning":"success",O=w.includes("cpu")?N.cpuInfo:`${b.cpu.manufacturer} ${b.cpu.brand}`,E=w.includes("cpu")?N.cpuCores:`${b.cpu.physicalCores} physical / ${b.cpu.cores} virtual`,I=w.includes("cpu")?parseFloat(N.cpuLoad):b.cpu.current_load.currentLoad||b.cpu.current_load.currentload||0,T=w.includes("cpu")?N.cpuStatus:I>90?"danger":I>75?"warning":"success",z=w.includes("network")?parseFloat(N.networkTransferred):b.network.stats.reduce(((e,s)=>e+s.tx_bytes),0)/x,H=w.includes("network")?parseFloat(N.networkReceived):b.network.stats.reduce(((e,s)=>e+s.rx_bytes),0)/x,J=w.includes("network")?parseFloat(N.networkLatency):b.network.latency.ms,U=w.includes("network")?parseFloat(N.networkLatencyStatus):J>1e3?"danger":J>500?"warning":"success",B={totalMemory:null===S||void 0===S?void 0:S.toFixed(2),usedMemory:null===_||void 0===_?void 0:_.toFixed(2),freeMemory:null===C||void 0===C?void 0:C.toFixed(2),memoryStatus:F,totalDisk:null===D||void 0===D?void 0:D.toFixed(2),usedDisk:null===L||void 0===L?void 0:L.toFixed(2),freeDisk:null===$||void 0===$?void 0:$.toFixed(2),diskStatus:M,cpuInfo:O,cpuCores:E,cpuLoad:null===I||void 0===I?void 0:I.toFixed(2),cpuStatus:T,networkTransferred:null===z||void 0===z?void 0:z.toFixed(2),networkReceived:null===H||void 0===H?void 0:H.toFixed(2),networkLatency:J,networkLatencyStatus:U};return u.A.update((e=>{e.systemInfo=B}))})({auth:e,url:s,is_local:y,signal:f.signal,refresh:!!t,previousSystemInfo:t}),N(!1)};return(0,a.useEffect)((()=>(!e||null!==t&&void 0!==t&&t.totalMemory||w(),()=>{var e;null===(e=f)||void 0===e||e.abort()})),[e]),(0,A.jsxs)(d.tH,{onError:(e,s)=>(0,v.A)({error:{message:e.message,componentStack:s}}),FallbackComponent:j.A,children:[(0,A.jsxs)(r.A,{className:"floating-card-header",children:[(0,A.jsx)(n.A,{children:"host system"}),(0,A.jsx)(n.A,{className:"text-end",children:(0,A.jsx)(o.A,{color:"link",title:"Update Metrics",className:"me-2",onClick:w,children:(0,A.jsx)("i",{className:"fa "+(g?"fa-spinner fa-spin":"fa-sync-alt")})})})]}),(0,A.jsx)(i.A,{className:"my-3 instance-details",children:(0,A.jsx)(c.A,{children:t?(0,A.jsxs)(r.A,{children:[(0,A.jsx)(n.A,{children:(0,A.jsx)(p.A,{header:"Total Memory",className:"mb-3",children:(0,A.jsxs)("div",{className:"nowrap-scroll",children:[(null===t||void 0===t?void 0:t.totalMemory)||"...","GB"]})})}),(0,A.jsx)(n.A,{children:(0,A.jsx)(p.A,{header:"Active Memory",className:"mb-3",children:(0,A.jsxs)("div",{className:"nowrap-scroll",children:[(null===t||void 0===t?void 0:t.usedMemory)||"...","GB"]})})}),(0,A.jsx)(n.A,{children:(0,A.jsx)(p.A,{header:"Available Memory",className:"mb-3",children:(0,A.jsxs)("div",{className:`nowrap-scroll text-${(null===t||void 0===t?void 0:t.memoryStatus)||"grey"}`,children:[(null===t||void 0===t?void 0:t.freeMemory)||"...","GB"]})})}),(0,A.jsx)(n.A,{children:(0,A.jsx)(p.A,{header:"CPU Cores",className:"mb-3",children:(0,A.jsx)("div",{className:"nowrap-scroll",children:(null===t||void 0===t?void 0:t.cpuCores)||"..."})})}),(0,A.jsx)(n.A,{children:(0,A.jsx)(p.A,{header:"CPU Load",className:"mb-3",children:(0,A.jsxs)("div",{className:`nowrap-scroll text-${(null===t||void 0===t?void 0:t.cpuStatus)||"grey"}`,children:[(null===t||void 0===t?void 0:t.cpuLoad)||"...","%"]})})})]}):(0,A.jsx)("div",{className:"pt-5 text-center",children:(0,A.jsx)("i",{className:"fa fa-spinner fa-spin text-purple"})})})}),(0,A.jsx)("br",{})]})};var g=t(135),N=t(5996);var w=t(7209);const k=function(e){let{end_datetime:s,start_datetime:t,status:a,message:l}=e;return(0,A.jsx)("div",{className:"item-row",children:(0,A.jsxs)(r.A,{children:[(0,A.jsx)(n.A,{xs:"3",className:`text-nowrap ${a.toLowerCase()}`,children:a}),(0,A.jsx)(n.A,{xs:"3",className:"text-nowrap",children:new Date(t).toLocaleDateString()}),(0,A.jsx)(n.A,{xs:"3",className:"text-nowrap",children:new Date(t).toLocaleTimeString()}),(0,A.jsx)(n.A,{xs:"3",className:"text-nowrap",children:new Date(s).toLocaleTimeString()}),(0,A.jsx)(n.A,{xs:"12",className:"mt-1",children:(0,w.A)(l)?JSON.stringify(l):l})]})})};let b;const S=function(){const e=(0,l.O$)(u.A,(e=>e.auth)),s=(0,l.O$)(u.A,(e=>e.url)),t=(0,l.O$)(u.A,(e=>e.jobs)),x=(0,l.O$)(u.A,(e=>e.jobsError)),[h,p]=(0,a.useState)(!1),[f,y]=(0,a.useState)(!0),[w,S]=(0,a.useState)(!0);return(0,a.useEffect)((()=>{let a=!0;return e&&(async()=>{y(!0),b=new AbortController;const r=new Date;r.setDate(r.getDate()+1);const n=r.toISOString().split("T")[0];r.setFullYear(r.getFullYear()-1);const l=r.toISOString().split("T")[0];await(async e=>{let{auth:s,url:t,signal:a,from_date:r,to_date:n,currentJobCount:l}=e;const o=await(0,m.A)({operation:{operation:"search_jobs_by_start_date",from_date:r,to_date:n},auth:s,url:t,signal:a});return o.error&&l?u.A.update((e=>{e.jobsError=!0})):!Array.isArray(o)||o.error?u.A.update((e=>{e.jobs=[],e.jobsError=!0})):u.A.update((e=>{e.jobs=[...o].sort(((e,s)=>s.start_datetime-e.end_datetime)),e.jobsError=!1}))})({auth:e,url:s,signal:b.signal,currentJobCount:(null===t||void 0===t?void 0:t.length)||0,from_date:l,to_date:n}),a&&y(!1)})(),()=>{var e;null===(e=b)||void 0===e||e.abort(),a=!1}}),[e,w]),(0,g.A)((()=>e&&h&&S(Date.now())),N.A.refresh_content_interval),(0,A.jsxs)(d.tH,{onError:(e,s)=>(0,v.A)({error:{message:e.message,componentStack:s}}),FallbackComponent:j.A,children:[(0,A.jsxs)(r.A,{className:"floating-card-header",children:[(0,A.jsx)(n.A,{children:"jobs"}),(0,A.jsxs)(n.A,{className:"text-end",children:[(0,A.jsx)(o.A,{color:"link",title:"Update Jobs",className:"me-2",onClick:()=>S(Date.now()),children:(0,A.jsx)("i",{className:"fa "+(f?"fa-spinner fa-spin":"fa-sync-alt")})}),(0,A.jsxs)(o.A,{color:"link",title:"Turn on autofresh",onClick:()=>p(!h),children:[(0,A.jsx)("span",{className:"me-2",children:"auto"}),(0,A.jsx)("i",{className:"fa fa-lg fa-toggle-"+(h?"on":"off")})]})]})]}),(0,A.jsx)(i.A,{className:"my-3",children:(0,A.jsxs)(c.A,{className:"item-list",children:[(0,A.jsxs)(r.A,{className:"header",children:[(0,A.jsx)(n.A,{xs:"3",className:"text-bold text-nowrap",children:"status"}),(0,A.jsx)(n.A,{xs:"3",className:"text-bold text-nowrap",children:"date"}),!f&&x?(0,A.jsx)(n.A,{xs:"6",className:"text-end text-danger text-bold text-nowrap",children:(0,A.jsxs)("b",{children:["job fetch error: ",(new Date).toLocaleTimeString().toLowerCase()]})}):(0,A.jsxs)(A.Fragment,{children:[(0,A.jsx)(n.A,{xs:"3",className:"text-bold text-nowrap",children:"start"}),(0,A.jsx)(n.A,{xs:"3",className:"text-bold text-nowrap",children:"end"})]})]}),(0,A.jsx)("hr",{className:"mt-1 mb-0"}),(0,A.jsx)("div",{className:"item-scroller",children:!f||t||h?null!==t&&void 0!==t&&t.length?t.map((e=>(0,A.jsx)(k,{...e},e.id))):(0,A.jsx)("div",{className:"pt-5 text-center",children:"no jobs found"}):(0,A.jsx)("div",{className:"pt-5 text-center",children:(0,A.jsx)("i",{className:"fa fa-spinner fa-spin text-lightgrey"})})})]})}),(0,A.jsx)("br",{})]})};var _=t(1345),C=t(5553);const F=function(e){let{date:s,type:t,message:a}=e;return(0,A.jsx)("div",{className:"item-row",children:(0,A.jsxs)(r.A,{children:[(0,A.jsx)(n.A,{xs:"3",className:"text-danger text-nowrap",children:t}),(0,A.jsx)(n.A,{xs:"9",className:"text-nowrap",children:new Date(s).toLocaleString()}),(0,A.jsx)(n.A,{xs:"12",className:"mt-1",children:(0,w.A)(a)?JSON.stringify(a):a})]})})};var D=t(4817);let L;const $=function(){const{customer_id:e}=(0,_.g)(),s=(0,l.O$)(u.A,(e=>e.compute_stack_id)),t=(0,l.O$)(C.A,(e=>e.auth)),m=(0,l.O$)(C.A,(e=>{var t;return e.alarms&&(null===(t=e.alarms[s])||void 0===t?void 0:t.alarms)}),[s]),x=(0,l.O$)(C.A,(e=>e.alarmsError)),[h,p]=(0,a.useState)(!1),[f,y]=(0,a.useState)(!1),[w,k]=(0,a.useState)(!0);return(0,a.useEffect)((()=>{let s=!0;return t&&(async()=>{y(!0),L=new AbortController,await(0,D.A)({auth:t,signal:L.signal,customer_id:e,currentAlarmsLength:null===m||void 0===m?void 0:m.length}),s&&y(!1)})(),()=>{var e;null===(e=L)||void 0===e||e.abort(),s=!1}}),[t,w]),(0,g.A)((()=>t&&h&&k(Date.now())),N.A.refresh_content_interval),(0,A.jsxs)(d.tH,{onError:(e,s)=>(0,v.A)({error:{message:e.message,componentStack:s}}),FallbackComponent:j.A,children:[(0,A.jsxs)(r.A,{className:"floating-card-header",children:[(0,A.jsx)(n.A,{children:"alarms"}),(0,A.jsxs)(n.A,{className:"text-end",children:[(0,A.jsx)(o.A,{color:"link",title:"Update Jobs",className:"me-2",onClick:()=>k(Date.now()),children:(0,A.jsx)("i",{className:"fa "+(f?"fa-spinner fa-spin":"fa-sync-alt")})}),(0,A.jsxs)(o.A,{color:"link",title:"Turn on autofresh",onClick:()=>p(!h),children:[(0,A.jsx)("span",{className:"me-2",children:"auto"}),(0,A.jsx)("i",{className:"fa fa-lg fa-toggle-"+(h?"on":"off")})]})]})]}),(0,A.jsx)(i.A,{className:"my-3",children:(0,A.jsxs)(c.A,{className:"item-list",children:[(0,A.jsxs)(r.A,{className:"header",children:[(0,A.jsx)(n.A,{xs:"3",className:"text-bold text-nowrap",children:"status"}),(0,A.jsx)(n.A,{xs:"3",className:"text-bold text-nowrap",children:"date"}),(0,A.jsx)(n.A,{xs:"6",className:"text-end text-danger text-bold",children:!f&&x&&(0,A.jsxs)("span",{children:["alarms fetch error: ",(new Date).toLocaleTimeString().toLowerCase()]})})]}),(0,A.jsx)("hr",{className:"mt-1 mb-0"}),(0,A.jsx)("div",{className:"item-scroller",children:!f||m||h?null!==m&&void 0!==m&&m.length?m.map((e=>(0,A.jsx)(F,{...e},e.id))):(0,A.jsx)("div",{className:"pt-5 text-center",children:"no alarms found"}):(0,A.jsx)("div",{className:"pt-5 text-center",children:(0,A.jsx)("i",{className:"fa fa-spinner fa-spin text-lightgrey"})})})]})}),(0,A.jsx)("br",{})]})};const M=function(){return(0,A.jsxs)(r.A,{id:"config",children:[(0,A.jsx)(n.A,{xs:"12",children:(0,A.jsx)(y,{})}),(0,A.jsx)(n.A,{lg:6,xs:"12",children:(0,A.jsx)(S,{})}),!N.A.is_local_studio&&(0,A.jsx)(n.A,{lg:"6",xs:"12",children:(0,A.jsx)($,{})})]})}},1652:(e,s,t)=>{t.d(s,{A:()=>r});t(9950);var a=t(4414);const r=function(e){let{children:s,header:t,subheader:r,maxHeight:n="auto",minHeight:l="auto",className:o}=e;return(0,a.jsxs)("div",{className:`content-container ${o}`,children:[(0,a.jsxs)("div",{className:"header-container",children:[(0,a.jsx)("span",{className:"header",children:t}),(0,a.jsx)("span",{className:"subheader",children:r})]}),(0,a.jsx)("div",{className:"auto"!==n?"scrollable":"",style:{maxHeight:n,minHeight:l},children:s})]})}},7209:(e,s,t)=>{t.d(s,{A:()=>a});const a=e=>"object"===typeof e&&!Array.isArray(e)&&null!==e}}]);
1
+ "use strict";(self.webpackChunkharperdb_studio=self.webpackChunkharperdb_studio||[]).push([[541],{6812:(e,s,t)=>{t.r(s),t.d(s,{default:()=>M});var a=t(9950),r=t(7176),n=t(6114),l=t(6713),o=t(3452),i=t(4084),c=t(8156),d=t(9435),u=t(5269),m=t(127);const x=1e9,h=1073741824;var p=t(1652),j=t(3150),v=t(3628),A=t(4414);let f;const y=function(){const e=(0,l.O$)(u.A,(e=>e.auth)),s=(0,l.O$)(u.A,(e=>e.url)),t=(0,l.O$)(u.A,(e=>e.systemInfo)),y=(0,l.O$)(u.A,(e=>e.is_local)),[g,N]=(0,a.useState)(!(null!==t&&void 0!==t&&t.totalMemory)),w=async()=>{N(!0),f=new AbortController,await(async e=>{var s,t,a,r,n,l,o,i,c,d,p,j;let{auth:v,url:A,signal:f,refresh:y,is_local:g,cachedSystemInfo:N,skip:w=[]}=e;const k=["network","disk","cpu","memory","system"],b=await(0,m.A)({operation:{operation:"system_information",attributes:null!==w&&void 0!==w&&w.length?k.filter((e=>!w.includes(e))):k},auth:v,url:A,signal:f});if(b.error&&y)return u.A.update((e=>{e.systemInfoError=!0}));if(b.error)return u.A.update((e=>{e.systemInfo={totalMemory:"...",usedMemory:"...",freeMemory:"...",memoryStatus:"grey",totalDisk:"...",usedDisk:"...",freeDisk:"...",diskStatus:"grey",cpuInfo:"...",cpuCores:"...",cpuLoad:"...",cpuStatus:"grey",networkTransferred:"...",networkReceived:"...",networkLatency:"...",networkLatencyStatus:"grey"},e.systemInfoError=!0}));const S=w.includes("memory")?parseFloat(N.totalMemory):b.memory.total/h,_=w.includes("memory")?parseFloat(N.usedMemory):b.memory.active/h,C=w.includes("memory")?parseFloat(N.freeMemory):b.memory.available/h,F=w.includes("memory")?N.memoryStatus:C/S<.1?"danger":C/S<.25?"warning":"success",D=w.includes("disk")?parseFloat(N.totalDisk):"darwin"===b.system.platform?(null===(s=b.disk)||void 0===s||null===(t=s.size)||void 0===t?void 0:t[0].size)/x:g?(null===(n=b.disk)||void 0===n||null===(l=n.size)||void 0===l?void 0:l[0].size)/h:(null===(a=b.disk)||void 0===a||null===(r=a.size)||void 0===r?void 0:r.find((e=>"/home/ubuntu/hdb"===e.mount)).size)/h,L=w.includes("disk")?parseFloat(N.usedDisk):"darwin"===b.system.platform?(null===(o=b.disk)||void 0===o||null===(i=o.size)||void 0===i?void 0:i.reduce(((e,s)=>e+s.used),0))/x:g?(null===(p=b.disk)||void 0===p||null===(j=p.size)||void 0===j?void 0:j.reduce(((e,s)=>e+s.used),0))/h:(null===(c=b.disk)||void 0===c||null===(d=c.size)||void 0===d?void 0:d.find((e=>"/home/ubuntu/hdb"===e.mount)).used)/h,$=w.includes("disk")?parseFloat(N.freeDisk):D-L,M=w.includes("disk")?N.diskStatus:$/D<.1?"danger":$/D<.25?"warning":"success",O=w.includes("cpu")?N.cpuInfo:`${b.cpu.manufacturer} ${b.cpu.brand}`,E=w.includes("cpu")?N.cpuCores:`${b.cpu.physicalCores} physical / ${b.cpu.cores} virtual`,I=w.includes("cpu")?parseFloat(N.cpuLoad):b.cpu.current_load.currentLoad||b.cpu.current_load.currentload||0,T=w.includes("cpu")?N.cpuStatus:I>90?"danger":I>75?"warning":"success",z=w.includes("network")?parseFloat(N.networkTransferred):b.network.stats.reduce(((e,s)=>e+s.tx_bytes),0)/x,H=w.includes("network")?parseFloat(N.networkReceived):b.network.stats.reduce(((e,s)=>e+s.rx_bytes),0)/x,J=w.includes("network")?parseFloat(N.networkLatency):b.network.latency.ms,U=w.includes("network")?parseFloat(N.networkLatencyStatus):J>1e3?"danger":J>500?"warning":"success",B={totalMemory:null===S||void 0===S?void 0:S.toFixed(2),usedMemory:null===_||void 0===_?void 0:_.toFixed(2),freeMemory:null===C||void 0===C?void 0:C.toFixed(2),memoryStatus:F,totalDisk:null===D||void 0===D?void 0:D.toFixed(2),usedDisk:null===L||void 0===L?void 0:L.toFixed(2),freeDisk:null===$||void 0===$?void 0:$.toFixed(2),diskStatus:M,cpuInfo:O,cpuCores:E,cpuLoad:null===I||void 0===I?void 0:I.toFixed(2),cpuStatus:T,networkTransferred:null===z||void 0===z?void 0:z.toFixed(2),networkReceived:null===H||void 0===H?void 0:H.toFixed(2),networkLatency:J,networkLatencyStatus:U};return u.A.update((e=>{e.systemInfo=B}))})({auth:e,url:s,is_local:y,signal:f.signal,refresh:!!t,previousSystemInfo:t}),N(!1)};return(0,a.useEffect)((()=>(!e||null!==t&&void 0!==t&&t.totalMemory||w(),()=>{var e;null===(e=f)||void 0===e||e.abort()})),[e]),(0,A.jsxs)(d.tH,{onError:(e,s)=>(0,v.A)({error:{message:e.message,componentStack:s}}),FallbackComponent:j.A,children:[(0,A.jsxs)(r.A,{className:"floating-card-header",children:[(0,A.jsx)(n.A,{children:"host system"}),(0,A.jsx)(n.A,{className:"text-end",children:(0,A.jsx)(o.A,{color:"link",title:"Update Metrics",className:"me-2",onClick:w,children:(0,A.jsx)("i",{className:"fa "+(g?"fa-spinner fa-spin":"fa-sync-alt")})})})]}),(0,A.jsx)(i.A,{className:"my-3 instance-details",children:(0,A.jsx)(c.A,{children:t?(0,A.jsxs)(r.A,{children:[(0,A.jsx)(n.A,{children:(0,A.jsx)(p.A,{header:"Total Memory",className:"mb-3",children:(0,A.jsxs)("div",{className:"nowrap-scroll",children:[(null===t||void 0===t?void 0:t.totalMemory)||"...","GB"]})})}),(0,A.jsx)(n.A,{children:(0,A.jsx)(p.A,{header:"Active Memory",className:"mb-3",children:(0,A.jsxs)("div",{className:"nowrap-scroll",children:[(null===t||void 0===t?void 0:t.usedMemory)||"...","GB"]})})}),(0,A.jsx)(n.A,{children:(0,A.jsx)(p.A,{header:"Available Memory",className:"mb-3",children:(0,A.jsxs)("div",{className:`nowrap-scroll text-${(null===t||void 0===t?void 0:t.memoryStatus)||"grey"}`,children:[(null===t||void 0===t?void 0:t.freeMemory)||"...","GB"]})})}),(0,A.jsx)(n.A,{children:(0,A.jsx)(p.A,{header:"CPU Cores",className:"mb-3",children:(0,A.jsx)("div",{className:"nowrap-scroll",children:(null===t||void 0===t?void 0:t.cpuCores)||"..."})})}),(0,A.jsx)(n.A,{children:(0,A.jsx)(p.A,{header:"CPU Load",className:"mb-3",children:(0,A.jsxs)("div",{className:`nowrap-scroll text-${(null===t||void 0===t?void 0:t.cpuStatus)||"grey"}`,children:[(null===t||void 0===t?void 0:t.cpuLoad)||"...","%"]})})})]}):(0,A.jsx)("div",{className:"pt-5 text-center",children:(0,A.jsx)("i",{className:"fa fa-spinner fa-spin text-purple"})})})}),(0,A.jsx)("br",{})]})};var g=t(135),N=t(5996);var w=t(7209);const k=function(e){let{end_datetime:s,start_datetime:t,status:a,message:l}=e;return(0,A.jsx)("div",{className:"item-row",children:(0,A.jsxs)(r.A,{children:[(0,A.jsx)(n.A,{xs:"3",className:`text-nowrap ${a.toLowerCase()}`,children:a}),(0,A.jsx)(n.A,{xs:"3",className:"text-nowrap",children:new Date(t).toLocaleDateString()}),(0,A.jsx)(n.A,{xs:"3",className:"text-nowrap",children:new Date(t).toLocaleTimeString()}),(0,A.jsx)(n.A,{xs:"3",className:"text-nowrap",children:new Date(s).toLocaleTimeString()}),(0,A.jsx)(n.A,{xs:"12",className:"mt-1",children:(0,w.A)(l)?JSON.stringify(l):l})]})})};let b;const S=function(){const e=(0,l.O$)(u.A,(e=>e.auth)),s=(0,l.O$)(u.A,(e=>e.url)),t=(0,l.O$)(u.A,(e=>e.jobs)),x=(0,l.O$)(u.A,(e=>e.jobsError)),[h,p]=(0,a.useState)(!1),[f,y]=(0,a.useState)(!0),[w,S]=(0,a.useState)(!0);return(0,a.useEffect)((()=>{let a=!0;return e&&(async()=>{y(!0),b=new AbortController;const r=new Date;r.setDate(r.getDate()+1);const n=r.toISOString().split("T")[0];r.setFullYear(r.getFullYear()-1);const l=r.toISOString().split("T")[0];await(async e=>{let{auth:s,url:t,signal:a,from_date:r,to_date:n,currentJobCount:l}=e;const o=await(0,m.A)({operation:{operation:"search_jobs_by_start_date",from_date:r,to_date:n},auth:s,url:t,signal:a});return o.error&&l?u.A.update((e=>{e.jobsError=!0})):!Array.isArray(o)||o.error?u.A.update((e=>{e.jobs=[],e.jobsError=!0})):u.A.update((e=>{e.jobs=[...o].sort(((e,s)=>s.start_datetime-e.end_datetime)),e.jobsError=!1}))})({auth:e,url:s,signal:b.signal,currentJobCount:(null===t||void 0===t?void 0:t.length)||0,from_date:l,to_date:n}),a&&y(!1)})(),()=>{var e;null===(e=b)||void 0===e||e.abort(),a=!1}}),[e,w]),(0,g.A)((()=>e&&h&&S(Date.now())),N.A.refresh_content_interval),(0,A.jsxs)(d.tH,{onError:(e,s)=>(0,v.A)({error:{message:e.message,componentStack:s}}),FallbackComponent:j.A,children:[(0,A.jsxs)(r.A,{className:"floating-card-header",children:[(0,A.jsx)(n.A,{children:"jobs"}),(0,A.jsxs)(n.A,{className:"text-end",children:[(0,A.jsx)(o.A,{color:"link",title:"Update Jobs",className:"me-2",onClick:()=>S(Date.now()),children:(0,A.jsx)("i",{className:"fa "+(f?"fa-spinner fa-spin":"fa-sync-alt")})}),(0,A.jsxs)(o.A,{color:"link",title:"Turn on autofresh",onClick:()=>p(!h),children:[(0,A.jsx)("span",{className:"me-2",children:"auto"}),(0,A.jsx)("i",{className:"fa fa-lg fa-toggle-"+(h?"on":"off")})]})]})]}),(0,A.jsx)(i.A,{className:"my-3",children:(0,A.jsxs)(c.A,{className:"item-list",children:[(0,A.jsxs)(r.A,{className:"header",children:[(0,A.jsx)(n.A,{xs:"3",className:"text-bold text-nowrap",children:"status"}),(0,A.jsx)(n.A,{xs:"3",className:"text-bold text-nowrap",children:"date"}),!f&&x?(0,A.jsx)(n.A,{xs:"6",className:"text-end text-danger text-bold text-nowrap",children:(0,A.jsxs)("b",{children:["job fetch error: ",(new Date).toLocaleTimeString().toLowerCase()]})}):(0,A.jsxs)(A.Fragment,{children:[(0,A.jsx)(n.A,{xs:"3",className:"text-bold text-nowrap",children:"start"}),(0,A.jsx)(n.A,{xs:"3",className:"text-bold text-nowrap",children:"end"})]})]}),(0,A.jsx)("hr",{className:"mt-1 mb-0"}),(0,A.jsx)("div",{className:"item-scroller",children:!f||t||h?null!==t&&void 0!==t&&t.length?t.map((e=>(0,A.jsx)(k,{...e},e.id))):(0,A.jsx)("div",{className:"pt-5 text-center",children:"no jobs found"}):(0,A.jsx)("div",{className:"pt-5 text-center",children:(0,A.jsx)("i",{className:"fa fa-spinner fa-spin text-lightgrey"})})})]})}),(0,A.jsx)("br",{})]})};var _=t(2231),C=t(5553);const F=function(e){let{date:s,type:t,message:a}=e;return(0,A.jsx)("div",{className:"item-row",children:(0,A.jsxs)(r.A,{children:[(0,A.jsx)(n.A,{xs:"3",className:"text-danger text-nowrap",children:t}),(0,A.jsx)(n.A,{xs:"9",className:"text-nowrap",children:new Date(s).toLocaleString()}),(0,A.jsx)(n.A,{xs:"12",className:"mt-1",children:(0,w.A)(a)?JSON.stringify(a):a})]})})};var D=t(4817);let L;const $=function(){const{customer_id:e}=(0,_.g)(),s=(0,l.O$)(u.A,(e=>e.compute_stack_id)),t=(0,l.O$)(C.A,(e=>e.auth)),m=(0,l.O$)(C.A,(e=>{var t;return e.alarms&&(null===(t=e.alarms[s])||void 0===t?void 0:t.alarms)}),[s]),x=(0,l.O$)(C.A,(e=>e.alarmsError)),[h,p]=(0,a.useState)(!1),[f,y]=(0,a.useState)(!1),[w,k]=(0,a.useState)(!0);return(0,a.useEffect)((()=>{let s=!0;return t&&(async()=>{y(!0),L=new AbortController,await(0,D.A)({auth:t,signal:L.signal,customer_id:e,currentAlarmsLength:null===m||void 0===m?void 0:m.length}),s&&y(!1)})(),()=>{var e;null===(e=L)||void 0===e||e.abort(),s=!1}}),[t,w]),(0,g.A)((()=>t&&h&&k(Date.now())),N.A.refresh_content_interval),(0,A.jsxs)(d.tH,{onError:(e,s)=>(0,v.A)({error:{message:e.message,componentStack:s}}),FallbackComponent:j.A,children:[(0,A.jsxs)(r.A,{className:"floating-card-header",children:[(0,A.jsx)(n.A,{children:"alarms"}),(0,A.jsxs)(n.A,{className:"text-end",children:[(0,A.jsx)(o.A,{color:"link",title:"Update Jobs",className:"me-2",onClick:()=>k(Date.now()),children:(0,A.jsx)("i",{className:"fa "+(f?"fa-spinner fa-spin":"fa-sync-alt")})}),(0,A.jsxs)(o.A,{color:"link",title:"Turn on autofresh",onClick:()=>p(!h),children:[(0,A.jsx)("span",{className:"me-2",children:"auto"}),(0,A.jsx)("i",{className:"fa fa-lg fa-toggle-"+(h?"on":"off")})]})]})]}),(0,A.jsx)(i.A,{className:"my-3",children:(0,A.jsxs)(c.A,{className:"item-list",children:[(0,A.jsxs)(r.A,{className:"header",children:[(0,A.jsx)(n.A,{xs:"3",className:"text-bold text-nowrap",children:"status"}),(0,A.jsx)(n.A,{xs:"3",className:"text-bold text-nowrap",children:"date"}),(0,A.jsx)(n.A,{xs:"6",className:"text-end text-danger text-bold",children:!f&&x&&(0,A.jsxs)("span",{children:["alarms fetch error: ",(new Date).toLocaleTimeString().toLowerCase()]})})]}),(0,A.jsx)("hr",{className:"mt-1 mb-0"}),(0,A.jsx)("div",{className:"item-scroller",children:!f||m||h?null!==m&&void 0!==m&&m.length?m.map((e=>(0,A.jsx)(F,{...e},e.id))):(0,A.jsx)("div",{className:"pt-5 text-center",children:"no alarms found"}):(0,A.jsx)("div",{className:"pt-5 text-center",children:(0,A.jsx)("i",{className:"fa fa-spinner fa-spin text-lightgrey"})})})]})}),(0,A.jsx)("br",{})]})};const M=function(){return(0,A.jsxs)(r.A,{id:"config",children:[(0,A.jsx)(n.A,{xs:"12",children:(0,A.jsx)(y,{})}),(0,A.jsx)(n.A,{lg:6,xs:"12",children:(0,A.jsx)(S,{})}),!N.A.is_local_studio&&(0,A.jsx)(n.A,{lg:"6",xs:"12",children:(0,A.jsx)($,{})})]})}},1652:(e,s,t)=>{t.d(s,{A:()=>r});t(9950);var a=t(4414);const r=function(e){let{children:s,header:t,subheader:r,maxHeight:n="auto",minHeight:l="auto",className:o}=e;return(0,a.jsxs)("div",{className:`content-container ${o}`,children:[(0,a.jsxs)("div",{className:"header-container",children:[(0,a.jsx)("span",{className:"header",children:t}),(0,a.jsx)("span",{className:"subheader",children:r})]}),(0,a.jsx)("div",{className:"auto"!==n?"scrollable":"",style:{maxHeight:n,minHeight:l},children:s})]})}},7209:(e,s,t)=>{t.d(s,{A:()=>a});const a=e=>"object"===typeof e&&!Array.isArray(e)&&null!==e}}]);
@@ -1 +1 @@
1
- "use strict";(self.webpackChunkharperdb_studio=self.webpackChunkharperdb_studio||[]).push([[642],{7695:(e,a,s)=>{s.r(a),s.d(a,{default:()=>v});var t=s(9950),r=s(7176),n=s(6114),l=s(3452),i=s(4084),o=s(8156),c=s(6713),d=s(1345),g=s(9435),u=s(5269),m=s(8222),p=s(3150),h=s(3628),x=s(4343),j=s(4414);const f={tableData:[],dataTableColumns:[],totalRecords:0,filtered:[],sorted:[{id:"username",desc:!1}],page:0,loading:!1,totalPages:1,pageSize:20,autoRefresh:!1,showFilter:!1,lastUpdate:!1};let b;const v=function(e){var a,s;let{lastUpdate:v,setLastUpdate:N}=e;const{customer_id:A}=(0,d.g)(),C=(0,d.Zp)(),P=(0,c.O$)(u.A,(e=>e.compute_stack_id)),S=(0,c.O$)(u.A,(e=>e.auth)),w=(0,c.O$)(u.A,(e=>e.url)),[k,F]=(0,t.useState)(f),[z,y]=(0,t.useState)(!0),$=null===(a=k.sorted[0])||void 0===a?void 0:a.id,D=null===(s=k.sorted[0])||void 0===s?void 0:s.desc,O=(0,t.useCallback)((e=>{C(`/o/${A}/i/${P}/users/${e}`)}),[P,A]);return(0,t.useEffect)((()=>{let e=!0;return S&&(async()=>{y(!0),b=new AbortController;const a=await(0,m.A)({auth:S,url:w,signal:b.signal});e&&(y(!1),F({...k,tableData:a,dataTableColumns:[{Header:"username",accessor:"username"},{Header:"role",accessor:"role"}],totalPages:Math.ceil((a.length||k.pageSize)/k.pageSize),loading:!1}))})(),()=>{var a;e=!1,null===(a=b)||void 0===a||a.abort()}}),[S,v,k.pageSize]),(0,t.useEffect)((()=>{let e=!0;if(k.tableData.length&&$){const a=[...[...k.tableData]].sort(((e,a)=>e[$]>a[$]&&D?1:e[$]>a[$]||D?-1:1));e&&F({...k,tableData:a})}return()=>{var a;e=!1,null===(a=b)||void 0===a||a.abort()}}),[$,D]),(0,j.jsxs)(g.tH,{onError:(e,a)=>(0,h.A)({error:{message:e.message,componentStack:a}}),FallbackComponent:p.A,children:[(0,j.jsxs)(r.A,{className:"floating-card-header",children:[(0,j.jsx)(n.A,{children:"existing users"}),(0,j.jsxs)(n.A,{className:"text-end",children:[(0,j.jsx)(l.A,{color:"link",onClick:()=>N(Date.now()),className:"me-2",children:(0,j.jsx)("i",{title:"Refresh Structure",className:"fa "+(z?"fa-spinner fa-spin":"fa-sync-alt")})}),(0,j.jsx)("span",{className:"mx-3 text",children:"|"}),(0,j.jsx)(l.A,{color:"link",title:"Filter Users",className:"me-2",onClick:()=>F({...k,filtered:k.showFilter?[]:k.filtered,showFilter:!k.showFilter}),children:(0,j.jsx)("i",{className:"fa fa-search"})})]})]}),(0,j.jsx)(i.A,{className:"mt-3",children:(0,j.jsx)(o.A,{className:"react-table-holder",children:(0,j.jsx)(x.A,{columns:k.dataTableColumns,data:k.tableData,currentPage:k.page,pageSize:k.pageSize,totalPages:k.totalPages,showFilter:k.showFilter,sorted:k.sorted,loading:z,onFilteredChange:e=>F({...k,filtered:e}),onSortedChange:e=>F({...k,sorted:e}),onPageChange:e=>F({...k,pageSize:e}),onPageSizeChange:e=>F({...k,page:0,pageSize:e}),onRowClick:e=>O(e.username)})})})]})}},4343:(e,a,s)=>{s.d(a,{A:()=>v});var t=s(9950),r=s(2043),n=s(5488),l=s(9435),i=s(7176),o=s(6114),c=s(4414);const d=e=>{let{headerGroups:a,onSortedChange:s,sorted:t,showFilter:r,dynamicAttributesFromDataTable:n,tableDescriptionAttributes:l}=e;const d=e=>{let a=!1;return l.forEach((s=>{s.attribute===e&&(s.is_primary_key||s.indexed)&&(a=!0)})),a};return a.map((e=>{const{key:a,...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 a,r;return(0,c.jsx)(o.A,{onClick:()=>{var a,r;n&&!n.includes(e.id)&&d(e.id)&&s([{id:e.id,desc:(null===(a=t[0])||void 0===a?void 0:a.id)===e.id&&!(null!==(r=t[0])&&void 0!==r&&r.desc)}])},className:`${(null===(a=t[0])||void 0===a?void 0:a.id)===e.id?"sorted":""} ${null!==(r=t[0])&&void 0!==r&&r.desc?"desc":"asc"} ${-1!==e.id.indexOf("hdb-narrow")?"action":""} px-1 ${n&&!n.includes(e.id)&&d(e.id)?"":"disabled-column"}`,children:(0,c.jsx)("div",{className:"text-renderer",children:e.render("Header")})},e.id)}))}),r&&(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)))})]},a)}))};var g=s(3452);const u=function(e){let{page:a,pageSize:s,totalPages:t,onPageChange:r,onPageSizeChange:l,loading:d}=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)(g.A,{className:"mb-2 btn-pagination",color:"purple",block:!0,onClick:()=>r(a-1),disabled:!t||0===a,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)(n.A,{className:"mb-2",type:"number",value:a+1,min:1,max:t,onChange:e=>r(e.target.value-1)}),(0,c.jsxs)("div",{className:"page-count",children:["\xa0/\xa0",d?(0,c.jsx)("i",{className:"fa fa-spinner fa-spin"}):t]})]}),(0,c.jsx)(o.A,{xs:"12",sm:"4",className:"page-size",children:(0,c.jsx)(n.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)(g.A,{className:"mb-2 pull-right btn-pagination",block:!0,color:"purple",onClick:()=>r(a+1),disabled:!t||a+1===t,children:(0,c.jsx)("i",{className:"fa fa-chevron-right"})})})]})};const m=function(e){let{previousPage:a,canPreviousPage:s,pageIndex:t,gotoPage:r,setPageSize:l,pageCount:d,nextPage:u,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)(g.A,{className:"mb-2 btn-pagination",color:"purple",block:!0,onClick:a,disabled:!d||!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)(n.A,{className:"mb-2",type:"number",value:t+1||1,min:1,max:d,onChange:e=>r(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"}):d]})]}),(0,c.jsx)(o.A,{xs:"12",sm:"4",className:"page-size",children:(0,c.jsx)(n.A,{className:"mb-2",type:"select",onChange:e=>{r(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)(g.A,{className:"mb-2 pull-right btn-pagination",block:!0,color:"purple",onClick:u,disabled:!d||!m,children:(0,c.jsx)("i",{className:"fa fa-chevron-right"})})})]})};const p=function(e){let{prepareRow:a,row:s,onRowClick:t=!1}=e;return a(s),(0,c.jsx)(i.A,{onClick:()=>t&&t(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 h=s(3628),x=s(3150);function j(e){let{value:a}=e;return(0,c.jsx)("div",{className:"text-renderer",children:a})}function f(e){let{src:a}=e;const[s,r]=(0,t.useState)(!1),[n,l]=(0,t.useState)(!1);return(0,c.jsxs)("div",{className:"image-renderer",onMouseEnter:()=>r(!0),onMouseLeave:()=>r(!1),children:[(0,c.jsx)("i",{className:"fa fa-image"}),s&&n?(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:a,src:a,className:"preview-image"}):null]})}const b={Filter:e=>{let{column:{filterValue:a,setFilter:s}}=e;return(0,c.jsx)(n.A,{type:"text",value:a||"",onChange:e=>s(e.target.value||void 0)})},Cell:e=>{let{value:a}=e;return(e=>{switch(Object.prototype.toString.call(e)){case"[object Array]":case"[object Object]":return(0,c.jsx)(j,{value:JSON.stringify(e)});case"[object Boolean]":return(0,c.jsx)(j,{value:e?"true":"false"});case"[object String]":return(a=e)&&(a.match(/^https?.*\.(jpeg|jpg|gif|png)$/)||-1!==a.indexOf("data:image"))?(0,c.jsx)(f,{src:e}):(0,c.jsx)(j,{value:e});default:return(0,c.jsx)(j,{value:e})}var a})(a)}};const v=function(e){let{columns:a,data:s,error:n,currentPage:i,pageSize:o,totalPages:g,onFilteredChange:j,onSortedChange:f,onPageChange:v,onPageSizeChange:N,showFilter:A,onRowClick:C,sorted:P,loading:S,dynamicAttributesFromDataTable:w,tableDescriptionAttributes:k,manual:F=!1}=e;const{headerGroups:z,page:y,rows:$,prepareRow:D,state:O,setAllFilters:R,canPreviousPage:E,canNextPage:T,pageOptions:_,pageCount:H,gotoPage:G,nextPage:I,previousPage:L,setPageSize:U}=(0,r.useTable)({columns:a,data:s,defaultColumn:b,onFilteredChange:j,onSortedChange:f,onPageChange:v,onPageSizeChange:N,onRowClick:C,manualPagination:F,manualFilters:F,initialState:{pageIndex:i,pageSize:o}},r.useFilters,r.usePagination),[M,B]=(0,t.useState)(!0),J=F||!y.length?$:y;return(0,t.useEffect)((()=>{!A&&O.filters.length?R([]):j(O.filters)}),[O.filters,A]),(0,t.useEffect)((()=>{setTimeout((()=>B(!1)),100)}),[null===J||void 0===J?void 0:J.length]),(0,c.jsxs)(l.tH,{onError:(e,a)=>(0,h.A)({error:{message:e.message,componentStack:a}}),FallbackComponent:x.A,children:[(0,c.jsxs)("div",{className:"react-table-scroller",children:[(0,c.jsx)(d,{headerGroups:z,tableDescriptionAttributes:k,dynamicAttributesFromDataTable:w,onSortedChange:f,sorted:P,showFilter:A}),S||M?(0,c.jsx)("div",{className:"centered text-center",children:(0,c.jsx)("i",{className:"fa fa-spinner fa-spin"})}):J.length?J.map((e=>(0,c.jsx)(p,{row:e,prepareRow:D,onRowClick:C},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:n?`Error loading data: ${n}`:"no records"})]})]}),F?(0,c.jsx)(u,{page:i,pageSize:o,totalPages:g,onPageChange:v,onPageSizeChange:N,loading:S}):(0,c.jsx)(m,{previousPage:L,pageSize:o,canPreviousPage:E,pageIndex:O.pageIndex,pageOptions:_,gotoPage:G,setPageSize:U,pageCount:H,nextPage:I,canNextPage:T,loading:S})]})}},8222:(e,a,s)=>{s.d(a,{A:()=>n});var t=s(127),r=s(5269);const n=async e=>{let{auth:a,url:s,signal:n}=e;const l=await(0,t.A)({operation:{operation:"list_users"},auth:a,url:s,signal:n}),i=Array.isArray(l)?[...l].map((e=>({username:e.username,role:e.role.role}))).sort(((e,a)=>e.username.toLowerCase()>a.username.toLowerCase()?1:-1)):[];return r.A.update((e=>{e.users=i})),i}}}]);
1
+ "use strict";(self.webpackChunkharperdb_studio=self.webpackChunkharperdb_studio||[]).push([[642],{7695:(e,a,s)=>{s.r(a),s.d(a,{default:()=>v});var t=s(9950),r=s(7176),n=s(6114),l=s(3452),i=s(4084),o=s(8156),c=s(6713),d=s(2231),g=s(9435),u=s(5269),m=s(8222),p=s(3150),h=s(3628),x=s(4343),j=s(4414);const f={tableData:[],dataTableColumns:[],totalRecords:0,filtered:[],sorted:[{id:"username",desc:!1}],page:0,loading:!1,totalPages:1,pageSize:20,autoRefresh:!1,showFilter:!1,lastUpdate:!1};let b;const v=function(e){var a,s;let{lastUpdate:v,setLastUpdate:N}=e;const{customer_id:A}=(0,d.g)(),C=(0,d.Zp)(),P=(0,c.O$)(u.A,(e=>e.compute_stack_id)),S=(0,c.O$)(u.A,(e=>e.auth)),w=(0,c.O$)(u.A,(e=>e.url)),[k,F]=(0,t.useState)(f),[z,y]=(0,t.useState)(!0),$=null===(a=k.sorted[0])||void 0===a?void 0:a.id,D=null===(s=k.sorted[0])||void 0===s?void 0:s.desc,O=(0,t.useCallback)((e=>{C(`/o/${A}/i/${P}/users/${e}`)}),[P,A]);return(0,t.useEffect)((()=>{let e=!0;return S&&(async()=>{y(!0),b=new AbortController;const a=await(0,m.A)({auth:S,url:w,signal:b.signal});e&&(y(!1),F({...k,tableData:a,dataTableColumns:[{Header:"username",accessor:"username"},{Header:"role",accessor:"role"}],totalPages:Math.ceil((a.length||k.pageSize)/k.pageSize),loading:!1}))})(),()=>{var a;e=!1,null===(a=b)||void 0===a||a.abort()}}),[S,v,k.pageSize]),(0,t.useEffect)((()=>{let e=!0;if(k.tableData.length&&$){const a=[...[...k.tableData]].sort(((e,a)=>e[$]>a[$]&&D?1:e[$]>a[$]||D?-1:1));e&&F({...k,tableData:a})}return()=>{var a;e=!1,null===(a=b)||void 0===a||a.abort()}}),[$,D]),(0,j.jsxs)(g.tH,{onError:(e,a)=>(0,h.A)({error:{message:e.message,componentStack:a}}),FallbackComponent:p.A,children:[(0,j.jsxs)(r.A,{className:"floating-card-header",children:[(0,j.jsx)(n.A,{children:"existing users"}),(0,j.jsxs)(n.A,{className:"text-end",children:[(0,j.jsx)(l.A,{color:"link",onClick:()=>N(Date.now()),className:"me-2",children:(0,j.jsx)("i",{title:"Refresh Structure",className:"fa "+(z?"fa-spinner fa-spin":"fa-sync-alt")})}),(0,j.jsx)("span",{className:"mx-3 text",children:"|"}),(0,j.jsx)(l.A,{color:"link",title:"Filter Users",className:"me-2",onClick:()=>F({...k,filtered:k.showFilter?[]:k.filtered,showFilter:!k.showFilter}),children:(0,j.jsx)("i",{className:"fa fa-search"})})]})]}),(0,j.jsx)(i.A,{className:"mt-3",children:(0,j.jsx)(o.A,{className:"react-table-holder",children:(0,j.jsx)(x.A,{columns:k.dataTableColumns,data:k.tableData,currentPage:k.page,pageSize:k.pageSize,totalPages:k.totalPages,showFilter:k.showFilter,sorted:k.sorted,loading:z,onFilteredChange:e=>F({...k,filtered:e}),onSortedChange:e=>F({...k,sorted:e}),onPageChange:e=>F({...k,pageSize:e}),onPageSizeChange:e=>F({...k,page:0,pageSize:e}),onRowClick:e=>O(e.username)})})})]})}},4343:(e,a,s)=>{s.d(a,{A:()=>v});var t=s(9950),r=s(2043),n=s(5488),l=s(9435),i=s(7176),o=s(6114),c=s(4414);const d=e=>{let{headerGroups:a,onSortedChange:s,sorted:t,showFilter:r,dynamicAttributesFromDataTable:n,tableDescriptionAttributes:l}=e;const d=e=>{let a=!1;return l.forEach((s=>{s.attribute===e&&(s.is_primary_key||s.indexed)&&(a=!0)})),a};return a.map((e=>{const{key:a,...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 a,r;return(0,c.jsx)(o.A,{onClick:()=>{var a,r;n&&!n.includes(e.id)&&d(e.id)&&s([{id:e.id,desc:(null===(a=t[0])||void 0===a?void 0:a.id)===e.id&&!(null!==(r=t[0])&&void 0!==r&&r.desc)}])},className:`${(null===(a=t[0])||void 0===a?void 0:a.id)===e.id?"sorted":""} ${null!==(r=t[0])&&void 0!==r&&r.desc?"desc":"asc"} ${-1!==e.id.indexOf("hdb-narrow")?"action":""} px-1 ${n&&!n.includes(e.id)&&d(e.id)?"":"disabled-column"}`,children:(0,c.jsx)("div",{className:"text-renderer",children:e.render("Header")})},e.id)}))}),r&&(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)))})]},a)}))};var g=s(3452);const u=function(e){let{page:a,pageSize:s,totalPages:t,onPageChange:r,onPageSizeChange:l,loading:d}=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)(g.A,{className:"mb-2 btn-pagination",color:"purple",block:!0,onClick:()=>r(a-1),disabled:!t||0===a,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)(n.A,{className:"mb-2",type:"number",value:a+1,min:1,max:t,onChange:e=>r(e.target.value-1)}),(0,c.jsxs)("div",{className:"page-count",children:["\xa0/\xa0",d?(0,c.jsx)("i",{className:"fa fa-spinner fa-spin"}):t]})]}),(0,c.jsx)(o.A,{xs:"12",sm:"4",className:"page-size",children:(0,c.jsx)(n.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)(g.A,{className:"mb-2 pull-right btn-pagination",block:!0,color:"purple",onClick:()=>r(a+1),disabled:!t||a+1===t,children:(0,c.jsx)("i",{className:"fa fa-chevron-right"})})})]})};const m=function(e){let{previousPage:a,canPreviousPage:s,pageIndex:t,gotoPage:r,setPageSize:l,pageCount:d,nextPage:u,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)(g.A,{className:"mb-2 btn-pagination",color:"purple",block:!0,onClick:a,disabled:!d||!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)(n.A,{className:"mb-2",type:"number",value:t+1||1,min:1,max:d,onChange:e=>r(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"}):d]})]}),(0,c.jsx)(o.A,{xs:"12",sm:"4",className:"page-size",children:(0,c.jsx)(n.A,{className:"mb-2",type:"select",onChange:e=>{r(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)(g.A,{className:"mb-2 pull-right btn-pagination",block:!0,color:"purple",onClick:u,disabled:!d||!m,children:(0,c.jsx)("i",{className:"fa fa-chevron-right"})})})]})};const p=function(e){let{prepareRow:a,row:s,onRowClick:t=!1}=e;return a(s),(0,c.jsx)(i.A,{onClick:()=>t&&t(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 h=s(3628),x=s(3150);function j(e){let{value:a}=e;return(0,c.jsx)("div",{className:"text-renderer",children:a})}function f(e){let{src:a}=e;const[s,r]=(0,t.useState)(!1),[n,l]=(0,t.useState)(!1);return(0,c.jsxs)("div",{className:"image-renderer",onMouseEnter:()=>r(!0),onMouseLeave:()=>r(!1),children:[(0,c.jsx)("i",{className:"fa fa-image"}),s&&n?(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:a,src:a,className:"preview-image"}):null]})}const b={Filter:e=>{let{column:{filterValue:a,setFilter:s}}=e;return(0,c.jsx)(n.A,{type:"text",value:a||"",onChange:e=>s(e.target.value||void 0)})},Cell:e=>{let{value:a}=e;return(e=>{switch(Object.prototype.toString.call(e)){case"[object Array]":case"[object Object]":return(0,c.jsx)(j,{value:JSON.stringify(e)});case"[object Boolean]":return(0,c.jsx)(j,{value:e?"true":"false"});case"[object String]":return(a=e)&&(a.match(/^https?.*\.(jpeg|jpg|gif|png)$/)||-1!==a.indexOf("data:image"))?(0,c.jsx)(f,{src:e}):(0,c.jsx)(j,{value:e});default:return(0,c.jsx)(j,{value:e})}var a})(a)}};const v=function(e){let{columns:a,data:s,error:n,currentPage:i,pageSize:o,totalPages:g,onFilteredChange:j,onSortedChange:f,onPageChange:v,onPageSizeChange:N,showFilter:A,onRowClick:C,sorted:P,loading:S,dynamicAttributesFromDataTable:w,tableDescriptionAttributes:k,manual:F=!1}=e;const{headerGroups:z,page:y,rows:$,prepareRow:D,state:O,setAllFilters:R,canPreviousPage:E,canNextPage:T,pageOptions:_,pageCount:H,gotoPage:G,nextPage:I,previousPage:L,setPageSize:U}=(0,r.useTable)({columns:a,data:s,defaultColumn:b,onFilteredChange:j,onSortedChange:f,onPageChange:v,onPageSizeChange:N,onRowClick:C,manualPagination:F,manualFilters:F,initialState:{pageIndex:i,pageSize:o}},r.useFilters,r.usePagination),[M,B]=(0,t.useState)(!0),J=F||!y.length?$:y;return(0,t.useEffect)((()=>{!A&&O.filters.length?R([]):j(O.filters)}),[O.filters,A]),(0,t.useEffect)((()=>{setTimeout((()=>B(!1)),100)}),[null===J||void 0===J?void 0:J.length]),(0,c.jsxs)(l.tH,{onError:(e,a)=>(0,h.A)({error:{message:e.message,componentStack:a}}),FallbackComponent:x.A,children:[(0,c.jsxs)("div",{className:"react-table-scroller",children:[(0,c.jsx)(d,{headerGroups:z,tableDescriptionAttributes:k,dynamicAttributesFromDataTable:w,onSortedChange:f,sorted:P,showFilter:A}),S||M?(0,c.jsx)("div",{className:"centered text-center",children:(0,c.jsx)("i",{className:"fa fa-spinner fa-spin"})}):J.length?J.map((e=>(0,c.jsx)(p,{row:e,prepareRow:D,onRowClick:C},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:n?`Error loading data: ${n}`:"no records"})]})]}),F?(0,c.jsx)(u,{page:i,pageSize:o,totalPages:g,onPageChange:v,onPageSizeChange:N,loading:S}):(0,c.jsx)(m,{previousPage:L,pageSize:o,canPreviousPage:E,pageIndex:O.pageIndex,pageOptions:_,gotoPage:G,setPageSize:U,pageCount:H,nextPage:I,canNextPage:T,loading:S})]})}},8222:(e,a,s)=>{s.d(a,{A:()=>n});var t=s(127),r=s(5269);const n=async e=>{let{auth:a,url:s,signal:n}=e;const l=await(0,t.A)({operation:{operation:"list_users"},auth:a,url:s,signal:n}),i=Array.isArray(l)?[...l].map((e=>({username:e.username,role:e.role.role}))).sort(((e,a)=>e.username.toLowerCase()>a.username.toLowerCase()?1:-1)):[];return r.A.update((e=>{e.users=i})),i}}}]);
@@ -1 +1 @@
1
- "use strict";(self.webpackChunkharperdb_studio=self.webpackChunkharperdb_studio||[]).push([[154],{2729:(e,s,r)=>{r.r(s),r.d(s,{default:()=>$});var a=r(9950),t=r(1345),l=r(4084),n=r(8156),o=r(7176),c=r(6114),u=r(3452),i=r(5488),d=r(6713),m=r(7348),h=r(9435),x=r(127);const p=async e=>{let{auth:s,url:r,username:a,password:t,role:l}=e;return(0,x.A)({operation:{operation:"alter_user",role:l,username:a,password:t,active:!0},auth:s,url:r})};var A=r(5269),j=r(3150),g=r(3628),w=r(8222),b=r(4414);const y=function(){const{username:e}=(0,t.g)(),[s,r]=(0,a.useState)({}),[l,n]=(0,a.useState)({}),x=(0,m.MW)(),y=(0,d.O$)(A.A,(e=>e.auth)),f=(0,d.O$)(A.A,(e=>e.url));return(0,b.jsx)(h.tH,{onError:(e,s)=>(0,g.A)({error:{message:e.message,componentStack:s}}),FallbackComponent:j.A,children:(0,b.jsxs)(o.A,{children:[(0,b.jsxs)(c.A,{xs:"4",className:"py-1",children:["Change user password",(0,b.jsx)("br",{}),(0,b.jsx)("span",{className:"text-small",children:"Modify user's access credentials"})]}),(0,b.jsx)(c.A,{xs:"4",children:(0,b.jsx)(i.A,{id:"password",type:"text",className:"text-center",name:"password",placeholder:"enter new password",value:l.password||"",onChange:e=>n({...l,password:e.target.value})})}),(0,b.jsx)(c.A,{xs:"4",children:(0,b.jsx)(u.A,{block:!0,color:"success",onClick:async()=>{const{password:s}=l;if(s){r({submitted:!0});const a=await p({auth:y,url:f,username:e,password:s});n({}),-1!==a.message.indexOf("updated")?(x.success("password updated"),(0,w.A)({auth:y,url:f}),r({})):(x.error(a.message),r({}))}else r({error:"password is required"})},disabled:s.submitted||!l.password,children:"Update Password"})})]})})};var f=r(6359),v=r(9163),C=r.n(v);const k=function(){const{username:e}=(0,t.g)(),[s,r]=(0,a.useState)({}),[l,n]=(0,a.useState)({}),i=(0,m.MW)(),x=(0,d.O$)(A.A,(e=>e.auth)),y=(0,d.O$)(A.A,(e=>e.url)),v=(0,d.O$)(A.A,(e=>{var s;return parseFloat(null===(s=e.registration)||void 0===s?void 0:s.version)<3})),k=(0,d.O$)(A.A,(e=>e.roles.map((e=>({label:e.role,value:v?e.id:e.role}))))),N=(0,d.O$)(A.A,(s=>s.users&&s.users.find((s=>s.username===e))));return C()((()=>{var e;return n({...l,newRole:null===N||void 0===N||null===(e=N.role)||void 0===e?void 0:e.id})}),[]),(0,b.jsx)(h.tH,{onError:(e,s)=>(0,g.A)({error:{message:e.message,componentStack:s}}),FallbackComponent:j.A,children:(0,b.jsxs)(o.A,{children:[(0,b.jsxs)(c.A,{xs:"4",className:"py-1",children:["Change user role",(0,b.jsx)("br",{}),(0,b.jsx)("span",{className:"text-small",children:"Change what this user can do"})]}),(0,b.jsx)(c.A,{xs:"4",children:(0,b.jsx)(f.Ay,{className:"react-select-container",classNamePrefix:"react-select",onChange:e=>{let{value:s}=e;return n({...l,newRole:s})},options:k.filter((e=>e.value!==N.role.id)),value:k.find((e=>e.value===l.newRole)),isSearchable:!1,isClearable:!1,isLoading:!k,placeholder:"select a role",styles:{placeholder:e=>({...e,textAlign:"center",width:"100%",color:"#BCBCBC"})}})}),(0,b.jsx)(c.A,{xs:"4",children:(0,b.jsx)(u.A,{id:"updateRole",block:!0,color:"success",onClick:async()=>{const{newRole:s}=l;if(s)if(N.role.id===s)r({error:"user already has this role"});else{r({submitted:!0});const a=await p({auth:x,url:y,username:e,role:s});-1!==a.message.indexOf("updated")?(i.success("user role updated"),(0,w.A)({auth:x,url:y}),r({})):(i.error(a.message),r({}))}else r({error:"role is required"})},disabled:l.newRole===N.role.id||"submitted"===s,children:"Update Role"})})]})})};var N=r(2034);const O=function(){const{username:e}=(0,t.g)(),{pathname:s}=(0,t.zy)(),r=(0,t.Zp)(),[l,n]=(0,a.useState)({}),[x,p]=(0,a.useState)({}),y=(0,m.MW)(),f=(0,d.O$)(A.A,(e=>e.auth)),v=(0,d.O$)(A.A,(e=>e.url));return(0,b.jsx)(h.tH,{onError:(e,s)=>(0,g.A)({error:{message:e.message,componentStack:s}}),FallbackComponent:j.A,children:(0,b.jsxs)(o.A,{children:[(0,b.jsxs)(c.A,{xs:"4",className:"py-1",children:["Delete User",(0,b.jsx)("br",{}),(0,b.jsx)("span",{className:"text-small",children:"user will be removed from this instance"})]}),(0,b.jsx)(c.A,{xs:"4",children:(0,b.jsx)(i.A,{id:"delete_username",onChange:e=>n({delete_username:e.target.value}),type:"text",className:"text-center",title:"confirm username to delete",placeholder:`Enter "${e}" here to enable deletion.`,value:l.delete_username||""})}),(0,b.jsx)(c.A,{xs:"4",children:(0,b.jsx)(u.A,{id:"deleteUser",block:!0,color:"success",onClick:async()=>{if(l.delete_username!==e)y.error("Please type the username to delete this user");else{p({submitted:!0});const a=await(0,N.A)({auth:f,username:e,url:v});-1!==a.message.indexOf("successfully")?(y.success(a.message),(0,w.A)({auth:f,url:v}),p({}),setTimeout((()=>r(s.replace(`/users/${e}`,"/users"))),0)):(y.error(a.message),p({}))}},disabled:e!==l.delete_username||x.submitted,children:x.submitted?(0,b.jsx)("i",{className:"fa fa-spinner fa-spin text-white"}):(0,b.jsx)("span",{children:"Delete User"})})})]})})};const $=function(){const{username:e}=(0,t.g)(),{pathname:s}=(0,t.zy)(),r=(0,t.Zp)();return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("div",{className:"floating-card-header",children:["existing users > edit > ",(0,b.jsx)("b",{children:e})]}),(0,b.jsx)(l.A,{className:"my-3",children:(0,b.jsxs)(n.A,{children:[(0,b.jsx)(y,{}),(0,b.jsx)("hr",{className:"my-3"}),(0,b.jsx)(k,{}),(0,b.jsx)("hr",{className:"my-3"}),(0,b.jsx)(O,{}),(0,b.jsx)("hr",{className:"my-3"}),(0,b.jsxs)(o.A,{children:[(0,b.jsx)(c.A,{xs:"8",className:"py-1"}),(0,b.jsx)(c.A,{xs:"4",children:(0,b.jsx)(u.A,{id:"returnToUserList",block:!0,color:"grey",onClick:()=>r(s.replace(`/${e}`,"")),children:"Return to User List"})})]})]})})]})}},2034:(e,s,r)=>{r.d(s,{A:()=>t});var a=r(127);const t=async e=>{let{auth:s,username:r,url:t}=e;return(0,a.A)({operation:{operation:"drop_user",username:r},auth:s,url:t})}},8222:(e,s,r)=>{r.d(s,{A:()=>l});var a=r(127),t=r(5269);const l=async e=>{let{auth:s,url:r,signal:l}=e;const n=await(0,a.A)({operation:{operation:"list_users"},auth:s,url:r,signal:l}),o=Array.isArray(n)?[...n].map((e=>({username:e.username,role:e.role.role}))).sort(((e,s)=>e.username.toLowerCase()>s.username.toLowerCase()?1:-1)):[];return t.A.update((e=>{e.users=o})),o}}}]);
1
+ "use strict";(self.webpackChunkharperdb_studio=self.webpackChunkharperdb_studio||[]).push([[154],{2729:(e,s,r)=>{r.r(s),r.d(s,{default:()=>$});var a=r(9950),t=r(2231),l=r(4084),n=r(8156),o=r(7176),c=r(6114),u=r(3452),i=r(5488),d=r(6713),m=r(7348),h=r(9435),x=r(127);const p=async e=>{let{auth:s,url:r,username:a,password:t,role:l}=e;return(0,x.A)({operation:{operation:"alter_user",role:l,username:a,password:t,active:!0},auth:s,url:r})};var A=r(5269),j=r(3150),g=r(3628),w=r(8222),b=r(4414);const y=function(){const{username:e}=(0,t.g)(),[s,r]=(0,a.useState)({}),[l,n]=(0,a.useState)({}),x=(0,m.MW)(),y=(0,d.O$)(A.A,(e=>e.auth)),f=(0,d.O$)(A.A,(e=>e.url));return(0,b.jsx)(h.tH,{onError:(e,s)=>(0,g.A)({error:{message:e.message,componentStack:s}}),FallbackComponent:j.A,children:(0,b.jsxs)(o.A,{children:[(0,b.jsxs)(c.A,{xs:"4",className:"py-1",children:["Change user password",(0,b.jsx)("br",{}),(0,b.jsx)("span",{className:"text-small",children:"Modify user's access credentials"})]}),(0,b.jsx)(c.A,{xs:"4",children:(0,b.jsx)(i.A,{id:"password",type:"text",className:"text-center",name:"password",placeholder:"enter new password",value:l.password||"",onChange:e=>n({...l,password:e.target.value})})}),(0,b.jsx)(c.A,{xs:"4",children:(0,b.jsx)(u.A,{block:!0,color:"success",onClick:async()=>{const{password:s}=l;if(s){r({submitted:!0});const a=await p({auth:y,url:f,username:e,password:s});n({}),-1!==a.message.indexOf("updated")?(x.success("password updated"),(0,w.A)({auth:y,url:f}),r({})):(x.error(a.message),r({}))}else r({error:"password is required"})},disabled:s.submitted||!l.password,children:"Update Password"})})]})})};var f=r(6359),v=r(9163),C=r.n(v);const k=function(){const{username:e}=(0,t.g)(),[s,r]=(0,a.useState)({}),[l,n]=(0,a.useState)({}),i=(0,m.MW)(),x=(0,d.O$)(A.A,(e=>e.auth)),y=(0,d.O$)(A.A,(e=>e.url)),v=(0,d.O$)(A.A,(e=>{var s;return parseFloat(null===(s=e.registration)||void 0===s?void 0:s.version)<3})),k=(0,d.O$)(A.A,(e=>e.roles.map((e=>({label:e.role,value:v?e.id:e.role}))))),N=(0,d.O$)(A.A,(s=>s.users&&s.users.find((s=>s.username===e))));return C()((()=>{var e;return n({...l,newRole:null===N||void 0===N||null===(e=N.role)||void 0===e?void 0:e.id})}),[]),(0,b.jsx)(h.tH,{onError:(e,s)=>(0,g.A)({error:{message:e.message,componentStack:s}}),FallbackComponent:j.A,children:(0,b.jsxs)(o.A,{children:[(0,b.jsxs)(c.A,{xs:"4",className:"py-1",children:["Change user role",(0,b.jsx)("br",{}),(0,b.jsx)("span",{className:"text-small",children:"Change what this user can do"})]}),(0,b.jsx)(c.A,{xs:"4",children:(0,b.jsx)(f.Ay,{className:"react-select-container",classNamePrefix:"react-select",onChange:e=>{let{value:s}=e;return n({...l,newRole:s})},options:k.filter((e=>e.value!==N.role.id)),value:k.find((e=>e.value===l.newRole)),isSearchable:!1,isClearable:!1,isLoading:!k,placeholder:"select a role",styles:{placeholder:e=>({...e,textAlign:"center",width:"100%",color:"#BCBCBC"})}})}),(0,b.jsx)(c.A,{xs:"4",children:(0,b.jsx)(u.A,{id:"updateRole",block:!0,color:"success",onClick:async()=>{const{newRole:s}=l;if(s)if(N.role.id===s)r({error:"user already has this role"});else{r({submitted:!0});const a=await p({auth:x,url:y,username:e,role:s});-1!==a.message.indexOf("updated")?(i.success("user role updated"),(0,w.A)({auth:x,url:y}),r({})):(i.error(a.message),r({}))}else r({error:"role is required"})},disabled:l.newRole===N.role.id||"submitted"===s,children:"Update Role"})})]})})};var N=r(2034);const O=function(){const{username:e}=(0,t.g)(),{pathname:s}=(0,t.zy)(),r=(0,t.Zp)(),[l,n]=(0,a.useState)({}),[x,p]=(0,a.useState)({}),y=(0,m.MW)(),f=(0,d.O$)(A.A,(e=>e.auth)),v=(0,d.O$)(A.A,(e=>e.url));return(0,b.jsx)(h.tH,{onError:(e,s)=>(0,g.A)({error:{message:e.message,componentStack:s}}),FallbackComponent:j.A,children:(0,b.jsxs)(o.A,{children:[(0,b.jsxs)(c.A,{xs:"4",className:"py-1",children:["Delete User",(0,b.jsx)("br",{}),(0,b.jsx)("span",{className:"text-small",children:"user will be removed from this instance"})]}),(0,b.jsx)(c.A,{xs:"4",children:(0,b.jsx)(i.A,{id:"delete_username",onChange:e=>n({delete_username:e.target.value}),type:"text",className:"text-center",title:"confirm username to delete",placeholder:`Enter "${e}" here to enable deletion.`,value:l.delete_username||""})}),(0,b.jsx)(c.A,{xs:"4",children:(0,b.jsx)(u.A,{id:"deleteUser",block:!0,color:"success",onClick:async()=>{if(l.delete_username!==e)y.error("Please type the username to delete this user");else{p({submitted:!0});const a=await(0,N.A)({auth:f,username:e,url:v});-1!==a.message.indexOf("successfully")?(y.success(a.message),(0,w.A)({auth:f,url:v}),p({}),setTimeout((()=>r(s.replace(`/users/${e}`,"/users"))),0)):(y.error(a.message),p({}))}},disabled:e!==l.delete_username||x.submitted,children:x.submitted?(0,b.jsx)("i",{className:"fa fa-spinner fa-spin text-white"}):(0,b.jsx)("span",{children:"Delete User"})})})]})})};const $=function(){const{username:e}=(0,t.g)(),{pathname:s}=(0,t.zy)(),r=(0,t.Zp)();return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("div",{className:"floating-card-header",children:["existing users > edit > ",(0,b.jsx)("b",{children:e})]}),(0,b.jsx)(l.A,{className:"my-3",children:(0,b.jsxs)(n.A,{children:[(0,b.jsx)(y,{}),(0,b.jsx)("hr",{className:"my-3"}),(0,b.jsx)(k,{}),(0,b.jsx)("hr",{className:"my-3"}),(0,b.jsx)(O,{}),(0,b.jsx)("hr",{className:"my-3"}),(0,b.jsxs)(o.A,{children:[(0,b.jsx)(c.A,{xs:"8",className:"py-1"}),(0,b.jsx)(c.A,{xs:"4",children:(0,b.jsx)(u.A,{id:"returnToUserList",block:!0,color:"grey",onClick:()=>r(s.replace(`/${e}`,"")),children:"Return to User List"})})]})]})})]})}},2034:(e,s,r)=>{r.d(s,{A:()=>t});var a=r(127);const t=async e=>{let{auth:s,username:r,url:t}=e;return(0,a.A)({operation:{operation:"drop_user",username:r},auth:s,url:t})}},8222:(e,s,r)=>{r.d(s,{A:()=>l});var a=r(127),t=r(5269);const l=async e=>{let{auth:s,url:r,signal:l}=e;const n=await(0,a.A)({operation:{operation:"list_users"},auth:s,url:r,signal:l}),o=Array.isArray(n)?[...n].map((e=>({username:e.username,role:e.role.role}))).sort(((e,s)=>e.username.toLowerCase()>s.username.toLowerCase()?1:-1)):[];return t.A.update((e=>{e.users=o})),o}}}]);
@@ -1 +1 @@
1
- "use strict";(self.webpackChunkharperdb_studio=self.webpackChunkharperdb_studio||[]).push([[297],{1813:(e,t,r)=>{r.r(t),r.d(t,{default:()=>C});var s=r(9950),n=r(7176),a=r(6114),o=r(1345),c=r(4084),i=r(8156),l=r(5488),u=r(3452),d=r(6359),f=r(9163),p=r.n(f),h=r(6713),m=r(9435),y=r(5269),b=r(8198),v=r(8188),g=r(9561),x=r(3150),j=r(3628),A=r(2415),w=r(4414);const O=function(e){let{setLastUpdate:t}=e;const r=(0,h.O$)(y.A,(e=>e.auth)),n=(0,h.O$)(y.A,(e=>e.url)),a=(0,h.O$)(y.A,(e=>e.users)),o=(0,h.O$)(y.A,(e=>e.roles)),f=(0,h.O$)(y.A,(e=>{var t;return parseFloat(null===(t=e.registration)||void 0===t?void 0:t.version)<3})),[O,N]=(0,s.useState)({}),[S,k]=(0,s.useState)({}),C="224px";return p()((async()=>{const{submitted:e}=O;if(e){const{username:e,password:s,role:o}=S;if(e&&o&&s)if((0,g.A)(e))if(a.find((t=>t.username.toLowerCase()===e.toLowerCase())))N({error:"User already exists"});else{N({processing:!0});const a=await(0,b.A)({auth:r,role:o,username:e,password:s,url:n});-1!==a.message.indexOf("successfully")?(t(Date.now()),N({success:a.message})):N({error:a.message})}else N({error:"usernames must have only letters, numbers, hyphens, and underscores"}),setTimeout((()=>N({})),2e3);else N({error:"All fields must be filled out"});setTimeout((()=>k({})),2e3)}}),[O]),p()((()=>{N({})}),[S]),p()((()=>o&&k({...S,role:!1})),[o]),(0,s.useEffect)((()=>{(0,A.A)({auth:r,url:n})}),[r,n]),(0,w.jsxs)(m.tH,{onError:(e,t)=>(0,j.A)({error:{message:e.message,componentStack:t}}),FallbackComponent:x.A,children:[(0,w.jsx)("span",{className:"floating-card-header",children:"add user"}),O.processing?(0,w.jsx)(v.A,{className:"my-3",height:C,status:"processing",header:"Adding User",subhead:"The Account Airedale Is A Good Boy"}):O.success?(0,w.jsx)(v.A,{className:"my-3",height:C,status:"success",header:"Success!",subhead:O.success}):O.error?(0,w.jsx)(v.A,{className:"my-3",height:C,status:"error",header:O.error,subhead:"Please try again"}):(0,w.jsx)(c.A,{className:"my-3",children:(0,w.jsxs)(i.A,{children:[(0,w.jsx)(l.A,{id:"username",type:"text",className:"mb-2 text-center",name:"username",placeholder:"username",value:S.username||"",onChange:e=>k({...S,username:e.target.value})}),(0,w.jsx)(l.A,{id:"password",type:"text",className:"mb-2 text-center",name:"password",placeholder:"password",value:S.password||"",onChange:e=>k({...S,password:e.target.value})}),(0,w.jsx)(d.Ay,{className:"react-select-container",classNamePrefix:"react-select",onChange:e=>{let{value:t}=e;return k({...S,role:t})},options:o&&o.map((e=>({label:e.role,value:f?e.id:e.role}))),value:o&&S.role&&o.find((e=>e.value===S.role)),isSearchable:!1,isClearable:!1,isLoading:!o,placeholder:"select a role",styles:{placeholder:e=>({...e,textAlign:"center",width:"100%",color:"#BCBCBC"})}}),(0,w.jsx)(u.A,{id:"addInstanceUser",color:"success",className:"mt-3",block:!0,onClick:()=>N({submitted:!0}),children:"Add User"})]})})]})};var N=r(4979);const S=(0,s.lazy)((()=>Promise.all([r.e(43),r.e(642)]).then(r.bind(r,7695)))),k=(0,s.lazy)((()=>r.e(154).then(r.bind(r,2729))));const C=function(){const{username:e}=(0,o.g)(),[t,r]=(0,s.useState)(!0);return(0,w.jsxs)(n.A,{children:[(0,w.jsx)(a.A,{xl:"3",lg:"4",md:"5",xs:"12",children:(0,w.jsx)(O,{setLastUpdate:r})}),(0,w.jsx)(a.A,{xl:"9",lg:"8",md:"7",xs:"12",className:"pb-5",children:(0,w.jsx)(s.Suspense,{fallback:(0,w.jsx)(N.A,{header:" ",spinner:!0}),children:e?(0,w.jsx)(k,{}):(0,w.jsx)(S,{lastUpdate:t,setLastUpdate:r})})})]})}},8188:(e,t,r)=>{r.d(t,{A:()=>o});r(9950);var s=r(4084),n=r(8156),a=r(4414);const o=function(e){let{header:t,subhead:r=" ",height:o,status:c,className:i}=e;return(0,a.jsx)(s.A,{className:`form-status ${i}`,children:(0,a.jsxs)(n.A,{className:"text-center",style:{height:o},children:[(0,a.jsx)("div",{className:"text-bold",children:t}),(0,a.jsx)("div",{className:"py-4",children:(0,a.jsx)("i",{className:"fa fa-lg "+("processing"===c?"fa-spinner fa-spin text-purple":"success"===c?"fa-check-circle text-purple":"fa-exclamation-triangle text-danger")})}),(0,a.jsx)("div",{className:"text-grey",children:r})]})})}},8198:(e,t,r)=>{r.d(t,{A:()=>n});var s=r(127);const n=async e=>{let{auth:t,role:r,username:n,password:a,url:o}=e;return(0,s.A)({operation:{operation:"add_user",role:r,username:n,password:a,active:!0},auth:t,url:o})}},2415:(e,t,r)=>{r.d(t,{A:()=>a});var s=r(127),n=r(5269);const a=async e=>{let{auth:t,url:r}=e;const a=await(0,s.A)({operation:{operation:"list_roles"},auth:t,url:r}),o=[...Array.isArray(a)?a:[]].sort(((e,t)=>e.role.toLowerCase()>t.role.toLowerCase()?1:-1));return n.A.update((e=>{e.roles=o})),o}},9561:(e,t,r)=>{r.d(t,{A:()=>s});const s=e=>e.match(/^[-a-zA-Z0-9_]+$/)},5488:(e,t,r)=>{r.d(t,{A:()=>x});var s=r(9950),n=r(1942),a=r.n(n),o=r(8738),c=r.n(o),i=r(1497);function l(e){return l="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},l(e)}var u=["className","cssModule","type","bsSize","valid","invalid","tag","addon","plaintext","innerRef"];function d(){return d=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var s in r)Object.prototype.hasOwnProperty.call(r,s)&&(e[s]=r[s])}return e},d.apply(this,arguments)}function f(e,t){if(null==e)return{};var r,s,n=function(e,t){if(null==e)return{};var r,s,n={},a=Object.keys(e);for(s=0;s<a.length;s++)r=a[s],t.indexOf(r)>=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(s=0;s<a.length;s++)r=a[s],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function p(e,t){for(var r=0;r<t.length;r++){var s=t[r];s.enumerable=s.enumerable||!1,s.configurable=!0,"value"in s&&(s.writable=!0),Object.defineProperty(e,s.key,s)}}function h(e,t){return h=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},h(e,t)}function m(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,s=b(e);if(t){var n=b(this).constructor;r=Reflect.construct(s,arguments,n)}else r=s.apply(this,arguments);return function(e,t){if(t&&("object"===l(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 v={children:a().node,type:a().string,size:a().oneOfType([a().number,a().string]),bsSize:a().string,valid:a().bool,invalid:a().bool,tag:i.Wx,innerRef:a().oneOfType([a().object,a().func,a().string]),plaintext:a().bool,addon:a().bool,className:a().string,cssModule:a().object},g=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)}(o,e);var t,r,n,a=m(o);function o(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,o),(t=a.call(this,e)).getRef=t.getRef.bind(y(t)),t.focus=t.focus.bind(y(t)),t}return t=o,(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,n=e.type,a=void 0===n?"text":n,o=e.bsSize,l=e.valid,p=e.invalid,h=e.tag,m=e.addon,y=e.plaintext,b=e.innerRef,v=f(e,u),g=["switch","radio","checkbox"].indexOf(a)>-1,x="select"===a,j="range"===a,A=h||(x||"textarea"===a?a:"input"),w="form-control";y?(w="".concat(w,"-plaintext"),A=h||"input"):j?w="form-range":x?w="form-select":g&&(w=m?null:"form-check-input"),v.size&&/\D/g.test(v.size)&&((0,i.mc)('Please use the prop "bsSize" instead of the "size" to bootstrap\'s input sizing.'),o=v.size,delete v.size);var O=(0,i.qO)(c()(t,p&&"is-invalid",l&&"is-valid",!!o&&(x?"form-select-".concat(o):"form-control-".concat(o)),w),r);return("input"===A||h&&"function"===typeof h)&&(v.type="switch"===a?"checkbox":a),v.children&&!y&&"select"!==a&&"string"===typeof A&&"select"!==A&&((0,i.mc)('Input with a type of "'.concat(a,'" cannot have children. Please use "value"/"defaultValue" instead.')),delete v.children),s.createElement(A,d({},v,{ref:b,className:O,"aria-invalid":p}))}}])&&p(t.prototype,r),n&&p(t,n),Object.defineProperty(t,"prototype",{writable:!1}),o}(s.Component);g.propTypes=v;const x=g}}]);
1
+ "use strict";(self.webpackChunkharperdb_studio=self.webpackChunkharperdb_studio||[]).push([[297],{1813:(e,t,r)=>{r.r(t),r.d(t,{default:()=>C});var s=r(9950),n=r(7176),a=r(6114),o=r(2231),c=r(4084),i=r(8156),l=r(5488),u=r(3452),d=r(6359),f=r(9163),p=r.n(f),h=r(6713),m=r(9435),y=r(5269),b=r(8198),v=r(8188),g=r(9561),x=r(3150),j=r(3628),A=r(2415),w=r(4414);const O=function(e){let{setLastUpdate:t}=e;const r=(0,h.O$)(y.A,(e=>e.auth)),n=(0,h.O$)(y.A,(e=>e.url)),a=(0,h.O$)(y.A,(e=>e.users)),o=(0,h.O$)(y.A,(e=>e.roles)),f=(0,h.O$)(y.A,(e=>{var t;return parseFloat(null===(t=e.registration)||void 0===t?void 0:t.version)<3})),[O,N]=(0,s.useState)({}),[S,k]=(0,s.useState)({}),C="224px";return p()((async()=>{const{submitted:e}=O;if(e){const{username:e,password:s,role:o}=S;if(e&&o&&s)if((0,g.A)(e))if(a.find((t=>t.username.toLowerCase()===e.toLowerCase())))N({error:"User already exists"});else{N({processing:!0});const a=await(0,b.A)({auth:r,role:o,username:e,password:s,url:n});-1!==a.message.indexOf("successfully")?(t(Date.now()),N({success:a.message})):N({error:a.message})}else N({error:"usernames must have only letters, numbers, hyphens, and underscores"}),setTimeout((()=>N({})),2e3);else N({error:"All fields must be filled out"});setTimeout((()=>k({})),2e3)}}),[O]),p()((()=>{N({})}),[S]),p()((()=>o&&k({...S,role:!1})),[o]),(0,s.useEffect)((()=>{(0,A.A)({auth:r,url:n})}),[r,n]),(0,w.jsxs)(m.tH,{onError:(e,t)=>(0,j.A)({error:{message:e.message,componentStack:t}}),FallbackComponent:x.A,children:[(0,w.jsx)("span",{className:"floating-card-header",children:"add user"}),O.processing?(0,w.jsx)(v.A,{className:"my-3",height:C,status:"processing",header:"Adding User",subhead:"The Account Airedale Is A Good Boy"}):O.success?(0,w.jsx)(v.A,{className:"my-3",height:C,status:"success",header:"Success!",subhead:O.success}):O.error?(0,w.jsx)(v.A,{className:"my-3",height:C,status:"error",header:O.error,subhead:"Please try again"}):(0,w.jsx)(c.A,{className:"my-3",children:(0,w.jsxs)(i.A,{children:[(0,w.jsx)(l.A,{id:"username",type:"text",className:"mb-2 text-center",name:"username",placeholder:"username",value:S.username||"",onChange:e=>k({...S,username:e.target.value})}),(0,w.jsx)(l.A,{id:"password",type:"text",className:"mb-2 text-center",name:"password",placeholder:"password",value:S.password||"",onChange:e=>k({...S,password:e.target.value})}),(0,w.jsx)(d.Ay,{className:"react-select-container",classNamePrefix:"react-select",onChange:e=>{let{value:t}=e;return k({...S,role:t})},options:o&&o.map((e=>({label:e.role,value:f?e.id:e.role}))),value:o&&S.role&&o.find((e=>e.value===S.role)),isSearchable:!1,isClearable:!1,isLoading:!o,placeholder:"select a role",styles:{placeholder:e=>({...e,textAlign:"center",width:"100%",color:"#BCBCBC"})}}),(0,w.jsx)(u.A,{id:"addInstanceUser",color:"success",className:"mt-3",block:!0,onClick:()=>N({submitted:!0}),children:"Add User"})]})})]})};var N=r(4979);const S=(0,s.lazy)((()=>Promise.all([r.e(43),r.e(642)]).then(r.bind(r,7695)))),k=(0,s.lazy)((()=>r.e(154).then(r.bind(r,2729))));const C=function(){const{username:e}=(0,o.g)(),[t,r]=(0,s.useState)(!0);return(0,w.jsxs)(n.A,{children:[(0,w.jsx)(a.A,{xl:"3",lg:"4",md:"5",xs:"12",children:(0,w.jsx)(O,{setLastUpdate:r})}),(0,w.jsx)(a.A,{xl:"9",lg:"8",md:"7",xs:"12",className:"pb-5",children:(0,w.jsx)(s.Suspense,{fallback:(0,w.jsx)(N.A,{header:" ",spinner:!0}),children:e?(0,w.jsx)(k,{}):(0,w.jsx)(S,{lastUpdate:t,setLastUpdate:r})})})]})}},8188:(e,t,r)=>{r.d(t,{A:()=>o});r(9950);var s=r(4084),n=r(8156),a=r(4414);const o=function(e){let{header:t,subhead:r=" ",height:o,status:c,className:i}=e;return(0,a.jsx)(s.A,{className:`form-status ${i}`,children:(0,a.jsxs)(n.A,{className:"text-center",style:{height:o},children:[(0,a.jsx)("div",{className:"text-bold",children:t}),(0,a.jsx)("div",{className:"py-4",children:(0,a.jsx)("i",{className:"fa fa-lg "+("processing"===c?"fa-spinner fa-spin text-purple":"success"===c?"fa-check-circle text-purple":"fa-exclamation-triangle text-danger")})}),(0,a.jsx)("div",{className:"text-grey",children:r})]})})}},8198:(e,t,r)=>{r.d(t,{A:()=>n});var s=r(127);const n=async e=>{let{auth:t,role:r,username:n,password:a,url:o}=e;return(0,s.A)({operation:{operation:"add_user",role:r,username:n,password:a,active:!0},auth:t,url:o})}},2415:(e,t,r)=>{r.d(t,{A:()=>a});var s=r(127),n=r(5269);const a=async e=>{let{auth:t,url:r}=e;const a=await(0,s.A)({operation:{operation:"list_roles"},auth:t,url:r}),o=[...Array.isArray(a)?a:[]].sort(((e,t)=>e.role.toLowerCase()>t.role.toLowerCase()?1:-1));return n.A.update((e=>{e.roles=o})),o}},9561:(e,t,r)=>{r.d(t,{A:()=>s});const s=e=>e.match(/^[-a-zA-Z0-9_]+$/)},5488:(e,t,r)=>{r.d(t,{A:()=>x});var s=r(9950),n=r(1942),a=r.n(n),o=r(8738),c=r.n(o),i=r(1497);function l(e){return l="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},l(e)}var u=["className","cssModule","type","bsSize","valid","invalid","tag","addon","plaintext","innerRef"];function d(){return d=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var s in r)Object.prototype.hasOwnProperty.call(r,s)&&(e[s]=r[s])}return e},d.apply(this,arguments)}function f(e,t){if(null==e)return{};var r,s,n=function(e,t){if(null==e)return{};var r,s,n={},a=Object.keys(e);for(s=0;s<a.length;s++)r=a[s],t.indexOf(r)>=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(s=0;s<a.length;s++)r=a[s],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function p(e,t){for(var r=0;r<t.length;r++){var s=t[r];s.enumerable=s.enumerable||!1,s.configurable=!0,"value"in s&&(s.writable=!0),Object.defineProperty(e,s.key,s)}}function h(e,t){return h=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},h(e,t)}function m(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,s=b(e);if(t){var n=b(this).constructor;r=Reflect.construct(s,arguments,n)}else r=s.apply(this,arguments);return function(e,t){if(t&&("object"===l(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 v={children:a().node,type:a().string,size:a().oneOfType([a().number,a().string]),bsSize:a().string,valid:a().bool,invalid:a().bool,tag:i.Wx,innerRef:a().oneOfType([a().object,a().func,a().string]),plaintext:a().bool,addon:a().bool,className:a().string,cssModule:a().object},g=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)}(o,e);var t,r,n,a=m(o);function o(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,o),(t=a.call(this,e)).getRef=t.getRef.bind(y(t)),t.focus=t.focus.bind(y(t)),t}return t=o,(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,n=e.type,a=void 0===n?"text":n,o=e.bsSize,l=e.valid,p=e.invalid,h=e.tag,m=e.addon,y=e.plaintext,b=e.innerRef,v=f(e,u),g=["switch","radio","checkbox"].indexOf(a)>-1,x="select"===a,j="range"===a,A=h||(x||"textarea"===a?a:"input"),w="form-control";y?(w="".concat(w,"-plaintext"),A=h||"input"):j?w="form-range":x?w="form-select":g&&(w=m?null:"form-check-input"),v.size&&/\D/g.test(v.size)&&((0,i.mc)('Please use the prop "bsSize" instead of the "size" to bootstrap\'s input sizing.'),o=v.size,delete v.size);var O=(0,i.qO)(c()(t,p&&"is-invalid",l&&"is-valid",!!o&&(x?"form-select-".concat(o):"form-control-".concat(o)),w),r);return("input"===A||h&&"function"===typeof h)&&(v.type="switch"===a?"checkbox":a),v.children&&!y&&"select"!==a&&"string"===typeof A&&"select"!==A&&((0,i.mc)('Input with a type of "'.concat(a,'" cannot have children. Please use "value"/"defaultValue" instead.')),delete v.children),s.createElement(A,d({},v,{ref:b,className:O,"aria-invalid":p}))}}])&&p(t.prototype,r),n&&p(t,n),Object.defineProperty(t,"prototype",{writable:!1}),o}(s.Component);g.propTypes=v;const x=g}}]);
@@ -1 +1 @@
1
- "use strict";(self.webpackChunkharperdb_studio=self.webpackChunkharperdb_studio||[]).push([[358],{7408:(e,t,s)=>{s.r(t),s.d(t,{default:()=>ce});var a=s(9950),r=s(1345),n=s(6713),i=s(7348),o=s(9163),l=s.n(o),c=s(135),u=s(5553),d=s(5269),p=s(4319),m=s(2072),v=s(8125),h=s(5746),_=s(6359),b=s(9435),A=s(3150),g=s(3628),f=s(5996),y=s(4414);const j=function(e){let{routes:t=[]}=e;const{compute_stack_id:s,customer_id:a}=(0,r.g)(),[i]=(0,p.A)({}),o=(0,r.Zp)(),l=(0,r.zy)(),c=(0,n.O$)(d.A,(e=>e.defaultBrowseURL)),j=(0,n.O$)(u.A,(e=>{var t;return e.alarms&&(null===(t=e.alarms[s])||void 0===t?void 0:t.alarmCounts.total)}),[s]),{options:x,activeOption:$}=(0,n.O$)(u.A,(e=>{const t=e.instances&&e.instances.find((e=>e.compute_stack_id===s)),a=e.instances&&e.instances.filter((e=>e.compute_stack_id!==s));return{options:a&&a.map((e=>({label:(0,y.jsxs)("span",{children:[(0,y.jsx)("i",{className:`d-none d-sm-inline-block fa me-2 fa-${e.is_local?"server":["CREATE_IN_PROGRESS","UPDATE_IN_PROGRESS","CONFIGURING_NETWORK"].includes(e.status)?"circle-exclamation":"cloud"} ${["CREATE_IN_PROGRESS","UPDATE_IN_PROGRESS","CONFIGURING_NETWORK"].includes(e.status)&&"opacity-25"}`}),e.instance_name," ",["CREATE_IN_PROGRESS","UPDATE_IN_PROGRESS","CONFIGURING_NETWORK"].includes(e.status)&&`(${e.status.replace(/_/g," ").toLowerCase()})`]}),value:e.compute_stack_id,has_auth:i[e.compute_stack_id],is_unavailable:["CREATE_IN_PROGRESS","UPDATE_IN_PROGRESS","CONFIGURING_NETWORK"].includes(e.status)}))),activeOption:{label:(0,y.jsxs)("span",{children:[(0,y.jsx)("i",{className:"d-none d-sm-inline-block fa me-2 fa-"+(t?null!==t&&void 0!==t&&t.is_local?"server":"cloud":"")}),null===t||void 0===t?void 0:t.instance_name]}),value:s}}}),[s]),k=`/o/${a}/i/${s}`,O=l.pathname.split(`/i/${s}`)[1].split("/")[1],w=null===t||void 0===t?void 0:t.find((e=>e.link===O));return(0,y.jsx)(b.tH,{onError:(e,t)=>(0,g.A)({error:{message:e.message,componentStack:t}}),FallbackComponent:A.A,children:(0,y.jsxs)(m.A,{className:"app-subnav",children:[!f.A.is_local_studio&&(0,y.jsx)(v.A,{navbar:!0,className:"instance-select",children:(0,y.jsx)(_.Ay,{className:"react-select-container",classNamePrefix:"react-select",onChange:e=>{let{value:t,has_auth:s,is_unavailable:r}=e;return!r&&o(s?`/o/${a}/i/${t}/${null===w||void 0===w?void 0:w.link}`:`/o/${a}/instances/login`)},options:x||[],value:$,defaultValue:$.value,isSearchable:!1,isClearable:!1,isLoading:!x,noOptionsMessage:()=>"No other instances available"})}),(0,y.jsx)(v.A,{navbar:!0,className:"instance-nav d-none d-lg-flex",children:null===t||void 0===t?void 0:t.map((e=>(0,y.jsx)(h.A,{children:(0,y.jsxs)(r.k2,{title:e.link,className:"nav-link",to:`${k}/${"browse"===e.link&&c?`${e.link}/${c}`:e.link}`,children:[(0,y.jsx)("i",{className:`d-none d-sm-inline-block fa me-2 fa-${e.icon}`}),e.label||e.link,!!j&&"status"===e.link&&(0,y.jsx)("span",{className:"badge",children:j})]})},e.path)))}),(0,y.jsx)(v.A,{navbar:!0,className:"instance-nav-select d-flex d-lg-none",children:(0,y.jsx)(_.Ay,{className:"react-select-container",classNamePrefix:"react-select",width:"200px",onChange:e=>{let{value:t}=e;return o(`${k}/${t}`)},options:null===t||void 0===t?void 0:t.map((e=>({label:(0,y.jsxs)("span",{children:[(0,y.jsx)("i",{className:`d-none d-sm-inline-block fa me-2 fa-${e.icon}`}),e.label]}),value:e.link}))),isLoading:!(null!==w&&void 0!==w&&w.link),value:{label:(0,y.jsxs)("span",{children:[(0,y.jsx)("i",{className:`d-none d-sm-inline-block fa me-2 fa-${null===w||void 0===w?void 0:w.icon}`}),null===w||void 0===w?void 0:w.label]}),value:null===w||void 0===w?void 0:w.link},defaultValue:null===w||void 0===w?void 0:w.link,isSearchable:!1,isClearable:!1})})]})})};var x=s(4084),$=s(8156),k=s(1942),O=s.n(k),w=s(8738),N=s.n(w),E=s(1497),S=["className","cssModule","tag"];function P(){return P=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var s=arguments[t];for(var a in s)Object.prototype.hasOwnProperty.call(s,a)&&(e[a]=s[a])}return e},P.apply(this,arguments)}function T(e,t){if(null==e)return{};var s,a,r=function(e,t){if(null==e)return{};var s,a,r={},n=Object.keys(e);for(a=0;a<n.length;a++)s=n[a],t.indexOf(s)>=0||(r[s]=e[s]);return r}(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(a=0;a<n.length;a++)s=n[a],t.indexOf(s)>=0||Object.prototype.propertyIsEnumerable.call(e,s)&&(r[s]=e[s])}return r}var R={className:O().string,cssModule:O().object,tag:E.Wx};function C(e){var t=e.className,s=e.cssModule,r=e.tag,n=void 0===r?"div":r,i=T(e,S),o=(0,E.qO)(N()(t,"card-title"),s);return a.createElement(n,P({},i,{className:o}))}C.propTypes=R;const I=C;var z=s(7176),F=s(6114),q=s(6165),G=s(5502);const U=(0,a.lazy)((()=>Promise.all([s.e(43),s.e(702)]).then(s.bind(s,6816)))),B=(0,a.lazy)((()=>s.e(972).then(s.bind(s,1271)))),L=(0,a.lazy)((()=>Promise.all([s.e(23),s.e(374)]).then(s.bind(s,3888)))),W=(0,a.lazy)((()=>Promise.all([s.e(545),s.e(417)]).then(s.bind(s,8086)))),D=(0,a.lazy)((()=>s.e(5).then(s.bind(s,4029)))),H={tableData:[],dataTableColumns:[],filtered:[],sorted:[],page:0,pageSize:20,autoRefresh:!1,showFilter:!1,newEntityAttributes:!1,hashAttribute:!1};function M(e){let{table:t}=e;return(0,y.jsx)(x.A,{className:"my-3 missing-primary-key",children:(0,y.jsxs)($.A,{children:[(0,y.jsx)(I,{children:"No Primary Key"}),(0,y.jsx)("i",{className:"mt-3 fa fa-warning"}),(0,y.jsxs)("span",{className:"mt-3",children:["The table ",`'${t}'`," does not have a primary key. Harper Studio does not currently support tables without a primary key defined. Please see the"," ",(0,y.jsx)("a",{href:"https://docs.harperdb.io/docs",target:"_blank",rel:"noreferrer",children:"Harper documentation"})," ","to see the standard Harper querying options."]})]})})}const K=function(){var e,t,s,i,o;const l=(0,r.Zp)(),c=(0,r.zy)(),{schema:u,table:m,action:v,customer_id:h,compute_stack_id:_}=(0,r.g)(),[f]=(0,p.A)({}),j=(0,n.O$)(d.A,(e=>e.registration)),x=null===j||void 0===j?void 0:j.version,[$,k]=(null===x||void 0===x?void 0:x.split("."))||[],O=`${$}.${k}`,w=(0,n.O$)(d.A,(e=>e.structure)),[N,E]=(0,a.useState)({schemas:[],tables:[],activeTable:!1}),[S,P]=(0,a.useState)(H),T=`/o/${h}/i/${_}/browse`,R=(null===(e=f[_])||void 0===e?void 0:e.super)||!0===(null===(t=f[_])||void 0===t?void 0:t.structure),C=R||(null===(s=f[_])||void 0===s?void 0:s.structure)&&(null===(i=f[_])||void 0===i||null===(o=i.structure)||void 0===o?void 0:o.includes(u)),I=R?`Please ${u&&N.tables&&!N.tables.length||!N.schemas.length?"create":"choose"} a ${u?"table":""+(O>=4.2?"database":"schema")}`:"This user has not been granted access to any tables. A super-user must update this user's role.",[K,V]=(0,a.useState)(!0);return(0,a.useEffect)((()=>{S&&V(Boolean(S.hashAttribute))}),[S]),(0,a.useEffect)((()=>{if(w){const e=Object.keys(w),t=Object.keys((null===w||void 0===w?void 0:w[u])||{});if(!e.length&&"/browse"!==c.pathname)return E({schemas:[],tables:[],activeTable:!1}),void l(`/o/${h}/i/${_}/browse`);if(e.length&&!e.includes(u))return void l(`/o/${h}/i/${_}/browse/${e[0]}`);if(t.length&&!t.includes(m))return void l(`/o/${h}/i/${_}/browse/${u}/${t[0]}`);N.activeTable!==`${_}:${u}:${m}`&&P(H),E({schemas:e,tables:t,activeTable:`${_}:${u}:${m}`})}}),[w,u,m,_]),(0,a.useEffect)((()=>{const e=setInterval((()=>{(0,G.Ak)()}),6e4);return()=>clearInterval(e)}),[]),(0,y.jsxs)(z.A,{id:"browse",children:[(0,y.jsx)(F.A,{xl:"3",lg:"4",md:"5",xs:"12",children:(0,y.jsxs)(b.tH,{onError:(e,t)=>(0,g.A)({error:{message:e.message,componentStack:t}}),FallbackComponent:A.A,children:[(0,y.jsx)(B,{activeItem:u,items:N.schemas,baseUrl:T,itemType:O>=4.2?"database":"schema",showForm:R}),u&&(0,y.jsx)(B,{activeItem:m,items:N.tables,activeSchema:u,baseUrl:`${T}/${u}`,itemType:"table",showForm:C}),(0,y.jsx)(D,{centerText:!0,label:`refresh ${O>=4.2?"databases":"schemas"} and tables`})]})}),(0,y.jsx)(F.A,{xs:"12",className:"d-block d-md-none",children:(0,y.jsx)("hr",{})}),(0,y.jsx)(F.A,{xl:"9",lg:"8",md:"7",xs:"12",children:(0,y.jsx)(b.tH,{onError:(e,t)=>(0,g.A)({error:{message:e.message,componentStack:t}}),FallbackComponent:A.A,children:u&&m&&"csv"===v&&N.activeTable?(0,y.jsx)(W,{}):u&&m&&v&&N.activeTable?(0,y.jsx)(L,{newEntityAttributes:S.newEntityAttributes,hashAttribute:S.hashAttribute}):u&&m&&N.activeTable?(0,y.jsx)(U,{activeTable:N.activeTable,tableState:S,setTableState:P}):u&&m&&!K?(0,y.jsx)(M,{}):(0,y.jsx)(q.A,{headline:I,icon:(0,y.jsx)("i",{className:"fa fa-exclamation-triangle text-warning"})})})})]})};var V=s(2914);const Z=(0,a.lazy)((()=>Promise.all([s.e(43),s.e(851),s.e(575)]).then(s.bind(s,1679)))),Y=(0,a.lazy)((()=>Promise.all([s.e(239),s.e(741)]).then(s.bind(s,7368)))),J=(0,a.lazy)((()=>s.e(541).then(s.bind(s,6812)))),Q=(0,a.lazy)((()=>Promise.all([s.e(851),s.e(18)]).then(s.bind(s,4016)))),X=(0,a.lazy)((()=>s.e(297).then(s.bind(s,1813)))),ee=(0,a.lazy)((()=>s.e(522).then(s.bind(s,7591)))),te=(0,a.lazy)((()=>Promise.all([s.e(43),s.e(23),s.e(302)]).then(s.bind(s,4298)))),se=e=>{let{super_user:t,version:s=null}=e;const a=(0,V.A)({version:s}),r={element:(0,y.jsx)(K,{}),path:"browse/:schema?/:table?/:action?/:hash?",link:"browse",label:"browse",icon:"list"},n={element:(0,y.jsx)(X,{}),path:"users/:username?",link:"users",label:"users",icon:"users"},i={element:(0,y.jsx)(ee,{}),path:"roles/:role_id?",link:"roles",label:"roles",icon:"check-square"},o={element:(0,y.jsx)(Z,{}),path:"replication",link:"replication",label:"replication",icon:"cubes"},l={element:(0,y.jsx)(te,{}),path:"functions/:action?/:project?/:type?/:file?",link:"functions",label:"functions",icon:"project-diagram"},c={element:(0,y.jsx)(te,{}),path:"applications",link:"applications",label:"applications",icon:"project-diagram"},u={element:(0,y.jsx)(J,{}),path:"status",link:"status",label:"status",icon:"tachometer-alt"},d={element:(0,y.jsx)(Q,{}),path:"logs",link:"logs",label:"logs",icon:"tachometer-alt"},p={element:(0,y.jsx)(Y,{}),path:"config",link:"config",label:"config",icon:"wrench"};return f.A.is_local_studio&&t||t?[r,n,i,o,a?c:l,u,p,d]:(f.A.is_local_studio,[r])};var ae=s(5900),re=s(4979),ne=s(3906),ie=s(9519),oe=s(4817),le=s(5911);s(717);const ce=function(){const{compute_stack_id:e,customer_id:t}=(0,r.g)(),s=(0,i.MW)(),o=(0,r.Zp)(),[m,v]=(0,a.useState)(!0),[h,_]=(0,p.A)({}),b=h&&h[e],A=(0,n.O$)(u.A,(e=>e.auth)),g=(0,n.O$)(u.A,(e=>{var s,a;return null===(s=e.auth)||void 0===s||null===(a=s.orgs)||void 0===a?void 0:a.find((e=>{var s;return(null===(s=e.customer_id)||void 0===s?void 0:s.toString())===t}))})),x=(0,n.O$)(u.A,(e=>e.products)),$=(0,n.O$)(u.A,(e=>e.regions)),k=(0,n.O$)(u.A,(e=>e.subscriptions)),O=(0,n.O$)(u.A,(e=>e.instances)),w=(0,n.O$)(u.A,(t=>e&&t.instances&&t.instances.find((t=>t.compute_stack_id===e))),[e]),N=(0,n.O$)(d.A,(e=>e.url)),E=(0,n.O$)(d.A,(e=>e.restarting)),S=(0,n.O$)(d.A,(e=>e.registration)),P=se({customer_id:t,super_user:null===b||void 0===b?void 0:b.super,version:null===S||void 0===S?void 0:S.version}),[T,R]=(0,a.useState)(!1);return l()((()=>{!f.A.is_local_studio&&A&&t&&(0,ie.A)({auth:A,customer_id:t})}),[A,t,f.A.is_local_studio]),l()((()=>{!f.A.is_local_studio&&A&&t&&(0,oe.A)({auth:A,customer_id:t})}),[A,t,O,f.A.is_local_studio]),l()((()=>{A&&x&&$&&k&&t&&(null===O||void 0===O||!O.length)&&(0,ne.A)({auth:A,customer_id:t,products:x,regions:$,subscriptions:k,instanceCount:null===O||void 0===O?void 0:O.length})}),[A,x,$,t,k,O]),l()((async()=>{if(w&&b){d.A.update((()=>w));const{error:e}=await(0,ae.A)({auth:b,url:w.url});v(!1),e&&(f.A.is_local_studio?(_({...h,local:!1}),setTimeout((()=>o("/")),10)):setTimeout((()=>o(`/o/${t}/instances`)),10))}}),[w]),l()((()=>{T&&N&&null!==b&&void 0!==b&&b.super?s.success("Your instance user role has been upgraded to super_user"):T&&N&&s.success("Your instance user role has been downgraded to standard")}),[s,null===b||void 0===b?void 0:b.super]),l()((()=>R(!0)),(()=>R(!1)),[]),(0,c.A)((async()=>{if(N&&!f.A.is_local_studio){var a,r;const l=await(0,le.A)({auth:b,url:N});if(l.error&&"Network request failed"!==l.message&&!E)s.error("Unable to connect to instance."),o(`/o/${t}/instances`);else if(!l.error&&E)d.A.update((e=>{e.restarting=!1}));else if(!l.error&&(null===b||void 0===b?void 0:b.super)!==(null===(a=l.role)||void 0===a||null===(r=a.permission)||void 0===r?void 0:r.super_user)){var n,i;_({...h,[e]:{...b,super:null===(n=l.role)||void 0===n||null===(i=n.permission)||void 0===i?void 0:i.super_user}})}}}),f.A.check_user_interval),(0,y.jsxs)(y.Fragment,{children:[(0,y.jsx)(j,{routes:P}),(f.A.is_local_studio||g&&O)&&!m?(0,y.jsx)(a.Suspense,{fallback:(0,y.jsx)(re.A,{header:" ",spinner:!0}),children:(0,y.jsxs)(r.BV,{children:[P.map((e=>(0,y.jsx)(r.qh,{path:e.path,element:e.element},e.path))),(0,y.jsx)(r.qh,{path:"*",element:(0,y.jsx)(r.C5,{to:P[0].path,replace:!0})})]})}):(0,y.jsx)(re.A,{header:"loading instance",spinner:!0})]})}},6165:(e,t,s)=>{s.d(t,{A:()=>i});s(9950);var a=s(4084),r=s(8156),n=s(4414);const i=function(e){let{headline:t,description:s,icon:i,warning:o}=e;return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("div",{className:"floating-card-header text-end",children:"\xa0"}),(0,n.jsx)(a.A,{className:"my-3",children:(0,n.jsx)(r.A,{children:(0,n.jsxs)("div",{className:"empty-prompt narrow",children:[i,t&&(0,n.jsx)("div",{className:"mt-3",children:t}),(0,n.jsx)("div",{className:"mt-3",children:s}),o&&(0,n.jsxs)("div",{className:"warning-text mt-3",children:["Warning: ",o]})]})})})]})}},5346:(e,t,s)=>{s.d(t,{A:()=>r});var a=s(127);const r=async e=>{let{auth:t,url:s}=e;return(0,a.A)({operation:{operation:"describe_all"},auth:t,url:s})}},717:(e,t,s)=>{s.d(t,{A:()=>n});var a=s(127),r=s(5269);const n=async e=>{let{auth:t,url:s}=e;const n=await(0,a.A)({operation:{operation:"registration_info"},auth:t,url:s,timeout:5e3});return r.A.update((e=>{e.registration=n.error?{}:n})),n}},5911:(e,t,s)=>{s.d(t,{A:()=>r});var a=s(127);const r=async e=>{let{auth:t,url:s}=e;return(0,a.A)({operation:{operation:"user_info"},auth:t,url:s,timeout:5e3})}},4817:(e,t,s)=>{s.d(t,{A:()=>l});var a=s(2714),r=s(5553),n=s(3628),i=s(5996);const o=e=>{let{alarms:t}=e;return Object.values(t).reduce(((e,t)=>(e[t.type.trim()]=(e[t.type.trim()]||0)+1,e.total+=1,e)),{total:0})},l=async e=>{let{auth:t,customer_id:s,signal:l,currentAlarmsLength:c}=e,u=null;try{if(u=await(0,a.A)({endpoint:"getAlarms",method:"POST",payload:{customer_id:s},signal:l,auth:t}),u.error&&c)return r.A.update((e=>{e.alarmsError=!0}));if(!Array.isArray(u)||u.error)return r.A.update((e=>{e.alarms=[],e.alarmsError=!0}));const e=[...u].sort(((e,t)=>t.date-e.date)),n=Object.assign({},...e.map((e=>{var t;const s=null===(t=u)||void 0===t?void 0:t.filter((t=>t.compute_stack_id===e.compute_stack_id));return{[e.compute_stack_id]:{alarms:s,alarmCounts:o({alarms:s.filter((e=>e.date+1e3*i.A.alarm_badge_threshold>Date.now()))})}}})));return r.A.update((e=>{e.alarms=n,e.alarmsError=!1}))}catch(d){return(0,n.A)({type:"lms data",status:"error",url:i.A.lms_api_url,operation:"getAlarms",request:{customer_id:s},error:{catch:d.toString()},customer_id:s})}}},9519:(e,t,s)=>{s.d(t,{A:()=>l});var a=s(2714),r=s(5553),n=s(3628),i=s(5996),o=s(7596);const l=async e=>{let{auth:t,customer_id:s}=e,l=null;try{var c;return l=await(0,a.A)({endpoint:"getCustomer",method:"POST",payload:{customer_id:s},auth:t}),(0,o.A)({auth:t,customer_id:s,stripe_id:null===(c=l)||void 0===c?void 0:c.stripe_id}),l.error||r.A.update((e=>{var t;e.customer={...l,customer_id:s},e.hasCard=null===(t=l.stripe_payment_methods)||void 0===t?void 0:t[0]})),l}catch(u){return(0,n.A)({type:"lms data",status:"error",url:i.A.lms_api_url,operation:"getCustomer",request:{customer_id:s},error:{catch:u.toString()},customer_id:s})}}},3906:(e,t,s)=>{s.d(t,{A:()=>c});var a=s(2714),r=s(5553),n=s(4549);const i=e=>{let{is_local:t,wavelength_zone_id:s,cloud_provider:a}=e;switch(!0){case s:return"wavelength_compute";case t:return"local_compute";case"akamai"===a:return"akamai_compute";default:return"cloud_compute"}};var o=s(3628),l=s(5996);const c=async e=>{let{auth:t,customer_id:s,products:c,regions:u,subscriptions:d,instanceCount:p=0}=e,m=null;try{if(m=await(0,a.A)({endpoint:"getInstances",method:"POST",payload:{customer_id:s,user_id:t.user_id},auth:t}),Array.isArray(m)){const e=m.map((e=>{const t=(e=>{let{instance:t,products:s,regions:a,subscriptions:r}=e;try{var o,l;const e=t.compute_subscription_id?r[i(t)]:s[i(t)],c=null===e||void 0===e?void 0:e.find((e=>e.value.stripe_plan_id===t.stripe_plan_id&&(!t.compute_subscription_id||e.value.compute_subscription_id===t.compute_subscription_id))),u=t.storage_subscription_id?r.cloud_storage:s.cloud_storage,d=!t.is_local&&(null===u||void 0===u?void 0:u.find((e=>e.value.data_volume_size===t.data_volume_size&&e.value.stripe_storage_plan_id===t.stripe_storage_plan_id&&(!t.storage_subscription_id||e.value.storage_subscription_id===t.storage_subscription_id)))),p=parseFloat((null===c||void 0===c||null===(o=c.value)||void 0===o?void 0:o.compute_price)||0)+parseFloat((null===d||void 0===d||null===(l=d.value)||void 0===l?void 0:l.storage_price)||0),m=p?`$${(0,n.A)(p.toFixed(2))}`:"FREE",v=t.compute_subscription_id&&t.storage_subscription_id?"PREPAID":p?`${m}/${c.value.compute_interval}`:"FREE",h=!t.is_local&&a.find((e=>e.value===t.instance_region));return{compute:null===c||void 0===c?void 0:c.value,storage:null===d||void 0===d?void 0:d.value,totalPrice:p,totalPriceString:m,totalPriceStringWithInterval:v,region:h}}catch(c){return console.log(c)}})({instance:e,products:c,regions:u,subscriptions:d});return{...e,...t}})),t=e.sort(((e,t)=>e.instance_name>t.instance_name?1:-1));return r.A.update((e=>{e.instances=t})),t}return!p&&r.A.update((e=>{e.instances=[]}))}catch(v){return(0,o.A)({type:"lms data",status:"error",url:l.A.lms_api_url,operation:"getInstances",request:{customer_id:s},error:{catch:v.toString()},customer_id:s})}}},7596:(e,t,s)=>{s.d(t,{A:()=>c});var a=s(2714),r=s(5553),n=s(3628),i=s(2434),o=s(2696),l=s(5996);const c=async e=>{let{auth:t,customer_id:s,stripe_id:c}=e;try{const e=await(0,a.A)({endpoint:"getPrepaidSubscriptions",method:"POST",payload:{customer_id:s,stripe_id:c},auth:t});return!e.error&&r.A.update((t=>{t.subscriptions={cloud_storage:(0,o.A)(e.cloud_storage||[]),cloud_compute:(0,i.A)(e.cloud_compute||[]),wavelength_compute:(0,i.A)(e.wavelength_compute||[]),local_compute:(0,i.A)(e.local_compute||[])}}))}catch(u){return(0,n.A)({type:"lms data",status:"error",url:l.A.lms_api_url,operation:"getPrepaidSubscriptions",error:{catch:u.toString()}})}}},127:(e,t,s)=>{s.d(t,{A:()=>r});var a=s(4038);const r=async e=>{let{operation:t,auth:s,url:r,timeout:n=0,authType:i,signal:o}=e;try{const e=new AbortController,u=setTimeout((()=>n?e.abort():null),n),d={"Content-Type":"application/json"};"token"===i?d.Authorization=`Bearer ${s.token}`:null!==s&&void 0!==s&&s.pass&&(d.Authorization=`Basic ${btoa(`${s.user}:${s.pass}`)}`);const p=await(0,a.hd)(r,{signal:o||e.signal,method:"POST",body:JSON.stringify(t),headers:d,credentials:d.Authorization?"omit":"include"});clearTimeout(u);const m=await p.json();var l,c;return m.error?{error:!0,message:m.error,type:"response",status:p.status,role_errors:null===(l=m.main_permissions)||void 0===l?void 0:l.join(", "),access_errors:null===(c=m.unauthorized_access)||void 0===c?void 0:c.map((e=>{var t,s,a,r,n,i;return{schema:e.schema,table:e.table,type:null!==(t=e.required_attribute_permissions)&&void 0!==t&&t.length?"attribute":"table",entity:null!==(s=e.required_attribute_permissions)&&void 0!==s&&s.length?null===(a=e.required_attribute_permissions[0])||void 0===a?void 0:a.attribute_name:e.table,permission:null!==(r=e.required_attribute_permissions)&&void 0!==r&&r.length?null===(n=e.required_attribute_permissions[0])||void 0===n?void 0:n.required_permissions.join(", "):null===(i=e.required_table_permissions)||void 0===i?void 0:i.join(", ")}}))}:200!==p.status?{error:!0,message:`Error of type ${p.status}`,type:"status"}:m}catch(u){return{error:!0,message:u.message,type:"catch"}}}},396:(e,t,s)=>{s.d(t,{A:()=>a});const a=e=>{const t={},s=[];return e.error||Object.keys(e).sort().forEach(((a,r)=>{t[a]={},0===r&&s.push(a),Object.keys(e[a]).sort().forEach(((n,i)=>{0===i&&0===r&&s.push(n),t[a][n]={record_count:e[a][n].record_count,hashAttribute:e[a][n].hash_attribute}}))})),{structure:t,defaultBrowseURL:s.join("/")}}},5900:(e,t,s)=>{s.d(t,{A:()=>o});var a=s(5269),r=s(5346),n=s(396),i=s(717);const o=async e=>{let{auth:t,url:s}=e;const o=await(0,r.A)({auth:t,url:s}),l=await(0,i.A)({auth:t,url:s});if(o.error)return{error:"Could not log into instance"};const{structure:c,defaultBrowseURL:u}=(0,n.A)(o);return a.A.update((e=>{e.auth=t,e.structure=c,e.defaultBrowseURL=u,e.loading=!1,e.registration=l})),{error:!1}}},2914:(e,t,s)=>{s.d(t,{A:()=>a});const a=e=>{let{version:t}=e;if(t){const[e,s]=(null===t||void 0===t?void 0:t.split("."))||[],a=parseInt(e,10),r=parseInt(s,10);return parseFloat(`${a}.${r}`)>=4.2}return!0}},5502:(e,t,s)=>{s.d(t,{Ak:()=>o,Iz:()=>i,b5:()=>n});const a=new Map,r=(e,t)=>`${e}/${t}`,n=(e,t)=>{var s;const n=r(e,t);return null!==(s=a.get(n))&&void 0!==s?s:void 0},i=(e,t,s)=>{const n=r(e,t);a.set(n,s)},o=()=>{a.size&&a.clear()}},4319:(e,t,s)=>{s.d(t,{A:()=>a});const a=(0,s(6997).A)("instanceAuths")},5269:(e,t,s)=>{s.d(t,{A:()=>a});const a=new(s(6713).il)({})},9163:(e,t,s)=>{var a=s(9950);function r(e,t,s){var r="function"===typeof t;a.useEffect((function(){var s,a=!0,n=e((function(){return a}));return Promise.resolve(n).then((function(e){s=e})),function(){a=!1,r&&t(s)}}),r?s:t)}e.exports=r,e.exports.useAsyncEffect=r},135:(e,t,s)=>{s.d(t,{A:()=>n});var a=s(9950),r=function(){};function n(e,t,s){var n=(0,a.useRef)(r);(0,a.useEffect)((function(){n.current=e})),(0,a.useEffect)((function(){s&&null!==t&&!1!==t&&n.current()}),[s]),(0,a.useEffect)((function(){if(null!==t&&!1!==t){var e=setInterval((function(){return n.current()}),t);return function(){return clearInterval(e)}}}),[t])}}}]);
1
+ "use strict";(self.webpackChunkharperdb_studio=self.webpackChunkharperdb_studio||[]).push([[358],{7408:(e,t,s)=>{s.r(t),s.d(t,{default:()=>ce});var a=s(9950),r=s(2231),n=s(6713),i=s(7348),o=s(9163),l=s.n(o),c=s(135),u=s(5553),d=s(5269),p=s(4319),m=s(2072),v=s(8125),h=s(5746),_=s(6359),b=s(9435),A=s(3150),g=s(3628),f=s(5996),y=s(4414);const j=function(e){let{routes:t=[]}=e;const{compute_stack_id:s,customer_id:a}=(0,r.g)(),[i]=(0,p.A)({}),o=(0,r.Zp)(),l=(0,r.zy)(),c=(0,n.O$)(d.A,(e=>e.defaultBrowseURL)),j=(0,n.O$)(u.A,(e=>{var t;return e.alarms&&(null===(t=e.alarms[s])||void 0===t?void 0:t.alarmCounts.total)}),[s]),{options:x,activeOption:$}=(0,n.O$)(u.A,(e=>{const t=e.instances&&e.instances.find((e=>e.compute_stack_id===s)),a=e.instances&&e.instances.filter((e=>e.compute_stack_id!==s));return{options:a&&a.map((e=>({label:(0,y.jsxs)("span",{children:[(0,y.jsx)("i",{className:`d-none d-sm-inline-block fa me-2 fa-${e.is_local?"server":["CREATE_IN_PROGRESS","UPDATE_IN_PROGRESS","CONFIGURING_NETWORK"].includes(e.status)?"circle-exclamation":"cloud"} ${["CREATE_IN_PROGRESS","UPDATE_IN_PROGRESS","CONFIGURING_NETWORK"].includes(e.status)&&"opacity-25"}`}),e.instance_name," ",["CREATE_IN_PROGRESS","UPDATE_IN_PROGRESS","CONFIGURING_NETWORK"].includes(e.status)&&`(${e.status.replace(/_/g," ").toLowerCase()})`]}),value:e.compute_stack_id,has_auth:i[e.compute_stack_id],is_unavailable:["CREATE_IN_PROGRESS","UPDATE_IN_PROGRESS","CONFIGURING_NETWORK"].includes(e.status)}))),activeOption:{label:(0,y.jsxs)("span",{children:[(0,y.jsx)("i",{className:"d-none d-sm-inline-block fa me-2 fa-"+(t?null!==t&&void 0!==t&&t.is_local?"server":"cloud":"")}),null===t||void 0===t?void 0:t.instance_name]}),value:s}}}),[s]),k=`/o/${a}/i/${s}`,O=l.pathname.split(`/i/${s}`)[1].split("/")[1],w=null===t||void 0===t?void 0:t.find((e=>e.link===O));return(0,y.jsx)(b.tH,{onError:(e,t)=>(0,g.A)({error:{message:e.message,componentStack:t}}),FallbackComponent:A.A,children:(0,y.jsxs)(m.A,{className:"app-subnav",children:[!f.A.is_local_studio&&(0,y.jsx)(v.A,{navbar:!0,className:"instance-select",children:(0,y.jsx)(_.Ay,{className:"react-select-container",classNamePrefix:"react-select",onChange:e=>{let{value:t,has_auth:s,is_unavailable:r}=e;return!r&&o(s?`/o/${a}/i/${t}/${null===w||void 0===w?void 0:w.link}`:`/o/${a}/instances/login`)},options:x||[],value:$,defaultValue:$.value,isSearchable:!1,isClearable:!1,isLoading:!x,noOptionsMessage:()=>"No other instances available"})}),(0,y.jsx)(v.A,{navbar:!0,className:"instance-nav d-none d-lg-flex",children:null===t||void 0===t?void 0:t.map((e=>(0,y.jsx)(h.A,{children:(0,y.jsxs)(r.k2,{title:e.link,className:"nav-link",to:`${k}/${"browse"===e.link&&c?`${e.link}/${c}`:e.link}`,children:[(0,y.jsx)("i",{className:`d-none d-sm-inline-block fa me-2 fa-${e.icon}`}),e.label||e.link,!!j&&"status"===e.link&&(0,y.jsx)("span",{className:"badge",children:j})]})},e.path)))}),(0,y.jsx)(v.A,{navbar:!0,className:"instance-nav-select d-flex d-lg-none",children:(0,y.jsx)(_.Ay,{className:"react-select-container",classNamePrefix:"react-select",width:"200px",onChange:e=>{let{value:t}=e;return o(`${k}/${t}`)},options:null===t||void 0===t?void 0:t.map((e=>({label:(0,y.jsxs)("span",{children:[(0,y.jsx)("i",{className:`d-none d-sm-inline-block fa me-2 fa-${e.icon}`}),e.label]}),value:e.link}))),isLoading:!(null!==w&&void 0!==w&&w.link),value:{label:(0,y.jsxs)("span",{children:[(0,y.jsx)("i",{className:`d-none d-sm-inline-block fa me-2 fa-${null===w||void 0===w?void 0:w.icon}`}),null===w||void 0===w?void 0:w.label]}),value:null===w||void 0===w?void 0:w.link},defaultValue:null===w||void 0===w?void 0:w.link,isSearchable:!1,isClearable:!1})})]})})};var x=s(4084),$=s(8156),k=s(1942),O=s.n(k),w=s(8738),N=s.n(w),E=s(1497),S=["className","cssModule","tag"];function P(){return P=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var s=arguments[t];for(var a in s)Object.prototype.hasOwnProperty.call(s,a)&&(e[a]=s[a])}return e},P.apply(this,arguments)}function T(e,t){if(null==e)return{};var s,a,r=function(e,t){if(null==e)return{};var s,a,r={},n=Object.keys(e);for(a=0;a<n.length;a++)s=n[a],t.indexOf(s)>=0||(r[s]=e[s]);return r}(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(a=0;a<n.length;a++)s=n[a],t.indexOf(s)>=0||Object.prototype.propertyIsEnumerable.call(e,s)&&(r[s]=e[s])}return r}var R={className:O().string,cssModule:O().object,tag:E.Wx};function C(e){var t=e.className,s=e.cssModule,r=e.tag,n=void 0===r?"div":r,i=T(e,S),o=(0,E.qO)(N()(t,"card-title"),s);return a.createElement(n,P({},i,{className:o}))}C.propTypes=R;const I=C;var z=s(7176),F=s(6114),q=s(6165),G=s(5502);const U=(0,a.lazy)((()=>Promise.all([s.e(43),s.e(702)]).then(s.bind(s,6816)))),B=(0,a.lazy)((()=>s.e(972).then(s.bind(s,1271)))),L=(0,a.lazy)((()=>Promise.all([s.e(23),s.e(374)]).then(s.bind(s,3888)))),W=(0,a.lazy)((()=>Promise.all([s.e(545),s.e(417)]).then(s.bind(s,8086)))),D=(0,a.lazy)((()=>s.e(5).then(s.bind(s,4029)))),H={tableData:[],dataTableColumns:[],filtered:[],sorted:[],page:0,pageSize:20,autoRefresh:!1,showFilter:!1,newEntityAttributes:!1,hashAttribute:!1};function M(e){let{table:t}=e;return(0,y.jsx)(x.A,{className:"my-3 missing-primary-key",children:(0,y.jsxs)($.A,{children:[(0,y.jsx)(I,{children:"No Primary Key"}),(0,y.jsx)("i",{className:"mt-3 fa fa-warning"}),(0,y.jsxs)("span",{className:"mt-3",children:["The table ",`'${t}'`," does not have a primary key. Harper Studio does not currently support tables without a primary key defined. Please see the"," ",(0,y.jsx)("a",{href:"https://docs.harperdb.io/docs",target:"_blank",rel:"noreferrer",children:"Harper documentation"})," ","to see the standard Harper querying options."]})]})})}const K=function(){var e,t,s,i,o;const l=(0,r.Zp)(),c=(0,r.zy)(),{schema:u,table:m,action:v,customer_id:h,compute_stack_id:_}=(0,r.g)(),[f]=(0,p.A)({}),j=(0,n.O$)(d.A,(e=>e.registration)),x=null===j||void 0===j?void 0:j.version,[$,k]=(null===x||void 0===x?void 0:x.split("."))||[],O=`${$}.${k}`,w=(0,n.O$)(d.A,(e=>e.structure)),[N,E]=(0,a.useState)({schemas:[],tables:[],activeTable:!1}),[S,P]=(0,a.useState)(H),T=`/o/${h}/i/${_}/browse`,R=(null===(e=f[_])||void 0===e?void 0:e.super)||!0===(null===(t=f[_])||void 0===t?void 0:t.structure),C=R||(null===(s=f[_])||void 0===s?void 0:s.structure)&&(null===(i=f[_])||void 0===i||null===(o=i.structure)||void 0===o?void 0:o.includes(u)),I=R?`Please ${u&&N.tables&&!N.tables.length||!N.schemas.length?"create":"choose"} a ${u?"table":""+(O>=4.2?"database":"schema")}`:"This user has not been granted access to any tables. A super-user must update this user's role.",[K,V]=(0,a.useState)(!0);return(0,a.useEffect)((()=>{S&&V(Boolean(S.hashAttribute))}),[S]),(0,a.useEffect)((()=>{if(w){const e=Object.keys(w),t=Object.keys((null===w||void 0===w?void 0:w[u])||{});if(!e.length&&"/browse"!==c.pathname)return E({schemas:[],tables:[],activeTable:!1}),void l(`/o/${h}/i/${_}/browse`);if(e.length&&!e.includes(u))return void l(`/o/${h}/i/${_}/browse/${e[0]}`);if(t.length&&!t.includes(m))return void l(`/o/${h}/i/${_}/browse/${u}/${t[0]}`);N.activeTable!==`${_}:${u}:${m}`&&P(H),E({schemas:e,tables:t,activeTable:`${_}:${u}:${m}`})}}),[w,u,m,_]),(0,a.useEffect)((()=>{const e=setInterval((()=>{(0,G.Ak)()}),6e4);return()=>clearInterval(e)}),[]),(0,y.jsxs)(z.A,{id:"browse",children:[(0,y.jsx)(F.A,{xl:"3",lg:"4",md:"5",xs:"12",children:(0,y.jsxs)(b.tH,{onError:(e,t)=>(0,g.A)({error:{message:e.message,componentStack:t}}),FallbackComponent:A.A,children:[(0,y.jsx)(B,{activeItem:u,items:N.schemas,baseUrl:T,itemType:O>=4.2?"database":"schema",showForm:R}),u&&(0,y.jsx)(B,{activeItem:m,items:N.tables,activeSchema:u,baseUrl:`${T}/${u}`,itemType:"table",showForm:C}),(0,y.jsx)(D,{centerText:!0,label:`refresh ${O>=4.2?"databases":"schemas"} and tables`})]})}),(0,y.jsx)(F.A,{xs:"12",className:"d-block d-md-none",children:(0,y.jsx)("hr",{})}),(0,y.jsx)(F.A,{xl:"9",lg:"8",md:"7",xs:"12",children:(0,y.jsx)(b.tH,{onError:(e,t)=>(0,g.A)({error:{message:e.message,componentStack:t}}),FallbackComponent:A.A,children:u&&m&&"csv"===v&&N.activeTable?(0,y.jsx)(W,{}):u&&m&&v&&N.activeTable?(0,y.jsx)(L,{newEntityAttributes:S.newEntityAttributes,hashAttribute:S.hashAttribute}):u&&m&&N.activeTable?(0,y.jsx)(U,{activeTable:N.activeTable,tableState:S,setTableState:P}):u&&m&&!K?(0,y.jsx)(M,{}):(0,y.jsx)(q.A,{headline:I,icon:(0,y.jsx)("i",{className:"fa fa-exclamation-triangle text-warning"})})})})]})};var V=s(2914);const Z=(0,a.lazy)((()=>Promise.all([s.e(43),s.e(851),s.e(575)]).then(s.bind(s,1679)))),Y=(0,a.lazy)((()=>Promise.all([s.e(239),s.e(741)]).then(s.bind(s,7368)))),J=(0,a.lazy)((()=>s.e(541).then(s.bind(s,6812)))),Q=(0,a.lazy)((()=>Promise.all([s.e(851),s.e(18)]).then(s.bind(s,4016)))),X=(0,a.lazy)((()=>s.e(297).then(s.bind(s,1813)))),ee=(0,a.lazy)((()=>s.e(522).then(s.bind(s,7591)))),te=(0,a.lazy)((()=>Promise.all([s.e(43),s.e(23),s.e(302)]).then(s.bind(s,4298)))),se=e=>{let{super_user:t,version:s=null}=e;const a=(0,V.A)({version:s}),r={element:(0,y.jsx)(K,{}),path:"browse/:schema?/:table?/:action?/:hash?",link:"browse",label:"browse",icon:"list"},n={element:(0,y.jsx)(X,{}),path:"users/:username?",link:"users",label:"users",icon:"users"},i={element:(0,y.jsx)(ee,{}),path:"roles/:role_id?",link:"roles",label:"roles",icon:"check-square"},o={element:(0,y.jsx)(Z,{}),path:"replication",link:"replication",label:"replication",icon:"cubes"},l={element:(0,y.jsx)(te,{}),path:"functions/:action?/:project?/:type?/:file?",link:"functions",label:"functions",icon:"project-diagram"},c={element:(0,y.jsx)(te,{}),path:"applications",link:"applications",label:"applications",icon:"project-diagram"},u={element:(0,y.jsx)(J,{}),path:"status",link:"status",label:"status",icon:"tachometer-alt"},d={element:(0,y.jsx)(Q,{}),path:"logs",link:"logs",label:"logs",icon:"tachometer-alt"},p={element:(0,y.jsx)(Y,{}),path:"config",link:"config",label:"config",icon:"wrench"};return f.A.is_local_studio&&t||t?[r,n,i,o,a?c:l,u,p,d]:(f.A.is_local_studio,[r])};var ae=s(5900),re=s(4979),ne=s(3906),ie=s(9519),oe=s(4817),le=s(5911);s(717);const ce=function(){const{compute_stack_id:e,customer_id:t}=(0,r.g)(),s=(0,i.MW)(),o=(0,r.Zp)(),[m,v]=(0,a.useState)(!0),[h,_]=(0,p.A)({}),b=h&&h[e],A=(0,n.O$)(u.A,(e=>e.auth)),g=(0,n.O$)(u.A,(e=>{var s,a;return null===(s=e.auth)||void 0===s||null===(a=s.orgs)||void 0===a?void 0:a.find((e=>{var s;return(null===(s=e.customer_id)||void 0===s?void 0:s.toString())===t}))})),x=(0,n.O$)(u.A,(e=>e.products)),$=(0,n.O$)(u.A,(e=>e.regions)),k=(0,n.O$)(u.A,(e=>e.subscriptions)),O=(0,n.O$)(u.A,(e=>e.instances)),w=(0,n.O$)(u.A,(t=>e&&t.instances&&t.instances.find((t=>t.compute_stack_id===e))),[e]),N=(0,n.O$)(d.A,(e=>e.url)),E=(0,n.O$)(d.A,(e=>e.restarting)),S=(0,n.O$)(d.A,(e=>e.registration)),P=se({customer_id:t,super_user:null===b||void 0===b?void 0:b.super,version:null===S||void 0===S?void 0:S.version}),[T,R]=(0,a.useState)(!1);return l()((()=>{!f.A.is_local_studio&&A&&t&&(0,ie.A)({auth:A,customer_id:t})}),[A,t,f.A.is_local_studio]),l()((()=>{!f.A.is_local_studio&&A&&t&&(0,oe.A)({auth:A,customer_id:t})}),[A,t,O,f.A.is_local_studio]),l()((()=>{A&&x&&$&&k&&t&&(null===O||void 0===O||!O.length)&&(0,ne.A)({auth:A,customer_id:t,products:x,regions:$,subscriptions:k,instanceCount:null===O||void 0===O?void 0:O.length})}),[A,x,$,t,k,O]),l()((async()=>{if(w&&b){d.A.update((()=>w));const{error:e}=await(0,ae.A)({auth:b,url:w.url});v(!1),e&&(f.A.is_local_studio?(_({...h,local:!1}),setTimeout((()=>o("/")),10)):setTimeout((()=>o(`/o/${t}/instances`)),10))}}),[w]),l()((()=>{T&&N&&null!==b&&void 0!==b&&b.super?s.success("Your instance user role has been upgraded to super_user"):T&&N&&s.success("Your instance user role has been downgraded to standard")}),[s,null===b||void 0===b?void 0:b.super]),l()((()=>R(!0)),(()=>R(!1)),[]),(0,c.A)((async()=>{if(N&&!f.A.is_local_studio){var a,r;const l=await(0,le.A)({auth:b,url:N});if(l.error&&"Network request failed"!==l.message&&!E)s.error("Unable to connect to instance."),o(`/o/${t}/instances`);else if(!l.error&&E)d.A.update((e=>{e.restarting=!1}));else if(!l.error&&(null===b||void 0===b?void 0:b.super)!==(null===(a=l.role)||void 0===a||null===(r=a.permission)||void 0===r?void 0:r.super_user)){var n,i;_({...h,[e]:{...b,super:null===(n=l.role)||void 0===n||null===(i=n.permission)||void 0===i?void 0:i.super_user}})}}}),f.A.check_user_interval),(0,y.jsxs)(y.Fragment,{children:[(0,y.jsx)(j,{routes:P}),(f.A.is_local_studio||g&&O)&&!m?(0,y.jsx)(a.Suspense,{fallback:(0,y.jsx)(re.A,{header:" ",spinner:!0}),children:(0,y.jsxs)(r.BV,{children:[P.map((e=>(0,y.jsx)(r.qh,{path:e.path,element:e.element},e.path))),(0,y.jsx)(r.qh,{path:"*",element:(0,y.jsx)(r.C5,{to:P[0].path,replace:!0})})]})}):(0,y.jsx)(re.A,{header:"loading instance",spinner:!0})]})}},6165:(e,t,s)=>{s.d(t,{A:()=>i});s(9950);var a=s(4084),r=s(8156),n=s(4414);const i=function(e){let{headline:t,description:s,icon:i,warning:o}=e;return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("div",{className:"floating-card-header text-end",children:"\xa0"}),(0,n.jsx)(a.A,{className:"my-3",children:(0,n.jsx)(r.A,{children:(0,n.jsxs)("div",{className:"empty-prompt narrow",children:[i,t&&(0,n.jsx)("div",{className:"mt-3",children:t}),(0,n.jsx)("div",{className:"mt-3",children:s}),o&&(0,n.jsxs)("div",{className:"warning-text mt-3",children:["Warning: ",o]})]})})})]})}},5346:(e,t,s)=>{s.d(t,{A:()=>r});var a=s(127);const r=async e=>{let{auth:t,url:s}=e;return(0,a.A)({operation:{operation:"describe_all"},auth:t,url:s})}},717:(e,t,s)=>{s.d(t,{A:()=>n});var a=s(127),r=s(5269);const n=async e=>{let{auth:t,url:s}=e;const n=await(0,a.A)({operation:{operation:"registration_info"},auth:t,url:s,timeout:5e3});return r.A.update((e=>{e.registration=n.error?{}:n})),n}},5911:(e,t,s)=>{s.d(t,{A:()=>r});var a=s(127);const r=async e=>{let{auth:t,url:s}=e;return(0,a.A)({operation:{operation:"user_info"},auth:t,url:s,timeout:5e3})}},4817:(e,t,s)=>{s.d(t,{A:()=>l});var a=s(2714),r=s(5553),n=s(3628),i=s(5996);const o=e=>{let{alarms:t}=e;return Object.values(t).reduce(((e,t)=>(e[t.type.trim()]=(e[t.type.trim()]||0)+1,e.total+=1,e)),{total:0})},l=async e=>{let{auth:t,customer_id:s,signal:l,currentAlarmsLength:c}=e,u=null;try{if(u=await(0,a.A)({endpoint:"getAlarms",method:"POST",payload:{customer_id:s},signal:l,auth:t}),u.error&&c)return r.A.update((e=>{e.alarmsError=!0}));if(!Array.isArray(u)||u.error)return r.A.update((e=>{e.alarms=[],e.alarmsError=!0}));const e=[...u].sort(((e,t)=>t.date-e.date)),n=Object.assign({},...e.map((e=>{var t;const s=null===(t=u)||void 0===t?void 0:t.filter((t=>t.compute_stack_id===e.compute_stack_id));return{[e.compute_stack_id]:{alarms:s,alarmCounts:o({alarms:s.filter((e=>e.date+1e3*i.A.alarm_badge_threshold>Date.now()))})}}})));return r.A.update((e=>{e.alarms=n,e.alarmsError=!1}))}catch(d){return(0,n.A)({type:"lms data",status:"error",url:i.A.lms_api_url,operation:"getAlarms",request:{customer_id:s},error:{catch:d.toString()},customer_id:s})}}},9519:(e,t,s)=>{s.d(t,{A:()=>l});var a=s(2714),r=s(5553),n=s(3628),i=s(5996),o=s(7596);const l=async e=>{let{auth:t,customer_id:s}=e,l=null;try{var c;return l=await(0,a.A)({endpoint:"getCustomer",method:"POST",payload:{customer_id:s},auth:t}),(0,o.A)({auth:t,customer_id:s,stripe_id:null===(c=l)||void 0===c?void 0:c.stripe_id}),l.error||r.A.update((e=>{var t;e.customer={...l,customer_id:s},e.hasCard=null===(t=l.stripe_payment_methods)||void 0===t?void 0:t[0]})),l}catch(u){return(0,n.A)({type:"lms data",status:"error",url:i.A.lms_api_url,operation:"getCustomer",request:{customer_id:s},error:{catch:u.toString()},customer_id:s})}}},3906:(e,t,s)=>{s.d(t,{A:()=>c});var a=s(2714),r=s(5553),n=s(4549);const i=e=>{let{is_local:t,wavelength_zone_id:s,cloud_provider:a}=e;switch(!0){case s:return"wavelength_compute";case t:return"local_compute";case"akamai"===a:return"akamai_compute";default:return"cloud_compute"}};var o=s(3628),l=s(5996);const c=async e=>{let{auth:t,customer_id:s,products:c,regions:u,subscriptions:d,instanceCount:p=0}=e,m=null;try{if(m=await(0,a.A)({endpoint:"getInstances",method:"POST",payload:{customer_id:s,user_id:t.user_id},auth:t}),Array.isArray(m)){const e=m.map((e=>{const t=(e=>{let{instance:t,products:s,regions:a,subscriptions:r}=e;try{var o,l;const e=t.compute_subscription_id?r[i(t)]:s[i(t)],c=null===e||void 0===e?void 0:e.find((e=>e.value.stripe_plan_id===t.stripe_plan_id&&(!t.compute_subscription_id||e.value.compute_subscription_id===t.compute_subscription_id))),u=t.storage_subscription_id?r.cloud_storage:s.cloud_storage,d=!t.is_local&&(null===u||void 0===u?void 0:u.find((e=>e.value.data_volume_size===t.data_volume_size&&e.value.stripe_storage_plan_id===t.stripe_storage_plan_id&&(!t.storage_subscription_id||e.value.storage_subscription_id===t.storage_subscription_id)))),p=parseFloat((null===c||void 0===c||null===(o=c.value)||void 0===o?void 0:o.compute_price)||0)+parseFloat((null===d||void 0===d||null===(l=d.value)||void 0===l?void 0:l.storage_price)||0),m=p?`$${(0,n.A)(p.toFixed(2))}`:"FREE",v=t.compute_subscription_id&&t.storage_subscription_id?"PREPAID":p?`${m}/${c.value.compute_interval}`:"FREE",h=!t.is_local&&a.find((e=>e.value===t.instance_region));return{compute:null===c||void 0===c?void 0:c.value,storage:null===d||void 0===d?void 0:d.value,totalPrice:p,totalPriceString:m,totalPriceStringWithInterval:v,region:h}}catch(c){return console.log(c)}})({instance:e,products:c,regions:u,subscriptions:d});return{...e,...t}})),t=e.sort(((e,t)=>e.instance_name>t.instance_name?1:-1));return r.A.update((e=>{e.instances=t})),t}return!p&&r.A.update((e=>{e.instances=[]}))}catch(v){return(0,o.A)({type:"lms data",status:"error",url:l.A.lms_api_url,operation:"getInstances",request:{customer_id:s},error:{catch:v.toString()},customer_id:s})}}},7596:(e,t,s)=>{s.d(t,{A:()=>c});var a=s(2714),r=s(5553),n=s(3628),i=s(2434),o=s(2696),l=s(5996);const c=async e=>{let{auth:t,customer_id:s,stripe_id:c}=e;try{const e=await(0,a.A)({endpoint:"getPrepaidSubscriptions",method:"POST",payload:{customer_id:s,stripe_id:c},auth:t});return!e.error&&r.A.update((t=>{t.subscriptions={cloud_storage:(0,o.A)(e.cloud_storage||[]),cloud_compute:(0,i.A)(e.cloud_compute||[]),wavelength_compute:(0,i.A)(e.wavelength_compute||[]),local_compute:(0,i.A)(e.local_compute||[])}}))}catch(u){return(0,n.A)({type:"lms data",status:"error",url:l.A.lms_api_url,operation:"getPrepaidSubscriptions",error:{catch:u.toString()}})}}},127:(e,t,s)=>{s.d(t,{A:()=>r});var a=s(4038);const r=async e=>{let{operation:t,auth:s,url:r,timeout:n=0,authType:i,signal:o}=e;try{const e=new AbortController,u=setTimeout((()=>n?e.abort():null),n),d={"Content-Type":"application/json"};"token"===i?d.Authorization=`Bearer ${s.token}`:null!==s&&void 0!==s&&s.pass&&(d.Authorization=`Basic ${btoa(`${s.user}:${s.pass}`)}`);const p=await(0,a.hd)(r,{signal:o||e.signal,method:"POST",body:JSON.stringify(t),headers:d,credentials:d.Authorization?"omit":"include"});clearTimeout(u);const m=await p.json();var l,c;return m.error?{error:!0,message:m.error,type:"response",status:p.status,role_errors:null===(l=m.main_permissions)||void 0===l?void 0:l.join(", "),access_errors:null===(c=m.unauthorized_access)||void 0===c?void 0:c.map((e=>{var t,s,a,r,n,i;return{schema:e.schema,table:e.table,type:null!==(t=e.required_attribute_permissions)&&void 0!==t&&t.length?"attribute":"table",entity:null!==(s=e.required_attribute_permissions)&&void 0!==s&&s.length?null===(a=e.required_attribute_permissions[0])||void 0===a?void 0:a.attribute_name:e.table,permission:null!==(r=e.required_attribute_permissions)&&void 0!==r&&r.length?null===(n=e.required_attribute_permissions[0])||void 0===n?void 0:n.required_permissions.join(", "):null===(i=e.required_table_permissions)||void 0===i?void 0:i.join(", ")}}))}:200!==p.status?{error:!0,message:`Error of type ${p.status}`,type:"status"}:m}catch(u){return{error:!0,message:u.message,type:"catch"}}}},396:(e,t,s)=>{s.d(t,{A:()=>a});const a=e=>{const t={},s=[];return e.error||Object.keys(e).sort().forEach(((a,r)=>{t[a]={},0===r&&s.push(a),Object.keys(e[a]).sort().forEach(((n,i)=>{0===i&&0===r&&s.push(n),t[a][n]={record_count:e[a][n].record_count,hashAttribute:e[a][n].hash_attribute}}))})),{structure:t,defaultBrowseURL:s.join("/")}}},5900:(e,t,s)=>{s.d(t,{A:()=>o});var a=s(5269),r=s(5346),n=s(396),i=s(717);const o=async e=>{let{auth:t,url:s}=e;const o=await(0,r.A)({auth:t,url:s}),l=await(0,i.A)({auth:t,url:s});if(o.error)return{error:"Could not log into instance"};const{structure:c,defaultBrowseURL:u}=(0,n.A)(o);return a.A.update((e=>{e.auth=t,e.structure=c,e.defaultBrowseURL=u,e.loading=!1,e.registration=l})),{error:!1}}},2914:(e,t,s)=>{s.d(t,{A:()=>a});const a=e=>{let{version:t}=e;if(t){const[e,s]=(null===t||void 0===t?void 0:t.split("."))||[],a=parseInt(e,10),r=parseInt(s,10);return parseFloat(`${a}.${r}`)>=4.2}return!0}},5502:(e,t,s)=>{s.d(t,{Ak:()=>o,Iz:()=>i,b5:()=>n});const a=new Map,r=(e,t)=>`${e}/${t}`,n=(e,t)=>{var s;const n=r(e,t);return null!==(s=a.get(n))&&void 0!==s?s:void 0},i=(e,t,s)=>{const n=r(e,t);a.set(n,s)},o=()=>{a.size&&a.clear()}},4319:(e,t,s)=>{s.d(t,{A:()=>a});const a=(0,s(6997).A)("instanceAuths")},5269:(e,t,s)=>{s.d(t,{A:()=>a});const a=new(s(6713).il)({})},9163:(e,t,s)=>{var a=s(9950);function r(e,t,s){var r="function"===typeof t;a.useEffect((function(){var s,a=!0,n=e((function(){return a}));return Promise.resolve(n).then((function(e){s=e})),function(){a=!1,r&&t(s)}}),r?s:t)}e.exports=r,e.exports.useAsyncEffect=r},135:(e,t,s)=>{s.d(t,{A:()=>n});var a=s(9950),r=function(){};function n(e,t,s){var n=(0,a.useRef)(r);(0,a.useEffect)((function(){n.current=e})),(0,a.useEffect)((function(){s&&null!==t&&!1!==t&&n.current()}),[s]),(0,a.useEffect)((function(){if(null!==t&&!1!==t){var e=setInterval((function(){return n.current()}),t);return function(){return clearInterval(e)}}}),[t])}}}]);