Submit
Path:
~
/
/
usr
/
local
/
psa
/
admin
/
cp
/
public
/
javascript
/
views
/
server
/
File Content:
db.js.map
{"version":3,"file":"javascript/views/server/db.js?40bb4a362a0d547a899d","mappings":"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","sources":["webpack:///./components/List.js","webpack:///./components/common/ApplicationWizard/MultistepForm.js","webpack:///./components/common/DatabaseServerUpgradeWizard/ChooseReleaseStep.js","webpack:///./components/common/DatabaseServerUpgradeWizard/DatabaseServerUpgradeWizard.js","webpack:///./components/common/DatabaseServerUpgradeWizard/PreUpgradeCheckProgressStep.js","webpack:///./components/common/DatabaseServerUpgradeWizard/PreUpgradeStep.js","webpack:///./components/common/DatabaseServerUpgradeWizard/SubmitPopover.js","webpack:///./components/forms/CreateDatabaseServerForm.js","webpack:///./components/lists/DatabaseServerDatabasesList.js","webpack:///./components/lists/DatabaseServersList.js","webpack:///./components/pages/DatabaseServerChangePasswordPage.js","webpack:///./components/pages/DatabaseServerCreatePage.js","webpack:///./components/pages/DatabaseServerDatabasesPage.js","webpack:///./components/pages/DatabaseServerPropertiesPage.js","webpack:///./components/pages/DatabaseServerUpgradePage.js","webpack:///./components/pages/DatabaseServersPage.js","webpack:///./components/tabs/DatabaseServerOverviewTabs.js","webpack:///./helpers/graphql/cache/evictEntitiesCache.js","webpack:///./icons/16/plesk/login.png","webpack:///./icons/16/plesk/mariadb.png","webpack:///./icons/16/plesk/mssql.png","webpack:///./icons/16/plesk/mysql.png","webpack:///./icons/16/plesk/off.png","webpack:///./icons/16/plesk/ok.png","webpack:///./icons/16/plesk/percona.png","webpack:///./icons/16/plesk/postgresql.png","webpack:///./queries/DatabaseServerPreUpgradeConfigChecker.graphql","webpack:///./queries/DatabaseServerPreUpgradeMysqlChecker.graphql","webpack:///./queries/DatabaseServerPreUpgradePackageManagerChecker.graphql","webpack:///./queries/DatabaseServerPreUpgradeSystemCompatibilityChecker.graphql","webpack:///./queries/DatabaseServerPreUpgradeWebSocketChecker.graphql","webpack:///./queries/UpgradeDatabaseServer.graphql"],"sourcesContent":["// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { useCallback, useEffect, useMemo, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { List as BaseList, Pagination, SearchBar, Toolbar, ToolbarGroup, ToolbarExpander, ListEmptyView } from '@plesk/ui-library';\nimport { Locale } from 'jsw';\n\nconst listLocale = Locale.getSection('components.list');\n\nexport const SORT_ASC = 'ASC';\nexport const SORT_DESC = 'DESC';\nconst ALL_ITEMS_PER_PAGE = 'all';\n\nconst getRowKey = (row, key) => {\n if (typeof key === 'function') {\n return key(row);\n }\n return row[key];\n};\n\nconst storage = {\n set(key, data) {\n localStorage.setItem(key, JSON.stringify(data));\n },\n get(key) {\n const data = localStorage.getItem(key);\n return JSON.parse(data);\n },\n};\n\nconst getSortListName = id => `list-sort_${id}`;\nconst getPageListName = id => `list-page_${id}`;\n\nconst useSortState = (id, {\n sortColumn: defaultColumn,\n sortDirection: defaultDirection,\n}) => {\n const [{\n sortColumn,\n sortDirection,\n }, setState] = useState({\n sortColumn: storage.get(getSortListName(id))?.sortColumn ?? defaultColumn,\n sortDirection: storage.get(getSortListName(id))?.sortDirection ?? defaultDirection,\n });\n\n const setSortState = props => {\n setState(state => ({\n ...state,\n ...props,\n }));\n\n storage.set(getSortListName(id), {\n ...storage.get(getSortListName(id)),\n ...props,\n });\n };\n\n return { sortColumn, sortDirection, setSortState };\n};\n\nconst usePageState = (id, {\n itemsPerPage: defaultItemsPerPage,\n}, useStorage = true) => {\n const state = useStorage ? {\n page: storage.get(getPageListName(id))?.page,\n itemsPerPage: storage.get(getPageListName(id))?.itemsPerPage,\n searchPattern: storage.get(getPageListName(id))?.searchPattern,\n } : {};\n\n const [{\n page,\n itemsPerPage,\n searchPattern,\n }, setState] = useState({\n page: state.page ?? 1,\n itemsPerPage: state.itemsPerPage ?? defaultItemsPerPage,\n searchPattern: state.searchPattern ?? '',\n });\n\n const setPageState = props => {\n setState(state => ({\n ...state,\n ...props,\n }));\n\n if (useStorage) {\n storage.set(getPageListName(id), {\n ...storage.get(getPageListName(id)),\n ...props,\n });\n }\n };\n\n return { page, itemsPerPage, searchPattern, setPageState };\n};\n\nconst List = ({\n id,\n data,\n columns,\n itemsPerPage: defaultItemsPerPage = 25,\n itemsPerPageOptions = [10, 25, 100, ALL_ITEMS_PER_PAGE],\n sortColumn: defaultSortColumn = undefined,\n sortDirection: defaultSortDirection = SORT_ASC,\n searchField = undefined,\n locale = {},\n emptyView = undefined,\n emptyFilteredView = undefined,\n toolbar = undefined,\n selection = [],\n onSelectionChange = undefined,\n searchBarInputProps = undefined,\n rowKey = 'key',\n useStorage = true,\n ...props\n}) => {\n const { sortColumn, sortDirection, setSortState } = useSortState(id, {\n sortColumn: defaultSortColumn ?? columns.find(({ sortable }) => sortable)?.key,\n sortDirection: defaultSortDirection,\n });\n const { page, itemsPerPage, searchPattern, setPageState } = usePageState(id, {\n itemsPerPage: itemsPerPageOptions.includes(defaultItemsPerPage) ? defaultItemsPerPage : itemsPerPageOptions[0],\n }, useStorage);\n\n const listEmptyView = useMemo(() => {\n if (searchPattern) {\n return emptyFilteredView ?? (\n <ListEmptyView\n reason=\"filtered\"\n data-testid=\"list-empty-view-filtered\"\n />\n );\n }\n\n return emptyView ?? (\n <ListEmptyView />\n );\n }, [searchPattern, emptyView, emptyFilteredView]);\n\n const columnsData = useMemo(() => columns.map(({ sortDataField, ...column }) => column), [columns]);\n\n const filteredData = useMemo(() => {\n if (!searchField || !searchPattern) {\n return data;\n }\n\n return data.filter(row => (Array.isArray(searchField) ? searchField : [searchField])\n .some(field => row[field] && String(row[field]).toLowerCase().includes(searchPattern.toLowerCase())));\n }, [data, searchPattern, searchField]);\n\n const sortedData = useMemo(() => {\n if (!sortColumn) {\n return filteredData;\n }\n\n const sortDataField = columns.find(({ key }) => key === sortColumn)?.sortDataField ?? sortColumn;\n const defaultCompare = (a, b) => {\n if (a[sortDataField] < b[sortDataField]) {\n return -1;\n }\n if (a[sortDataField] > b[sortDataField]) {\n return 1;\n }\n return 0;\n };\n const compare = columns.find(({ key }) => key === sortColumn)?.sort ?? defaultCompare;\n return [...filteredData].sort((a, b) => SORT_ASC === sortDirection ? compare(a, b) : compare(b, a));\n }, [filteredData, sortColumn, sortDirection, columns]);\n\n const displayData = useMemo(() => {\n if (itemsPerPage === ALL_ITEMS_PER_PAGE) {\n return sortedData;\n }\n\n const from = itemsPerPage * (page - 1);\n const to = from + itemsPerPage;\n return sortedData.slice(from, to);\n }, [page, sortedData, itemsPerPage]);\n\n const handleSearchPatternChange = useCallback(term => {\n setPageState({ searchPattern: term });\n if (term !== searchPattern) {\n setPageState({ page: 1 });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [searchPattern]);\n\n const handleItemsPerPageChange = useCallback(itemsPerPage => {\n setPageState({ itemsPerPage });\n const countPages = itemsPerPage === ALL_ITEMS_PER_PAGE ? 1 : Math.ceil(filteredData.length / itemsPerPage);\n if (countPages < page) {\n setPageState({ page: 1 });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [filteredData.length, page]);\n\n useEffect(() => {\n if (typeof onSelectionChange === 'function' && selection.length) {\n const newSelection = filteredData\n .map(item => getRowKey(item, rowKey))\n .filter(key => selection.includes(key));\n onSelectionChange(newSelection);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [filteredData]);\n\n return (\n <BaseList\n pagination={\n <Pagination\n current={page}\n total={itemsPerPage === ALL_ITEMS_PER_PAGE ? 1 : Math.ceil(filteredData.length / itemsPerPage)}\n onSelect={page => setPageState({ page })}\n itemsPerPage={itemsPerPage}\n itemsPerPageOptions={itemsPerPageOptions}\n onItemsPerPageChange={handleItemsPerPageChange}\n />\n }\n toolbar={(toolbar || searchField) && (\n <Toolbar>\n {toolbar}\n {searchField && (\n <>\n <ToolbarExpander />\n <ToolbarGroup title=\"\">\n <SearchBar\n inputProps={{\n placeholder: listLocale.lmsg('searchPlaceholder'),\n 'data-testid': 'list-searchbar',\n value: searchPattern,\n ...(searchBarInputProps ?? {}),\n }}\n onTyping={handleSearchPatternChange}\n />\n </ToolbarGroup>\n </>\n )}\n </Toolbar>\n )}\n totalRows={filteredData.length}\n sortColumn={sortColumn}\n sortDirection={sortDirection}\n onSortChange={setSortState}\n columns={columnsData}\n data={displayData}\n filtered={!!searchPattern}\n locale={{\n totalRows: ({ totalRows: total }) => listLocale.formatMessage('recordsTotal', { total }),\n ...locale,\n }}\n emptyView={listEmptyView}\n onSelectionChange={onSelectionChange}\n selection={selection}\n rowKey={rowKey}\n {...props}\n />\n );\n};\n\nList.propTypes = {\n id: PropTypes.string.isRequired,\n data: PropTypes.array.isRequired,\n columns: PropTypes.array.isRequired,\n itemsPerPage: PropTypes.number,\n itemsPerPageOptions: PropTypes.array,\n sortColumn: PropTypes.string,\n sortDirection: PropTypes.string,\n searchField: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.string.isRequired),\n ]),\n locale: PropTypes.object,\n emptyView: PropTypes.node,\n emptyFilteredView: PropTypes.node,\n toolbar: PropTypes.node,\n onSelectionChange: PropTypes.func,\n selection: PropTypes.array,\n rowKey: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),\n searchBarInputProps: PropTypes.object,\n useStorage: PropTypes.bool,\n};\n\nexport default List;\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { Button } from '@plesk/ui-library';\nimport { cloneElement, isValidElement, useRef, useState } from 'react';\nimport Form from 'components/Form';\nimport { Locale } from 'jsw';\nimport PropTypes from 'prop-types';\n\nconst ButtonsTranslate = Locale.getTranslate('components.buttons');\n\nconst MultistepForm = ({\n step = 0,\n steps = [],\n onStepChange = (prev, step) => step,\n onSubmit = undefined,\n submitButton = {},\n cancelButton = {},\n ...props\n}) => {\n const formRef = useRef();\n const [stateStep, setStep] = useState(0);\n const currentStep = stateStep + step;\n const { children, formPrefix, embeddedForms, backButton, nextButton } = {\n backButton: {},\n nextButton: {},\n ...steps[currentStep],\n };\n\n const isLastStep = currentStep === steps.length - 1;\n const isFirstStep = currentStep === 0;\n const stepKey = steps[currentStep]?.key ?? currentStep;\n\n const handleErrors = errors => {\n const baseFormStep = steps.findIndex(({ formPrefix }) => formPrefix === '');\n\n const errorSteps = Object.keys(errors).map(errorSection => {\n const errorStep = steps.findIndex(({ formPrefix, embeddedForms = [] }) => (\n formPrefix === errorSection || embeddedForms.some(({ name }) => name === errorSection)\n ));\n return errorStep >= 0 ? errorStep : baseFormStep;\n });\n\n setStep(onStepChange(currentStep, errorSteps.length > 0 ? Math.min(...errorSteps) : step) - step);\n };\n\n const handleBack = () => {\n formRef.current.handleEmbeddedFormValues();\n setStep(prevState => onStepChange(prevState + step, prevState + step - 1) - step);\n };\n\n const handleNext = () => {\n formRef.current.handleEmbeddedFormValues();\n setStep(prevState => onStepChange(prevState + step, prevState + step + 1) - step);\n };\n\n const handleSubmit = () => formRef.current.submit();\n\n const getAdditionalButtons = () => {\n const additionalButtons = [\n isFirstStep && cancelButton && (\n <Button\n key=\"cancel\"\n id=\"btn-cancel\"\n data-type={stepKey}\n // eslint-disable-next-line react/no-children-prop\n children={<ButtonsTranslate content=\"cancel\" />}\n {...cancelButton}\n />\n ),\n !isFirstStep && backButton && (\n <Button\n key=\"back\"\n id=\"btn-back\"\n data-type={stepKey}\n arrow=\"backward\"\n onClick={handleBack}\n // eslint-disable-next-line react/no-children-prop\n children={<ButtonsTranslate content=\"back\" />}\n {...backButton}\n />\n ),\n !isLastStep && nextButton && (\n <Button\n key=\"next\"\n id=\"btn-next\"\n data-type={stepKey}\n intent=\"primary\"\n onClick={handleNext}\n arrow=\"forward\"\n // eslint-disable-next-line react/no-children-prop\n children={<ButtonsTranslate content=\"nextWithoutArrow\" />}\n {...nextButton}\n />\n ),\n ];\n\n if (isLastStep && submitButton) {\n additionalButtons.push(isValidElement(submitButton) ?\n cloneElement(submitButton, { handleSubmit })\n :\n <Button\n key=\"submit\"\n id=\"btn-submit\"\n data-type={stepKey}\n intent=\"primary\"\n arrow=\"forward\"\n onClick={handleSubmit}\n // eslint-disable-next-line react/no-children-prop\n children={<ButtonsTranslate content=\"ok\" />}\n {...submitButton}\n />,\n );\n }\n\n return additionalButtons;\n };\n\n return (\n <Form\n {...props}\n ref={formRef}\n additionalButtons={getAdditionalButtons()}\n submitButton={false}\n onSubmit={isLastStep ? onSubmit : handleNext}\n onError={handleErrors}\n applyButton={false}\n cancelButton={false}\n formPrefix={formPrefix}\n embeddedForms={embeddedForms}\n >\n {children}\n </Form>\n );\n};\n\nMultistepForm.propTypes = {\n step: PropTypes.number,\n steps: PropTypes.arrayOf(PropTypes.shape({\n formPrefix: PropTypes.string,\n embeddedForms: PropTypes.array,\n children: PropTypes.node,\n nextButton: PropTypes.bool,\n backButton: PropTypes.bool,\n key: PropTypes.string,\n })),\n onStepChange: PropTypes.func,\n onSubmit: PropTypes.func,\n submitButton: PropTypes.object,\n cancelButton: PropTypes.object,\n};\n\nexport default MultistepForm;\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { Heading, Item, ItemList, Icon, Link, Alert, StatusMessage, Text } from '@plesk/ui-library';\nimport PropTypes from 'prop-types';\nimport { Locale } from 'jsw';\n\nconst Translate = Locale.getTranslate('components.pages.database-server-upgrade.chooseReleaseStep');\n\nconst ChooseReleaseStep = ({\n onReleaseSelect,\n databaseServer = { availableReleases: [] },\n}) => {\n const { availableReleases } = databaseServer;\n\n const getShortVersion = () => {\n const number = databaseServer.serverVersion.split('.');\n return `${number[0]}.${number[1]}`;\n };\n\n return (\n <>\n <Alert intent=\"info\">\n <Translate content=\"infoBlock.par1\" />\n <br /> <br />\n <Text bold><Translate content=\"infoBlock.par2\" /></Text>\n <br /> <br />\n <Translate content=\"infoBlock.par3\" />\n {'5.5' === getShortVersion() && (\n <>\n <br /> <br />\n <Translate content=\"infoBlock.par4\" />\n </>\n )}\n </Alert>\n <Heading level={3}><Translate content=\"currentVersionTitle\" /></Heading>\n <div>\n <Text bold> <Translate content=\"currentMariaDBVersion\" params={{ version: databaseServer.serverVersion }} /> </Text>\n </div>\n <br />\n {databaseServer.detectDatabaseServer ? (\n <>\n <Heading level={3}><Translate content=\"selectVersion\" /></Heading>\n <ItemList\n gap=\"lg\"\n selectable\n >\n {availableReleases.map(({ id, name, version, features, releaseNotesLink, releaseDate, endOfLifeDate }, index) => (\n <Item\n data-action={id}\n key={id}\n icon={<Icon name=\"database\" size=\"64\" />}\n data-testid=\"listItem\"\n data-cy={id}\n title={<Heading level=\"4\">{name} {version}</Heading>}\n onClick={() => onReleaseSelect(availableReleases[index])}\n >\n <Description\n id={id}\n features={features}\n releaseNotesLink={releaseNotesLink}\n releaseDate={releaseDate}\n endOfLifeDate={endOfLifeDate}\n />\n </Item>\n ))}\n </ItemList>\n </>\n ) : <StatusMessage data-testid=\"not_detected\" intent=\"danger\">{<Translate content=\"notDetected\" />}</StatusMessage>}\n </>\n );\n};\n\nconst Description = ({ id, features, releaseNotesLink, releaseDate, endOfLifeDate }) => (\n <div>\n <ul>\n {features && JSON.parse(features).map(item => (\n <li key={id}>\n <span\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{ __html: item }}\n />\n </li>\n ),\n )}\n <li>\n <Link\n href={releaseNotesLink}\n target=\"_blank\"\n onClick={e => e.stopPropagation()}\n >\n <Translate content=\"releaseNotes\" />\n </Link>\n </li>\n </ul>\n <div>\n <Translate content=\"releaseDate\" params={{ date: releaseDate }} />\n </div>\n <div>\n <Translate content=\"endOfLifeDate\" params={{ date: endOfLifeDate }} />\n </div>\n </div>\n);\n\nChooseReleaseStep.propTypes = {\n onReleaseSelect: PropTypes.func.isRequired,\n databaseServer: PropTypes.shape({\n id: PropTypes.string.isRequired,\n fork: PropTypes.string.isRequired,\n serverVersion: PropTypes.string.isRequired,\n detectDatabaseServer: PropTypes.bool.isRequired,\n availableReleases: PropTypes.arrayOf(PropTypes.shape({\n id: PropTypes.string.isRequired,\n name: PropTypes.string.isRequired,\n version: PropTypes.string.isRequired,\n features: PropTypes.string.isRequired,\n releaseNotesLink: PropTypes.string.isRequired,\n releaseDate: PropTypes.string.isRequired,\n endOfLifeDate: PropTypes.string.isRequired,\n })),\n }),\n};\n\nDescription.propTypes = {\n id: PropTypes.string.isRequired,\n features: PropTypes.string.isRequired,\n releaseNotesLink: PropTypes.string.isRequired,\n releaseDate: PropTypes.string.isRequired,\n endOfLifeDate: PropTypes.string.isRequired,\n};\n\nexport default ChooseReleaseStep;\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { useEffect, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport ChooseReleaseStep from './ChooseReleaseStep';\nimport PreUpgradeStep, { getPreUpgradeCheckerError } from './PreUpgradeStep';\nimport MultistepForm from '../ApplicationWizard/MultistepForm';\nimport { Link, setIn, StatusMessage } from '@plesk/ui-library';\nimport { useMutation, useApolloClient } from '@apollo/client';\nimport UPGRADE_DATABASE_SERVER from 'queries/UpgradeDatabaseServer.graphql';\nimport { Locale, UAT, Task } from 'jsw';\nimport useNavigate from 'hooks/useNavigate';\nimport { getId } from 'helpers/getId';\nimport DrawerWithProgress from 'components/common/DrawerWithProgress';\nimport { evictEntitiesCache } from 'helpers/graphql/cache/evictEntitiesCache';\nimport SubmitPopover from './SubmitPopover';\nimport PreUpgradeCheckProgressStep from './PreUpgradeCheckProgressStep';\n\nconst Translate = Locale.getTranslate('components.pages.database-server-upgrade');\n\nconst DatabaseServerUpgradeWizard = ({\n databaseServer = { availableReleases: [] },\n formPrefix = undefined,\n ...props\n}) => {\n const listPage = '/cp/server/db/';\n const dbServerId = getId(databaseServer.id);\n const apolloClient = useApolloClient();\n const { cache } = apolloClient;\n const navigate = useNavigate();\n const [values, setValues] = useState({ release: null, withDump: true });\n const [preUpgradeCheckerResult, setPreUpgradeCheckerResult] = useState(null);\n const [preUpgradeCheckerError, setPreUpgradeCheckerError] = useState(null);\n const [task, setTask] = useState(null);\n const [isClosable, setIsClosable] = useState(true);\n const [taskResultStatus, setTaskResultStatus] = useState(null);\n\n useEffect(() => {\n setIsClosable(!task);\n }, [task]);\n\n const [upgradeDatabaseServer] = useMutation(UPGRADE_DATABASE_SERVER, {\n onCompleted: ({ upgradeDatabaseServer: task }) => {\n setTask(task);\n UAT.dispatchAction('DB_SERVER_UPGRADE_STARTED', { dbServerId });\n },\n });\n\n const handleFieldChange = (name, value) => {\n setValues(values => {\n values = setIn(values, name, value);\n return values;\n });\n };\n\n const handleReleaseChange = release => {\n handleFieldChange('release', release);\n };\n\n const handleSubmit = values => {\n setPreUpgradeCheckerError(null);\n const error = getPreUpgradeCheckerError(values);\n setPreUpgradeCheckerError(error);\n if (error !== null) {\n return null;\n }\n\n return {\n dbServerId,\n releaseId: values.release?.id,\n withDump: values.withDump,\n };\n };\n\n const handleOnError = () => (\n <StatusMessage style={{ fontSize: 14, lineHeight: 1.429 }} intent=\"info\">\n {<Translate content=\"troubleshootingArticleDescription\" params={{ troubleshootingArticle: <TroubleshootingArticle /> }} />}\n </StatusMessage>\n );\n\n const handleOnSuccessfulCheck = result => setPreUpgradeCheckerResult(result);\n\n const steps = [\n {\n key: 'chooseReleaseStep',\n children: (\n <ChooseReleaseStep\n onReleaseSelect={handleReleaseChange}\n databaseServer={databaseServer}\n />\n ),\n nextButton: false,\n formPrefix,\n },\n {\n key: 'preUpgradeCheckProgressStep',\n children: (\n values.release && (\n <PreUpgradeCheckProgressStep\n releaseId={values.release?.id}\n databaseServer={databaseServer}\n onSuccessfulCheck={handleOnSuccessfulCheck}\n />\n )\n ),\n nextButton: false,\n formPrefix,\n },\n {\n key: 'preUpgradeStep',\n children: (\n values.release && (\n <PreUpgradeStep\n data={preUpgradeCheckerResult}\n error={preUpgradeCheckerError}\n />\n )\n ),\n formPrefix,\n },\n ];\n\n const handleOnTaskComplete = ({ status }) => {\n UAT.dispatchAction('DB_SERVER_UPGRADE_FINISHED', { dbServerId, status });\n\n evictEntitiesCache({\n cache,\n typename: 'DatabaseServer',\n ids: [databaseServer.id],\n fields: ['isUpgradeSupported', 'serverVersion', 'availableReleases', 'isLTSVersion'],\n });\n\n setTaskResultStatus(status);\n setIsClosable(true);\n };\n\n const handleStepChange = (prev, step) => {\n if (step === 0) {\n handleReleaseChange(null);\n return prev;\n }\n\n if (step === 1) {\n handleReleaseChange(null);\n setPreUpgradeCheckerResult(null);\n setPreUpgradeCheckerError(null);\n return prev;\n }\n\n return step;\n };\n\n let currentStep = 0;\n if (values.release) {\n currentStep++;\n }\n if (values.release && preUpgradeCheckerResult) {\n currentStep++;\n }\n\n return (\n <DrawerWithProgress\n task={task}\n dataType=\"upgrade-database-server\"\n title={<DrawerTitle taskResultStatus={taskResultStatus} />}\n subtitle={task && <DrawerSubTitle taskResultStatus={taskResultStatus} release={values.release} />}\n isOpen\n onClose={isClosable ? () => navigate(listPage) : () => {}}\n onTaskComplete={handleOnTaskComplete}\n onError={handleOnError}\n form={(\n <MultistepForm\n {...props}\n values={values}\n mutation={upgradeDatabaseServer}\n onSubmit={handleSubmit}\n onFieldChange={handleFieldChange}\n onStepChange={handleStepChange}\n step={currentStep}\n steps={steps}\n cancelButton={{\n onClick: () => navigate(listPage),\n }}\n submitButton={\n <SubmitPopover\n step={steps.at(-1).key}\n handleOpen={() => setPreUpgradeCheckerError(false)}\n withDump={values.withDump}\n />\n }\n />\n )}\n autoCloseTimeout={null}\n size=\"md\"\n {...props}\n />\n );\n};\n\nconst TroubleshootingArticle = () => (\n <Link href=\"https://support.plesk.com/hc/en-us/articles/18879223608855\" target=\"_blank\">\n <Translate content=\"troubleshootingArticle\" />\n </Link>\n);\n\nconst DrawerSubTitle = ({ taskResultStatus = null, release }) => {\n if (taskResultStatus === Task.STATUS_DONE) {\n return (\n <StatusMessage intent=\"success\">\n <Translate content=\"drawerSubTitle.completed\" params={{ troubleshootingArticle: <TroubleshootingArticle />, releaseVersion: release.version }} />\n </StatusMessage>\n );\n }\n\n return (\n <>\n <Translate content=\"drawerSubTitle.line1\" />\n <br />\n <Translate content=\"drawerSubTitle.line2\" params={{ troubleshootingArticle: <TroubleshootingArticle /> }} />\n </>\n );\n};\n\nconst DrawerTitle = ({ taskResultStatus = null }) => {\n if (taskResultStatus === Task.STATUS_DONE) {\n return <Translate content=\"drawerTitle.completed\" />;\n }\n\n return (\n <Translate content=\"drawerTitle\" />\n );\n};\n\n\nDatabaseServerUpgradeWizard.propTypes = {\n databaseServer: PropTypes.shape({\n id: PropTypes.string.isRequired,\n availableReleases: PropTypes.array,\n }),\n formPrefix: PropTypes.string,\n};\n\nDrawerSubTitle.propTypes = {\n taskResultStatus: PropTypes.string,\n release: PropTypes.object.isRequired,\n};\n\nDrawerTitle.propTypes = {\n taskResultStatus: PropTypes.string,\n};\n\nexport default DatabaseServerUpgradeWizard;\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport {\n ConsoleOutput,\n Heading,\n ProgressStep,\n} from '@plesk/ui-library';\nimport { Locale, UAT } from 'jsw';\nimport { useQuery, useLazyQuery } from '@apollo/client';\nimport PRE_UPGRADE_CONFIG_CHECKER from 'queries/DatabaseServerPreUpgradeConfigChecker.graphql';\nimport PRE_UPGRADE_SYSTEM_COMPATIBILITY_CHECKER from 'queries/DatabaseServerPreUpgradeSystemCompatibilityChecker.graphql';\nimport PRE_UPGRADE_MYSQL_CHECKER from 'queries/DatabaseServerPreUpgradeMysqlChecker.graphql';\nimport PRE_UPGRADE_PACKAGE_MANAGER_CHECKER from 'queries/DatabaseServerPreUpgradePackageManagerChecker.graphql';\nimport PRE_UPGRADE_WEB_SOCKET_CHECKER from 'queries/DatabaseServerPreUpgradeWebSocketChecker.graphql';\nimport PropTypes from 'prop-types';\nimport { cloneElement, useEffect } from 'react';\nimport { getId } from 'helpers/getId';\n\nconst Translate = Locale.getTranslate('components.pages.database-server-upgrade.preUpgradeCheckProgressStep');\n\nconst PreUpgradeCheckProgressStep = ({ releaseId, databaseServer, onSuccessfulCheck }) => {\n const webSocketChecker = useQuery(PRE_UPGRADE_WEB_SOCKET_CHECKER);\n\n const configChecker = useQuery(PRE_UPGRADE_CONFIG_CHECKER, {\n variables: { releaseId, databaseServerId: databaseServer.id },\n context: { noBatch: true },\n fetchPolicy: 'no-cache',\n });\n\n const systemCompatibilityChecker = useQuery(PRE_UPGRADE_SYSTEM_COMPATIBILITY_CHECKER, {\n variables: { releaseId, databaseServerId: databaseServer.id },\n context: { noBatch: true },\n fetchPolicy: 'no-cache',\n onError: () => {\n UAT.dispatchAction('DB_SERVER_UPGRADE_PRE_CHECKS_FAILURE', { dbServerId: getId(databaseServer.id), checkerName: 'systemCompatibility' });\n },\n });\n\n const packageManagerChecker = useQuery(PRE_UPGRADE_PACKAGE_MANAGER_CHECKER, {\n variables: { releaseId, databaseServerId: databaseServer.id },\n context: { noBatch: true },\n fetchPolicy: 'no-cache',\n onError: () => {\n UAT.dispatchAction('DB_SERVER_UPGRADE_PRE_CHECKS_FAILURE', { dbServerId: getId(databaseServer.id), checkerName: 'checkPackageManager' });\n },\n });\n\n const [runMysqlChecker, mysqlChecker] = useLazyQuery(PRE_UPGRADE_MYSQL_CHECKER, {\n variables: { releaseId, databaseServerId: databaseServer.id },\n context: { noBatch: true },\n fetchPolicy: 'no-cache',\n onError: () => {\n UAT.dispatchAction('DB_SERVER_UPGRADE_PRE_CHECKS_FAILURE', { dbServerId: getId(databaseServer.id), checkerName: 'checkConsistency' });\n },\n });\n\n const getProgresses = () => {\n const progresses = [];\n Object.entries({ webSocketChecker, systemCompatibilityChecker, configChecker, packageManagerChecker, mysqlChecker }).forEach(([checkerName, checkerResult]) => {\n let progressStep = <ProgressStep key={checkerName} data-testid={checkerName} title={<Translate content={checkerName} />} status=\"not_started\" />;\n\n if (checkerResult?.loading) {\n progressStep = cloneElement(progressStep, { status: 'running' });\n } else if (checkerResult?.error) {\n progressStep = cloneElement(progressStep, { status: 'error', children: <ConsoleOutput data-testid=\"checker_error\">{checkerResult.error.message}</ConsoleOutput> });\n } else if (checkerResult?.data) {\n progressStep = cloneElement(progressStep, { status: 'done' });\n }\n\n progresses.push(progressStep);\n });\n return progresses;\n };\n\n useEffect(() => {\n const successful = [webSocketChecker, systemCompatibilityChecker, configChecker, packageManagerChecker, mysqlChecker].every(\n checkerResult => !checkerResult.loading && checkerResult.data && typeof checkerResult.error === 'undefined',\n );\n\n if (successful) {\n const [availableRelease] = configChecker.data.databaseServer.availableReleases;\n onSuccessfulCheck({\n webSocket: webSocketChecker.data.config.webSocket,\n removedSystemVariables: availableRelease ? availableRelease.preUpgradeChecker.removedSystemVariables : [],\n removedConfigFiles: availableRelease ? availableRelease.preUpgradeChecker.removedConfigFiles : [],\n dumpDirectory: configChecker.data.databaseServer.dumpDirectory,\n });\n UAT.dispatchAction('DB_SERVER_UPGRADE_PRE_CHECKS_SUCCESS', { dbServerId: getId(configChecker.data.databaseServer.id) });\n }\n }, [webSocketChecker, systemCompatibilityChecker, configChecker, packageManagerChecker, mysqlChecker, onSuccessfulCheck]);\n\n useEffect(() => {\n const otherCheckers = [webSocketChecker, systemCompatibilityChecker, configChecker, packageManagerChecker];\n const isDone = checkerResult => checkerResult?.error || checkerResult?.data;\n if (otherCheckers.every(isDone) && !mysqlChecker?.called) {\n runMysqlChecker();\n }\n }, [webSocketChecker, systemCompatibilityChecker, configChecker, packageManagerChecker, mysqlChecker, runMysqlChecker]);\n\n return (\n <>\n <Heading level={3}><Translate content=\"title\" /></Heading>\n {getProgresses()}\n </>\n );\n};\n\nPreUpgradeCheckProgressStep.propTypes = {\n releaseId: PropTypes.string.isRequired,\n databaseServer: PropTypes.object.isRequired,\n onSuccessfulCheck: PropTypes.func.isRequired,\n};\n\nexport default PreUpgradeCheckProgressStep;\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport {\n FormFieldCheckbox,\n FormField,\n Section,\n Link,\n Alert,\n} from '@plesk/ui-library';\nimport { pleskWS, Locale } from 'jsw';\nimport PropTypes from 'prop-types';\nimport { useMemo } from 'react';\n\nconst Translate = Locale.getTranslate('components.pages.database-server-upgrade.preUpgradeCheckStep');\nconst locale = Locale.getSection('components.pages.database-server-upgrade.preUpgradeCheckStep');\n\nexport const getPreUpgradeCheckerError = values => {\n const checkboxes = [\n 'sshAccess',\n 'repairKitAccess',\n 'removedSystemVariables',\n 'removedConfigFiles',\n 'webSocketNotAvailable',\n ];\n\n if (checkboxes.some(checkbox => !values[checkbox])) {\n return <Translate content=\"shouldBeConfirmed\" />;\n }\n\n return null;\n};\n\nconst PreUpgradeStep = ({ data, error = null }) => {\n const isWebSocketAvailable = useMemo(() => data.webSocket.enabled && pleskWS.bind({}).isReady(), [data]);\n\n return (\n <>\n {error && <Alert intent=\"danger\">{error}</Alert>}\n {data.removedSystemVariables.length > 0 ? (\n <FormFieldCheckbox\n name=\"removedSystemVariables\"\n data-testid=\"removed_system_variables\"\n label={\n <>\n <Translate content=\"removedSystemVariables\" />\n <ul>\n {data.removedSystemVariables.map(prop => (\n <li key={prop.variable}>\n {locale.formatMessage('fromFiles',\n { variable: <i>{prop.variable}</i>, files: prop.files.join(','), count: prop.files.length },\n )}\n </li>\n ))}\n </ul>\n </>\n }\n />\n ) : <Confirmed name=\"removedSystemVariables\" />}\n {data.removedConfigFiles.length > 0 ? (\n <FormFieldCheckbox\n name=\"removedConfigFiles\"\n data-testid=\"removed_config_files\"\n label={\n <>\n <Translate content=\"removedConfigFiles\" />\n <ul>\n {data.removedConfigFiles.map(fileName => (\n <li key={fileName}>\n {fileName}\n </li>\n ))}\n </ul>\n </>\n }\n />\n ) : <Confirmed name=\"removedConfigFiles\" />}\n {!isWebSocketAvailable ? (\n <FormFieldCheckbox\n name=\"webSocketNotAvailable\"\n data-testid=\"check_websocket\"\n label={<Translate content=\"webSocketNotAvailable\" />}\n description={<Translate content=\"webSocketNotAvailableDescription\" />}\n />\n ) : <Confirmed name=\"webSocketNotAvailable\" />}\n <Section title={<Translate content=\"accessToolsSection\" />}>\n <FormFieldCheckbox\n name=\"sshAccess\"\n label={<Translate content=\"sshAccess\" />}\n description={<Translate content=\"sshAccessDescription\" params={{ sshTerminalExtension: <SshTerminalExtension /> }} />}\n />\n <FormFieldCheckbox\n name=\"repairKitAccess\"\n label={<Translate content=\"repairKitAccess\" />}\n description={<Translate content=\"repairKitAccessDescription\" params={{ repairKit: <RepairKit /> }} />}\n />\n </Section>\n <Section title={<Translate content=\"dumpSection\" />}>\n <FormFieldCheckbox\n name=\"withDump\"\n data-testid=\"with_dump\"\n label={<Translate content=\"withDump\" />}\n description={<Translate content=\"withDumpDescription\" params={{ path: data.dumpDirectory }} />}\n />\n </Section>\n </>\n );\n};\n\nconst SshTerminalExtension = () => (\n <Link href=\"/modules/catalog/index.php/catalog/package/ssh-terminal\" target=\"_blank\">\n <Translate content=\"sshTerminalExtension\" />\n </Link>\n);\n\nconst RepairKit = () => (\n <Link href=\"/repair\" target=\"_blank\">\n <Translate content=\"repairKit\" />\n </Link>\n);\n\nconst Confirmed = props => (\n <FormField style={{ display: 'none' }} {...props}>\n {({ setValue, getValue }) => {\n if (typeof getValue() === 'undefined') {\n setValue(true);\n }\n return '';\n }}\n </FormField>\n);\n\nPreUpgradeStep.propTypes = {\n data: PropTypes.object.isRequired,\n error: PropTypes.string,\n};\n\nexport default PreUpgradeStep;\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport {\n Button,\n Popover, Section,\n} from '@plesk/ui-library';\nimport PropTypes from 'prop-types';\nimport { Locale } from 'jsw';\nimport { cloneElement, useState } from 'react';\n\nconst ButtonsTranslate = Locale.getTranslate('components.buttons');\nconst DatabaseServerUpgradeTranslate = Locale.getTranslate('components.pages.database-server-upgrade');\n\nconst SubmitPopover = ({ step, withDump, handleSubmit = undefined, handleOpen }) => {\n const [isOpen, setIsOpen] = useState(false);\n\n const button = (\n <Button\n key=\"submit\"\n id=\"btn-submit\"\n data-type={step}\n intent=\"primary\"\n arrow=\"forward\"\n onClick={handleSubmit}\n // eslint-disable-next-line react/no-children-prop\n children={<ButtonsTranslate content=\"upgrade\" />}\n data-cy=\"button_upgrade\"\n data-testid=\"submit_button\"\n />\n );\n\n if (!withDump) {\n const targetEl = cloneElement(button, {\n onClick: () => {\n handleOpen();\n setIsOpen(true);\n },\n });\n\n return (\n <Popover\n visible={isOpen}\n data-testid=\"submit_popover\"\n width=\"sm\"\n placement=\"top-right\"\n intent=\"warning\"\n onClose={() => setIsOpen(false)}\n target={targetEl}\n >\n <>\n <Section>\n <DatabaseServerUpgradeTranslate content=\"submitPopover.title\" />\n </Section>\n <div>\n <Button\n size=\"md\"\n intent=\"danger\"\n onClick={() => {\n handleSubmit();\n setIsOpen(false);\n }}\n >\n <ButtonsTranslate content={'yes'} />\n </Button>{' '}\n <Button size=\"md\" onClick={() => setIsOpen(false)}>\n <ButtonsTranslate content=\"cancel\" />\n </Button>\n </div>\n </>\n </Popover>\n );\n }\n\n return button;\n};\n\nSubmitPopover.componentName = 'SubmitPopover';\n\nSubmitPopover.propTypes = {\n step: PropTypes.string.isRequired,\n withDump: PropTypes.bool.isRequired,\n handleSubmit: PropTypes.func,\n handleOpen: PropTypes.func.isRequired,\n};\n\nexport default SubmitPopover;\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { useState, useCallback } from 'react';\nimport PropTypes from 'prop-types';\nimport { useNavigate } from 'react-router-dom';\nimport { gql, useMutation } from '@apollo/client';\nimport {\n Section,\n SectionItem,\n Paragraph,\n FormFieldText,\n FormFieldPassword,\n FormFieldCheckbox,\n FormFieldSelect,\n SelectOption,\n setIn,\n} from '@plesk/ui-library';\nimport { Locale } from 'jsw';\nimport { addToast } from 'helpers/toasts';\nimport Form from 'components/Form';\nimport Link from 'components/common/Link';\n\nconst Translate = Locale.getTranslate('components.forms.database-server-create');\nconst listLocale = Locale.getSection('components.lists.databaseservers');\nconst ButtonsTranslate = Locale.getTranslate('components.buttons');\n\nconst TYPE_MYSQL = 'MYSQL';\nconst TYPE_POSTGRESQL = 'POSTGRESQL';\nconst TYPE_MSSQL = 'MSSQL';\n\nconst UPDATE_DATABASE_SERVER = gql`\n mutation UpdateDatabaseServer($input: UpdateDatabaseServerInput!) {\n updateDatabaseServer(input: $input) {\n error\n databaseServer {\n id\n }\n }\n }\n`;\n\nconst renderType = type => type === 'MYSQL'\n ? ['mysql', 'mariadb', 'percona'].map(type => listLocale.lmsg(type.toLowerCase())).join(' / ')\n : listLocale.lmsg(type.toLowerCase());\n\nconst CreateDatabaseServerForm = ({\n databaseServer = undefined,\n allowedTypes = [TYPE_MYSQL, TYPE_POSTGRESQL, TYPE_MSSQL],\n isWindows = false,\n}) => {\n const navigate = useNavigate();\n const [values, setValues] = useState(databaseServer ? {\n id: databaseServer.id,\n type: databaseServer.type,\n host: databaseServer.host,\n port: String(databaseServer.port),\n default: databaseServer.isDefaultServer,\n adminLogin: databaseServer.adminLogin,\n adminPassword: '',\n externalConnections: databaseServer.externalConnections,\n backupTempDir: databaseServer.backupSettings?.tempDir,\n backupNetworkTempDir: databaseServer.backupSettings?.networkTempDir,\n backupNetworkUser: databaseServer.backupSettings?.networkUser,\n backupNetworkPassword: databaseServer.backupSettings?.networkPassword,\n } : {\n id: null,\n type: allowedTypes[0],\n host: '',\n port: '',\n default: false,\n adminLogin: '',\n adminPassword: '',\n });\n\n const handleFieldChange = (name, value) => {\n setValues(values => {\n values = setIn(values, name, value);\n\n return values;\n });\n };\n\n const handleSuccess = useCallback(({ updateDatabaseServer: { error } }) => {\n addToast({\n intent: error ? 'warning' : 'success',\n message: databaseServer\n ? (error ? <Translate content=\"updateError\" params={{ error }} /> : <Translate content=\"updateSuccess\" />)\n : (error ? <Translate content=\"createError\" params={{ error }} /> : <Translate content=\"createSuccess\" />),\n });\n navigate('/cp/server/db/');\n }, [databaseServer, navigate]);\n\n const [updateDatabaseServer] = useMutation(UPDATE_DATABASE_SERVER, {\n refetchQueries: [{\n query: require('queries/DatabaseServersPage.graphql'),\n }, databaseServer ? {\n query: require('queries/DatabaseServerPropertiesPage.graphql'),\n variables: { id: databaseServer.id },\n } : null].filter(Boolean),\n awaitRefetchQueries: true,\n });\n\n return (\n <Form\n values={values}\n mutation={updateDatabaseServer}\n onSuccess={handleSuccess}\n onFieldChange={handleFieldChange}\n submitButton={{\n id: 'btn-send',\n children: <ButtonsTranslate content=\"ok\" />,\n }}\n applyButton={false}\n cancelButton={{\n id: 'btn-cancel',\n children: <ButtonsTranslate content=\"cancel\" />,\n component: Link,\n to: '/cp/server/db/',\n }}\n >\n <Section title={<Translate content=\"general\" />}>\n {databaseServer ? (\n <SectionItem title={<Translate content=\"type\" />}>\n {renderType(databaseServer.type)}\n </SectionItem>\n ) : (\n <FormFieldSelect\n name=\"type\"\n label={<Translate content=\"type\" />}\n >\n {allowedTypes.map(type => (\n <SelectOption key={type} value={type}>\n {renderType(type)}\n </SelectOption>\n ))}\n </FormFieldSelect>\n )}\n {databaseServer && databaseServer.host === 'localhost' && !isWindows ? (\n <SectionItem title={<Translate content=\"host\" />}>\n {databaseServer.host}\n </SectionItem>\n ) : (\n <FormFieldText\n name=\"host\"\n label={<Translate content=\"host\" />}\n required\n />\n )}\n {databaseServer && databaseServer.host === 'localhost' && !isWindows ? (\n <SectionItem title={<Translate content=\"port\" />}>\n <Translate content=\"unixSocket\" />\n </SectionItem>\n ) : values.type === TYPE_MSSQL ? null : (\n <FormFieldText\n name=\"port\"\n label={<Translate content=\"port\" />}\n description={<Translate content=\"portDescription\" />}\n size=\"sm\"\n />\n )}\n {databaseServer ? (\n <SectionItem title={<Translate content=\"version\" />}>\n {databaseServer.serverVersion}\n </SectionItem>\n ) : null}\n <FormFieldCheckbox\n name=\"default\"\n label={<Translate content=\"default\" params={{ type: listLocale.lmsg(values.type.toLowerCase()) }} />}\n disabled={databaseServer && databaseServer.isDefaultServer}\n />\n {databaseServer && databaseServer.externalConnections !== null ? (\n <FormFieldCheckbox\n name=\"externalConnections\"\n label={<Translate content=\"externalConnections\" />}\n description={<Translate content=\"externalConnectionsDescription\" />}\n />\n ) : null}\n </Section>\n <Section title={<Translate content=\"authentication\" />}>\n {!databaseServer ? (\n <Paragraph>\n <Translate content=\"authenticationAddDescription\" />\n </Paragraph>\n ) : databaseServer.isUsedForPsaDb ? (\n null\n ) : databaseServer.isAdminCredentialsChangeable ? (\n <Paragraph>\n <Translate content=\"authenticationChangeDescription\" />\n </Paragraph>\n ) : (\n <Paragraph>\n <Translate content=\"authenticationEditDescription\" />\n </Paragraph>\n )}\n {databaseServer && databaseServer.isUsedForPsaDb ? (\n <SectionItem title={<Translate content=\"adminLogin\" />}>\n {databaseServer.adminLogin}\n </SectionItem>\n ) : (\n <FormFieldText\n name=\"adminLogin\"\n label={<Translate content=\"adminLogin\" />}\n required\n />\n )}\n {databaseServer && databaseServer.isUsedForPsaDb ? null : (\n <FormFieldPassword\n name=\"adminPassword\"\n label={<Translate content=\"adminPassword\" />}\n required\n hideGenerateButton\n hidePasswordMeter\n />\n )}\n </Section>\n {databaseServer && databaseServer.backupSettings !== null ? (\n <Section title={<Translate content=\"backupSettings\" />}>\n <FormFieldText\n name=\"backupTempDir\"\n label={<Translate content=\"backupTempDir\" />}\n description={<Translate content=\"backupTempDirDescription\" />}\n />\n <FormFieldText\n name=\"backupNetworkTempDir\"\n label={<Translate content=\"backupNetworkTempDir\" />}\n description={<Translate content=\"backupNetworkTempDirDescription\" />}\n />\n <FormFieldText\n name=\"backupNetworkUser\"\n label={<Translate content=\"backupNetworkUser\" />}\n description={<Translate content=\"backupNetworkUserDescription\" />}\n />\n <FormFieldPassword\n name=\"backupNetworkPassword\"\n label={<Translate content=\"backupNetworkPassword\" />}\n hideGenerateButton\n hidePasswordMeter\n />\n </Section>\n ) : null}\n </Form>\n );\n};\n\nCreateDatabaseServerForm.propTypes = {\n databaseServer: PropTypes.object,\n allowedTypes: PropTypes.array,\n isWindows: PropTypes.bool,\n};\n\nexport default CreateDatabaseServerForm;\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { useMemo, useState } from 'react';\nimport { PropTypes } from 'prop-types';\nimport { gql, useMutation, useLazyQuery } from '@apollo/client';\nimport { Action, Button, ListOperation, ToolbarGroup, Tooltip } from '@plesk/ui-library';\nimport { Locale } from 'jsw';\nimport { getId } from 'helpers/getId';\nimport { addToast } from 'helpers/toasts';\nimport Link from 'components/common/Link';\nimport List from '../List';\nimport { Outlet } from 'react-router-dom';\n\nimport DATABASE_SERVER_DATABASES_PAGE from 'queries/DatabaseServerDatabasesPage.graphql';\n\nconst Translate = Locale.getTranslate('components.lists.databaseserverdatabases');\nconst locale = Locale.getSection('components.lists.databaseserverdatabases');\nconst ButtonsTranslate = Locale.getTranslate('components.buttons');\n\nconst DELETE_DATABASE = gql`\n mutation DeleteDatabase($ids: [ID!]!) {\n deleteDatabase(input: { ids: $ids }) {\n ids\n }\n }\n`;\n\nconst DatabaseServerDatabasesList = ({ databaseServer: { id, databases: initialData }, mode: { isClassicPanel } }) => {\n const [deleteDatabase] = useMutation(DELETE_DATABASE);\n const [data, setData] = useState(initialData);\n const [selection, setSelection] = useState([]);\n const [loadingRows, setLoadingRows] = useState([]);\n\n const selectedRows = useMemo(() => data.filter(({ id }) => selection.includes(id)), [data, selection]);\n\n const [handleListReload] = useLazyQuery(DATABASE_SERVER_DATABASES_PAGE, {\n variables: { id },\n fetchPolicy: 'network-only',\n onCompleted: ({ databaseServer: { databases } }) => {\n setData(databases);\n setSelection([]);\n },\n });\n\n const handleRemove = async () => {\n setLoadingRows(selection);\n try {\n const { data: { deleteDatabase: { ids } } } = await deleteDatabase({\n variables: {\n ids: selection,\n },\n refetchQueries: [{\n query: DATABASE_SERVER_DATABASES_PAGE,\n variables: { id },\n }],\n awaitRefetchQueries: true,\n });\n\n if (ids.length > 0) {\n addToast({\n intent: 'success',\n message: <Translate content=\"removeSuccess\" />,\n });\n setData(data.filter(({ id }) => !ids.includes(id)));\n }\n } catch ({ graphQLErrors }) {\n graphQLErrors.forEach(({ message, debugMessage }) => {\n addToast({\n intent: 'danger',\n message: debugMessage || message,\n });\n });\n } finally {\n setSelection([]);\n setLoadingRows([]);\n }\n };\n\n return (\n <>\n <List\n id=\"database-server-databases-list\"\n toolbar={(\n <>\n <ToolbarGroup title={locale.lmsg('actionsGroup')}>\n <ListOperation\n noSelectionText={<Translate content=\"emptySelection\" />}\n >\n <Button\n data-id=\"assignToSubscription\"\n component={Link}\n to={`assign?${selection.map((value, index) => `${index}=${getId(value)}`).join('&')}`}\n tooltip={<Translate content=\"assignToSubscriptionDescription\" />}\n >\n <Translate content=\"assignToSubscription\" />\n </Button>\n </ListOperation>\n </ToolbarGroup>\n <ToolbarGroup title={locale.lmsg('removeGroup')}>\n <ListOperation\n critical\n noSelectionText={<Translate content=\"emptySelection\" />}\n confirmationText={locale.formatMessage('removeConfirmation', {\n name: <b>{selectedRows[0]?.name}</b>,\n count: selectedRows.length,\n })}\n actionButtonText={<ButtonsTranslate content=\"yesRemove\" />}\n cancelButtonText={<ButtonsTranslate content=\"cancel\" />}\n >\n <Button\n data-id=\"remove\"\n onClick={handleRemove}\n tooltip={<Translate content=\"removeDescription\" />}\n >\n <Translate content=\"remove\" />\n </Button>\n </ListOperation>\n </ToolbarGroup>\n </>\n )}\n columns={[\n {\n key: 'name',\n title: <Translate content=\"name\" />,\n sortable: true,\n type: 'title',\n width: '40%',\n },\n {\n key: 'domain',\n title: <Translate content=\"subscription\" />,\n sortable: true,\n width: '20%',\n render: ({ domain: { name } }) => name,\n },\n {\n key: 'client',\n title: <Translate content=\"client\" />,\n sortable: true,\n width: '20%',\n render: ({ domain: { owner: { name } } }) => name,\n },\n {\n key: 'controlPanel',\n width: '20%',\n render: ({ domain: { id: domainId, owner: { id: clientId, type: clientType } } }) => {\n let url = `/smb/database/list/domainId/${encodeURIComponent(getId(domainId))}`;\n let label = <Translate content=\"manageDatabase\" />;\n let tooltip = <Translate content=\"manageDatabaseDescription\" />;\n\n if (isClassicPanel || clientType === 'ADMIN') {\n url = `/admin/subscription/login/id/${encodeURIComponent(getId(domainId))}?pageUrl=${encodeURIComponent(url)}`;\n } else if (clientType === 'RESELLER') {\n url = `/admin/reseller/login/id/${encodeURIComponent(getId(clientId))}?pageUrl=${encodeURIComponent(url)}`;\n label = <Translate content=\"manageDatabaseInResellerPanel\" />;\n tooltip = <Translate content=\"manageDatabaseInResellerPanelDescription\" />;\n } else if (clientType === 'CLIENT') {\n url = `/admin/customer/login/id/${encodeURIComponent(getId(clientId))}?pageUrl=${encodeURIComponent(url)}`;\n label = <Translate content=\"manageDatabaseInCustomerPanel\" />;\n tooltip = <Translate content=\"manageDatabaseInCustomerPanelDescription\" />;\n }\n return (\n <Tooltip title={tooltip}>\n <Action\n component={Link}\n to={url}\n icon={{ src: require('icons/16/plesk/login.png') }}\n >\n {label}\n </Action>\n </Tooltip>\n );\n },\n },\n ]}\n rowKey=\"id\"\n data={data}\n searchField=\"name\"\n sortColumn=\"name\"\n selection={selection}\n onSelectionChange={selection => setSelection(selection)}\n loadingRows={loadingRows}\n />\n <Outlet\n context={{\n reloadDatabaseList: handleListReload,\n }}\n />\n </>\n );\n};\n\nDatabaseServerDatabasesList.propTypes = {\n mode: PropTypes.shape({\n isClassicPanel: PropTypes.bool.isRequired,\n }).isRequired,\n databaseServer: PropTypes.shape({\n id: PropTypes.string.isRequired,\n name: PropTypes.string.isRequired,\n databases: PropTypes.array.isRequired,\n }).isRequired,\n};\n\nexport default DatabaseServerDatabasesList;\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { useEffect, useMemo, useState } from 'react';\nimport { PropTypes } from 'prop-types';\nimport { gql, useMutation } from '@apollo/client';\nimport {\n Button,\n Icon,\n ListAction,\n ListActions,\n ListOperation,\n StatusMessage,\n Text,\n ToolbarGroup,\n Tooltip,\n ListEmptyView,\n Label,\n} from '@plesk/ui-library';\nimport { Locale } from 'jsw';\nimport { addToast } from 'helpers/toasts';\nimport { getId } from 'helpers/getId';\nimport Link from 'components/common/Link';\nimport List from '../List';\nimport { Outlet } from 'react-router-dom';\n\nconst Translate = Locale.getTranslate('components.lists.databaseservers');\nconst locale = Locale.getSection('components.lists.databaseservers');\nconst StatusTranslate = Locale.getTranslate('components.status');\nconst ButtonsTranslate = Locale.getTranslate('components.buttons');\n\nconst DELETE_DATABASE_SERVER = gql`\n mutation DeleteDatabaseServer($ids: [ID!]!) {\n deleteDatabaseServer(input: { ids: $ids }) {\n ids\n }\n }\n`;\n\nconst DatabaseServersList = ({\n data: initialData,\n isDemo = false,\n createDatabaseServerAllowed = true,\n manageServerPhpmyadmin = true,\n}) => {\n const [deleteDatabaseServer] = useMutation(DELETE_DATABASE_SERVER);\n const [data, setData] = useState(initialData);\n const [selection, setSelection] = useState([]);\n const [loadingRows, setLoadingRows] = useState([]);\n const selectedRows = useMemo(() => data.filter(({ id }) => selection.includes(id)), [data, selection]);\n useEffect(() => {\n setData(initialData);\n }, [initialData]);\n const warnings = useMemo(() => data\n .filter(({ isLocal, isDynamicPort }) => isLocal && isDynamicPort)\n .map(({ host }) => (\n <StatusMessage key={host} intent=\"warning\">\n <b><StatusTranslate content=\"warning\" />{': '}</b>\n <Translate content=\"mssqlServerPortUndefined\" params={{ host }} />\n <br />\n <Translate content=\"mssqlServerPortUndefinedHint\" />\n </StatusMessage>\n ))\n , [data]);\n\n const upgradableServerExists = useMemo(\n () => data.some(databaseServer => databaseServer.isUpgradeSupported && databaseServer.availableReleases.length > 0),\n [data],\n );\n\n const handleRemove = async () => {\n setLoadingRows(selection);\n try {\n const { data: { deleteDatabaseServer: { ids } } } = await deleteDatabaseServer({\n variables: {\n ids: selection,\n },\n refetchQueries: [{\n query: require('queries/DatabaseServersPage.graphql'),\n }],\n awaitRefetchQueries: true,\n });\n\n if (ids.length > 0) {\n addToast({\n intent: 'success',\n message: <Translate content=\"removeSuccess\" />,\n });\n setData(data.filter(({ id }) => !ids.includes(id)));\n }\n } catch ({ graphQLErrors }) {\n graphQLErrors.forEach(({ message, debugMessage }) => {\n addToast({\n intent: 'danger',\n message: debugMessage || message,\n });\n });\n } finally {\n setSelection([]);\n setLoadingRows([]);\n }\n };\n\n const renderUpgradeIcon = ({ id, isUpgradeSupported, isLTSVersion, availableReleases }) => {\n if (isUpgradeSupported) {\n if (availableReleases.length > 0) {\n return (\n <Link data-testid={`${getId(id)}-upgrade-now`} to={`/cp/server/db/${encodeURIComponent(getId(id))}/upgrade`}>\n <Label\n view=\"light\"\n intent=\"info\"\n >\n <Translate content=\"upgradeNow\" />\n </Label>\n </Link>\n );\n } else if (isLTSVersion) {\n return (\n <Tooltip title={<Translate content=\"databasesLTSVersion\" />}>\n <Icon data-testid={`${getId(id)}-lts`} name=\"info-circle\" size=\"16\" />\n </Tooltip>\n );\n }\n }\n return null;\n };\n\n const createServerButton = (\n <Button\n data-id=\"addDatabaseServer\"\n intent=\"primary\"\n icon=\"plus\"\n component={Link}\n to=\"/cp/server/db/create\"\n disabled={!createDatabaseServerAllowed}\n tooltip={createDatabaseServerAllowed ? (\n <Translate content=\"addDatabaseServerDescription\" />\n ) : (\n <Translate content=\"addDatabaseServerDescriptionDisabledByKey\" />\n )}\n >\n <Translate content=\"addDatabaseServer\" />\n </Button>\n );\n\n return (\n <>\n <Outlet />\n {warnings}\n <List\n id=\"database-servers-list\"\n toolbar={(\n <>\n <ToolbarGroup title={locale.lmsg('addGroup')}>\n {createServerButton}\n </ToolbarGroup>\n <ToolbarGroup title={locale.lmsg('actionsGroup')}>\n <Button\n data-id=\"hostingSettings\"\n component={Link}\n to=\"/admin/database/settings\"\n tooltip={<Translate content=\"hostingSettingsDescription\" />}\n >\n\n <Translate content=\"hostingSettings\" />\n </Button>\n <Button\n data-id=\"refresh\"\n component=\"a\"\n href=\"/admin/database/refresh\"\n tooltip={<Translate content=\"refreshDescription\" />}\n >\n <Translate content=\"refresh\" />\n </Button>\n </ToolbarGroup>\n <ToolbarGroup title={locale.lmsg('removeGroup')}>\n <ListOperation\n critical\n noSelectionText={<Translate content=\"removeEmptySelection\" />}\n confirmationText={locale.formatMessage('removeConfirmation', {\n name: <b>{selectedRows[0]?.name}</b>,\n count: selectedRows.length,\n })}\n actionButtonText={<ButtonsTranslate content=\"yesRemove\" />}\n cancelButtonText={<ButtonsTranslate content=\"cancel\" />}\n >\n <Button\n data-id=\"remove\"\n onClick={handleRemove}\n tooltip={<Translate content=\"removeDescription\" />}\n >\n <Translate content=\"remove\" />\n </Button>\n </ListOperation>\n </ToolbarGroup>\n </>\n )}\n columns={[\n {\n key: 'lastError',\n title: <Translate content=\"lastError\" />,\n sortable: true,\n render: ({ id, lastError }) => (\n <Tooltip title={<Translate content={`status_${lastError.toLowerCase()}`} />}>\n <Link to={`/cp/server/db/${encodeURIComponent(getId(id))}/properties`}>\n <Icon src={lastError === 'NO_ERROR' ? require('icons/16/plesk/ok.png') : require('icons/16/plesk/off.png')} />\n </Link>\n </Tooltip>\n ),\n },\n {\n key: 'type',\n title: <Translate content=\"type\" />,\n width: '20%',\n sortable: true,\n render: ({ type, fork }) => {\n const realType = (fork || type).toLowerCase();\n const icon = {\n mysql: require('icons/16/plesk/mysql.png'),\n mssql: require('icons/16/plesk/mssql.png'),\n postgresql: require('icons/16/plesk/postgresql.png'),\n mariadb: require('icons/16/plesk/mariadb.png'),\n percona: require('icons/16/plesk/percona.png'),\n }[realType];\n\n return (\n <>\n <Icon src={icon} /> \n <Translate content={realType} />\n </>\n );\n },\n },\n {\n key: 'host',\n title: <Translate content=\"host\" />,\n type: 'title',\n width: upgradableServerExists ? '40%' : '50%',\n sortable: true,\n render: ({ id, type, fork, host, isDefaultServer }) => {\n const realType = (fork || type).toLowerCase();\n\n return (\n <Text bold={isDefaultServer}>\n <Tooltip title={<Translate content=\"hostLink\" />}>\n <Link to={`/cp/server/db/${encodeURIComponent(getId(id))}/properties`}>\n {host}\n </Link>\n </Tooltip>\n {isDefaultServer ? <> {'('}<Translate content={`default_for_${realType}`} />{')'}</> : null}\n </Text>\n );\n },\n },\n {\n key: 'port',\n title: <Translate content=\"port\" />,\n width: '10%',\n align: 'right',\n sortable: true,\n },\n {\n key: 'serverVersion',\n title: <Translate content=\"version\" />,\n width: upgradableServerExists ? '20%' : '10%',\n align: 'right',\n sortable: true,\n render: ({ serverVersion, ...params }) => (\n <>\n {serverVersion}\n {' '}\n {renderUpgradeIcon(params)}\n </>\n ),\n },\n {\n key: 'databasesCount',\n title: <Translate content=\"databasesCount\" />,\n width: '10%',\n align: 'right',\n sortable: true,\n render: ({ id, databasesCount }) => (\n <Tooltip title={<Translate content=\"databasesCountLink\" />}>\n <Link to={`/cp/server/db/${encodeURIComponent(getId(id))}/databases`}>\n {databasesCount}\n </Link>\n </Tooltip>\n ),\n },\n {\n key: 'webadmin',\n type: 'actions',\n render: ({ id, isWebadminInstalled, type, lastError }) => {\n if (!manageServerPhpmyadmin) {\n return null;\n }\n return (\n <ListActions>\n {type === 'MSSQL' ?\n <ListAction\n primary\n icon=\"my-little-admin\"\n component=\"a\"\n href=\"/cp/server/db/mssql-client-instruction\"\n target=\"_blank\"\n disabled={isDemo || lastError !== 'NO_ERROR'}\n tooltip={<Translate content=\"downloadMsSqlClientHint\" />}\n >\n <Translate content=\"downloadMsSqlClient\" />\n </ListAction>\n :\n <ListAction\n primary\n icon=\"phpmyadmin\"\n hidden={!isWebadminInstalled}\n component=\"a\"\n href={`/cp/server/db/${encodeURIComponent(getId(id))}/webadmin`}\n target=\"_blank\"\n disabled={isDemo || lastError !== 'NO_ERROR'}\n tooltip={<Translate content=\"webadminHint\" />}\n >\n <Translate content=\"webadmin\" />\n </ListAction>}\n </ListActions>\n );\n },\n },\n ]}\n rowKey=\"id\"\n data={data}\n searchField=\"host\"\n sortColumn=\"host\"\n selection={selection}\n onSelectionChange={selection => setSelection(selection)}\n loadingRows={loadingRows}\n emptyView={\n <ListEmptyView\n actions={createServerButton}\n />\n }\n />\n </>\n );\n};\n\nDatabaseServersList.propTypes = {\n data: PropTypes.array.isRequired,\n isDemo: PropTypes.bool,\n createDatabaseServerAllowed: PropTypes.bool,\n manageServerPhpmyadmin: PropTypes.bool,\n};\n\nexport default DatabaseServersList;\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { useState } from 'react';\nimport { PropTypes } from 'prop-types';\nimport { useNavigate } from 'react-router-dom';\nimport { useMutation, gql } from '@apollo/client';\nimport { FormFieldPassword } from '@plesk/ui-library';\nimport { Locale } from 'jsw';\nimport pageData from 'helpers/pageData';\nimport { addToast } from 'helpers/toasts';\nimport Form from 'components/Form';\nimport Link from 'components/common/Link';\nimport { withPageLayout } from '../layouts/PageLayout';\nimport { withDatabaseServerOverviewTabs } from '../tabs/DatabaseServerOverviewTabs';\n\nconst Translate = Locale.getTranslate('components.forms.database-server-change-password');\nconst ButtonsTranslate = Locale.getTranslate('components.buttons');\n\nconst CHANGE_DATABASE_SERVER_PASSWORD = gql`\n mutation ChangeDatabaseServerPassword($input: ChangeDatabaseServerPasswordInput!) {\n changeDatabaseServerPassword(input: $input) {\n databaseServer {\n id\n lastError\n }\n }\n }\n`;\n\nconst DatabaseServerChangePasswordPage = ({ databaseServer }) => {\n const navigate = useNavigate();\n const [changeDatabaseServerPassword] = useMutation(CHANGE_DATABASE_SERVER_PASSWORD);\n const [values] = useState({\n id: databaseServer.id,\n password: '',\n });\n\n const handleSuccess = () => {\n addToast({\n intent: 'success',\n message: <Translate content=\"success\" />,\n });\n navigate('/cp/server/db/');\n };\n\n return (\n <Form\n values={values}\n mutation={changeDatabaseServerPassword}\n onSuccess={handleSuccess}\n submitButton={{\n id: 'btn-send',\n children: <ButtonsTranslate content=\"save\" />,\n }}\n applyButton={false}\n cancelButton={{\n id: 'btn-cancel',\n children: <ButtonsTranslate content=\"cancel\" />,\n component: Link,\n to: '/cp/server/db/',\n }}\n >\n <FormFieldPassword\n name=\"password\"\n label={<Translate content=\"adminPassword\" />}\n required\n />\n </Form>\n );\n};\n\nDatabaseServerChangePasswordPage.propTypes = {\n databaseServer: PropTypes.shape({\n id: PropTypes.string.isRequired,\n name: PropTypes.string.isRequired,\n }).isRequired,\n};\n\nexport default withPageLayout(withDatabaseServerOverviewTabs(DatabaseServerChangePasswordPage), props => {\n const { showFrames, pageHeader, pageSidebar } = pageData();\n\n return {\n ...props,\n showFrames,\n pageHeader: {\n ...pageHeader,\n helpMenu: {\n ...pageHeader.helpMenu,\n helpContext: 'db_server_change_password',\n },\n },\n pageSidebar,\n pageContentHeader: {\n breadcrumbs: [pageSidebar.isPowerUserPanel ? null : {\n title: Locale.getSection('components.pages.home').lmsg('title'),\n href: '/admin/home/',\n }, {\n title: Locale.getSection('admin.controllers.server.tools').lmsg('title'),\n href: '/admin/server/tools/',\n }, {\n title: Locale.getSection('components.pages.database-servers').lmsg('title'),\n href: '/cp/server/db/',\n }, {\n title: `<b>${props.databaseServer.name}</b>`,\n href: `/cp/server/db/${props.databaseServer.id}/`,\n }, {\n title: Locale.getSection('components.pages.database-server-change-password').lmsg('title'),\n href: `/cp/server/db/${props.databaseServer.id}/change-password/`,\n }].filter(Boolean),\n tabs: [],\n tabsHasRootPage: true,\n },\n };\n});\n\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport PropTypes from 'prop-types';\nimport { Locale } from 'jsw';\nimport pageData from 'helpers/pageData';\nimport { withPageLayout } from '../layouts/PageLayout';\nimport CreateDatabaseServerForm from '../forms/CreateDatabaseServerForm';\n\nconst DatabaseServersCreatePage = ({ server: { allowedByKeyDatabaseServerTypes } }) => (\n <CreateDatabaseServerForm allowedTypes={allowedByKeyDatabaseServerTypes} />\n);\n\nDatabaseServersCreatePage.propTypes = {\n server: PropTypes.shape({\n allowedByKeyDatabaseServerTypes: PropTypes.array.isRequired,\n }).isRequired,\n};\n\nexport default withPageLayout(DatabaseServersCreatePage, props => {\n const { showFrames, pageHeader, pageSidebar } = pageData();\n const locale = Locale.getSection('components.pages.database-server-create');\n const pageTitle = locale.lmsg('title');\n\n return {\n ...props,\n showFrames,\n pageHeader: {\n ...pageHeader,\n helpMenu: {\n ...pageHeader.helpMenu,\n helpContext: 'db_server_edit',\n },\n },\n pageSidebar,\n pageContentHeader: {\n pageTitle,\n breadcrumbs: [pageSidebar.isPowerUserPanel ? null : {\n title: Locale.getSection('components.pages.home').lmsg('title'),\n href: '/admin/home/',\n }, {\n title: Locale.getSection('admin.controllers.server.tools').lmsg('title'),\n href: '/admin/server/tools/',\n }, {\n title: Locale.getSection('components.pages.database-servers').lmsg('title'),\n href: '/cp/server/db/',\n }, {\n title: pageTitle,\n href: '/cp/server/db/create/',\n }].filter(Boolean),\n },\n };\n});\n\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { Locale } from 'jsw';\nimport pageData from 'helpers/pageData';\nimport { withPageLayout } from '../layouts/PageLayout';\nimport DatabaseServerDatabasesList from '../lists/DatabaseServerDatabasesList';\nimport { withDatabaseServerOverviewTabs } from '../tabs/DatabaseServerOverviewTabs';\n\nconst DatabaseServersDatabasesPage = props => (\n <DatabaseServerDatabasesList {...props} />\n);\n\nexport default withPageLayout(withDatabaseServerOverviewTabs(DatabaseServersDatabasesPage), props => {\n const { showFrames, pageHeader, pageSidebar } = pageData();\n\n return {\n ...props,\n showFrames,\n pageHeader: {\n ...pageHeader,\n helpMenu: {\n ...pageHeader.helpMenu,\n helpContext: 'db_server_databases',\n },\n },\n pageSidebar,\n pageContentHeader: {\n breadcrumbs: [pageSidebar.isPowerUserPanel ? null : {\n title: Locale.getSection('components.pages.home').lmsg('title'),\n href: '/admin/home/',\n }, {\n title: Locale.getSection('admin.controllers.server.tools').lmsg('title'),\n href: '/admin/server/tools/',\n }, {\n title: Locale.getSection('components.pages.database-servers').lmsg('title'),\n href: '/cp/server/db/',\n }, {\n title: `<b>${props.databaseServer.name}</b>`,\n href: `/cp/server/db/${props.databaseServer.id}/`,\n }, {\n title: Locale.getSection('components.pages.database-server-databases').lmsg('title'),\n href: `/cp/server/db/${props.databaseServer.id}/databases/`,\n }].filter(Boolean),\n tabs: [],\n tabsHasRootPage: true,\n },\n };\n});\n\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport PropTypes from 'prop-types';\nimport { Locale } from 'jsw';\nimport pageData from 'helpers/pageData';\nimport { withPageLayout } from '../layouts/PageLayout';\nimport CreateDatabaseServerForm from '../forms/CreateDatabaseServerForm';\nimport { withDatabaseServerOverviewTabs } from '../tabs/DatabaseServerOverviewTabs';\n\nconst DatabaseServersPropertiesPage = ({ databaseServer, os: { isWindows } }) => (\n <CreateDatabaseServerForm databaseServer={databaseServer} isWindows={isWindows} />\n);\n\nDatabaseServersPropertiesPage.propTypes = {\n databaseServer: PropTypes.object.isRequired,\n os: PropTypes.shape({\n isWindows: PropTypes.bool.isRequired,\n }).isRequired,\n};\n\nexport default withPageLayout(withDatabaseServerOverviewTabs(DatabaseServersPropertiesPage), props => {\n const { showFrames, pageHeader, pageSidebar } = pageData();\n\n return {\n ...props,\n showFrames,\n pageHeader: {\n ...pageHeader,\n helpMenu: {\n ...pageHeader.helpMenu,\n helpContext: 'db_server_edit',\n },\n },\n pageSidebar,\n pageContentHeader: {\n breadcrumbs: [pageSidebar.isPowerUserPanel ? null : {\n title: Locale.getSection('components.pages.home').lmsg('title'),\n href: '/admin/home/',\n }, {\n title: Locale.getSection('admin.controllers.server.tools').lmsg('title'),\n href: '/admin/server/tools/',\n }, {\n title: Locale.getSection('components.pages.database-servers').lmsg('title'),\n href: '/cp/server/db/',\n }, {\n title: `<b>${props.databaseServer.name}</b>`,\n href: `/cp/server/db/${props.databaseServer.id}/`,\n }, {\n title: Locale.getSection('components.pages.database-server-properties').lmsg('title'),\n href: `/cp/server/db/${props.databaseServer.id}/properties/`,\n }].filter(Boolean),\n tabs: [],\n tabsHasRootPage: true,\n },\n };\n});\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport DatabaseServerUpgradeWizard from '../common/DatabaseServerUpgradeWizard';\nimport useNavigate from 'hooks/useNavigate';\nimport { addToast } from 'helpers/toasts';\nimport { Locale } from 'jsw';\n\nconst Translate = Locale.getTranslate('components.pages.database-server-upgrade');\n\nconst DatabaseServerUpgradePage = ({ databaseServer }) => {\n const navigate = useNavigate();\n\n useEffect(() => {\n if (!databaseServer.availableReleases.length) {\n addToast({\n intent: 'success',\n message: <Translate content=\"upToDate\" />,\n });\n navigate('..');\n }\n }, [databaseServer, navigate]);\n\n return (\n <DatabaseServerUpgradeWizard\n id=\"db-server-upgrade\"\n formPrefix=\"db-server-upgrade\"\n applyButton={false}\n databaseServer={databaseServer}\n submitButton={{\n id: 'btn-send',\n }}\n cancelButton={{\n id: 'btn-cancel',\n }}\n />\n );\n};\n\nDatabaseServerUpgradePage.propTypes = {\n databaseServer: PropTypes.object.isRequired,\n};\n\nexport default DatabaseServerUpgradePage;\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { useMemo } from 'react';\nimport { PropTypes } from 'prop-types';\nimport { Locale, UAT } from 'jsw';\nimport pageData from 'helpers/pageData';\nimport { withPageLayout } from '../layouts/PageLayout';\nimport DatabaseServersList from '../lists/DatabaseServersList';\nimport { getId } from 'helpers/getId';\n\nconst DatabaseServersPage = ({\n databaseServers,\n os: { isWindows },\n mode: { isDemo },\n primaryKey: { keyRemoteDb },\n viewer: { permissions: { manageServerPhpmyadmin } },\n}) => {\n const data = useMemo(() => {\n databaseServers\n .filter(({ isUpgradeSupported, availableReleases }) => isUpgradeSupported && availableReleases.length)\n .forEach(({ id }) => UAT.dispatchAction('DB_SERVER_UPGRADE_AVAILABLE', { dbServerId: getId(id) }));\n\n const serversCount = databaseServers.reduce((acc, row) => ({\n ...acc,\n [row.type]: (acc[row.type] || 0) + 1,\n }), {});\n\n return databaseServers.map(({ isUsedForPsaDb, ...row }) => ({\n ...row,\n disabled: isUsedForPsaDb || (row.isDefaultServer && serversCount[row.type] > 1),\n }));\n }, [databaseServers]);\n\n return (\n <DatabaseServersList\n data={data}\n isDemo={isDemo}\n isWindows={isWindows}\n createDatabaseServerAllowed={isWindows || keyRemoteDb}\n manageServerPhpmyadmin={manageServerPhpmyadmin}\n />\n );\n};\n\nDatabaseServersPage.propTypes = {\n databaseServers: PropTypes.array.isRequired,\n os: PropTypes.object.isRequired,\n mode: PropTypes.object.isRequired,\n primaryKey: PropTypes.object.isRequired,\n viewer: PropTypes.object.isRequired,\n};\n\nexport default withPageLayout(DatabaseServersPage, props => {\n const { showFrames, pageHeader, pageSidebar } = pageData();\n const locale = Locale.getSection('components.pages.database-servers');\n const pageTitle = locale.lmsg('title');\n\n return {\n ...props,\n showFrames,\n pageHeader: {\n ...pageHeader,\n helpMenu: {\n ...pageHeader.helpMenu,\n helpContext: 'db_servers',\n },\n },\n pageSidebar,\n pageContentHeader: {\n pageTitle,\n breadcrumbs: [pageSidebar.isPowerUserPanel ? null : {\n title: Locale.getSection('components.pages.home').lmsg('title'),\n href: '/admin/home/',\n }, {\n title: Locale.getSection('admin.controllers.server.tools').lmsg('title'),\n href: '/admin/server/tools/',\n }, {\n title: pageTitle,\n href: '/cp/server/db/',\n }].filter(Boolean),\n },\n };\n});\n\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { useMemo } from 'react';\nimport { PropTypes } from 'prop-types';\nimport { matchPath, useLocation, useNavigate } from 'react-router-dom';\nimport { gql, useQuery } from '@apollo/client';\nimport { Label, Tabs, Tab } from '@plesk/ui-library';\nimport { Locale } from 'jsw';\n\nconst DatabaseServerOverviewTabs = ({ params, os }) => {\n const { pathname } = useLocation();\n const navigate = useNavigate();\n\n const { data: { databaseServer } = {} } = useQuery(gql`\n query DatabaseServerOverviewTabs($id: ID!) {\n databaseServer: node(id: $id) {\n id\n ... on DatabaseServer {\n databasesCount\n }\n }\n }\n `, {\n variables: { id: btoa(`DatabaseServer:${params.id}`) },\n });\n\n const tabs = useMemo(() => [\n {\n title: Locale.getSection('components.pages.database-server-properties').lmsg('title'),\n url: `/cp/server/db/${params.id}/properties`,\n },\n os.isWindows ? {\n title: Locale.getSection('components.pages.database-server-change-password').lmsg('title'),\n url: `/cp/server/db/${params.id}/change-password`,\n } : null,\n {\n title: Locale.getSection('components.pages.database-server-databases').lmsg('title'),\n url: `/cp/server/db/${params.id}/databases`,\n label: <Label intent=\"info\">{databaseServer.databasesCount}</Label>,\n },\n ].filter(Boolean), [params, os, databaseServer]);\n\n const active = useMemo(() => tabs.findIndex(({ url }) => matchPath(url, pathname)) + 1, [tabs, pathname]);\n\n return (\n <Tabs active={active}>\n {tabs.map(({ url, ...props }) => (\n <Tab\n key={url}\n onActivate={() => navigate(url)}\n {...props}\n />\n ))}\n </Tabs>\n );\n};\n\nDatabaseServerOverviewTabs.propTypes = {\n params: PropTypes.shape({\n id: PropTypes.string.isRequired,\n }).isRequired,\n os: PropTypes.shape({\n isWindows: PropTypes.bool.isRequired,\n }).isRequired,\n};\n\nexport const withDatabaseServerOverviewTabs = Component => {\n const Wrapper = props => (\n <>\n <DatabaseServerOverviewTabs {...props} />\n <Component {...props} />\n </>\n );\n Wrapper.displayName = `withDatabaseServerOverviewTabs(${Component.displayName || Component.name || 'Component'})`;\n Wrapper.WrappedComponent = Component;\n\n return Wrapper;\n};\n\nexport default DatabaseServerOverviewTabs;\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\n/**\n * Evicts cache of provided fields of all the entities with provided typename\n * You can specify certain entities by ids otherwise cache of all entities will be cleared\n */\nexport const evictEntitiesCache = ({ cache, typename, ids = [], fields = [] }) => {\n const entities = Object.values(cache.extract())\n .filter(({ __typename, id }) => __typename === typename && (ids.length === 0 || ids.includes(id)));\n\n entities.forEach(entity => {\n fields.forEach(fieldName => cache.evict({ id: cache.identify(entity), fieldName }));\n });\n};\n","module.exports = Jsw.skinUrl + \"/icons/16/plesk/login.png?b68531bba0e522a3a35a90de80b8892a\";","module.exports = Jsw.skinUrl + \"/icons/16/plesk/mariadb.png?7bb08a94b753b7fa7d53e994238873ab\";","module.exports = Jsw.skinUrl + \"/icons/16/plesk/mssql.png?cef152af421a073477c90aa8001bef49\";","module.exports = Jsw.skinUrl + \"/icons/16/plesk/mysql.png?c5c7e38a14aa2ec76ec4656a58b6dcc7\";","module.exports = Jsw.skinUrl + \"/icons/16/plesk/off.png?84d64d1bd3267c21795505b7daa43800\";","module.exports = Jsw.skinUrl + \"/icons/16/plesk/ok.png?402e5b49692b25d9d02326339ede77fa\";","module.exports = Jsw.skinUrl + \"/icons/16/plesk/percona.png?c9390f7e0aaad1e448de90386ec84dd6\";","module.exports = Jsw.skinUrl + \"/icons/16/plesk/postgresql.png?ed7a3e52b63253fa542b90e5981bdcaa\";","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"DatabaseServerPreUpgradeConfigChecker\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"releaseId\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"databaseServerId\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"databaseServer\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"databaseServerId\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"DatabaseServer\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"dumpDirectory\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"availableReleases\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"filter\"},\"value\":{\"kind\":\"ObjectValue\",\"fields\":[{\"kind\":\"ObjectField\",\"name\":{\"kind\":\"Name\",\"value\":\"releaseId\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"releaseId\"}}}]}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"preUpgradeChecker\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"removedSystemVariables\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"variable\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"files\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"removedConfigFiles\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":555}};\n doc.loc.source = {\"body\":\"query DatabaseServerPreUpgradeConfigChecker($releaseId: String!, $databaseServerId: ID!) {\\n databaseServer: node(id: $databaseServerId) {\\n ... on DatabaseServer {\\n id\\n dumpDirectory\\n availableReleases(filter: {releaseId: $releaseId}) {\\n id\\n preUpgradeChecker {\\n removedSystemVariables {\\n variable,\\n files\\n },\\n removedConfigFiles\\n }\\n }\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"DatabaseServerPreUpgradeConfigChecker\"] = oneQuery(doc, \"DatabaseServerPreUpgradeConfigChecker\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"DatabaseServerPreUpgradeMysqlChecker\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"releaseId\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"databaseServerId\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"databaseServer\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"databaseServerId\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"DatabaseServer\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"availableReleases\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"filter\"},\"value\":{\"kind\":\"ObjectValue\",\"fields\":[{\"kind\":\"ObjectField\",\"name\":{\"kind\":\"Name\",\"value\":\"releaseId\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"releaseId\"}}}]}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"preUpgradeChecker\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"checkConsistency\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":394}};\n doc.loc.source = {\"body\":\"query DatabaseServerPreUpgradeMysqlChecker($releaseId: String!, $databaseServerId: ID!) {\\n databaseServer: node(id: $databaseServerId) {\\n ... on DatabaseServer {\\n id\\n availableReleases(filter: {releaseId: $releaseId}) {\\n id\\n preUpgradeChecker {\\n checkConsistency\\n }\\n }\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"DatabaseServerPreUpgradeMysqlChecker\"] = oneQuery(doc, \"DatabaseServerPreUpgradeMysqlChecker\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"DatabaseServerPreUpgradePackageManagerChecker\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"releaseId\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"databaseServerId\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"databaseServer\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"databaseServerId\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"DatabaseServer\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"availableReleases\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"filter\"},\"value\":{\"kind\":\"ObjectValue\",\"fields\":[{\"kind\":\"ObjectField\",\"name\":{\"kind\":\"Name\",\"value\":\"releaseId\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"releaseId\"}}}]}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"preUpgradeChecker\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"checkPackageManager\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":406}};\n doc.loc.source = {\"body\":\"query DatabaseServerPreUpgradePackageManagerChecker($releaseId: String!, $databaseServerId: ID!) {\\n databaseServer: node(id: $databaseServerId) {\\n ... on DatabaseServer {\\n id\\n availableReleases(filter: {releaseId: $releaseId}) {\\n id\\n preUpgradeChecker {\\n checkPackageManager\\n }\\n }\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"DatabaseServerPreUpgradePackageManagerChecker\"] = oneQuery(doc, \"DatabaseServerPreUpgradePackageManagerChecker\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"DatabaseServerPreUpgradeSystemCompatibilityChecker\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"releaseId\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"databaseServerId\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"databaseServer\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"databaseServerId\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"DatabaseServer\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"availableReleases\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"filter\"},\"value\":{\"kind\":\"ObjectValue\",\"fields\":[{\"kind\":\"ObjectField\",\"name\":{\"kind\":\"Name\",\"value\":\"releaseId\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"releaseId\"}}}]}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"preUpgradeChecker\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"checkSystemCompatibility\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":416}};\n doc.loc.source = {\"body\":\"query DatabaseServerPreUpgradeSystemCompatibilityChecker($releaseId: String!, $databaseServerId: ID!) {\\n databaseServer: node(id: $databaseServerId) {\\n ... on DatabaseServer {\\n id\\n availableReleases(filter: {releaseId: $releaseId}) {\\n id\\n preUpgradeChecker {\\n checkSystemCompatibility\\n }\\n }\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"DatabaseServerPreUpgradeSystemCompatibilityChecker\"] = oneQuery(doc, \"DatabaseServerPreUpgradeSystemCompatibilityChecker\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"DatabaseServerPreUpgradeWebSocketChecker\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"config\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"webSocket\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"enabled\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":120}};\n doc.loc.source = {\"body\":\"query DatabaseServerPreUpgradeWebSocketChecker {\\n config {\\n webSocket {\\n enabled\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"DatabaseServerPreUpgradeWebSocketChecker\"] = oneQuery(doc, \"DatabaseServerPreUpgradeWebSocketChecker\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"mutation\",\"name\":{\"kind\":\"Name\",\"value\":\"UpgradeDatabaseServer\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"UpgradeDatabaseServerInput\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"upgradeDatabaseServer\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"status\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"progressTitle\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"steps\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"title\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"progress\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"status\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"errors\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"output\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":291}};\n doc.loc.source = {\"body\":\"mutation UpgradeDatabaseServer($input: UpgradeDatabaseServerInput!) {\\n upgradeDatabaseServer(input: $input) {\\n id\\n status\\n progressTitle\\n steps {\\n title\\n progress\\n status\\n errors\\n output\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"UpgradeDatabaseServer\"] = oneQuery(doc, \"UpgradeDatabaseServer\");\n \n"],"names":["listLocale","Locale","getSection","SORT_ASC","SORT_DESC","ALL_ITEMS_PER_PAGE","storage","set","key","data","localStorage","setItem","JSON","stringify","get","getItem","parse","getSortListName","id","getPageListName","List","columns","itemsPerPage","defaultItemsPerPage","itemsPerPageOptions","sortColumn","defaultSortColumn","sortDirection","defaultSortDirection","searchField","locale","emptyView","emptyFilteredView","toolbar","selection","onSelectionChange","searchBarInputProps","rowKey","useStorage","props","setSortState","useSortState","defaultColumn","defaultDirection","setState","useState","state","find","sortable","page","searchPattern","setPageState","usePageState","includes","listEmptyView","useMemo","_jsx","ListEmptyView","reason","columnsData","map","sortDataField","column","filteredData","filter","row","Array","isArray","some","field","String","toLowerCase","sortedData","compare","sort","defaultCompare","a","b","displayData","from","to","slice","handleSearchPatternChange","useCallback","term","handleItemsPerPageChange","Math","ceil","length","useEffect","newSelection","item","getRowKey","BaseList","pagination","Pagination","current","total","onSelect","onItemsPerPageChange","_jsxs","Toolbar","children","_Fragment","ToolbarExpander","ToolbarGroup","title","SearchBar","inputProps","placeholder","lmsg","value","onTyping","totalRows","onSortChange","filtered","formatMessage","propTypes","PropTypes","isRequired","ButtonsTranslate","getTranslate","MultistepForm","step","steps","onStepChange","prev","onSubmit","submitButton","cancelButton","formRef","useRef","stateStep","setStep","currentStep","formPrefix","embeddedForms","backButton","nextButton","isLastStep","isFirstStep","stepKey","handleBack","handleEmbeddedFormValues","prevState","handleNext","handleSubmit","submit","Form","ref","additionalButtons","getAdditionalButtons","Button","content","arrow","onClick","intent","push","isValidElement","cloneElement","onError","errors","baseFormStep","findIndex","errorSteps","Object","keys","errorSection","errorStep","name","min","applyButton","Translate","ChooseReleaseStep","onReleaseSelect","databaseServer","availableReleases","Alert","Text","bold","getShortVersion","number","serverVersion","split","Heading","level","params","version","detectDatabaseServer","ItemList","gap","selectable","features","releaseNotesLink","releaseDate","endOfLifeDate","index","Item","icon","Icon","size","Description","StatusMessage","dangerouslySetInnerHTML","__html","Link","href","target","e","stopPropagation","date","fork","DatabaseServerUpgradeWizard","listPage","dbServerId","getId","apolloClient","useApolloClient","cache","navigate","useNavigate","values","setValues","release","withDump","preUpgradeCheckerResult","setPreUpgradeCheckerResult","preUpgradeCheckerError","setPreUpgradeCheckerError","task","setTask","isClosable","setIsClosable","taskResultStatus","setTaskResultStatus","upgradeDatabaseServer","useMutation","UPGRADE_DATABASE_SERVER","onCompleted","UAT","dispatchAction","handleFieldChange","setIn","handleReleaseChange","PreUpgradeCheckProgressStep","releaseId","onSuccessfulCheck","result","PreUpgradeStep","error","DrawerWithProgress","dataType","DrawerTitle","subtitle","DrawerSubTitle","isOpen","onClose","onTaskComplete","handleOnTaskComplete","status","evictEntitiesCache","typename","ids","fields","handleOnError","style","fontSize","lineHeight","troubleshootingArticle","TroubleshootingArticle","form","mutation","getPreUpgradeCheckerError","onFieldChange","handleStepChange","SubmitPopover","at","handleOpen","autoCloseTimeout","Task","STATUS_DONE","releaseVersion","webSocketChecker","useQuery","PRE_UPGRADE_WEB_SOCKET_CHECKER","configChecker","PRE_UPGRADE_CONFIG_CHECKER","variables","databaseServerId","context","noBatch","fetchPolicy","systemCompatibilityChecker","PRE_UPGRADE_SYSTEM_COMPATIBILITY_CHECKER","checkerName","packageManagerChecker","PRE_UPGRADE_PACKAGE_MANAGER_CHECKER","runMysqlChecker","mysqlChecker","useLazyQuery","PRE_UPGRADE_MYSQL_CHECKER","every","checkerResult","loading","availableRelease","webSocket","config","removedSystemVariables","preUpgradeChecker","removedConfigFiles","dumpDirectory","called","getProgresses","progresses","entries","forEach","progressStep","ProgressStep","ConsoleOutput","message","checkbox","isWebSocketAvailable","enabled","pleskWS","bind","isReady","FormFieldCheckbox","label","prop","variable","files","join","count","Confirmed","fileName","description","Section","sshTerminalExtension","SshTerminalExtension","repairKit","RepairKit","path","FormField","display","setValue","getValue","DatabaseServerUpgradeTranslate","setIsOpen","button","targetEl","Popover","visible","width","placement","componentName","TYPE_MSSQL","UPDATE_DATABASE_SERVER","gql","renderType","type","CreateDatabaseServerForm","allowedTypes","isWindows","host","port","default","isDefaultServer","adminLogin","adminPassword","externalConnections","backupTempDir","backupSettings","tempDir","backupNetworkTempDir","networkTempDir","backupNetworkUser","networkUser","backupNetworkPassword","networkPassword","handleSuccess","updateDatabaseServer","addToast","refetchQueries","query","require","Boolean","awaitRefetchQueries","onSuccess","component","SectionItem","FormFieldSelect","SelectOption","FormFieldText","required","disabled","isUsedForPsaDb","isAdminCredentialsChangeable","Paragraph","FormFieldPassword","hideGenerateButton","hidePasswordMeter","DELETE_DATABASE","DatabaseServerDatabasesList","databases","initialData","mode","isClassicPanel","deleteDatabase","setData","setSelection","loadingRows","setLoadingRows","selectedRows","handleListReload","DATABASE_SERVER_DATABASES_PAGE","ListOperation","noSelectionText","tooltip","critical","confirmationText","actionButtonText","cancelButtonText","async","graphQLErrors","debugMessage","render","domain","owner","domainId","clientId","clientType","url","encodeURIComponent","Tooltip","Action","src","Outlet","reloadDatabaseList","shape","bool","string","array","StatusTranslate","DELETE_DATABASE_SERVER","DatabaseServersList","isDemo","createDatabaseServerAllowed","manageServerPhpmyadmin","deleteDatabaseServer","warnings","isLocal","isDynamicPort","upgradableServerExists","isUpgradeSupported","renderUpgradeIcon","isLTSVersion","Label","view","createServerButton","lastError","realType","mysql","mssql","postgresql","mariadb","percona","align","databasesCount","isWebadminInstalled","ListActions","ListAction","primary","hidden","actions","CHANGE_DATABASE_SERVER_PASSWORD","DatabaseServerChangePasswordPage","changeDatabaseServerPassword","password","withPageLayout","withDatabaseServerOverviewTabs","showFrames","pageHeader","pageSidebar","pageData","helpMenu","helpContext","pageContentHeader","breadcrumbs","isPowerUserPanel","tabs","tabsHasRootPage","DatabaseServersCreatePage","server","allowedByKeyDatabaseServerTypes","pageTitle","DatabaseServersPropertiesPage","os","DatabaseServerUpgradePage","DatabaseServersPage","databaseServers","primaryKey","keyRemoteDb","viewer","permissions","serversCount","reduce","acc","object","DatabaseServerOverviewTabs","pathname","useLocation","btoa","active","matchPath","Tabs","Tab","onActivate","Component","Wrapper","displayName","WrappedComponent","extract","__typename","entity","fieldName","evict","identify","module","exports","Jsw","skinUrl","doc","loc","source","collectFragmentReferences","node","refs","kind","add","selectionSet","selections","variableDefinitions","def","definitions","definitionRefs","findOperation","i","element","Set","operationName","newDoc","hasOwnProperty","opRefs","allRefs","newRefs","refName","prevRefs","has","childRef","op","oneQuery"],"sourceRoot":""}
Submit
FILE
FOLDER
INFO
Name
Size
Permission
Action
db.js
64188 bytes
0644
db.js.map
201709 bytes
0644
mail.js
90677 bytes
0644
mail.js.map
286717 bytes
0644
N4ST4R_ID | Naxtarrr