harperdb 4.6.0-alpha.2 → 4.6.0-alpha.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/application-template/README.md +26 -8
- package/application-template/config.yaml +18 -15
- package/application-template/web/index.html +29 -0
- package/application-template/web/index.js +18 -0
- package/application-template/web/styles.css +57 -0
- package/bin/harperdb.js +78 -78
- package/bin/lite.js +74 -74
- package/launchServiceScripts/launchInstallNATSServer.js +1 -1
- package/launchServiceScripts/launchNatsIngestService.js +74 -74
- package/launchServiceScripts/launchNatsReplyService.js +76 -76
- package/launchServiceScripts/launchUpdateNodes4-0-0.js +74 -74
- package/npm-shrinkwrap.json +228 -235
- package/package.json +2 -7
- package/resources/RecordEncoder.d.ts +15 -0
- package/resources/RequestTarget.d.ts +30 -0
- package/resources/Resource.d.ts +21 -13
- package/resources/ResourceInterface.d.ts +22 -29
- package/resources/Table.d.ts +96 -83
- package/resources/analytics/hostnames.d.ts +93 -130
- package/resources/analytics/read.d.ts +3 -1
- package/resources/databases.d.ts +93 -130
- package/resources/indexes/HierarchicalNavigableSmallWorld.d.ts +7 -4
- package/resources/search.d.ts +3 -9
- package/resources/tracked.d.ts +1 -1
- package/resources/transactionBroadcast.d.ts +5 -1
- package/server/Server.d.ts +1 -1
- package/server/jobs/jobProcess.js +74 -74
- package/server/status.d.ts +437 -1
- package/server/threads/threadServer.js +75 -75
- package/studio/build-local/asset-manifest.json +5 -5
- package/studio/build-local/index.html +1 -1
- package/studio/build-local/static/js/browse-datatable.3d9e9ccf.chunk.js +1 -0
- package/studio/build-local/static/js/instance.9de0a105.chunk.js +1 -0
- package/studio/build-local/static/js/{instances.f28e5ce7.chunk.js → instances.299d83e9.chunk.js} +1 -1
- package/studio/build-local/static/js/{main.5dea46bb.js → main.5a7cabb6.js} +2 -2
- package/utility/scripts/restartHdb.js +74 -74
- package/validation/statusValidator.d.ts +22 -0
- package/studio/build-local/static/js/browse-datatable.21e650e1.chunk.js +0 -1
- package/studio/build-local/static/js/instance.9689d62b.chunk.js +0 -1
- /package/studio/build-local/static/js/{main.5dea46bb.js.LICENSE.txt → main.5a7cabb6.js.LICENSE.txt} +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"files": {
|
|
3
3
|
"main.css": "/static/css/main.34b26890.css",
|
|
4
|
-
"main.js": "/static/js/main.
|
|
4
|
+
"main.js": "/static/js/main.5a7cabb6.js",
|
|
5
5
|
"online-app.js": "/static/js/online-app.22102869.chunk.js",
|
|
6
6
|
"offline-app.js": "/static/js/offline-app.5bc1159b.chunk.js",
|
|
7
7
|
"topnav.js": "/static/js/topnav.e661156c.chunk.js",
|
|
@@ -11,8 +11,8 @@
|
|
|
11
11
|
"updatePassword.js": "/static/js/updatePassword.dcac970c.chunk.js",
|
|
12
12
|
"organization.js": "/static/js/organization.eab64d57.chunk.js",
|
|
13
13
|
"organizations.js": "/static/js/organizations.4567ae59.chunk.js",
|
|
14
|
-
"instances.js": "/static/js/instances.
|
|
15
|
-
"instance.js": "/static/js/instance.
|
|
14
|
+
"instances.js": "/static/js/instances.299d83e9.chunk.js",
|
|
15
|
+
"instance.js": "/static/js/instance.9de0a105.chunk.js",
|
|
16
16
|
"profile.js": "/static/js/profile.d45cd6b3.chunk.js",
|
|
17
17
|
"organization-users.js": "/static/js/organization-users.b46b9e8f.chunk.js",
|
|
18
18
|
"organization-billing.js": "/static/js/organization-billing.56e7e051.chunk.js",
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
"instance-users.js": "/static/js/instance-users.adc43a74.chunk.js",
|
|
24
24
|
"instance-roles.js": "/static/js/instance-roles.984ced56.chunk.js",
|
|
25
25
|
"custom-functions.js": "/static/js/custom-functions.31d65bca.chunk.js",
|
|
26
|
-
"browse-datatable.js": "/static/js/browse-datatable.
|
|
26
|
+
"browse-datatable.js": "/static/js/browse-datatable.3d9e9ccf.chunk.js",
|
|
27
27
|
"browse-entitymanager.js": "/static/js/browse-entitymanager.4547c0d8.chunk.js",
|
|
28
28
|
"browse-jsonviewer.js": "/static/js/browse-jsonviewer.71355c20.chunk.js",
|
|
29
29
|
"browse-csvupload.js": "/static/js/browse-csvupload.84fd1ae9.chunk.js",
|
|
@@ -50,6 +50,6 @@
|
|
|
50
50
|
},
|
|
51
51
|
"entrypoints": [
|
|
52
52
|
"static/css/main.34b26890.css",
|
|
53
|
-
"static/js/main.
|
|
53
|
+
"static/js/main.5a7cabb6.js"
|
|
54
54
|
]
|
|
55
55
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<!doctype html><html lang="en"><head><meta charset="utf-8"/><meta name="theme-color" content="#480b8a"/><meta charset="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"/><link id="dynamic-favicon" rel="shortcut icon" href="/images/favicon_purple.png"><link rel="canonical" href=""/><link href="/fontawesome/fontawesome.css" rel="stylesheet"><link rel="preconnect" href="https://fonts.googleapis.com"><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin><link href="https://fonts.googleapis.com/css2?family=Ubuntu:ital,wght@0,300;0,400;0,500;0,700;1,300;1,400;1,700&display=swap" rel="stylesheet"><link rel="manifest" href="/manifest.json"/><meta name="description" content="HarperDB is a full-featured data management platform that runs from edge to cloud, and anywhere in between. "><title>Studio :: HarperDB</title><script defer="defer" src="/static/js/main.
|
|
1
|
+
<!doctype html><html lang="en"><head><meta charset="utf-8"/><meta name="theme-color" content="#480b8a"/><meta charset="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"/><link id="dynamic-favicon" rel="shortcut icon" href="/images/favicon_purple.png"><link rel="canonical" href=""/><link href="/fontawesome/fontawesome.css" rel="stylesheet"><link rel="preconnect" href="https://fonts.googleapis.com"><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin><link href="https://fonts.googleapis.com/css2?family=Ubuntu:ital,wght@0,300;0,400;0,500;0,700;1,300;1,400;1,700&display=swap" rel="stylesheet"><link rel="manifest" href="/manifest.json"/><meta name="description" content="HarperDB is a full-featured data management platform that runs from edge to cloud, and anywhere in between. "><title>Studio :: HarperDB</title><script defer="defer" src="/static/js/main.5a7cabb6.js"></script><link href="/static/css/main.34b26890.css" rel="stylesheet"></head><body><div id="app"></div></body><script src="/fontawesome/fontawesome.js" crossorigin="anonymous" defer="defer"></script><script src="/js/kissmetrics.js" defer="defer"></script><script src="/js/linkedin.js" defer="defer"></script></html>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(self.webpackChunkharperdb_studio=self.webpackChunkharperdb_studio||[]).push([[702],{6816:(e,t,a)=>{a.r(t),a.d(t,{default:()=>_});var r=a(9950),n=a(625),s=a(135),o=a(4084),i=a(8156),l=a(6713),c=a(5269),d=a(5996),u=a(7176),h=a(6114),g=a(3452),f=a(4549),p=a(5502),m=a(4414);const b=function(e){let{totalRecords:t,loading:a,loadingFilter:r,refresh:s,autoRefresh:o,onlyCached:i,toggleAutoRefresh:l,toggleOnlyCached:c,toggleFilter:d}=e;const b=(0,n.Zp)(),{compute_stack_id:x,schema:y,table:v,customer_id:j}=(0,n.g)();return(0,m.jsxs)(u.A,{className:"floating-card-header",children:[(0,m.jsxs)(h.A,{children:[y,"\xa0",v&&`> ${v} > `,o||!a&&!r?(0,m.jsxs)("span",{children:[(0,f.A)(t)," record",1!==t?"s":""]}):(0,m.jsx)("i",{className:"fa fa-spinner fa-spin"})]}),(0,m.jsxs)(h.A,{className:"text-end",children:[(0,m.jsx)(g.A,{id:"refresh",color:"link",tabIndex:"0",title:`Refresh table ${v}`,className:"me-2",onClick:s,children:(0,m.jsx)("i",{className:"fa "+(a?"fa-spinner fa-spin":"fa-sync-alt")})}),(0,m.jsxs)(g.A,{id:"toggleAutoRefresh",color:"link",tabIndex:"0",title:"Turn on Auto-Refresh",onClick:l,children:[(0,m.jsx)("span",{className:"me-2",children:"auto"}),(0,m.jsx)("i",{className:"fa fa-lg fa-toggle-"+(o?"on":"off")})]}),(0,m.jsx)("span",{className:"mx-3 text",children:"|"}),(0,m.jsxs)(g.A,{id:"toggleOnlyCached",color:"link",tabIndex:"0",title:"Only show cached data",onClick:c,children:[(0,m.jsx)("span",{className:"me-2",children:"only cached"}),(0,m.jsx)("i",{className:"fa fa-lg fa-toggle-"+(i?"on":"off")})]}),(0,m.jsx)("span",{className:"mx-3 text",children:"|"}),(0,m.jsx)(g.A,{id:"toggleSearch",color:"link",tabIndex:"0",title:`Filter table ${v}`,className:"me-3",onClick:d,children:(0,m.jsx)("i",{className:"fa fa-search"})}),(0,m.jsx)(g.A,{id:"addRecord",color:"link",tabIndex:"0",title:`Add new record to table ${v}`,className:"me-3",onClick:()=>{(0,p.Ak)(),b(`/o/${j}/i/${x}/browse/${y}/${v}/add`)},children:(0,m.jsx)("i",{className:"fa fa-plus"})}),(0,m.jsx)(g.A,{id:"bulkUpload",color:"link",tabIndex:"0",className:"me-2",title:`Bulk Upload CSV to ${v}`,onClick:()=>b(`/o/${j}/i/${x}/browse/${y}/${v}/csv`),children:(0,m.jsx)("i",{className:"fa fa-file-upload"})})]})]})};var x=a(4343),y=a(127);const v=async e=>{let{schema:t,table:a,filtered:r,pageSize:n,onlyCached:s,sorted:o,page:i,auth:l,url:c,signal:d,signal2:u}=e,h=!1,g=0,f=1,m=[],b=!1,x=!1,v=[],j=["*"],A=[];const w=i*n;try{let e=(0,p.b5)(t,a);if(e||(e=await(async e=>{let{auth:t,url:a,schema:r,table:n,signal:s}=e;return(0,y.A)({operation:{operation:"describe_table",schema:r,table:n},auth:t,url:a,signal:s})})({auth:l,url:c,schema:t,table:a,signal:u}),(0,p.Iz)(t,a,e)),e.error)throw b=[],new Error("table");const{record_count:r,attributes:s,hash_attribute:o}=e;v=s,b=s.map((e=>e.attribute)),void 0===o?(x="$id",j=["$id","*"]):x=o,g=r,v=s,f=g&&Math.ceil(g/n)}catch(S){h=S.message}if(g)try{if(m=r.length?await(async e=>{let{auth:t,url:a,schema:r,table:n,operator:s,get_attributes:o,limit:i,offset:l,onlyCached:c,conditions:d,signal:u}=e;return(0,y.A)({operation:{operation:"search_by_conditions",schema:r,table:n,operator:s,get_attributes:o,limit:i,offset:l,conditions:d,onlyIfCached:c,noCacheStore:c},auth:t,url:a,signal:u})})({schema:t,table:a,operator:"and",get_attributes:j,limit:n,offset:w,sort:o.length?{attribute:o[0].id,descending:o[0].desc}:void 0,conditions:r.map((e=>({search_attribute:e.id,search_type:"contains",search_value:e.value}))),auth:l,url:c,signal:d,onlyCached:s}):await(async e=>{let{auth:t,url:a,schema:r,table:n,search_attribute:s,search_value:o,get_attributes:i,limit:l,offset:c,sort:d,onlyCached:u,signal:h}=e;return(0,y.A)({operation:{operation:"search_by_value",schema:r,table:n,search_attribute:s,search_value:o,get_attributes:i,limit:l,offset:c,sort:d,onlyIfCached:u,noCacheStore:u},auth:t,url:a,signal:h})})({schema:t,table:a,search_attribute:x,search_value:"*",get_attributes:j,limit:n,offset:w,sort:o.length?{attribute:o[0].id,descending:o[0].desc}:void 0,auth:l,url:c,signal:d,onlyCached:s}),m.error||!Array.isArray(m))throw new Error(m.message)}catch(S){h=S.message}A=((e,t)=>{if(!e.length)return[];if(t.length>=8)return[];const a=new Map(t.map(((e,t)=>[e,t]))),r=new Map;for(const n of e)for(const e of Object.keys(n))if(!a.has(e)){const t=r.get(e)||0;r.set(e,t+1)}return Array.from(r).sort(((e,t)=>{let[,a]=e,[,r]=t;return r-a})).map((e=>{let[t]=e;return t})).slice(0,8-t.length)})(m,b),b.push(...A);const C=b.filter((e=>![x,"__createdtime__","__updatedtime__"].includes(e))),N=C.reduce(((e,t)=>({...e,[t]:null})),{});b.includes("__createdtime__")&&C.push("__createdtime__"),b.includes("__updatedtime__")&&C.push("__updatedtime__");const _=(x?[x,...C]:[...C]).map((e=>({Header:"$id"===e?"Primary Key":e.toString(),accessor:t=>t[e.toString()]})));return{newData:m||[],newEntityAttributes:N,newTotalRecords:g,newTotalPages:f,hashAttribute:x,schemaAttributes:v,dataTableColumns:_,error:"table"===h?`You are not authorized to view ${t}:${a}`:h,dynamicAttributesFromDataTable:A}},j=async e=>{let t,a,{schema:r,table:n,filtered:s,pageSize:o,auth:i,url:l,signal:c}=e;try{let e=`SELECT count(*) as newTotalRecords FROM \`${r}\`.\`${n}\` `;s.length&&(e+=`WHERE ${s.map((e=>` \`${e.id}\` LIKE '%${e.value}%'`)).join(" AND ")}`),[{newTotalRecords:a}]=await(async e=>{let{auth:t,url:a,sql:r,signal:n}=e;return(0,y.A)({operation:{operation:"sql",sql:r},auth:t,url:a,signal:n})})({auth:i,url:l,sql:e,signal:c}),t=a&&Math.ceil(a/o)}catch(d){t=1,a=0}return{newTotalRecords:a,newTotalPages:t}};var A=a(5283);let w,C,N;const _=function(e){let{tableState:t,setTableState:a,activeTable:u}=e;const h=(0,n.Zp)(),{compute_stack_id:g,schema:f,table:y,customer_id:_}=(0,n.g)(),S=(0,l.O$)(c.A,(e=>e.auth)),P=(0,l.O$)(c.A,(e=>e.url)),[k,O]=(0,r.useState)(!1),[R,z]=(0,r.useState)(!1),[$,T]=(0,r.useState)(!1),[F,E]=(0,r.useState)(!1),[D,I]=(0,r.useState)(!0),[M,q]=(0,A.A)({});return(0,r.useEffect)((()=>{var e,r,n;null===(e=w)||void 0===e||e.abort(),null===(r=C)||void 0===r||r.abort(),null===(n=N)||void 0===n||n.abort(),E(!1),T(!1);let s=!0;return(async()=>{t.filtered.length||T(!0),w=new AbortController,C=new AbortController;const{newData:e,newTotalRecords:r,newTotalPages:n,newEntityAttributes:o,hashAttribute:i,dynamicAttributesFromDataTable:l,dataTableColumns:c,schemaAttributes:d,error:u}=await v({schema:f,table:y,filtered:t.filtered,pageSize:parseInt(t.pageSize,10),sorted:t.sorted,onlyCached:t.onlyCached,page:t.page,auth:S,url:P,signal:w.signal,signal2:C.signal});s&&(T(!1),e.error?a({...t,tableData:[],error:u}):(t.filtered.length?e.length<t.pageSize?(O(1),z(e.length)):(async()=>{E(!0),O(!1),N=new AbortController;const{newTotalRecords:e,newTotalPages:a}=await j({schema:f,table:y,filtered:t.filtered,pageSize:parseInt(t.pageSize,10),auth:S,url:P,signal:N.signal});s&&(E(!1),O(a),z(e))})():(O(n),z(r)),a({...t,tableData:e,newEntityAttributes:o,hashAttribute:i,dataTableColumns:c,dynamicAttributesFromDataTable:l,schemaAttributes:d,error:u})))})(),()=>{var e,t,a;null===(e=w)||void 0===e||e.abort(),null===(t=C)||void 0===t||t.abort(),null===(a=N)||void 0===a||a.abort(),s=!1}}),[t.sorted,t.page,t.filtered,t.pageSize,t.onlyCached,D,u]),(0,s.A)((()=>t.autoRefresh&&I(Date.now())),d.A.refresh_content_interval),(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(b,{totalRecords:R,loading:$,loadingFilter:F,autoRefresh:t.autoRefresh,onlyCached:t.onlyCached,refresh:()=>{(0,p.Ak)(),I(Date.now())},toggleAutoRefresh:()=>{a({...t,autoRefresh:!t.autoRefresh}),(0,p.Ak)()},toggleOnlyCached:()=>{a({...t,onlyCached:!t.onlyCached})},toggleFilter:()=>{a({...t,showFilter:!t.showFilter})}}),(0,m.jsx)(o.A,{className:"my-3",children:(0,m.jsx)(i.A,{className:"react-table-holder",children:(0,m.jsx)(x.A,{manual:!0,columns:t.dataTableColumns||[],data:t.tableData||[],error:t.error,tableDescriptionAttributes:t.schemaAttributes,dynamicAttributesFromDataTable:t.dynamicAttributesFromDataTable,currentPage:t.page,pageSize:t.pageSize,totalPages:k||0,showFilter:t.showFilter,sorted:t.sorted.length?t.sorted:[{id:t.hashAttribute,desc:!1}],loading:$&&!t.autoRefresh,onFilteredChange:e=>{a({...t,page:0,filtered:e})},onSortedChange:e=>{a({...t,page:0,sorted:e})},onPageChange:e=>{a({...t,page:e})},onPageSizeChange:e=>{a({...t,page:0,pageSize:e})},onRowClick:e=>{const a=e[t.hashAttribute],r=encodeURIComponent(f),n=encodeURIComponent(y),s=encodeURIComponent(a);h(`/o/${_}/i/${g}/browse/${r}/${n}/edit/${s}`,{state:{hashValue:a}})}})})})]})}},4343:(e,t,a)=>{a.d(t,{A:()=>v});var r=a(9950),n=a(2043),s=a(5488),o=a(9435),i=a(7176),l=a(6114),c=a(4414);const d=e=>{let{headerGroups:t,onSortedChange:a,sorted:r,showFilter:n,dynamicAttributesFromDataTable:s,tableDescriptionAttributes:o}=e;const d=e=>{let t=!1;return o.forEach((a=>{a.attribute===e&&(a.is_primary_key||a.indexed)&&(t=!0)})),t};return t.map((e=>{const{key:t,...o}=e.getHeaderGroupProps();return(0,c.jsxs)("div",{...o,children:[(0,c.jsx)(i.A,{className:"header g-0",children:e.headers.map((e=>{var t,n;return(0,c.jsx)(l.A,{onClick:()=>{var t,n;s&&!s.includes(e.id)&&d(e.id)&&a([{id:e.id,desc:(null===(t=r[0])||void 0===t?void 0:t.id)===e.id&&!(null!==(n=r[0])&&void 0!==n&&n.desc)}])},className:`${(null===(t=r[0])||void 0===t?void 0:t.id)===e.id?"sorted":""} ${null!==(n=r[0])&&void 0!==n&&n.desc?"desc":"asc"} ${-1!==e.id.indexOf("hdb-narrow")?"action":""} px-1 ${s&&!s.includes(e.id)&&d(e.id)?"":"disabled-column"}`,children:(0,c.jsx)("div",{className:"text-renderer",children:e.render("Header")})},e.id)}))}),n&&(0,c.jsx)(i.A,{className:"filter g-0",children:e.headers.map((e=>(0,c.jsx)(l.A,{className:-1!==e.id.indexOf("hdb-narrow")?"action":"",children:e.render("Filter")},e.id)))})]},t)}))};var u=a(3452);const h=function(e){let{page:t,pageSize:a,totalPages:r,onPageChange:n,onPageSizeChange:o,loading:d}=e;return(0,c.jsxs)(i.A,{className:"pagination",children:[(0,c.jsx)(l.A,{xs:"12",sm:"2",className:"previous",children:(0,c.jsx)(u.A,{className:"mb-2 btn-pagination",color:"purple",block:!0,onClick:()=>n(t-1),disabled:!r||0===t,children:(0,c.jsx)("i",{className:"fa fa-chevron-left"})})}),(0,c.jsxs)(l.A,{xs:"12",sm:"4",className:"paginator",children:[(0,c.jsx)("i",{className:"fa fa-book me-2"}),(0,c.jsx)(s.A,{className:"mb-2",type:"number",value:t+1,min:1,max:r,onChange:e=>n(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"}):r]})]}),(0,c.jsx)(l.A,{xs:"12",sm:"4",className:"page-size",children:(0,c.jsx)(s.A,{className:"mb-2",type:"select",value:a,onChange:e=>o(e.target.value),children:[20,50,100,250].map((e=>(0,c.jsxs)("option",{value:e,children:[e," rows"]},e)))})}),(0,c.jsx)(l.A,{xs:"12",sm:"2",className:"next",children:(0,c.jsx)(u.A,{className:"mb-2 pull-right btn-pagination",block:!0,color:"purple",onClick:()=>n(t+1),disabled:!r||t+1===r,children:(0,c.jsx)("i",{className:"fa fa-chevron-right"})})})]})};const g=function(e){let{previousPage:t,canPreviousPage:a,pageIndex:r,gotoPage:n,setPageSize:o,pageCount:d,nextPage:h,canNextPage:g,loading:f}=e;return(0,c.jsxs)(i.A,{className:"pagination",children:[(0,c.jsx)(l.A,{xs:"12",sm:"2",className:"previous",children:(0,c.jsx)(u.A,{className:"mb-2 btn-pagination",color:"purple",block:!0,onClick:t,disabled:!d||!a,children:(0,c.jsx)("i",{className:"fa fa-chevron-left"})})}),(0,c.jsxs)(l.A,{xs:"12",sm:"4",className:"paginator",children:[(0,c.jsx)("i",{className:"fa fa-book me-2"}),(0,c.jsx)(s.A,{className:"mb-2",type:"number",value:r+1||1,min:1,max:d,onChange:e=>n(e.target.value?Number(e.target.value)-1:0)}),(0,c.jsxs)("div",{className:"page-count",children:["\xa0/\xa0",f?(0,c.jsx)("i",{className:"fa fa-spinner fa-spin"}):d]})]}),(0,c.jsx)(l.A,{xs:"12",sm:"4",className:"page-size",children:(0,c.jsx)(s.A,{className:"mb-2",type:"select",onChange:e=>{n(0),setTimeout((()=>o(e.target.value)),1e3)},children:[20,50,100,250].map((e=>(0,c.jsxs)("option",{value:e,children:[e," rows"]},e)))})}),(0,c.jsx)(l.A,{xs:"12",sm:"2",className:"next",children:(0,c.jsx)(u.A,{className:"mb-2 pull-right btn-pagination",block:!0,color:"purple",onClick:h,disabled:!d||!g,children:(0,c.jsx)("i",{className:"fa fa-chevron-right"})})})]})};const f=function(e){let{prepareRow:t,row:a,onRowClick:r=!1}=e;return t(a),(0,c.jsx)(i.A,{onClick:()=>r&&r(a.original),className:"g-0",children:a.cells.map((e=>(0,c.jsx)(l.A,{className:-1!==e.column.id.indexOf("hdb-narrow")?"action":"",children:e.render("Cell")},`${e.row.id}-${e.column.id}`)))})};var p=a(3628),m=a(3150);function b(e){let{value:t}=e;return(0,c.jsx)("div",{className:"text-renderer",children:t})}function x(e){let{src:t}=e;const[a,n]=(0,r.useState)(!1),[s,o]=(0,r.useState)(!1);return(0,c.jsxs)("div",{className:"image-renderer",onMouseEnter:()=>n(!0),onMouseLeave:()=>n(!1),children:[(0,c.jsx)("i",{className:"fa fa-image"}),a&&s?(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"})]}):a?(0,c.jsx)("img",{onError:o,alt:t,src:t,className:"preview-image"}):null]})}const y={Filter:e=>{let{column:{filterValue:t,setFilter:a}}=e;return(0,c.jsx)(s.A,{type:"text",value:t||"",onChange:e=>a(e.target.value||void 0)})},Cell:e=>{let{value:t}=e;return(e=>{switch(Object.prototype.toString.call(e)){case"[object Array]":case"[object Object]":return(0,c.jsx)(b,{value:JSON.stringify(e)});case"[object Boolean]":return(0,c.jsx)(b,{value:e?"true":"false"});case"[object String]":return(t=e)&&(t.match(/^https?.*\.(jpeg|jpg|gif|png)$/)||-1!==t.indexOf("data:image"))?(0,c.jsx)(x,{src:e}):(0,c.jsx)(b,{value:e});default:return(0,c.jsx)(b,{value:e})}var t})(t)}};const v=function(e){let{columns:t,data:a,error:s,currentPage:i,pageSize:l,totalPages:u,onFilteredChange:b,onSortedChange:x,onPageChange:v,onPageSizeChange:j,showFilter:A,onRowClick:w,sorted:C,loading:N,dynamicAttributesFromDataTable:_,tableDescriptionAttributes:S,manual:P=!1}=e;const{headerGroups:k,page:O,rows:R,prepareRow:z,state:$,setAllFilters:T,canPreviousPage:F,canNextPage:E,pageOptions:D,pageCount:I,gotoPage:M,nextPage:q,previousPage:H,setPageSize:U}=(0,n.useTable)({columns:t,data:a,defaultColumn:y,onFilteredChange:b,onSortedChange:x,onPageChange:v,onPageSizeChange:j,onRowClick:w,manualPagination:P,manualFilters:P,initialState:{pageIndex:i,pageSize:l}},n.useFilters,n.usePagination),[B,G]=(0,r.useState)(!0),V=P||!O.length?R:O;return(0,r.useEffect)((()=>{!A&&$.filters.length?T([]):b($.filters)}),[$.filters,A]),(0,r.useEffect)((()=>{setTimeout((()=>G(!1)),100)}),[null===V||void 0===V?void 0:V.length]),(0,c.jsxs)(o.tH,{onError:(e,t)=>(0,p.A)({error:{message:e.message,componentStack:t}}),FallbackComponent:m.A,children:[(0,c.jsxs)("div",{className:"react-table-scroller",children:[(0,c.jsx)(d,{headerGroups:k,tableDescriptionAttributes:S,dynamicAttributesFromDataTable:_,onSortedChange:x,sorted:C,showFilter:A}),N||B?(0,c.jsx)("div",{className:"centered text-center",children:(0,c.jsx)("i",{className:"fa fa-spinner fa-spin"})}):V.length?V.map((e=>(0,c.jsx)(f,{row:e,prepareRow:z,onRowClick:w},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:s?`Error loading data: ${s}`:"no records"})]})]}),P?(0,c.jsx)(h,{page:i,pageSize:l,totalPages:u,onPageChange:v,onPageSizeChange:j,loading:N}):(0,c.jsx)(g,{previousPage:H,pageSize:l,canPreviousPage:F,pageIndex:$.pageIndex,pageOptions:D,gotoPage:M,setPageSize:U,pageCount:I,nextPage:q,canNextPage:E,loading:N})]})}},5488:(e,t,a)=>{a.d(t,{A:()=>v});var r=a(9950),n=a(1942),s=a.n(n),o=a(8738),i=a.n(o),l=a(1497);function c(e){return c="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},c(e)}var d=["className","cssModule","type","bsSize","valid","invalid","tag","addon","plaintext","innerRef"];function u(){return u=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var r in a)Object.prototype.hasOwnProperty.call(a,r)&&(e[r]=a[r])}return e},u.apply(this,arguments)}function h(e,t){if(null==e)return{};var a,r,n=function(e,t){if(null==e)return{};var a,r,n={},s=Object.keys(e);for(r=0;r<s.length;r++)a=s[r],t.indexOf(a)>=0||(n[a]=e[a]);return n}(e,t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(r=0;r<s.length;r++)a=s[r],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(n[a]=e[a])}return n}function g(e,t){for(var a=0;a<t.length;a++){var r=t[a];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function f(e,t){return f=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},f(e,t)}function p(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 a,r=b(e);if(t){var n=b(this).constructor;a=Reflect.construct(r,arguments,n)}else a=r.apply(this,arguments);return function(e,t){if(t&&("object"===c(t)||"function"===typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return m(e)}(this,a)}}function m(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 x={children:s().node,type:s().string,size:s().oneOfType([s().number,s().string]),bsSize:s().string,valid:s().bool,invalid:s().bool,tag:l.Wx,innerRef:s().oneOfType([s().object,s().func,s().string]),plaintext:s().bool,addon:s().bool,className:s().string,cssModule:s().object},y=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&&f(e,t)}(o,e);var t,a,n,s=p(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=s.call(this,e)).getRef=t.getRef.bind(m(t)),t.focus=t.focus.bind(m(t)),t}return t=o,(a=[{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,a=e.cssModule,n=e.type,s=void 0===n?"text":n,o=e.bsSize,c=e.valid,g=e.invalid,f=e.tag,p=e.addon,m=e.plaintext,b=e.innerRef,x=h(e,d),y=["switch","radio","checkbox"].indexOf(s)>-1,v="select"===s,j="range"===s,A=f||(v||"textarea"===s?s:"input"),w="form-control";m?(w="".concat(w,"-plaintext"),A=f||"input"):j?w="form-range":v?w="form-select":y&&(w=p?null:"form-check-input"),x.size&&/\D/g.test(x.size)&&((0,l.mc)('Please use the prop "bsSize" instead of the "size" to bootstrap\'s input sizing.'),o=x.size,delete x.size);var C=(0,l.qO)(i()(t,g&&"is-invalid",c&&"is-valid",!!o&&(v?"form-select-".concat(o):"form-control-".concat(o)),w),a);return("input"===A||f&&"function"===typeof f)&&(x.type="switch"===s?"checkbox":s),x.children&&!m&&"select"!==s&&"string"===typeof A&&"select"!==A&&((0,l.mc)('Input with a type of "'.concat(s,'" cannot have children. Please use "value"/"defaultValue" instead.')),delete x.children),r.createElement(A,u({},x,{ref:b,className:C,"aria-invalid":g}))}}])&&g(t.prototype,a),n&&g(t,n),Object.defineProperty(t,"prototype",{writable:!1}),o}(r.Component);y.propTypes=x;const v=y}}]);
|
|
@@ -0,0 +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(625),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,onlyCached:!0};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])}}}]);
|