@postgres.ai/shared 3.5.0-pr-1027 → 3.5.0-pr-1035.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/AlertSnackbar/index.d.ts +2 -0
- package/components/AlertSnackbar/index.js +8 -0
- package/components/AlertSnackbar/useAlertSnackbar.d.ts +16 -0
- package/components/AlertSnackbar/useAlertSnackbar.js +37 -0
- package/components/Button/index.d.ts +7 -0
- package/components/Button/index.js +40 -0
- package/components/Button2/index.d.ts +13 -0
- package/components/Button2/index.js +10 -0
- package/components/DestroyCloneModal/index.d.ts +9 -0
- package/components/DestroyCloneModal/index.js +23 -0
- package/components/DestroyCloneRestrictionModal/index.d.ts +11 -0
- package/components/DestroyCloneRestrictionModal/index.js +16 -0
- package/components/ErrorStub/index.d.ts +11 -0
- package/components/ErrorStub/index.js +42 -0
- package/components/FormattedText/index.d.ts +7 -0
- package/components/FormattedText/index.js +23 -0
- package/components/GatewayLink/index.d.ts +4 -0
- package/components/GatewayLink/index.js +13 -0
- package/components/HorizontalScrollContainer/index.d.ts +13 -0
- package/components/HorizontalScrollContainer/index.js +72 -0
- package/components/HorizontalScrollContainer/types.d.ts +5 -0
- package/components/HorizontalScrollContainer/{types.ts → types.js} +1 -6
- package/components/HorizontalScrollContainer/utils.d.ts +3 -0
- package/components/HorizontalScrollContainer/utils.js +12 -0
- package/components/ImportantText/index.d.ts +6 -0
- package/components/ImportantText/index.js +12 -0
- package/components/Link2/index.d.ts +7 -0
- package/components/Link2/index.js +17 -0
- package/components/MenuButton/index.d.ts +24 -0
- package/components/MenuButton/index.js +16 -0
- package/components/Modal/index.d.ts +15 -0
- package/components/Modal/index.js +35 -0
- package/components/PageSpinner/index.d.ts +2 -0
- package/components/PageSpinner/{index.tsx → index.js} +5 -11
- package/components/ResetCloneModal/index.d.ts +13 -0
- package/components/ResetCloneModal/index.js +87 -0
- package/components/SectionTitle/index.d.ts +12 -0
- package/components/SectionTitle/index.js +31 -0
- package/components/Select/index.d.ts +18 -0
- package/components/Select/index.js +9 -0
- package/components/SimpleModalControls/index.d.ts +11 -0
- package/components/SimpleModalControls/index.js +19 -0
- package/components/Spinner/icon.d.ts +4 -0
- package/components/Spinner/icon.js +2 -0
- package/components/Spinner/index.d.ts +7 -0
- package/components/Spinner/index.js +8 -0
- package/components/Status/index.d.ts +12 -0
- package/components/Status/index.js +23 -0
- package/components/StubContainer/index.d.ts +7 -0
- package/components/StubContainer/index.js +14 -0
- package/components/StubSpinner/index.d.ts +8 -0
- package/components/StubSpinner/index.js +29 -0
- package/components/StubSpinnerFlex/index.d.ts +9 -0
- package/components/StubSpinnerFlex/index.js +8 -0
- package/components/SyntaxHighlight/index.d.ts +7 -0
- package/components/SyntaxHighlight/index.js +65 -0
- package/components/Table/RowMenu/index.d.ts +14 -0
- package/components/Table/RowMenu/index.js +50 -0
- package/components/Table/index.d.ts +12 -0
- package/components/Table/index.js +58 -0
- package/components/Text/index.d.ts +6 -0
- package/components/Text/index.js +11 -0
- package/components/TextField/index.d.ts +27 -0
- package/components/TextField/index.js +43 -0
- package/components/Tooltip/index.d.ts +12 -0
- package/components/Tooltip/index.js +19 -0
- package/config/index.d.ts +8 -0
- package/config/index.js +23 -0
- package/config/links.d.ts +6 -0
- package/config/links.js +6 -0
- package/helpers/getEntropy.d.ts +3 -0
- package/helpers/getEntropy.js +212 -0
- package/helpers/localStorage.d.ts +6 -0
- package/helpers/localStorage.js +13 -0
- package/helpers/request.d.ts +7 -0
- package/helpers/request.js +35 -0
- package/hooks/useWindowDimensions.d.ts +1 -0
- package/hooks/useWindowDimensions.js +12 -0
- package/icons/ArrowDropDown/index.d.ts +6 -0
- package/icons/ArrowDropDown/index.js +6 -0
- package/icons/Circle/index.d.ts +6 -0
- package/icons/Circle/index.js +5 -0
- package/icons/External/index.d.ts +4 -0
- package/icons/External/index.js +2 -0
- package/icons/Info/index.d.ts +4 -0
- package/icons/Info/index.js +2 -0
- package/icons/Renewable/index.d.ts +6 -0
- package/icons/Renewable/index.js +12 -0
- package/icons/Shield/index.d.ts +6 -0
- package/icons/Shield/index.js +12 -0
- package/icons/Warning/index.d.ts +6 -0
- package/icons/Warning/index.js +6 -0
- package/package.json +5 -13
- package/pages/Clone/Status/index.d.ts +8 -0
- package/pages/Clone/Status/index.js +38 -0
- package/pages/Clone/context.d.ts +19 -0
- package/pages/Clone/context.js +3 -0
- package/pages/Clone/index.d.ts +7 -0
- package/pages/Clone/index.js +221 -0
- package/pages/Clone/stores/Main.d.ts +45 -0
- package/pages/Clone/stores/Main.js +141 -0
- package/pages/Clone/useCreatedStores.d.ts +6 -0
- package/pages/Clone/useCreatedStores.js +5 -0
- package/pages/Configuration/Header/index.d.ts +11 -0
- package/pages/Configuration/Header/index.js +17 -0
- package/pages/Configuration/InputWithTooltip/index.d.ts +32 -0
- package/pages/Configuration/InputWithTooltip/index.js +60 -0
- package/pages/Configuration/ResponseMessage/index.d.ts +5 -0
- package/pages/Configuration/ResponseMessage/index.js +43 -0
- package/pages/Configuration/configOptions.d.ts +9 -0
- package/pages/Configuration/configOptions.js +59 -0
- package/pages/Configuration/index.d.ts +9 -0
- package/pages/Configuration/index.js +544 -0
- package/pages/Configuration/tooltipText.d.ts +20 -0
- package/pages/Configuration/tooltipText.js +21 -0
- package/pages/Configuration/useForm.d.ts +82 -0
- package/pages/Configuration/useForm.js +74 -0
- package/pages/Configuration/utils/index.d.ts +22 -0
- package/pages/Configuration/utils/index.js +105 -0
- package/pages/CreateClone/index.d.ts +17 -0
- package/pages/CreateClone/index.js +90 -0
- package/pages/CreateClone/stores/Main.d.ts +26 -0
- package/pages/CreateClone/stores/Main.js +61 -0
- package/pages/CreateClone/useCreatedStores.d.ts +6 -0
- package/pages/CreateClone/useCreatedStores.js +5 -0
- package/pages/CreateClone/useForm.d.ts +54 -0
- package/pages/CreateClone/useForm.js +25 -0
- package/pages/Instance/Clones/Header/Item/index.d.ts +7 -0
- package/pages/Instance/Clones/Header/Item/index.js +5 -0
- package/pages/Instance/Clones/Header/index.d.ts +9 -0
- package/pages/Instance/Clones/Header/index.js +16 -0
- package/pages/Instance/Clones/index.d.ts +4 -0
- package/pages/Instance/Clones/index.js +66 -0
- package/pages/Instance/ClonesModal/index.d.ts +4 -0
- package/pages/Instance/ClonesModal/index.js +38 -0
- package/pages/Instance/ClonesModal/utils.d.ts +7 -0
- package/pages/Instance/ClonesModal/utils.js +14 -0
- package/pages/Instance/InactiveInstance/index.d.ts +6 -0
- package/pages/Instance/InactiveInstance/index.js +65 -0
- package/pages/Instance/InactiveInstance/utils.d.ts +2 -0
- package/pages/Instance/InactiveInstance/utils.js +7 -0
- package/pages/Instance/Info/Connection/ConnectModal/Content/index.d.ts +4 -0
- package/pages/Instance/Info/Connection/ConnectModal/Content/index.js +73 -0
- package/pages/Instance/Info/Connection/ConnectModal/Content/utils.d.ts +3 -0
- package/pages/Instance/Info/Connection/ConnectModal/Content/utils.js +20 -0
- package/pages/Instance/Info/Connection/ConnectModal/index.d.ts +6 -0
- package/pages/Instance/Info/Connection/ConnectModal/index.js +17 -0
- package/pages/Instance/Info/Connection/index.d.ts +4 -0
- package/pages/Instance/Info/Connection/index.js +44 -0
- package/pages/Instance/Info/Details/index.d.ts +2 -0
- package/pages/Instance/Info/Details/index.js +6 -0
- package/pages/Instance/Info/Disks/Disk/ActionsMenu/index.d.ts +8 -0
- package/pages/Instance/Info/Disks/Disk/ActionsMenu/index.js +47 -0
- package/pages/Instance/Info/Disks/Disk/Marker/index.d.ts +6 -0
- package/pages/Instance/Info/Disks/Disk/Marker/index.js +15 -0
- package/pages/Instance/Info/Disks/Disk/ProgressBar/PointerIcon.d.ts +5 -0
- package/pages/Instance/Info/Disks/Disk/ProgressBar/PointerIcon.js +2 -0
- package/pages/Instance/Info/Disks/Disk/ProgressBar/index.d.ts +8 -0
- package/pages/Instance/Info/Disks/Disk/ProgressBar/index.js +45 -0
- package/pages/Instance/Info/Disks/Disk/Status/index.d.ts +6 -0
- package/pages/Instance/Info/Disks/Disk/Status/index.js +52 -0
- package/pages/Instance/Info/Disks/Disk/index.d.ts +15 -0
- package/pages/Instance/Info/Disks/Disk/index.js +69 -0
- package/pages/Instance/Info/Disks/index.d.ts +4 -0
- package/pages/Instance/Info/Disks/index.js +24 -0
- package/pages/Instance/Info/Icons/index.d.ts +7 -0
- package/pages/Instance/Info/Icons/index.js +3 -0
- package/pages/Instance/Info/Retrieval/RefreshFailedAlert/index.d.ts +4 -0
- package/pages/Instance/Info/Retrieval/RefreshFailedAlert/index.js +15 -0
- package/pages/Instance/Info/Retrieval/RetrievalModal/index.d.ts +10 -0
- package/pages/Instance/Info/Retrieval/RetrievalModal/index.js +15 -0
- package/pages/Instance/Info/Retrieval/RetrievalTable/index.d.ts +6 -0
- package/pages/Instance/Info/Retrieval/RetrievalTable/index.js +6 -0
- package/pages/Instance/Info/Retrieval/index.d.ts +4 -0
- package/pages/Instance/Info/Retrieval/index.js +49 -0
- package/pages/Instance/Info/Retrieval/utils.d.ts +2 -0
- package/pages/Instance/Info/Retrieval/utils.js +12 -0
- package/pages/Instance/Info/Snapshots/Calendar/Day/index.d.ts +11 -0
- package/pages/Instance/Info/Snapshots/Calendar/Day/index.js +71 -0
- package/pages/Instance/Info/Snapshots/Calendar/index.d.ts +8 -0
- package/pages/Instance/Info/Snapshots/Calendar/index.js +67 -0
- package/pages/Instance/Info/Snapshots/Calendar/utils.d.ts +23 -0
- package/pages/Instance/Info/Snapshots/Calendar/utils.js +41 -0
- package/pages/Instance/Info/Snapshots/TimeLine/Day/index.d.ts +6 -0
- package/pages/Instance/Info/Snapshots/TimeLine/Day/index.js +58 -0
- package/pages/Instance/Info/Snapshots/TimeLine/index.d.ts +2 -0
- package/pages/Instance/Info/Snapshots/TimeLine/index.js +32 -0
- package/pages/Instance/Info/Snapshots/index.d.ts +4 -0
- package/pages/Instance/Info/Snapshots/index.js +35 -0
- package/pages/Instance/Info/Snapshots/utils.d.ts +23 -0
- package/pages/Instance/Info/Snapshots/utils.js +16 -0
- package/pages/Instance/Info/Status/InstanceResponseModal/index.d.ts +9 -0
- package/pages/Instance/Info/Status/InstanceResponseModal/index.js +12 -0
- package/pages/Instance/Info/Status/index.d.ts +4 -0
- package/pages/Instance/Info/Status/index.js +31 -0
- package/pages/Instance/Info/Status/utils.d.ts +8 -0
- package/pages/Instance/Info/Status/utils.js +23 -0
- package/pages/Instance/Info/components/Property/index.d.ts +11 -0
- package/pages/Instance/Info/components/Property/index.js +14 -0
- package/pages/Instance/Info/components/Section/index.d.ts +8 -0
- package/pages/Instance/Info/components/Section/index.js +18 -0
- package/pages/Instance/Info/components/ValueStatus/index.d.ts +9 -0
- package/pages/Instance/Info/components/ValueStatus/index.js +18 -0
- package/pages/Instance/Info/index.d.ts +2 -0
- package/pages/Instance/Info/index.js +75 -0
- package/pages/Instance/SnapshotsModal/index.d.ts +4 -0
- package/pages/Instance/SnapshotsModal/index.js +81 -0
- package/pages/Instance/SnapshotsModal/utils.d.ts +7 -0
- package/{components/HorizontalScrollContainer/utils.ts → pages/Instance/SnapshotsModal/utils.js} +8 -9
- package/pages/Instance/Tabs/index.d.ts +9 -0
- package/pages/Instance/Tabs/index.js +40 -0
- package/pages/Instance/components/ClonesList/ConnectionModal/index.d.ts +10 -0
- package/pages/Instance/components/ClonesList/ConnectionModal/index.js +74 -0
- package/pages/Instance/components/ClonesList/MenuCell/index.d.ts +11 -0
- package/pages/Instance/components/ClonesList/MenuCell/index.js +49 -0
- package/pages/Instance/components/ClonesList/MenuCell/utils.d.ts +3 -0
- package/pages/Instance/components/ClonesList/MenuCell/utils.js +18 -0
- package/pages/Instance/components/ClonesList/index.d.ts +9 -0
- package/pages/Instance/components/ClonesList/index.js +52 -0
- package/pages/Instance/components/ErrorStub/index.d.ts +9 -0
- package/pages/Instance/components/ErrorStub/index.js +42 -0
- package/pages/Instance/components/ModalReloadButton/index.d.ts +7 -0
- package/pages/Instance/components/ModalReloadButton/index.js +22 -0
- package/pages/Instance/components/Tags/Tag/index.d.ts +7 -0
- package/pages/Instance/components/Tags/Tag/index.js +35 -0
- package/pages/Instance/components/Tags/index.d.ts +8 -0
- package/pages/Instance/components/Tags/index.js +16 -0
- package/pages/Instance/context.d.ts +31 -0
- package/pages/Instance/{ClonesModal/utils.ts → context.js} +5 -15
- package/pages/Instance/index.d.ts +8 -0
- package/pages/Instance/index.js +93 -0
- package/pages/Instance/stores/ClonesModal.d.ts +13 -0
- package/pages/Instance/stores/ClonesModal.js +24 -0
- package/pages/Instance/stores/Main.d.ts +115 -0
- package/pages/Instance/stores/Main.js +243 -0
- package/pages/Instance/stores/SnapshotsModal.d.ts +13 -0
- package/pages/Instance/stores/SnapshotsModal.js +24 -0
- package/pages/Instance/useCreatedStores.d.ts +10 -0
- package/pages/Instance/useCreatedStores.js +9 -0
- package/pages/Logs/Icons/PlusIcon.d.ts +2 -0
- package/pages/Logs/Icons/PlusIcon.js +2 -0
- package/pages/Logs/constants/index.d.ts +5 -0
- package/pages/Logs/constants/index.js +5 -0
- package/pages/Logs/hooks/useWsScroll.d.ts +1 -0
- package/pages/Logs/hooks/useWsScroll.js +39 -0
- package/pages/Logs/index.d.ts +5 -0
- package/pages/Logs/index.js +189 -0
- package/pages/Logs/utils/index.d.ts +2 -0
- package/pages/Logs/utils/index.js +15 -0
- package/pages/Logs/wsLogs.d.ts +2 -0
- package/pages/Logs/wsLogs.js +76 -0
- package/pages/Logs/wsSnackbar.d.ts +1 -0
- package/pages/Logs/wsSnackbar.js +25 -0
- package/stores/Snapshots.d.ts +15 -0
- package/stores/Snapshots.js +35 -0
- package/styles/colors.d.ts +60 -0
- package/styles/colors.js +66 -0
- package/styles/icons.d.ts +63 -0
- package/styles/icons.js +69 -0
- package/styles/styles.d.ts +1 -0
- package/styles/styles.js +83 -0
- package/styles/theme.d.ts +1 -0
- package/styles/theme.js +50 -0
- package/styles/vars.d.ts +25 -0
- package/styles/{vars.ts → vars.js} +20 -28
- package/types/api/endpoints/createClone.d.ts +12 -0
- package/types/api/endpoints/createClone.js +1 -0
- package/types/api/endpoints/destroyClone.d.ts +7 -0
- package/types/api/endpoints/destroyClone.js +1 -0
- package/types/api/endpoints/getClone.d.ts +8 -0
- package/types/api/endpoints/getClone.js +1 -0
- package/types/api/endpoints/getConfig.d.ts +5 -0
- package/types/api/endpoints/getConfig.js +1 -0
- package/types/api/endpoints/getEngine.d.ts +10 -0
- package/types/api/endpoints/getEngine.js +1 -0
- package/types/api/endpoints/getFullConfig.d.ts +4 -0
- package/types/api/endpoints/getFullConfig.js +1 -0
- package/types/api/endpoints/getInstance.d.ts +7 -0
- package/types/api/endpoints/getInstance.js +1 -0
- package/types/api/endpoints/getInstanceRetrieval.d.ts +7 -0
- package/types/api/endpoints/getInstanceRetrieval.js +1 -0
- package/types/api/endpoints/getSeImages.d.ts +19 -0
- package/types/api/endpoints/getSeImages.js +1 -0
- package/types/api/endpoints/getSnapshots.d.ts +7 -0
- package/types/api/endpoints/getSnapshots.js +1 -0
- package/types/api/endpoints/getWSToken.d.ts +7 -0
- package/types/api/endpoints/getWSToken.js +1 -0
- package/types/api/endpoints/initWS.d.ts +1 -0
- package/types/api/endpoints/initWS.js +1 -0
- package/types/api/endpoints/refreshInstance.d.ts +6 -0
- package/types/api/endpoints/refreshInstance.js +1 -0
- package/types/api/endpoints/resetClone.d.ts +8 -0
- package/types/api/endpoints/resetClone.js +1 -0
- package/types/api/endpoints/testDbSource.d.ts +22 -0
- package/types/api/endpoints/testDbSource.js +23 -0
- package/types/api/endpoints/updateClone.d.ts +10 -0
- package/types/api/endpoints/updateClone.js +1 -0
- package/types/api/endpoints/updateConfig.d.ts +5 -0
- package/types/api/endpoints/updateConfig.js +1 -0
- package/types/api/entities/clone.d.ts +50 -0
- package/{components/Text/index.tsx → types/api/entities/clone.js} +8 -22
- package/types/api/entities/config.d.ts +72 -0
- package/types/api/entities/config.js +35 -0
- package/types/api/entities/dbSource.d.ts +12 -0
- package/types/api/entities/dbSource.js +1 -0
- package/types/api/entities/instance.d.ts +109 -0
- package/types/api/entities/instance.js +31 -0
- package/types/api/entities/instanceRetrieval.d.ts +42 -0
- package/types/api/entities/instanceRetrieval.js +19 -0
- package/types/api/entities/instanceState.d.ts +109 -0
- package/types/api/entities/instanceState.js +42 -0
- package/types/api/entities/pool.d.ts +18 -0
- package/{utils/numbers.ts → types/api/entities/pool.js} +1 -5
- package/types/api/entities/snapshot.d.ts +19 -0
- package/types/api/entities/snapshot.js +6 -0
- package/types/api/entities/wsToken.d.ts +5 -0
- package/types/api/entities/wsToken.js +1 -0
- package/utils/api.d.ts +1 -0
- package/utils/api.js +28 -0
- package/utils/clone.d.ts +13 -0
- package/utils/clone.js +21 -0
- package/utils/connection.d.ts +5 -0
- package/utils/connection.js +28 -0
- package/utils/date.d.ts +16 -0
- package/utils/date.js +33 -0
- package/utils/instance.d.ts +5 -0
- package/utils/instance.js +11 -0
- package/utils/numbers.d.ts +1 -0
- package/utils/{strings.ts → numbers.js} +4 -5
- package/utils/react.d.ts +5 -0
- package/utils/react.js +8 -0
- package/utils/snapshot.d.ts +2 -0
- package/utils/snapshot.js +1 -0
- package/utils/strings.d.ts +1 -0
- package/utils/strings.js +10 -0
- package/utils/units.d.ts +5 -0
- package/utils/units.js +15 -0
- package/.gitlab-ci.yml +0 -64
- package/components/AlertSnackbar/index.tsx +0 -23
- package/components/AlertSnackbar/useAlertSnackbar.tsx +0 -65
- package/components/Button/index.tsx +0 -79
- package/components/Button2/index.tsx +0 -43
- package/components/DestroyCloneModal/index.tsx +0 -56
- package/components/DestroyCloneRestrictionModal/index.tsx +0 -50
- package/components/ErrorStub/index.tsx +0 -83
- package/components/FormattedText/index.tsx +0 -44
- package/components/GatewayLink/index.tsx +0 -33
- package/components/HorizontalScrollContainer/index.tsx +0 -131
- package/components/ImportantText/index.tsx +0 -29
- package/components/Link2/index.tsx +0 -31
- package/components/MenuButton/index.tsx +0 -80
- package/components/Modal/index.tsx +0 -93
- package/components/ResetCloneModal/index.tsx +0 -154
- package/components/SectionTitle/index.tsx +0 -74
- package/components/Select/index.tsx +0 -42
- package/components/SimpleModalControls/index.tsx +0 -56
- package/components/Spinner/icon.tsx +0 -29
- package/components/Spinner/index.tsx +0 -16
- package/components/Status/index.tsx +0 -61
- package/components/StubContainer/index.tsx +0 -41
- package/components/StubSpinner/index.tsx +0 -49
- package/components/StubSpinnerFlex/index.tsx +0 -20
- package/components/SyntaxHighlight/index.tsx +0 -107
- package/components/Table/RowMenu/index.tsx +0 -111
- package/components/Table/index.tsx +0 -140
- package/components/TextField/index.tsx +0 -117
- package/components/Tooltip/index.tsx +0 -52
- package/config/index.ts +0 -32
- package/config/links.ts +0 -6
- package/craco.config.js +0 -80
- package/helpers/getEntropy.ts +0 -232
- package/helpers/localStorage.ts +0 -15
- package/helpers/request.ts +0 -47
- package/hooks/useWindowDimensions.ts +0 -16
- package/icons/ArrowDropDown/index.tsx +0 -29
- package/icons/Circle/index.tsx +0 -27
- package/icons/External/index.tsx +0 -14
- package/icons/Info/index.tsx +0 -12
- package/icons/Renewable/index.tsx +0 -65
- package/icons/Shield/index.tsx +0 -33
- package/icons/Warning/index.tsx +0 -29
- package/pages/Clone/Status/index.tsx +0 -73
- package/pages/Clone/context.ts +0 -22
- package/pages/Clone/index.tsx +0 -634
- package/pages/Clone/stores/Main.ts +0 -206
- package/pages/Clone/useCreatedStores.ts +0 -11
- package/pages/Configuration/Header/index.tsx +0 -84
- package/pages/Configuration/InputWithTooltip/index.tsx +0 -240
- package/pages/Configuration/ResponseMessage/index.tsx +0 -71
- package/pages/Configuration/configOptions.ts +0 -60
- package/pages/Configuration/index.tsx +0 -1184
- package/pages/Configuration/tooltipText.tsx +0 -157
- package/pages/Configuration/useForm.ts +0 -108
- package/pages/Configuration/utils/index.ts +0 -153
- package/pages/CreateClone/index.tsx +0 -311
- package/pages/CreateClone/stores/Main.ts +0 -107
- package/pages/CreateClone/useCreatedStores.ts +0 -11
- package/pages/CreateClone/useForm.ts +0 -36
- package/pages/Instance/Clones/Header/Item/index.tsx +0 -15
- package/pages/Instance/Clones/Header/index.tsx +0 -74
- package/pages/Instance/Clones/index.tsx +0 -135
- package/pages/Instance/ClonesModal/index.tsx +0 -71
- package/pages/Instance/InactiveInstance/index.tsx +0 -165
- package/pages/Instance/InactiveInstance/utils.ts +0 -9
- package/pages/Instance/Info/Connection/ConnectModal/Content/index.tsx +0 -176
- package/pages/Instance/Info/Connection/ConnectModal/Content/utils.ts +0 -24
- package/pages/Instance/Info/Connection/ConnectModal/index.tsx +0 -36
- package/pages/Instance/Info/Connection/index.tsx +0 -81
- package/pages/Instance/Info/Details/index.tsx +0 -20
- package/pages/Instance/Info/Disks/Disk/ActionsMenu/index.tsx +0 -100
- package/pages/Instance/Info/Disks/Disk/Marker/index.tsx +0 -26
- package/pages/Instance/Info/Disks/Disk/ProgressBar/PointerIcon.tsx +0 -20
- package/pages/Instance/Info/Disks/Disk/ProgressBar/index.tsx +0 -73
- package/pages/Instance/Info/Disks/Disk/Status/index.tsx +0 -75
- package/pages/Instance/Info/Disks/Disk/index.tsx +0 -168
- package/pages/Instance/Info/Disks/index.tsx +0 -65
- package/pages/Instance/Info/Icons/index.tsx +0 -39
- package/pages/Instance/Info/Retrieval/RefreshFailedAlert/index.tsx +0 -32
- package/pages/Instance/Info/Retrieval/RetrievalModal/index.tsx +0 -49
- package/pages/Instance/Info/Retrieval/RetrievalTable/index.tsx +0 -53
- package/pages/Instance/Info/Retrieval/index.tsx +0 -95
- package/pages/Instance/Info/Retrieval/utils.ts +0 -10
- package/pages/Instance/Info/Snapshots/Calendar/Day/index.tsx +0 -125
- package/pages/Instance/Info/Snapshots/Calendar/index.tsx +0 -133
- package/pages/Instance/Info/Snapshots/Calendar/utils.ts +0 -74
- package/pages/Instance/Info/Snapshots/TimeLine/Day/index.tsx +0 -79
- package/pages/Instance/Info/Snapshots/TimeLine/index.tsx +0 -57
- package/pages/Instance/Info/Snapshots/index.tsx +0 -97
- package/pages/Instance/Info/Snapshots/utils.ts +0 -18
- package/pages/Instance/Info/Status/InstanceResponseModal/index.tsx +0 -32
- package/pages/Instance/Info/Status/index.tsx +0 -85
- package/pages/Instance/Info/Status/utils.ts +0 -24
- package/pages/Instance/Info/components/Property/index.tsx +0 -32
- package/pages/Instance/Info/components/Section/index.tsx +0 -50
- package/pages/Instance/Info/components/ValueStatus/index.tsx +0 -51
- package/pages/Instance/Info/index.tsx +0 -129
- package/pages/Instance/SnapshotsModal/index.tsx +0 -169
- package/pages/Instance/SnapshotsModal/utils.ts +0 -17
- package/pages/Instance/Tabs/index.tsx +0 -98
- package/pages/Instance/components/ClonesList/ConnectionModal/index.tsx +0 -196
- package/pages/Instance/components/ClonesList/MenuCell/index.tsx +0 -98
- package/pages/Instance/components/ClonesList/MenuCell/utils.ts +0 -21
- package/pages/Instance/components/ClonesList/index.tsx +0 -189
- package/pages/Instance/components/ErrorStub/index.tsx +0 -77
- package/pages/Instance/components/ModalReloadButton/index.tsx +0 -43
- package/pages/Instance/components/Tags/Tag/index.tsx +0 -60
- package/pages/Instance/components/Tags/index.tsx +0 -42
- package/pages/Instance/context.ts +0 -39
- package/pages/Instance/index.tsx +0 -235
- package/pages/Instance/stores/ClonesModal.ts +0 -35
- package/pages/Instance/stores/Main.ts +0 -335
- package/pages/Instance/stores/SnapshotsModal.ts +0 -35
- package/pages/Instance/useCreatedStores.ts +0 -14
- package/pages/Logs/Icons/PlusIcon.tsx +0 -8
- package/pages/Logs/constants/index.ts +0 -7
- package/pages/Logs/hooks/useWsScroll.tsx +0 -44
- package/pages/Logs/index.tsx +0 -267
- package/pages/Logs/utils/index.ts +0 -20
- package/pages/Logs/wsLogs.ts +0 -110
- package/pages/Logs/wsSnackbar.ts +0 -27
- package/postgres.ai-shared-3.5.0.tgz +0 -0
- package/scripts/copy-assets.js +0 -30
- package/scripts/pack.js +0 -70
- package/stores/Snapshots.ts +0 -54
- package/styles/colors.ts +0 -67
- package/styles/icons.tsx +0 -1917
- package/styles/styles.ts +0 -87
- package/styles/theme.ts +0 -53
- package/types/api/endpoints/createClone.ts +0 -10
- package/types/api/endpoints/destroyClone.ts +0 -7
- package/types/api/endpoints/getClone.ts +0 -6
- package/types/api/endpoints/getConfig.ts +0 -6
- package/types/api/endpoints/getEngine.ts +0 -13
- package/types/api/endpoints/getFullConfig.ts +0 -4
- package/types/api/endpoints/getInstance.ts +0 -6
- package/types/api/endpoints/getInstanceRetrieval.ts +0 -6
- package/types/api/endpoints/getSeImages.ts +0 -22
- package/types/api/endpoints/getSnapshots.ts +0 -6
- package/types/api/endpoints/getWSToken.ts +0 -6
- package/types/api/endpoints/initWS.ts +0 -1
- package/types/api/endpoints/refreshInstance.ts +0 -4
- package/types/api/endpoints/resetClone.ts +0 -8
- package/types/api/endpoints/testDbSource.ts +0 -48
- package/types/api/endpoints/updateClone.ts +0 -10
- package/types/api/endpoints/updateConfig.ts +0 -6
- package/types/api/entities/clone.ts +0 -42
- package/types/api/entities/config.ts +0 -114
- package/types/api/entities/dbSource.ts +0 -13
- package/types/api/entities/instance.ts +0 -67
- package/types/api/entities/instanceRetrieval.ts +0 -46
- package/types/api/entities/instanceState.ts +0 -102
- package/types/api/entities/pool.ts +0 -27
- package/types/api/entities/snapshot.ts +0 -18
- package/types/api/entities/wsToken.ts +0 -7
- package/types/byte-size/index.d.ts +0 -22
- package/utils/api.ts +0 -30
- package/utils/clone.ts +0 -31
- package/utils/connection.ts +0 -38
- package/utils/date.ts +0 -87
- package/utils/instance.ts +0 -10
- package/utils/react.ts +0 -10
- package/utils/snapshot.ts +0 -4
- package/utils/units.ts +0 -23
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { formatDatabases, formatDumpCustomOptions, getImageMajorVersion, getImageType, isSeDockerImage, } from '@postgres.ai/shared/pages/Configuration/utils';
|
|
2
|
+
import { formatTuningParams } from '../endpoints/testDbSource';
|
|
3
|
+
export const formatConfig = (config) => {
|
|
4
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42;
|
|
5
|
+
const dockerImage = (_a = config.databaseContainer) === null || _a === void 0 ? void 0 : _a.dockerImage;
|
|
6
|
+
return {
|
|
7
|
+
debug: (_b = config.global) === null || _b === void 0 ? void 0 : _b.debug,
|
|
8
|
+
dockerImage: isSeDockerImage(dockerImage)
|
|
9
|
+
? getImageMajorVersion(dockerImage)
|
|
10
|
+
: dockerImage,
|
|
11
|
+
...(dockerImage && {
|
|
12
|
+
dockerImageType: getImageType(dockerImage),
|
|
13
|
+
}),
|
|
14
|
+
...(isSeDockerImage(dockerImage) && {
|
|
15
|
+
dockerTag: dockerImage === null || dockerImage === void 0 ? void 0 : dockerImage.split(':')[1],
|
|
16
|
+
}),
|
|
17
|
+
dockerPath: dockerImage,
|
|
18
|
+
tuningParams: formatTuningParams((_c = config.databaseConfigs) === null || _c === void 0 ? void 0 : _c.configs),
|
|
19
|
+
sharedBuffers: (_e = (_d = config.databaseConfigs) === null || _d === void 0 ? void 0 : _d.configs) === null || _e === void 0 ? void 0 : _e.shared_buffers,
|
|
20
|
+
sharedPreloadLibraries: (_g = (_f = config.databaseConfigs) === null || _f === void 0 ? void 0 : _f.configs) === null || _g === void 0 ? void 0 : _g.shared_preload_libraries,
|
|
21
|
+
timetable: (_j = (_h = config.retrieval) === null || _h === void 0 ? void 0 : _h.refresh) === null || _j === void 0 ? void 0 : _j.timetable,
|
|
22
|
+
dbname: (_q = (_p = (_o = (_m = (_l = (_k = config.retrieval) === null || _k === void 0 ? void 0 : _k.spec) === null || _l === void 0 ? void 0 : _l.logicalDump) === null || _m === void 0 ? void 0 : _m.options) === null || _o === void 0 ? void 0 : _o.source) === null || _p === void 0 ? void 0 : _p.connection) === null || _q === void 0 ? void 0 : _q.dbname,
|
|
23
|
+
host: (_w = (_v = (_u = (_t = (_s = (_r = config.retrieval) === null || _r === void 0 ? void 0 : _r.spec) === null || _s === void 0 ? void 0 : _s.logicalDump) === null || _t === void 0 ? void 0 : _t.options) === null || _u === void 0 ? void 0 : _u.source) === null || _v === void 0 ? void 0 : _v.connection) === null || _w === void 0 ? void 0 : _w.host,
|
|
24
|
+
port: (_2 = (_1 = (_0 = (_z = (_y = (_x = config.retrieval) === null || _x === void 0 ? void 0 : _x.spec) === null || _y === void 0 ? void 0 : _y.logicalDump) === null || _z === void 0 ? void 0 : _z.options) === null || _0 === void 0 ? void 0 : _0.source) === null || _1 === void 0 ? void 0 : _1.connection) === null || _2 === void 0 ? void 0 : _2.port,
|
|
25
|
+
username: (_8 = (_7 = (_6 = (_5 = (_4 = (_3 = config.retrieval) === null || _3 === void 0 ? void 0 : _3.spec) === null || _4 === void 0 ? void 0 : _4.logicalDump) === null || _5 === void 0 ? void 0 : _5.options) === null || _6 === void 0 ? void 0 : _6.source) === null || _7 === void 0 ? void 0 : _7.connection) === null || _8 === void 0 ? void 0 : _8.username,
|
|
26
|
+
password: (_14 = (_13 = (_12 = (_11 = (_10 = (_9 = config.retrieval) === null || _9 === void 0 ? void 0 : _9.spec) === null || _10 === void 0 ? void 0 : _10.logicalDump) === null || _11 === void 0 ? void 0 : _11.options) === null || _12 === void 0 ? void 0 : _12.source) === null || _13 === void 0 ? void 0 : _13.connection) === null || _14 === void 0 ? void 0 : _14.password,
|
|
27
|
+
databases: formatDatabases((_18 = (_17 = (_16 = (_15 = config.retrieval) === null || _15 === void 0 ? void 0 : _15.spec) === null || _16 === void 0 ? void 0 : _16.logicalDump) === null || _17 === void 0 ? void 0 : _17.options) === null || _18 === void 0 ? void 0 : _18.databases),
|
|
28
|
+
dumpParallelJobs: (_22 = (_21 = (_20 = (_19 = config.retrieval) === null || _19 === void 0 ? void 0 : _19.spec) === null || _20 === void 0 ? void 0 : _20.logicalDump) === null || _21 === void 0 ? void 0 : _21.options) === null || _22 === void 0 ? void 0 : _22.parallelJobs,
|
|
29
|
+
dumpIgnoreErrors: (_26 = (_25 = (_24 = (_23 = config.retrieval) === null || _23 === void 0 ? void 0 : _23.spec) === null || _24 === void 0 ? void 0 : _24.logicalDump) === null || _25 === void 0 ? void 0 : _25.options) === null || _26 === void 0 ? void 0 : _26.ignoreErrors,
|
|
30
|
+
restoreParallelJobs: (_30 = (_29 = (_28 = (_27 = config.retrieval) === null || _27 === void 0 ? void 0 : _27.spec) === null || _28 === void 0 ? void 0 : _28.logicalRestore) === null || _29 === void 0 ? void 0 : _29.options) === null || _30 === void 0 ? void 0 : _30.parallelJobs,
|
|
31
|
+
restoreIgnoreErrors: (_34 = (_33 = (_32 = (_31 = config.retrieval) === null || _31 === void 0 ? void 0 : _31.spec) === null || _32 === void 0 ? void 0 : _32.logicalRestore) === null || _33 === void 0 ? void 0 : _33.options) === null || _34 === void 0 ? void 0 : _34.ignoreErrors,
|
|
32
|
+
pgDumpCustomOptions: formatDumpCustomOptions(((_38 = (_37 = (_36 = (_35 = config.retrieval) === null || _35 === void 0 ? void 0 : _35.spec) === null || _36 === void 0 ? void 0 : _36.logicalDump) === null || _37 === void 0 ? void 0 : _37.options) === null || _38 === void 0 ? void 0 : _38.customOptions) || null),
|
|
33
|
+
pgRestoreCustomOptions: formatDumpCustomOptions(((_42 = (_41 = (_40 = (_39 = config.retrieval) === null || _39 === void 0 ? void 0 : _39.spec) === null || _40 === void 0 ? void 0 : _40.logicalRestore) === null || _41 === void 0 ? void 0 : _41.options) === null || _42 === void 0 ? void 0 : _42.customOptions) || null),
|
|
34
|
+
};
|
|
35
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
import { InstanceStateDto } from '@postgres.ai/shared/types/api/entities/instanceState';
|
|
2
|
+
declare type CoreInstanceDto = {
|
|
3
|
+
id: number;
|
|
4
|
+
state: InstanceStateDto;
|
|
5
|
+
plan: string;
|
|
6
|
+
selfassigned_instance_id: string;
|
|
7
|
+
};
|
|
8
|
+
declare type CeInstanceDto = CoreInstanceDto & {};
|
|
9
|
+
declare type PlatformInstanceDto = CoreInstanceDto & {
|
|
10
|
+
created_at: string;
|
|
11
|
+
telemetry_last_reported_at?: string;
|
|
12
|
+
created_formatted: string;
|
|
13
|
+
iid: number | null;
|
|
14
|
+
is_active: true;
|
|
15
|
+
org_id: number;
|
|
16
|
+
project_alias: string;
|
|
17
|
+
project_id: number;
|
|
18
|
+
project_name: string;
|
|
19
|
+
ssh_server_url: string | null;
|
|
20
|
+
url: string;
|
|
21
|
+
use_tunnel: boolean;
|
|
22
|
+
verify_token: string;
|
|
23
|
+
};
|
|
24
|
+
export declare type InstanceDto = CeInstanceDto | PlatformInstanceDto;
|
|
25
|
+
export declare const formatInstanceDto: (dto: InstanceDto) => {
|
|
26
|
+
createdFormatted?: string | undefined;
|
|
27
|
+
iid?: number | null | undefined;
|
|
28
|
+
isActive?: true | undefined;
|
|
29
|
+
orgId?: string | undefined;
|
|
30
|
+
projectAlias?: string | undefined;
|
|
31
|
+
projectId?: string | undefined;
|
|
32
|
+
projectName?: string | undefined;
|
|
33
|
+
sshServerUrl?: string | null | undefined;
|
|
34
|
+
useTunnel?: boolean | undefined;
|
|
35
|
+
verifyToken?: string | undefined;
|
|
36
|
+
url?: string | undefined;
|
|
37
|
+
telemetryLastReportedAt?: Date | undefined;
|
|
38
|
+
createdAt?: Date | undefined;
|
|
39
|
+
id: string;
|
|
40
|
+
state: {
|
|
41
|
+
engine: {
|
|
42
|
+
version: string | null;
|
|
43
|
+
startedAt: "" | Date | undefined;
|
|
44
|
+
disableConfigModification: boolean;
|
|
45
|
+
};
|
|
46
|
+
retrieving: {
|
|
47
|
+
lastRefresh: Date | null;
|
|
48
|
+
nextRefresh: Date | null;
|
|
49
|
+
mode: string;
|
|
50
|
+
status: "refreshing" | "finished" | "failed" | "pending";
|
|
51
|
+
alerts: {
|
|
52
|
+
refreshFailed: {
|
|
53
|
+
level: "error";
|
|
54
|
+
message: string;
|
|
55
|
+
lastSeen: Date;
|
|
56
|
+
count: number;
|
|
57
|
+
} | undefined;
|
|
58
|
+
} | undefined;
|
|
59
|
+
} | undefined;
|
|
60
|
+
cloning: {
|
|
61
|
+
clones: {
|
|
62
|
+
createdAt: string;
|
|
63
|
+
createdAtDate: Date;
|
|
64
|
+
snapshot: {
|
|
65
|
+
createdAtDate: Date;
|
|
66
|
+
dataStateAtDate: Date;
|
|
67
|
+
createdAt: string;
|
|
68
|
+
dataStateAt: string;
|
|
69
|
+
id: string;
|
|
70
|
+
pool: string;
|
|
71
|
+
physicalSize: number;
|
|
72
|
+
logicalSize: number;
|
|
73
|
+
} | null;
|
|
74
|
+
id: string;
|
|
75
|
+
status: {
|
|
76
|
+
code: "OK" | "CREATING" | "DELETING" | "RESETTING" | "FATAL";
|
|
77
|
+
message: string;
|
|
78
|
+
};
|
|
79
|
+
protected: boolean;
|
|
80
|
+
metadata: {
|
|
81
|
+
cloneDiffSize: number;
|
|
82
|
+
cloningTime: number;
|
|
83
|
+
};
|
|
84
|
+
db: {
|
|
85
|
+
username: string;
|
|
86
|
+
port: string;
|
|
87
|
+
host: string;
|
|
88
|
+
};
|
|
89
|
+
}[];
|
|
90
|
+
expectedCloningTime: number;
|
|
91
|
+
};
|
|
92
|
+
pools: import("./pool").PoolDto[] | null;
|
|
93
|
+
dataSize: number | null;
|
|
94
|
+
status: {
|
|
95
|
+
code: "OK" | "WARNING" | "NO_RESPONSE";
|
|
96
|
+
message: string;
|
|
97
|
+
};
|
|
98
|
+
clones?: import("./clone").CloneDto[] | undefined;
|
|
99
|
+
expectedCloningTime?: number | undefined;
|
|
100
|
+
fileSystem?: {
|
|
101
|
+
free: number;
|
|
102
|
+
size: number;
|
|
103
|
+
used: number;
|
|
104
|
+
} | undefined;
|
|
105
|
+
} | null;
|
|
106
|
+
dto: InstanceDto;
|
|
107
|
+
};
|
|
108
|
+
export declare type Instance = ReturnType<typeof formatInstanceDto>;
|
|
109
|
+
export {};
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { formatInstanceStateDto, } from '@postgres.ai/shared/types/api/entities/instanceState';
|
|
2
|
+
export const formatInstanceDto = (dto) => {
|
|
3
|
+
const coreMapped = {
|
|
4
|
+
id: dto.id.toString(),
|
|
5
|
+
state: formatInstanceStateDto(dto.state),
|
|
6
|
+
dto,
|
|
7
|
+
};
|
|
8
|
+
const platformMapped = 'created_at' in dto
|
|
9
|
+
? {
|
|
10
|
+
createdAt: new Date(dto.created_at),
|
|
11
|
+
...(dto.telemetry_last_reported_at && {
|
|
12
|
+
telemetryLastReportedAt: new Date(dto.telemetry_last_reported_at),
|
|
13
|
+
}),
|
|
14
|
+
createdFormatted: `${dto.created_formatted} UTC`,
|
|
15
|
+
iid: dto.iid,
|
|
16
|
+
isActive: dto.is_active,
|
|
17
|
+
orgId: dto.org_id.toString(),
|
|
18
|
+
projectAlias: dto.project_alias,
|
|
19
|
+
projectId: dto.project_id.toString(),
|
|
20
|
+
projectName: dto.project_name,
|
|
21
|
+
sshServerUrl: dto.ssh_server_url,
|
|
22
|
+
useTunnel: dto.use_tunnel,
|
|
23
|
+
verifyToken: dto.verify_token,
|
|
24
|
+
url: dto.url,
|
|
25
|
+
}
|
|
26
|
+
: null;
|
|
27
|
+
return {
|
|
28
|
+
...coreMapped,
|
|
29
|
+
...platformMapped,
|
|
30
|
+
};
|
|
31
|
+
};
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
export interface ActivityType {
|
|
2
|
+
user?: string;
|
|
3
|
+
query?: string;
|
|
4
|
+
duration?: number | string;
|
|
5
|
+
waitEventType?: string;
|
|
6
|
+
waitEvent?: string;
|
|
7
|
+
}
|
|
8
|
+
export declare type InstanceRetrieval = {
|
|
9
|
+
mode: string;
|
|
10
|
+
alerts: Object | null;
|
|
11
|
+
lastRefresh: string | null;
|
|
12
|
+
nextRefresh: string | null;
|
|
13
|
+
status: string;
|
|
14
|
+
currentJob?: string;
|
|
15
|
+
activity: {
|
|
16
|
+
source: ActivityType[];
|
|
17
|
+
target: ActivityType[];
|
|
18
|
+
};
|
|
19
|
+
};
|
|
20
|
+
export declare const formatInstanceRetrieval: (retrieval: InstanceRetrieval) => {
|
|
21
|
+
activity: {
|
|
22
|
+
source: {
|
|
23
|
+
user: string | undefined;
|
|
24
|
+
query: string | undefined;
|
|
25
|
+
duration: string | undefined;
|
|
26
|
+
'wait type/event': string | undefined;
|
|
27
|
+
}[];
|
|
28
|
+
target: {
|
|
29
|
+
user: string | undefined;
|
|
30
|
+
query: string | undefined;
|
|
31
|
+
duration: string | undefined;
|
|
32
|
+
'wait type/event': string | undefined;
|
|
33
|
+
}[];
|
|
34
|
+
};
|
|
35
|
+
mode: string;
|
|
36
|
+
alerts: Object | null;
|
|
37
|
+
lastRefresh: string | null;
|
|
38
|
+
nextRefresh: string | null;
|
|
39
|
+
status: string;
|
|
40
|
+
currentJob?: string | undefined;
|
|
41
|
+
};
|
|
42
|
+
export declare type InstanceRetrievalType = ReturnType<typeof formatInstanceRetrieval>;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
const replaceSinglequote = (string) => string === null || string === void 0 ? void 0 : string.replace(/'/g, '');
|
|
2
|
+
const formatActivity = (activity) => activity === null || activity === void 0 ? void 0 : activity.map((item) => {
|
|
3
|
+
return {
|
|
4
|
+
user: replaceSinglequote(item.user),
|
|
5
|
+
query: replaceSinglequote(item.query),
|
|
6
|
+
duration: replaceSinglequote(`${item.duration}ms`),
|
|
7
|
+
'wait type/event': replaceSinglequote(`${item.waitEventType}/${item.waitEvent}`),
|
|
8
|
+
};
|
|
9
|
+
});
|
|
10
|
+
export const formatInstanceRetrieval = (retrieval) => {
|
|
11
|
+
var _a, _b;
|
|
12
|
+
return {
|
|
13
|
+
...retrieval,
|
|
14
|
+
activity: {
|
|
15
|
+
source: formatActivity((_a = retrieval.activity) === null || _a === void 0 ? void 0 : _a.source),
|
|
16
|
+
target: formatActivity((_b = retrieval.activity) === null || _b === void 0 ? void 0 : _b.target),
|
|
17
|
+
},
|
|
18
|
+
};
|
|
19
|
+
};
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
import { CloneDto } from '@postgres.ai/shared/types/api/entities/clone';
|
|
2
|
+
import { PoolDto } from '@postgres.ai/shared/types/api/entities/pool';
|
|
3
|
+
export declare type InstanceStateDto = {
|
|
4
|
+
cloning: {
|
|
5
|
+
clones: CloneDto[];
|
|
6
|
+
expectedCloningTime: number;
|
|
7
|
+
numClones?: number;
|
|
8
|
+
};
|
|
9
|
+
status: {
|
|
10
|
+
code: 'OK' | 'WARNING' | 'NO_RESPONSE';
|
|
11
|
+
message: string;
|
|
12
|
+
};
|
|
13
|
+
clones?: CloneDto[];
|
|
14
|
+
expectedCloningTime?: number;
|
|
15
|
+
pools?: PoolDto[];
|
|
16
|
+
retrieving?: {
|
|
17
|
+
lastRefresh: string | null;
|
|
18
|
+
nextRefresh: string | null;
|
|
19
|
+
mode: string;
|
|
20
|
+
status: 'finished' | 'failed' | 'refreshing' | 'pending';
|
|
21
|
+
alerts?: {
|
|
22
|
+
refresh_failed?: {
|
|
23
|
+
level: 'error';
|
|
24
|
+
message: string;
|
|
25
|
+
lastSeen: string;
|
|
26
|
+
count: number;
|
|
27
|
+
};
|
|
28
|
+
};
|
|
29
|
+
};
|
|
30
|
+
fileSystem?: {
|
|
31
|
+
free: number;
|
|
32
|
+
size: number;
|
|
33
|
+
used: number;
|
|
34
|
+
};
|
|
35
|
+
engine?: {
|
|
36
|
+
version: string;
|
|
37
|
+
startedAt: string;
|
|
38
|
+
edition?: string;
|
|
39
|
+
disableConfigModification?: boolean;
|
|
40
|
+
};
|
|
41
|
+
dataSize?: number;
|
|
42
|
+
};
|
|
43
|
+
export declare const formatInstanceStateDto: (dto: InstanceStateDto) => {
|
|
44
|
+
engine: {
|
|
45
|
+
version: string | null;
|
|
46
|
+
startedAt: "" | Date | undefined;
|
|
47
|
+
disableConfigModification: boolean;
|
|
48
|
+
};
|
|
49
|
+
retrieving: {
|
|
50
|
+
lastRefresh: Date | null;
|
|
51
|
+
nextRefresh: Date | null;
|
|
52
|
+
mode: string;
|
|
53
|
+
status: "refreshing" | "finished" | "failed" | "pending";
|
|
54
|
+
alerts: {
|
|
55
|
+
refreshFailed: {
|
|
56
|
+
level: "error";
|
|
57
|
+
message: string;
|
|
58
|
+
lastSeen: Date;
|
|
59
|
+
count: number;
|
|
60
|
+
} | undefined;
|
|
61
|
+
} | undefined;
|
|
62
|
+
} | undefined;
|
|
63
|
+
cloning: {
|
|
64
|
+
clones: {
|
|
65
|
+
createdAt: string;
|
|
66
|
+
createdAtDate: Date;
|
|
67
|
+
snapshot: {
|
|
68
|
+
createdAtDate: Date;
|
|
69
|
+
dataStateAtDate: Date;
|
|
70
|
+
createdAt: string;
|
|
71
|
+
dataStateAt: string;
|
|
72
|
+
id: string;
|
|
73
|
+
pool: string;
|
|
74
|
+
physicalSize: number;
|
|
75
|
+
logicalSize: number;
|
|
76
|
+
} | null;
|
|
77
|
+
id: string;
|
|
78
|
+
status: {
|
|
79
|
+
code: "OK" | "CREATING" | "DELETING" | "RESETTING" | "FATAL";
|
|
80
|
+
message: string;
|
|
81
|
+
};
|
|
82
|
+
protected: boolean;
|
|
83
|
+
metadata: {
|
|
84
|
+
cloneDiffSize: number;
|
|
85
|
+
cloningTime: number;
|
|
86
|
+
};
|
|
87
|
+
db: {
|
|
88
|
+
username: string;
|
|
89
|
+
port: string;
|
|
90
|
+
host: string;
|
|
91
|
+
};
|
|
92
|
+
}[];
|
|
93
|
+
expectedCloningTime: number;
|
|
94
|
+
};
|
|
95
|
+
pools: PoolDto[] | null;
|
|
96
|
+
dataSize: number | null;
|
|
97
|
+
status: {
|
|
98
|
+
code: 'OK' | 'WARNING' | 'NO_RESPONSE';
|
|
99
|
+
message: string;
|
|
100
|
+
};
|
|
101
|
+
clones?: CloneDto[] | undefined;
|
|
102
|
+
expectedCloningTime?: number | undefined;
|
|
103
|
+
fileSystem?: {
|
|
104
|
+
free: number;
|
|
105
|
+
size: number;
|
|
106
|
+
used: number;
|
|
107
|
+
} | undefined;
|
|
108
|
+
} | null;
|
|
109
|
+
export declare type InstanceState = ReturnType<typeof formatInstanceStateDto>;
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { formatCloneDto, } from '@postgres.ai/shared/types/api/entities/clone';
|
|
2
|
+
import { formatPoolDto, } from '@postgres.ai/shared/types/api/entities/pool';
|
|
3
|
+
export const formatInstanceStateDto = (dto) => {
|
|
4
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
|
|
5
|
+
if (!dto)
|
|
6
|
+
return null;
|
|
7
|
+
const pools = (_b = (_a = dto.pools) === null || _a === void 0 ? void 0 : _a.map(formatPoolDto)) !== null && _b !== void 0 ? _b : null;
|
|
8
|
+
const clones = (_d = (_c = dto === null || dto === void 0 ? void 0 : dto.clones) === null || _c === void 0 ? void 0 : _c.map(formatCloneDto)) !== null && _d !== void 0 ? _d : (_f = (_e = dto.cloning) === null || _e === void 0 ? void 0 : _e.clones) === null || _f === void 0 ? void 0 : _f.map(formatCloneDto);
|
|
9
|
+
const expectedCloningTime = (_g = dto === null || dto === void 0 ? void 0 : dto.expectedCloningTime) !== null && _g !== void 0 ? _g : (_h = dto.cloning) === null || _h === void 0 ? void 0 : _h.expectedCloningTime;
|
|
10
|
+
return {
|
|
11
|
+
...dto,
|
|
12
|
+
engine: {
|
|
13
|
+
version: (_k = (_j = dto.engine) === null || _j === void 0 ? void 0 : _j.version) !== null && _k !== void 0 ? _k : null,
|
|
14
|
+
startedAt: ((_l = dto.engine) === null || _l === void 0 ? void 0 : _l.startedAt) && new Date((_m = dto.engine) === null || _m === void 0 ? void 0 : _m.startedAt),
|
|
15
|
+
disableConfigModification: false,
|
|
16
|
+
},
|
|
17
|
+
retrieving: dto.retrieving && {
|
|
18
|
+
lastRefresh: dto.retrieving.lastRefresh
|
|
19
|
+
? new Date(dto.retrieving.lastRefresh)
|
|
20
|
+
: null,
|
|
21
|
+
nextRefresh: dto.retrieving.nextRefresh
|
|
22
|
+
? new Date(dto.retrieving.nextRefresh)
|
|
23
|
+
: null,
|
|
24
|
+
mode: dto.retrieving.mode,
|
|
25
|
+
status: dto.retrieving.status,
|
|
26
|
+
alerts: dto.retrieving.alerts && {
|
|
27
|
+
refreshFailed: dto.retrieving.alerts.refresh_failed && {
|
|
28
|
+
level: dto.retrieving.alerts.refresh_failed.level,
|
|
29
|
+
message: dto.retrieving.alerts.refresh_failed.message,
|
|
30
|
+
lastSeen: new Date(dto.retrieving.alerts.refresh_failed.lastSeen),
|
|
31
|
+
count: dto.retrieving.alerts.refresh_failed.count,
|
|
32
|
+
},
|
|
33
|
+
},
|
|
34
|
+
},
|
|
35
|
+
cloning: {
|
|
36
|
+
clones: clones,
|
|
37
|
+
expectedCloningTime: expectedCloningTime,
|
|
38
|
+
},
|
|
39
|
+
pools,
|
|
40
|
+
dataSize: (_p = (_o = dto.dataSize) !== null && _o !== void 0 ? _o : pools === null || pools === void 0 ? void 0 : pools.reduce((sum, pool) => pool.fileSystem.dataSize + sum, 0)) !== null && _p !== void 0 ? _p : null,
|
|
41
|
+
};
|
|
42
|
+
};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export declare type PoolDto = {
|
|
2
|
+
cloneList: string[];
|
|
3
|
+
fileSystem: {
|
|
4
|
+
compressRatio: number;
|
|
5
|
+
dataSize: number;
|
|
6
|
+
free: number;
|
|
7
|
+
mode: string;
|
|
8
|
+
size: number;
|
|
9
|
+
used: number;
|
|
10
|
+
usedByClones: number;
|
|
11
|
+
usedBySnapshots: number;
|
|
12
|
+
};
|
|
13
|
+
mode: string;
|
|
14
|
+
name: string;
|
|
15
|
+
status: 'active' | 'empty' | 'refreshing';
|
|
16
|
+
};
|
|
17
|
+
export declare const formatPoolDto: (dto: PoolDto) => PoolDto;
|
|
18
|
+
export declare type Pool = ReturnType<typeof formatPoolDto>;
|
|
@@ -4,8 +4,4 @@
|
|
|
4
4
|
* Unauthorized copying of this file, via any medium is strictly prohibited
|
|
5
5
|
*--------------------------------------------------------------------------
|
|
6
6
|
*/
|
|
7
|
-
|
|
8
|
-
export const round = (value: number, precision = 0) => {
|
|
9
|
-
const multiplier = 10 ** precision
|
|
10
|
-
return Math.round(value * multiplier) / multiplier
|
|
11
|
-
}
|
|
7
|
+
export const formatPoolDto = (dto) => dto;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export declare type SnapshotDto = {
|
|
2
|
+
createdAt: string;
|
|
3
|
+
dataStateAt: string;
|
|
4
|
+
id: string;
|
|
5
|
+
pool: string;
|
|
6
|
+
physicalSize: number;
|
|
7
|
+
logicalSize: number;
|
|
8
|
+
};
|
|
9
|
+
export declare const formatSnapshotDto: (dto: SnapshotDto) => {
|
|
10
|
+
createdAtDate: Date;
|
|
11
|
+
dataStateAtDate: Date;
|
|
12
|
+
createdAt: string;
|
|
13
|
+
dataStateAt: string;
|
|
14
|
+
id: string;
|
|
15
|
+
pool: string;
|
|
16
|
+
physicalSize: number;
|
|
17
|
+
logicalSize: number;
|
|
18
|
+
};
|
|
19
|
+
export declare type Snapshot = ReturnType<typeof formatSnapshotDto>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export const formatWSTokenDto = (dto) => dto;
|
package/utils/api.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const getTextFromUnknownApiError: (error: Response) => Promise<string>;
|
package/utils/api.js
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/*--------------------------------------------------------------------------
|
|
2
|
+
* Copyright (c) 2019-2021, Postgres.ai, Nikolay Samokhvalov nik@postgres.ai
|
|
3
|
+
* All Rights Reserved. Proprietary and confidential.
|
|
4
|
+
* Unauthorized copying of this file, via any medium is strictly prohibited
|
|
5
|
+
*--------------------------------------------------------------------------
|
|
6
|
+
*/
|
|
7
|
+
export const getTextFromUnknownApiError = async (error) => {
|
|
8
|
+
const log = (text) => console.error('Unknown API error', text);
|
|
9
|
+
try {
|
|
10
|
+
const result = await error.json();
|
|
11
|
+
log(result);
|
|
12
|
+
return JSON.stringify(result);
|
|
13
|
+
}
|
|
14
|
+
catch (e) {
|
|
15
|
+
// not a json
|
|
16
|
+
}
|
|
17
|
+
try {
|
|
18
|
+
const result = await error.text();
|
|
19
|
+
log(result);
|
|
20
|
+
return result;
|
|
21
|
+
}
|
|
22
|
+
catch (e) {
|
|
23
|
+
// not a text
|
|
24
|
+
}
|
|
25
|
+
const result = `${error.status} ${error.statusText}`;
|
|
26
|
+
log(result);
|
|
27
|
+
return result;
|
|
28
|
+
};
|
package/utils/clone.d.ts
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Clone } from '@postgres.ai/shared/types/api/entities/clone';
|
|
2
|
+
declare const STATUS_CODE_TO_TYPE: {
|
|
3
|
+
OK: "ok";
|
|
4
|
+
CREATING: "waiting";
|
|
5
|
+
DELETING: "waiting";
|
|
6
|
+
RESETTING: "waiting";
|
|
7
|
+
FATAL: "error";
|
|
8
|
+
};
|
|
9
|
+
declare type StatusCode = keyof typeof STATUS_CODE_TO_TYPE;
|
|
10
|
+
export declare const getCloneStatusType: (statusCode: StatusCode) => "error" | "waiting" | "ok";
|
|
11
|
+
export declare const getCloneStatusText: (statusCode: StatusCode) => string;
|
|
12
|
+
export declare const checkIsCloneStable: (clone: Clone) => boolean;
|
|
13
|
+
export {};
|
package/utils/clone.js
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/*--------------------------------------------------------------------------
|
|
2
|
+
* Copyright (c) 2019-2021, Postgres.ai, Nikolay Samokhvalov nik@postgres.ai
|
|
3
|
+
* All Rights Reserved. Proprietary and confidential.
|
|
4
|
+
* Unauthorized copying of this file, via any medium is strictly prohibited
|
|
5
|
+
*--------------------------------------------------------------------------
|
|
6
|
+
*/
|
|
7
|
+
import { capitalize } from '@postgres.ai/shared/utils/strings';
|
|
8
|
+
const STATUS_CODE_TO_TYPE = {
|
|
9
|
+
OK: 'ok',
|
|
10
|
+
CREATING: 'waiting',
|
|
11
|
+
DELETING: 'waiting',
|
|
12
|
+
RESETTING: 'waiting',
|
|
13
|
+
FATAL: 'error',
|
|
14
|
+
};
|
|
15
|
+
export const getCloneStatusType = (statusCode) => { var _a; return (_a = STATUS_CODE_TO_TYPE[statusCode]) !== null && _a !== void 0 ? _a : 'unknown'; };
|
|
16
|
+
export const getCloneStatusText = (statusCode) => {
|
|
17
|
+
if (statusCode === 'OK')
|
|
18
|
+
return statusCode;
|
|
19
|
+
return capitalize(statusCode);
|
|
20
|
+
};
|
|
21
|
+
export const checkIsCloneStable = (clone) => clone.status.code === 'OK' || clone.status.code === 'FATAL';
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { Instance } from '@postgres.ai/shared/types/api/entities/instance';
|
|
2
|
+
import { Clone } from '@postgres.ai/shared/types/api/entities/clone';
|
|
3
|
+
export declare const getSshPortForwardingCommand: (instance: Instance, clone: Clone) => string | null;
|
|
4
|
+
export declare const getPsqlConnectionStr: (clone: Clone) => string | null;
|
|
5
|
+
export declare const getJdbcConnectionStr: (clone: Clone) => string | null;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/*--------------------------------------------------------------------------
|
|
2
|
+
* Copyright (c) 2019-2021, Postgres.ai, Nikolay Samokhvalov nik@postgres.ai
|
|
3
|
+
* All Rights Reserved. Proprietary and confidential.
|
|
4
|
+
* Unauthorized copying of this file, via any medium is strictly prohibited
|
|
5
|
+
*--------------------------------------------------------------------------
|
|
6
|
+
*/
|
|
7
|
+
const isEmptyDbData = (clone) => {
|
|
8
|
+
const { host, port, username } = clone.db;
|
|
9
|
+
// 'host', 'port' or 'username' can be empty string.
|
|
10
|
+
return !host || !port || !username;
|
|
11
|
+
};
|
|
12
|
+
export const getSshPortForwardingCommand = (instance, clone) => {
|
|
13
|
+
if (!instance.sshServerUrl)
|
|
14
|
+
return null;
|
|
15
|
+
if (isEmptyDbData(clone))
|
|
16
|
+
return null;
|
|
17
|
+
return `ssh -NTML ${clone.db.port}:localhost:${clone.db.port} ${instance.sshServerUrl} -i ~/.ssh/id_rsa`;
|
|
18
|
+
};
|
|
19
|
+
export const getPsqlConnectionStr = (clone) => {
|
|
20
|
+
if (isEmptyDbData(clone))
|
|
21
|
+
return null;
|
|
22
|
+
return `"host=${clone.db.host} port=${clone.db.port} user=${clone.db.username} dbname=DBNAME"`;
|
|
23
|
+
};
|
|
24
|
+
export const getJdbcConnectionStr = (clone) => {
|
|
25
|
+
if (isEmptyDbData(clone))
|
|
26
|
+
return null;
|
|
27
|
+
return `jdbc:postgresql://${clone.db.host}:${clone.db.port}/DBNAME?user=${clone.db.username}&password=DBPASSWORD`;
|
|
28
|
+
};
|
package/utils/date.d.ts
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export declare const parseDate: (dateStr: string) => Date;
|
|
2
|
+
export declare const startOfMonthUTC: (date: Date, ...otherArgs: unknown[]) => Date;
|
|
3
|
+
export declare const startOfWeekUTC: (date: Date, ...otherArgs: unknown[]) => Date;
|
|
4
|
+
export declare const endOfMonthUTC: (date: Date, ...otherArgs: unknown[]) => Date;
|
|
5
|
+
export declare const endOfWeekUTC: (date: Date, ...otherArgs: unknown[]) => Date;
|
|
6
|
+
export declare const startOfDayUTC: (date: Date, ...otherArgs: unknown[]) => Date;
|
|
7
|
+
export declare const addDaysUTC: (date: Date, ...otherArgs: unknown[]) => Date;
|
|
8
|
+
export declare const addMonthsUTC: (date: Date, ...otherArgs: unknown[]) => Date;
|
|
9
|
+
export declare const differenceInDaysUTC: (date1: Date, date2: Date) => number;
|
|
10
|
+
export declare const isSameMonthUTC: (date1: Date, date2: Date) => boolean;
|
|
11
|
+
export declare const formatUTC: (date: Date, formatStr: string) => string;
|
|
12
|
+
export declare const isSameDayUTC: (date1: Date, date2: Date) => boolean;
|
|
13
|
+
export declare const formatDistanceStd: (date: Date) => string;
|
|
14
|
+
export declare const formatDateStd: (date: Date, options?: {
|
|
15
|
+
withDistance?: boolean;
|
|
16
|
+
}) => string;
|
package/utils/date.js
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/*--------------------------------------------------------------------------
|
|
2
|
+
* Copyright (c) 2019-2021, Postgres.ai, Nikolay Samokhvalov nik@postgres.ai
|
|
3
|
+
* All Rights Reserved. Proprietary and confidential.
|
|
4
|
+
* Unauthorized copying of this file, via any medium is strictly prohibited
|
|
5
|
+
*--------------------------------------------------------------------------
|
|
6
|
+
*/
|
|
7
|
+
import { parse, startOfDay, isSameDay, startOfMonth, startOfWeek, endOfMonth, endOfWeek, differenceInDays, addDays, addMonths, isSameMonth, format, formatDistanceToNowStrict, } from 'date-fns';
|
|
8
|
+
// parseDate parses date of both format: '2006-01-02 15:04:05 UTC' and `2006-01-02T15:04:05Z` (RFC3339).
|
|
9
|
+
export const parseDate = (dateStr) => parse(dateStr.replace(' UTC', 'Z').replace('T', ' '), 'yyyy-MM-dd HH:mm:ssX', new Date());
|
|
10
|
+
// UTCf - UTC formatted, but not actually UTC.
|
|
11
|
+
// date-fns using this approach because browser don't have an opportunity to switch single date
|
|
12
|
+
// object in different timezones.
|
|
13
|
+
// Example: 15:00:00 <some date> Moscow Standard Time -> 12:00:00 <same date> Moscow Standard Time.
|
|
14
|
+
// In example above just ignore real timezone "Moscow Standard Time" and imagine that it is UTC.
|
|
15
|
+
const toUTCf = (date) => new Date(date.getTime() + date.getTimezoneOffset() * 60 * 1000);
|
|
16
|
+
const toLocal = (date) => new Date(date.getTime() - date.getTimezoneOffset() * 60 * 1000);
|
|
17
|
+
const inUTC =
|
|
18
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
19
|
+
(func) => (date, ...otherArgs) => toLocal(func(toUTCf(date), ...otherArgs));
|
|
20
|
+
export const startOfMonthUTC = inUTC(startOfMonth);
|
|
21
|
+
export const startOfWeekUTC = inUTC(startOfWeek);
|
|
22
|
+
export const endOfMonthUTC = inUTC(endOfMonth);
|
|
23
|
+
export const endOfWeekUTC = inUTC(endOfWeek);
|
|
24
|
+
export const startOfDayUTC = inUTC(startOfDay);
|
|
25
|
+
export const addDaysUTC = inUTC(addDays);
|
|
26
|
+
export const addMonthsUTC = inUTC(addMonths);
|
|
27
|
+
export const differenceInDaysUTC = (date1, date2) => differenceInDays(toUTCf(date1), toUTCf(date2));
|
|
28
|
+
export const isSameMonthUTC = (date1, date2) => isSameMonth(toUTCf(date1), toUTCf(date2));
|
|
29
|
+
export const formatUTC = (date, formatStr) => format(toUTCf(date), formatStr);
|
|
30
|
+
export const isSameDayUTC = (date1, date2) => isSameDay(toUTCf(date1), toUTCf(date2));
|
|
31
|
+
// Std date utils.
|
|
32
|
+
export const formatDistanceStd = (date) => formatDistanceToNowStrict(date, { addSuffix: true });
|
|
33
|
+
export const formatDateStd = (date, options) => `${formatUTC(date, 'yyyy-MM-dd HH:mm:ss')} UTC ${(options === null || options === void 0 ? void 0 : options.withDistance) ? `(${formatDistanceStd(date)})` : ''}`;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export const parseEngineVersion = (str) => {
|
|
2
|
+
const [versionStr] = str.split('-');
|
|
3
|
+
const [major, minor, patch] = versionStr.split('.');
|
|
4
|
+
if (!major || !minor || !patch)
|
|
5
|
+
return null;
|
|
6
|
+
return {
|
|
7
|
+
major: Number(major),
|
|
8
|
+
minor: Number(minor),
|
|
9
|
+
patch: Number(patch),
|
|
10
|
+
};
|
|
11
|
+
};
|