8 lines
24 KiB
JavaScript
8 lines
24 KiB
JavaScript
(globalThis.webpackChunkPlesk=globalThis.webpackChunkPlesk||[]).push([["components/pages/DatabasesPage"],{1449:(e,a,t)=>{"use strict";t.r(a),t.d(a,{getGraphQlErrorMessage:()=>s});const s=({graphQLErrors:e,message:a})=>{if(e.length){const{message:a,extensions:t}=e[0];return`${t?.debugMessage||a}`}return a}},1919:e=>{e.exports=Jsw.skinUrl+"/icons/24/colored-icons-sprite.svg?0ca73947c3035a4461b4dd5d57894f2b"},1923:e=>{e.exports=Jsw.skinUrl+"/icons/24/sitejet-ai.svg?3587ccb60b06bb3c63bb204f4f0b224e"},2303:(e,a,t)=>{"use strict";t.r(a),t.d(a,{default:()=>p});var s=t(296),n=t(620),i=t(599),o=t(297),r=t(90),d=t(718),l=t(2304),c=t(2305),m=t.n(c);const u=r.Locale.getTranslate("components.pages.Databases.Page"),p=({domainId:e})=>{const{data:a}=(0,n.useQuery)(m(),{variables:{domainId:btoa(`Domain:${e}`)}}),{type:t,permissions:{manageServerDb:r}}=a.viewer,{packages:{isBackupManagerInstalled:c}}=a.capability;(0,l.assertNodeTypename)(a.domain,"Domain");const{subscription:{permissions:{manageBackupRestore:p}}}=a.domain,b=(0,s.useMemo)(()=>"ADMIN"===t&&r,[t,r]),g=(0,s.useMemo)(()=>c&&p,[c,p]),h=(0,s.useMemo)(()=>[{"data-id":"databaseTab",title:(0,s.jsx)(u,{content:"databaseTab"}),url:`/smb/database/list/domainId/${e}`},{"data-id":"userTab",title:(0,s.jsx)(u,{content:"userTab"}),url:`/smb/database/users-list/domainId/${e}`}],[e]),{pathname:v}=(0,i.useLocation)(),x=(0,s.useMemo)(()=>h.findIndex(({url:e})=>(0,i.matchPath)(e,v))+1,[h,v]);return(0,s.jsx)(o.Tabs,{active:x,addon:[b,g].some(Boolean)?(0,s.jsxs)(o.ButtonGroup,{children:[b&&(0,s.jsx)(o.Button,{component:d.default,ghost:!0,icon:"server",to:"/cp/server/db","data-id":"databaseServers",children:(0,s.jsx)(u,{content:"serversLink"})}),g&&(0,s.jsx)(o.Button,{component:d.default,ghost:!0,icon:"backup",to:`/smb/account/switch/id/${e}?hideNotice=1&returnUrl=/smb/web/backup`,"data-id":"backup",children:(0,s.jsx)(u,{content:"backupLink"})})]}):void 0,children:h.map(({url:e,...a})=>(0,s.jsx)(o.Tab,{component:d.default,to:e,...a},e))})}},2304:(e,a,t)=>{"use strict";function s(e,a){if(e.__typename!==a)throw new Error(`GraphQL type assertion failed: expected ${a} but received ${e.__typename}`)}t.r(a),t.d(a,{assertNodeTypename:()=>s})},2305:e=>{var a={kind:"Document",definitions:[{kind:"OperationDefinition",operation:"query",name:{kind:"Name",value:"DatabasesTabs"},variableDefinitions:[{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"domainId"}},type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"ID"}}},directives:[]}],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"viewer"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"login"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"type"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"permissions"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"manageServerDb"},arguments:[],directives:[]}]}}]}},{kind:"Field",name:{kind:"Name",value:"capability"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"packages"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"isBackupManagerInstalled"},arguments:[],directives:[]}]}}]}},{kind:"Field",alias:{kind:"Name",value:"domain"},name:{kind:"Name",value:"node"},arguments:[{kind:"Argument",name:{kind:"Name",value:"id"},value:{kind:"Variable",name:{kind:"Name",value:"domainId"}}}],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"Domain"}},directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"id"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"subscription"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"permissions"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"manageBackupRestore"},arguments:[],directives:[]}]}}]}}]}}]}}]}}],loc:{start:0,end:452}};a.loc.source={body:"query DatabasesTabs($domainId: ID!) {\n viewer {\n login\n type\n permissions {\n manageServerDb\n }\n }\n capability {\n packages {\n isBackupManagerInstalled\n }\n }\n domain: node(id: $domainId) {\n ... on Domain {\n id\n subscription {\n permissions {\n manageBackupRestore\n }\n }\n }\n }\n}\n",name:"GraphQL request",locationOffset:{line:1,column:1}};function t(e,a){if("FragmentSpread"===e.kind)a.add(e.name.value);else if("VariableDefinition"===e.kind){var s=e.type;"NamedType"===s.kind&&a.add(s.name.value)}e.selectionSet&&e.selectionSet.selections.forEach(function(e){t(e,a)}),e.variableDefinitions&&e.variableDefinitions.forEach(function(e){t(e,a)}),e.definitions&&e.definitions.forEach(function(e){t(e,a)})}var s={};function n(e,a){for(var t=0;t<e.definitions.length;t++){var s=e.definitions[t];if(s.name&&s.name.value==a)return s}}a.definitions.forEach(function(e){if(e.name){var a=new Set;t(e,a),s[e.name.value]=a}}),e.exports=a,e.exports.DatabasesTabs=function(e,a){var t={kind:e.kind,definitions:[n(e,a)]};e.hasOwnProperty("loc")&&(t.loc=e.loc);var i=s[a]||new Set,o=new Set,r=new Set;for(i.forEach(function(e){r.add(e)});r.size>0;){var d=r;r=new Set,d.forEach(function(e){o.has(e)||(o.add(e),(s[e]||new Set).forEach(function(e){r.add(e)}))})}return o.forEach(function(a){var s=n(e,a);s&&t.definitions.push(s)}),t}(a,"DatabasesTabs")},2525:(e,a,t)=>{"use strict";t.r(a),t.d(a,{default:()=>r});var s=t(297),n=t(90),i=t(296);const o=n.Locale.getTranslate("components.buttons"),r=({children:e,confirmationText:a,onClick:t,isCritical:n=!1,isProcessing:r=!1,target:d,...l})=>{const[c,m]=(0,i.useState)(!1),u=(0,i.jsx)(s.Button,{onClick:()=>m(!0),state:r?"loading":void 0,...l,children:r?(0,i.jsx)(o,{content:"wait"}):e});return(0,i.jsxs)(s.Popover,{target:d?(0,i.cloneElement)(d,{onClick:()=>m(!0)}):u,placement:"top",visible:c,onClose:()=>m(!1),children:[(0,i.jsx)(s.Paragraph,{children:a}),(0,i.jsx)(s.Button,{id:"buttonYes",intent:n?"danger":"primary",onClick:()=>{m(!1),t()},children:(0,i.jsx)(o,{content:"yes"})})," ",(0,i.jsx)(s.Button,{id:"buttonCancel",onClick:()=>m(!1),ghost:!0,children:(0,i.jsx)(o,{content:"cancel"})})]})}},2636:(e,a,t)=>{"use strict";t.r(a),t.d(a,{default:()=>s.default});var s=t(2637)},2637:(e,a,t)=>{"use strict";t.r(a),t.d(a,{default:()=>u});var s=t(599),n=t(668),i=t.n(n),o=t(2638),r=t(2654),d=t(2303),l=t(675),c=t(296);const m=({data:e,domainId:a,assignableDomains:t,subscriptionStatus:n=!1,allowCreateDatabase:i=!1})=>{const l=(0,r.default)();return(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(d.default,{domainId:a}),(0,c.jsx)(o.default,{allowCreateDatabase:i,subscriptionStatus:n,domainId:a,data:e,assignableDomains:t,registerListReloader:l.setCallback},a),(0,c.jsx)(s.Outlet,{context:{reloadDatabaseList:l.callback}})]})};m.propTypes={allowCreateDatabase:i().bool,subscriptionStatus:i().bool,data:i().object.isRequired,domainId:i().string.isRequired,assignableDomains:i().array.isRequired};const u=(0,l.withPageLayout)(m)},2638:(e,a,t)=>{"use strict";t.r(a),t.d(a,{default:()=>T});var s=t(696),n=t(583),i=t(599),o=t(296),r=t(668),d=t.n(r),l=t(297),c=t(90),m=t(2525),u=t(2639),p=t(546),b=t(2647),g=t(2648),h=t(2649),v=t(2650),x=t(2651),k=t(2652),f=t(692),j=t(1242),w=t(1449);t(2653);const y=c.Locale.getTranslate("components.pages.Databases.List"),S=c.Locale.getSection("components.pages.Databases.List"),C=n.gql`
|
|
mutation DeleteDatabase($input: DeleteDatabaseInput!) {
|
|
deleteDatabase(input: $input) {
|
|
ids
|
|
}
|
|
}
|
|
`,D=({domainId:e,data:a={},subscriptionStatus:n=!1,allowCreateDatabase:r=!1,assignableDomains:d=[],registerListReloader:D})=>{const T=void 0!==(0,i.useParams)().domainId?"":`${e}/`,L=`/smb/database/list-data/domainId/${e}`,[P,R]=(0,o.useState)(a),[N,I]=(0,o.useState)(r),[q,$]=(0,o.useState)(d),[F,B]=(0,o.useState)([]),A=(0,x.usePasswordPrompt)(),_=(0,o.useCallback)(async()=>{try{const a=await c.api.get(`/smb/database/list-size-data/domainId/${e}`);B(a)}catch(e){if(Array.isArray(e.statusMessages))return e.statusMessages.forEach(({content:e})=>(0,p.addToast)({intent:"danger",message:e}));(0,p.addToast)({intent:"danger",message:e.message})}},[e]);(0,o.useEffect)(()=>{_()},[_]);const E=async({url:e=L,params:a}={})=>{a&&(e=(0,j.buildUrl)(e,a));const{data:t,assignableDomains:s,allowCreateDatabase:n}=await c.api.get(e);R(t),$(s),I(n)},{renderPagination:M,sortParams:O,loading:U,filter:z,handleFilter:W,handleReload:H}=(0,f.useList)({initialFilter:Object.entries(P.state.searchFilters??{}).reduce((e,[a,{searchText:t}])=>({...e,[a]:t}),{}),pagination:{current:P.pager.current,totalPage:P.pager.pageCount,itemsPerPage:P.pager.itemCountPerPage,async onSort(){},async onPageChange(e){await E({params:{page:e}})},async onChangeItemsPerPage(e){await E({params:{"items-per-page":e}})}},sort:{direction:"up"===P.state.sortDirection?"ASC":"DESC",column:P.state.sortField,async onChange({sortColumn:e,sortDirection:a}){const t=`${L}/sort-field/${e}/sort-dir/${"ASC"===a?"up":"down"}`;await E({url:t})}},async onFilter(e){await E({params:Object.entries(e).reduce((e,[a,t])=>({...e,[`searchFilter[${a}][searchText]`]:t}),{})})},async onReload(){_(),await E()}});D(()=>H());const G=!!z.name,[Q]=(0,s.useMutation)(C,{awaitRefetchQueries:!0,onCompleted:()=>{(0,p.addToast)({intent:"success",message:(0,o.jsx)(y,{content:"databaseRemoved"})}),H()},onError:e=>{(0,p.addToast)({intent:"danger",message:(0,w.getGraphQlErrorMessage)(e)})}}),J=({id:e,askPasswordForWebadmin:a,webadminUserLogin:t})=>A.getButtonClickHandler({isPasswordRequired:a,userLogin:t,onPasswordlessClick:()=>(0,k.openWebAdmin)(e),onPasswordSubmit:a=>(0,k.openWebAdmin)(e,{dbPassword:a})}),V=(0,o.jsx)(l.Button,{component:i.Link,to:`${T}add`,intent:"primary",icon:"plus","data-action-name":"btn-add",children:(0,o.jsx)(y,{content:"add"})}),{additional:{operations:K}}=P,Y=(0,o.jsx)(l.List,{loading:U,data:P.data,"data-test-id":"databases-list",rowKey:"id",filtered:G,renderRowBody:a=>(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(h.default,{databaseId:a.id,urlPrefix:T,subscriptionStatus:n,buttons:a.actions.filter(e=>"separator"!==e),onCheckAndRepair:()=>(async e=>{try{await c.api.post(`/smb/database/check/id/${e}`),H()}catch({message:e}){(0,p.addToast)({intent:"danger",message:e})}})(a.id),onWebAdmin:J(a)}),(0,o.jsx)(v.default,{domainId:e,database:a,sizeData:F.find(({id:e})=>e===a.id)})]}),totalRows:P.pager.totalItemCount,...O,pagination:M(),toolbar:(0,o.jsxs)(l.Toolbar,{children:[N&&(0,o.jsx)(l.ToolbarGroup,{title:"",children:V}),K.length>0&&(0,o.jsx)(b.default,{buttons:K}),(0,o.jsx)(l.ToolbarExpander,{}),(0,o.jsx)(l.ToolbarGroup,{groupable:!1,title:"",children:(0,o.jsx)(l.SearchBar,{name:"search",inputProps:{value:z.name,placeholder:S.lmsg("find")},onSearch:e=>W({name:e})})})]}),columns:[{type:"title",title:(0,o.jsx)(y,{content:"databaseColumn"}),sortable:!0,key:"name",width:"28%",render:({name:e,fork:a,type:s})=>{const n=(a||s).toLowerCase();return(0,o.jsxs)(l.Status,{icon:{size:"24",src:t(2641)(`./${n}.svg`)},children:[e,(0,o.jsx)("div",{className:"database-page-title-actions",children:(0,o.jsx)(l.Tooltip,{asLabel:!0,title:S.lmsg("copyDatabaseName"),children:(0,o.jsx)(l.Action,{icon:{name:"copy",size:12},className:"database-page-title-actions__action",onClick:()=>{(0,l.copyToClipboard)(e),(0,p.addToast)({intent:"success",message:(0,o.jsx)(y,{content:"copySuccess",params:{name:(0,o.jsx)(l.Text,{bold:!0,children:e})}})})},"data-action-name":"copyDatabaseName"})})})]})}},{type:"title",title:(0,o.jsx)(y,{content:"relatedToColumn"}),key:"relatedTo",render:({isUsedByApp:e,assignedDomainName:a,id:t})=>{if(e)return a&&(0,o.jsx)(y,{content:"relatedToDomains",params:{domains:a}});const s=q.filter(({lastDatabaseSelectedId:e})=>t===e),n=s.map(({name:e})=>e);let i=(0,o.jsx)(y,{content:"relatedToDomains",params:{domains:n.join(", ")}}),r={};return 0===s.length&&(i=null,r={icon:null,children:(0,o.jsx)(y,{content:"noRelatedDomains"}),"data-action-name":"assign"}),(0,o.jsxs)(g.default,{value:s[0]?.id??"",onChange:e=>(async(e,a)=>{await c.api.post("/smb/database/set-related-domain",{id:e,domainId:a}),H()})(t,e),label:i,editButtonProps:r,children:[(0,o.jsx)("option",{value:"",children:S.lmsg("noDomainRelations")}),q.map(({id:e,name:a})=>(0,o.jsx)("option",{value:e,children:a},e))]})}},{type:"actions",render:({id:e,name:a,allowWebadmin:t,askPasswordForWebadmin:s,webadminUserLogin:n,hasConnectionError:i,isUsedByApp:r,type:d,MSSQLClientInstruction:c,MSSQLClientInstructionLink:u})=>(0,o.jsxs)(l.ListActions,{children:["mssql"===d.toLowerCase()?(0,o.jsx)(l.ListAction,{primary:!0,icon:"my-little-admin",component:"a",href:u,target:"_blank",rel:"noopener noreferrer",hidden:!c,tooltip:S.lmsg("downloadMsSqlClientHint"),tooltipAsLabel:!0,children:S.lmsg("downloadMsSqlClient")}):(0,o.jsx)(l.ListAction,{primary:!0,icon:"phpmyadmin","data-cy":"phpmyadmin",hidden:!t,disabled:i,tooltip:S.lmsg("webadminHint"),tooltipAsLabel:!0,onClick:J({id:e,askPasswordForWebadmin:s,webadminUserLogin:n}),children:S.lmsg("webadmin")}),(0,o.jsx)(l.ListAction,{primary:!0,icon:"recycle","data-action-name":"deleteConfirmation",disabled:r,tooltip:r?(0,o.jsx)(y,{content:"removeButtonDisabledHint"}):null,tooltipAsLabel:!0,children:({wrap:t})=>(0,o.jsx)(m.default,{target:t(S.lmsg("remove")),confirmationText:(0,o.jsx)(y,{content:"removeConfirmation",params:{name:(0,o.jsx)("b",{children:a})}}),isCritical:!0,onClick:()=>(async e=>{await Q({variables:{input:{ids:[btoa(`Database:${e}`)]}}})})(e)})})]})}],emptyView:(0,o.jsx)(l.ListEmptyView,{actions:!G&&N&&V})});return(0,o.jsxs)(o.Fragment,{children:[Y,(0,o.jsx)(u.default,{...A.drawerProps})]})};D.propTypes={allowCreateDatabase:d().bool,subscriptionStatus:d().bool,domainId:d().number.isRequired,assignableDomains:d().arrayOf(d().shape({id:d().number.isRequired,name:d().string.isRequired,lastDatabaseSelectedId:d().number}).isRequired),data:d().arrayOf(d().shape({id:d().number.isRequired,name:d().string.isRequired,fork:d().string.isRequired,type:d().string.isRequired,serverHost:d().string.isRequired,serverPort:d().string.isRequired,typeTitle:d().string.isRequired,serverId:d().number.isRequired,allowWebadmin:d().bool.isRequired,hasConnectionError:d().bool.isRequired,isUsedByApp:d().bool.isRequired,assignedDomainName:d().string,actions:d().arrayOf(d().shape({name:d().string.isRequired})),users:d().arrayOf(d().shape({id:d().number.isRequired,login:d().string.isRequired}))}).isRequired),registerListReloader:d().func.isRequired};const T=D},2639:(e,a,t)=>{"use strict";t.r(a),t.d(a,{default:()=>s.default});var s=t(2640)},2640:(e,a,t)=>{"use strict";t.r(a),t.d(a,{default:()=>d});var s=t(296),n=t(297),i=t(90);const o=i.Locale.getTranslate("components.common.DatabasePasswordPrompt"),r=i.Locale.getTranslate("components.buttons"),d=({isMultistep:e=!1,onPasswordSubmit:a,userLogin:t,isOpen:i,onClose:d,size:l="sm",...c})=>{const[m,u]=(0,s.useState)(!1),[p,b]=(0,s.useState)("");let g={title:(0,s.jsx)(o,{content:"title"}),subtitle:(0,s.jsx)(o,{content:"description",params:{login:(0,s.jsx)("b",{children:t})}}),form:(0,s.jsx)(n.Form,{onSubmit:({password:e})=>{e&&(a?.(e),u(!0))},submitButton:{children:(0,s.jsx)(r,{content:"ok"}),disabled:!p.length},cancelButton:{children:(0,s.jsx)(r,{content:"cancel"})},applyButton:!1,onFieldChange:(e,a)=>{"password"===e&&b(a)},children:(0,s.jsx)(n.FormFieldPassword,{name:"password",label:(0,s.jsx)(o,{content:"password"}),autoFocus:!0,size:"fill",hideGenerateButton:!0,hidePasswordMeter:!0})},"passwordForm")};return e&&m&&(g=c),(0,s.jsx)(n.Drawer,{isOpen:i,onClose:d,size:l,...g})}},2641:(e,a,t)=>{var s={"./colored-icons-sprite.svg":1919,"./mariadb.svg":2642,"./mssql.svg":2643,"./mysql.svg":2644,"./percona.svg":2645,"./postgresql.svg":2646,"./sitejet-ai.svg":1923};function n(e){var a=i(e);return t(a)}function i(e){if(!t.o(s,e)){var a=new Error("Cannot find module '"+e+"'");throw a.code="MODULE_NOT_FOUND",a}return s[e]}n.keys=function(){return Object.keys(s)},n.resolve=i,e.exports=n,n.id=2641},2642:e=>{e.exports=Jsw.skinUrl+"/icons/24/mariadb.svg?40e885b924e68121f8e5ebe315f9a4f1"},2643:e=>{e.exports=Jsw.skinUrl+"/icons/24/mssql.svg?407cb3501d66a7aa259aa515b6db8824"},2644:e=>{e.exports=Jsw.skinUrl+"/icons/24/mysql.svg?43a445498b746b73c066fee852ddcbbd"},2645:e=>{e.exports=Jsw.skinUrl+"/icons/24/percona.svg?7314a1db507b6a928dbd363c10716377"},2646:e=>{e.exports=Jsw.skinUrl+"/icons/24/postgresql.svg?f6ecc0a25ee74459478cdf93d345a51b"},2647:(e,a,t)=>{"use strict";t.r(a),t.d(a,{default:()=>o});var s=t(297),n=t(718),i=t(296);const o=({buttons:e})=>{const a=(0,n.useNavigateCallback)();return(0,i.jsx)(s.ToolbarGroup,{title:"",children:e.map(({id:e,title:t,href:n,description:o})=>(0,i.jsx)(s.Button,{id:e,component:"a",role:"link",href:n,tooltip:o,onClick:a,children:t},e))})}},2648:(e,a,t)=>{"use strict";t.r(a),t.d(a,{default:()=>o});var s=t(297),n=t(296);const i=t(90).Locale.getSection("components.pages.Databases.InPlaceSelect"),o=({onChange:e,value:a,label:t,children:o,editButtonProps:r={},...d})=>{const[l,c]=(0,n.useState)(!1),[m,u]=(0,n.useState)(!1),[p,b]=(0,n.useState)(a),g=()=>c(e=>!e);return(0,n.jsxs)("div",{children:[!l&&t,!l&&(0,n.jsx)(s.Button,{ghost:!0,state:m?"loading":void 0,onClick:g,icon:{name:"pencil"},tooltip:i.lmsg("editButtonHint"),tooltipAsLabel:!0,...r}),l&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(s.Select,{onClick:e=>{e.preventDefault(),e.stopPropagation()},...d,searchable:!0,defaultValue:a,onChange:e=>{b(e)},"aria-label":i.lmsg("selectWebsiteAriaLabel"),children:o}),(0,n.jsx)(s.Button,{ghost:!0,"data-action-name":"assign-confirm",onClick:async()=>{u(!0),g(),await(e?.(p)),u(!1)},icon:{name:"check-mark"},tooltip:i.lmsg("saveButtonHint"),tooltipAsLabel:!0}),(0,n.jsx)(s.Button,{ghost:!0,"data-action-name":"assign-cancel",onClick:()=>{b(a),g()},icon:{name:"cross-mark"},tooltip:i.lmsg("closeButtonHint"),tooltipAsLabel:!0})]})]})}},2649:(e,a,t)=>{"use strict";t.r(a),t.d(a,{default:()=>h});var s=t(599),n=t(297),i=t(90),o=t(1919),r=t.n(o),d=t(718),l=t(546),c=t(296);const m=i.Locale.getTranslate("components.pages.Databases.List"),u=i.Locale.getSection("components.pages.Databases.List"),p=e=>(0,c.jsx)(n.Icon,{size:"24",className:"smb-web-view-dynamic-list-actions__item-icon smb-web-view-dynamic-list-actions__item-icon--colored",...e}),b=({icon:e})=>(0,c.jsx)("svg",{focusable:"false",children:(0,c.jsx)("use",{href:`${r()}#${e}`})}),g=e=>(0,c.jsx)("a",{onClick:(0,d.useNavigateCallback)(),...e}),h=({databaseId:e,buttons:a,urlPrefix:t,subscriptionStatus:i,onCheckAndRepair:o,onWebAdmin:r})=>{const d={openWebAdmin:{icon:"phpmyadmin",props:{"data-action-name":"openWebAdmin",onClick:r}},connectionInfo:{icon:"connection",props:{component:s.Link,"data-action-name":"connectionInfo",to:`${t}${e}/connection-info`}},downloadDump:{icon:"export",props:{component:s.Link,"data-action-name":"downloadDump",to:i?`${t}${e}/dump`:"",onClick:()=>{i||(0,l.addToast)({intent:"danger",message:(0,c.jsx)(m,{content:"dumpSubscriptionIsTurnedOff",params:{action:u.lmsg("dumpExport")}})})}}},uploadDump:{icon:"import",props:{component:s.Link,"data-action-name":"uploadDump",to:i?`${t}${e}/import`:"",onClick:()=>{i||(0,l.addToast)({intent:"danger",message:(0,c.jsx)(m,{content:"dumpSubscriptionIsTurnedOff",params:{action:u.lmsg("dumpImport")}})})}}},copy:{icon:"copy",props:{component:s.Link,"data-action-name":"copyDb",to:`${t}${e}/copy`}},checkDatabase:{icon:"repair",props:{"data-action-name":"checkDatabase",onClick:()=>o()}},assignToSubscription:{icon:"globe",props:{component:s.Link,"data-action-name":"assignToSubscription",to:`${t}${e}/assign`}}};return(0,c.jsx)("div",{className:"smb-web-view-dynamic-list-actions","data-cy":`database-actions-${e}`,children:(0,c.jsx)(n.ItemList,{minColumnWidth:220,gap:"xs",className:"smb-web-view-dynamic-list-item-list",children:a.map(e=>{if(e.name in d){const a=d[e.name],{component:t,...s}=a.props;return(0,c.jsx)(n.Item,{className:"smb-web-view-dynamic-list-actions__item",title:(0,c.jsx)(m,{content:e.name}),icon:(0,c.jsx)(p,{children:(0,c.jsx)(b,{icon:a.icon})}),component:t,...s},e.name)}const{name:a,title:t,icon:s,href:i,hint:o}=e;return(0,c.jsx)(n.Item,{className:"smb-web-view-dynamic-list-actions__item",title:t,icon:(0,c.jsx)(p,{src:s}),component:g,href:i,tooltip:o},a)})})})}},2650:(e,a,t)=>{"use strict";t.r(a),t.d(a,{default:()=>m});var s=t(668),n=t.n(s),i=t(297),o=t(90),r=t(718),d=t(296);const l=o.Locale.getTranslate("components.pages.Databases.DatabaseSummary"),c=({domainId:e,database:{id:a,serverHost:t,serverPort:s,typeTitle:n,hasConnectionError:o,users:c},sizeData:m=null})=>(0,d.jsx)("div",{className:"smb-web-view-dynamic-list-item-summary",children:(0,d.jsxs)("div",{className:"smb-web-view-dynamic-list-item-summary__list",children:[(0,d.jsxs)("div",{className:"smb-web-view-dynamic-list-item-summary__item",children:[(0,d.jsx)(i.Text,{intent:"muted",children:(0,d.jsx)(l,{content:"host"})})," ",t,":",s," ",`(${n})`,o&&(0,d.jsxs)(i.Text,{intent:"danger",children:[" ",(0,d.jsx)(l,{content:"serverUnavailable"})]})]}),(0,d.jsx)("div",{className:"smb-web-view-dynamic-list-item-summary__item",children:(()=>{if(c.length>0){const a=c.slice(0,4);return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(i.Text,{intent:"muted",children:(0,d.jsx)(l,{content:1===c.length?"user":"users"})})," ",a.map(({id:e,login:t},s)=>(0,d.jsxs)("span",{children:[(0,d.jsx)(r.default,{to:`/smb/database/edit-user/id/${e}`,children:t}),s<a.length-1?", ":""]},e)),a.length<c.length&&(0,d.jsxs)("span",{children:["... ",(0,d.jsx)(r.default,{to:`/smb/database/users-list/domainId/${e}`,className:"smb-web-view-dynamic-list-item-summary__item-static-link",children:(0,d.jsx)(l,{content:"seeAll"})})]})]})}return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(i.Text,{intent:"danger",children:(0,d.jsx)(l,{content:"noUser"})})," ",!o&&(0,d.jsx)(r.default,{to:`/smb/database/create-user/domainId/${e}/database/${a}`,children:(0,d.jsx)(l,{content:"createUser"})})]})})()}),o?null:m?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("div",{className:"smb-web-view-dynamic-list-item-summary__item",children:[(0,d.jsx)(i.Text,{intent:"muted",children:(0,d.jsx)(l,{content:"tablesCount"})})," ",m.tables]}),(0,d.jsxs)("div",{className:"smb-web-view-dynamic-list-item-summary__item",children:[(0,d.jsx)(i.Text,{intent:"muted",children:(0,d.jsx)(l,{content:"size"})})," ",m.size]})]}):(0,d.jsx)("div",{className:"smb-web-view-dynamic-list-item-summary__item",children:(0,d.jsx)(i.Status,{progress:!0,children:(0,d.jsx)(l,{content:"calculatingSize"})})})]})});c.propTypes={domainId:n().number.isRequired,database:n().shape({id:n().number.isRequired,serverHost:n().string.isRequired,serverPort:n().string.isRequired,typeTitle:n().string.isRequired,hasConnectionError:n().bool.isRequired,users:n().arrayOf(n().shape({id:n().number.isRequired,login:n().string.isRequired}))}).isRequired,sizeData:n().shape({tables:n().number.isRequired,size:n().string.isRequired})};const m=c},2651:(e,a,t)=>{"use strict";t.r(a),t.d(a,{usePasswordPrompt:()=>n});var s=t(296);const n=(e=!1)=>{const[a,t]=(0,s.useState)(e),[n,i]=(0,s.useState)(null);return{getButtonClickHandler:({isPasswordRequired:e,userLogin:a,onPasswordlessClick:s,onPasswordSubmit:n})=>e?()=>{i({userLogin:a,onPasswordSubmit:e=>{n(e),t(!1)}}),t(!0)}:()=>s(),drawerProps:{isOpen:a,onClose:()=>t(!1),...n}}}},2652:(e,a,t)=>{"use strict";t.r(a),t.d(a,{openWebAdmin:()=>n});var s=t(90);const n=(e,a={})=>(0,s.redirect)({url:`/database/webadmin/id/${e}`,method:a.dbPassword?"post":"get",data:a,target:"dbedit"})},2653:(e,a,t)=>{"use strict";t.r(a)},2654:(e,a,t)=>{"use strict";t.r(a),t.d(a,{default:()=>n});var s=t(296);const n=()=>{const e=(0,s.useRef)();return{setCallback(a){e.current=a},callback:e.current}}}}]);
|
|
//# sourceMappingURL=DatabasesPage.js.map?e2ef23514bf997eaab88
|