@postgres.ai/shared 4.0.4 → 4.1.0
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/.gitlab-ci.yml +77 -0
- package/components/AlertSnackbar/index.tsx +23 -0
- package/components/AlertSnackbar/useAlertSnackbar.tsx +65 -0
- package/components/Button/index.tsx +79 -0
- package/components/Button2/index.tsx +43 -0
- package/components/DestroyCloneModal/index.tsx +52 -0
- package/components/DestroyCloneRestrictionModal/index.tsx +50 -0
- package/components/ErrorStub/index.tsx +83 -0
- package/components/FormattedText/index.tsx +44 -0
- package/components/GatewayLink/index.tsx +33 -0
- package/components/HorizontalScrollContainer/index.tsx +131 -0
- package/components/HorizontalScrollContainer/types.ts +12 -0
- package/components/HorizontalScrollContainer/utils.ts +16 -0
- package/components/ImportantText/index.tsx +29 -0
- package/components/Link2/index.tsx +31 -0
- package/components/MenuButton/index.tsx +88 -0
- package/components/Modal/index.tsx +93 -0
- package/components/PageSpinner/index.tsx +18 -0
- package/components/ResetCloneModal/index.tsx +149 -0
- package/components/SectionTitle/index.tsx +74 -0
- package/components/Select/index.tsx +43 -0
- package/components/SimpleModalControls/index.tsx +56 -0
- package/components/Spinner/icon.tsx +29 -0
- package/components/Spinner/index.tsx +16 -0
- package/components/Status/index.tsx +61 -0
- package/components/StubContainer/index.tsx +41 -0
- package/components/StubSpinner/index.tsx +49 -0
- package/components/StubSpinnerFlex/index.tsx +20 -0
- package/components/SyntaxHighlight/index.tsx +107 -0
- package/components/Table/RowMenu/index.tsx +111 -0
- package/components/Table/index.tsx +140 -0
- package/components/Text/index.tsx +28 -0
- package/components/TextField/index.tsx +119 -0
- package/components/Tooltip/index.tsx +52 -0
- package/config/index.ts +32 -0
- package/config/links.ts +6 -0
- package/dist/components/Button2/styles.module.scss +82 -0
- package/dist/components/FormattedText/styles.module.scss +34 -0
- package/dist/components/Link2/styles.module.scss +12 -0
- package/dist/components/MenuButton/styles.module.scss +42 -0
- package/dist/components/PageSpinner/styles.module.scss +13 -0
- package/{components → dist/components}/Select/index.d.ts +1 -0
- package/dist/components/Spinner/styles.module.scss +33 -0
- package/dist/components/Status/styles.module.scss +45 -0
- package/dist/components/StubSpinnerFlex/styles.module.scss +20 -0
- package/{components → dist/components}/TextField/index.d.ts +2 -1
- package/{components → dist/components}/TextField/index.js +1 -1
- package/dist/meta.json +1 -0
- package/dist/package.json +54 -0
- package/{pages → dist/pages}/Clone/index.js +49 -6
- package/{pages → dist/pages}/Clone/stores/Main.d.ts +1 -1
- package/{pages → dist/pages}/Clone/stores/Main.js +8 -2
- package/{pages → dist/pages}/CreateBranch/useForm.d.ts +1 -1
- package/{pages → dist/pages}/CreateClone/index.js +33 -8
- package/dist/pages/CreateClone/styles.module.scss +128 -0
- package/{pages → dist/pages}/CreateClone/useForm.d.ts +2 -2
- package/{pages → dist/pages}/CreateClone/useForm.js +2 -2
- package/{pages → dist/pages}/CreateClone/utils/index.js +4 -3
- package/{pages → dist/pages}/CreateSnapshot/useForm.d.ts +1 -1
- package/dist/pages/Instance/Clones/ClonesList/styles.module.scss +42 -0
- package/dist/pages/Instance/Clones/Header/Item/styles.module.scss +17 -0
- package/dist/pages/Instance/Clones/Header/styles.module.scss +14 -0
- package/dist/pages/Instance/Configuration/styles.module.scss +122 -0
- package/{pages → dist/pages}/Instance/Configuration/useForm.d.ts +1 -1
- package/{pages → dist/pages}/Instance/Info/Disks/Disk/ProgressBar/index.d.ts +2 -1
- package/{pages → dist/pages}/Instance/Info/Disks/Disk/ProgressBar/index.js +1 -1
- package/{pages/Instance/Info/Disks/Disk → dist/pages/Instance/Info/Disks/PoolSection/DatasetRow}/index.d.ts +6 -8
- package/dist/pages/Instance/Info/Disks/PoolSection/DatasetRow/index.js +52 -0
- package/dist/pages/Instance/Info/Disks/PoolSection/index.d.ts +10 -0
- package/dist/pages/Instance/Info/Disks/PoolSection/index.js +64 -0
- package/dist/pages/Instance/Info/Disks/index.js +68 -0
- package/dist/pages/Instance/Info/Retrieval/RefreshFailedAlert/styles.module.scss +33 -0
- package/dist/pages/Instance/Info/Retrieval/RetrievalModal/styles.module.scss +6 -0
- package/dist/pages/Instance/Info/Retrieval/RetrievalTable/styles.module.scss +29 -0
- package/dist/pages/Instance/Info/Status/InstanceResponseModal/styles.module.scss +3 -0
- package/dist/pages/Instance/Info/Status/styles.module.scss +12 -0
- package/dist/pages/Instance/Info/components/Property/styles.module.scss +21 -0
- package/dist/pages/Instance/styles.scss +37 -0
- package/dist/react-app-env.d.ts +64 -0
- package/dist/styles/global.scss +29 -0
- package/dist/styles/mixins.scss +30 -0
- package/dist/styles/vars.scss +43 -0
- package/dist/tsconfig.build.json +36 -0
- package/dist/tsconfig.json +30 -0
- package/{types → dist/types}/api/endpoints/createClone.d.ts +1 -1
- package/{types → dist/types}/api/endpoints/updateClone.d.ts +1 -0
- package/{types → dist/types}/api/entities/clone.d.ts +7 -0
- package/{types → dist/types}/api/entities/clone.js +1 -0
- package/{types → dist/types}/api/entities/config.js +8 -8
- package/{types → dist/types}/api/entities/instance.d.ts +6 -0
- package/{types → dist/types}/api/entities/instanceState.d.ts +8 -0
- package/{types → dist/types}/api/entities/instanceState.js +4 -2
- package/helpers/getEntropy.ts +278 -0
- package/helpers/localStorage.ts +15 -0
- package/helpers/request.ts +47 -0
- package/hooks/useWindowDimensions.ts +16 -0
- package/icons/ArrowDropDown/index.tsx +31 -0
- package/icons/Circle/index.tsx +27 -0
- package/icons/External/index.tsx +14 -0
- package/icons/Info/index.tsx +12 -0
- package/icons/PostgresSQL/index.tsx +18 -0
- package/icons/Renewable/index.tsx +65 -0
- package/icons/Shield/index.tsx +33 -0
- package/icons/Warning/index.tsx +29 -0
- package/package.json +25 -18
- package/pages/Branches/Branch/context.ts +25 -0
- package/pages/Branches/Branch/index.tsx +434 -0
- package/pages/Branches/Branch/stores/Main.ts +138 -0
- package/pages/Branches/Branch/useCreatedStores.ts +10 -0
- package/pages/Branches/components/BranchesTable/index.tsx +194 -0
- package/pages/Branches/components/Modals/DeleteBranchModal/index.tsx +84 -0
- package/pages/Branches/components/Modals/types.ts +4 -0
- package/pages/Branches/index.tsx +128 -0
- package/pages/Clone/Status/index.tsx +73 -0
- package/pages/Clone/context.ts +24 -0
- package/pages/Clone/index.tsx +756 -0
- package/pages/Clone/stores/Main.ts +215 -0
- package/pages/Clone/useCreatedStores.ts +11 -0
- package/pages/Clone/utils/index.ts +15 -0
- package/pages/CreateBranch/index.tsx +322 -0
- package/pages/CreateBranch/stores/Main.ts +99 -0
- package/pages/CreateBranch/useCreatedStores.ts +11 -0
- package/pages/CreateBranch/useForm.ts +60 -0
- package/pages/CreateBranch/utils/index.ts +18 -0
- package/pages/CreateClone/index.tsx +520 -0
- package/pages/CreateClone/stores/Main.ts +139 -0
- package/pages/CreateClone/useCreatedStores.ts +11 -0
- package/pages/CreateClone/useForm.ts +51 -0
- package/pages/CreateClone/utils/index.ts +38 -0
- package/pages/CreateSnapshot/index.tsx +253 -0
- package/pages/CreateSnapshot/stores/Main.ts +70 -0
- package/pages/CreateSnapshot/useCreatedStores.ts +11 -0
- package/pages/CreateSnapshot/useForm.ts +34 -0
- package/pages/CreateSnapshot/utils/index.ts +8 -0
- package/pages/Instance/Clones/ClonesList/ConnectionModal/index.tsx +196 -0
- package/pages/Instance/Clones/ClonesList/MenuCell/index.tsx +98 -0
- package/pages/Instance/Clones/ClonesList/MenuCell/utils.ts +21 -0
- package/pages/Instance/Clones/ClonesList/index.tsx +246 -0
- package/pages/Instance/Clones/ClonesModal/index.tsx +71 -0
- package/pages/Instance/Clones/ClonesModal/utils.ts +21 -0
- package/pages/Instance/Clones/Header/Item/index.tsx +15 -0
- package/pages/Instance/Clones/Header/index.tsx +74 -0
- package/pages/Instance/Clones/index.tsx +141 -0
- package/pages/Instance/Configuration/Header/index.tsx +84 -0
- package/pages/Instance/Configuration/InputWithTooltip/index.tsx +240 -0
- package/pages/Instance/Configuration/ResponseMessage/index.tsx +71 -0
- package/pages/Instance/Configuration/configOptions.ts +60 -0
- package/pages/Instance/Configuration/index.tsx +1233 -0
- package/pages/Instance/Configuration/tooltipText.tsx +170 -0
- package/pages/Instance/Configuration/useForm.ts +108 -0
- package/pages/Instance/Configuration/utils/index.ts +236 -0
- package/pages/Instance/InactiveInstance/index.tsx +157 -0
- package/pages/Instance/InactiveInstance/utils.ts +9 -0
- package/pages/Instance/Info/Connection/ConnectModal/Content/index.tsx +176 -0
- package/pages/Instance/Info/Connection/ConnectModal/Content/utils.ts +24 -0
- package/pages/Instance/Info/Connection/ConnectModal/index.tsx +36 -0
- package/pages/Instance/Info/Connection/index.tsx +81 -0
- package/pages/Instance/Info/Details/index.tsx +20 -0
- package/pages/Instance/Info/Disks/Disk/ActionsMenu/index.tsx +100 -0
- package/pages/Instance/Info/Disks/Disk/ProgressBar/PointerIcon.tsx +20 -0
- package/pages/Instance/Info/Disks/Disk/ProgressBar/index.tsx +76 -0
- package/pages/Instance/Info/Disks/Disk/Status/index.tsx +75 -0
- package/pages/Instance/Info/Disks/PoolSection/DatasetRow/index.tsx +117 -0
- package/pages/Instance/Info/Disks/PoolSection/index.tsx +112 -0
- package/pages/Instance/Info/Disks/index.tsx +114 -0
- package/pages/Instance/Info/Icons/index.tsx +39 -0
- package/pages/Instance/Info/Retrieval/ConfirmFullRefreshModal/index.tsx +109 -0
- package/pages/Instance/Info/Retrieval/RefreshFailedAlert/index.tsx +32 -0
- package/pages/Instance/Info/Retrieval/RetrievalModal/index.tsx +43 -0
- package/pages/Instance/Info/Retrieval/RetrievalTable/index.tsx +53 -0
- package/pages/Instance/Info/Retrieval/index.tsx +113 -0
- package/pages/Instance/Info/Retrieval/utils.ts +10 -0
- package/pages/Instance/Info/Snapshots/Calendar/Day/index.tsx +125 -0
- package/pages/Instance/Info/Snapshots/Calendar/index.tsx +133 -0
- package/pages/Instance/Info/Snapshots/Calendar/utils.ts +74 -0
- package/pages/Instance/Info/Snapshots/TimeLine/Day/index.tsx +79 -0
- package/pages/Instance/Info/Snapshots/TimeLine/index.tsx +57 -0
- package/pages/Instance/Info/Snapshots/index.tsx +102 -0
- package/pages/Instance/Info/Snapshots/utils.ts +31 -0
- package/pages/Instance/Info/Status/InstanceResponseModal/index.tsx +32 -0
- package/pages/Instance/Info/Status/index.tsx +89 -0
- package/pages/Instance/Info/Status/utils.ts +24 -0
- package/pages/Instance/Info/components/Property/index.tsx +32 -0
- package/pages/Instance/Info/components/Section/index.tsx +50 -0
- package/pages/Instance/Info/components/ValueStatus/index.tsx +51 -0
- package/pages/Instance/Info/index.tsx +137 -0
- package/pages/Instance/Snapshots/components/SnapshotHeader/index.tsx +77 -0
- package/pages/Instance/Snapshots/components/SnapshotsList/index.tsx +285 -0
- package/pages/Instance/Snapshots/components/SnapshotsModal/utils.ts +17 -0
- package/pages/Instance/Snapshots/components/SnapshotsTable/index.tsx +231 -0
- package/pages/Instance/Snapshots/index.tsx +171 -0
- package/pages/Instance/Snapshots/utils/index.ts +39 -0
- package/pages/Instance/SnapshotsModal/index.tsx +159 -0
- package/pages/Instance/Tabs/PlatformTabs.tsx +83 -0
- package/pages/Instance/Tabs/index.tsx +140 -0
- package/pages/Instance/Tabs/styles.ts +68 -0
- package/pages/Instance/components/ErrorStub/index.tsx +77 -0
- package/pages/Instance/components/ModalReloadButton/index.tsx +42 -0
- package/pages/Instance/components/Tags/Tag/index.tsx +60 -0
- package/pages/Instance/components/Tags/index.tsx +42 -0
- package/pages/Instance/context.ts +46 -0
- package/pages/Instance/index.tsx +257 -0
- package/pages/Instance/stores/ClonesModal.ts +35 -0
- package/pages/Instance/stores/Main.ts +484 -0
- package/pages/Instance/stores/SnapshotsModal.ts +35 -0
- package/pages/Instance/useCreatedStores.ts +14 -0
- package/pages/Logs/Icons/PlusIcon.tsx +9 -0
- package/pages/Logs/constants/index.ts +7 -0
- package/pages/Logs/hooks/useWsScroll.tsx +47 -0
- package/pages/Logs/index.tsx +287 -0
- package/pages/Logs/utils/index.ts +20 -0
- package/pages/Logs/wsLogs.ts +126 -0
- package/pages/Logs/wsSnackbar.ts +26 -0
- package/pages/Snapshots/Snapshot/DestorySnapshotModal/index.tsx +144 -0
- package/pages/Snapshots/Snapshot/context.ts +26 -0
- package/pages/Snapshots/Snapshot/index.tsx +485 -0
- package/pages/Snapshots/Snapshot/stores/Main.ts +120 -0
- package/pages/Snapshots/Snapshot/useCreatedStores.ts +10 -0
- package/postgres.ai-shared-4.1.0.tgz +0 -0
- package/react-app-env.d.ts +0 -7
- package/scripts/copy-assets.js +30 -0
- package/scripts/pack.js +70 -0
- package/stores/Snapshots.ts +97 -0
- package/styles/colors.ts +67 -0
- package/styles/icons.tsx +1917 -0
- package/styles/styles.ts +87 -0
- package/styles/theme.ts +53 -0
- package/styles/vars.ts +40 -0
- package/tsconfig.build.json +0 -1
- package/types/api/endpoints/createBranch.ts +14 -0
- package/types/api/endpoints/createClone.ts +11 -0
- package/types/api/endpoints/createSnapshot.ts +10 -0
- package/types/api/endpoints/deleteBranch.ts +4 -0
- package/types/api/endpoints/destroyClone.ts +7 -0
- package/types/api/endpoints/destroySnapshot.ts +8 -0
- package/types/api/endpoints/fullRefresh.ts +6 -0
- package/types/api/endpoints/getBranchSnapshot.ts +6 -0
- package/types/api/endpoints/getBranches.ts +22 -0
- package/types/api/endpoints/getClone.ts +6 -0
- package/types/api/endpoints/getConfig.ts +6 -0
- package/types/api/endpoints/getEngine.ts +13 -0
- package/types/api/endpoints/getFullConfig.ts +4 -0
- package/types/api/endpoints/getInstance.ts +6 -0
- package/types/api/endpoints/getInstanceRetrieval.ts +6 -0
- package/types/api/endpoints/getSeImages.ts +22 -0
- package/types/api/endpoints/getSnapshotList.ts +14 -0
- package/types/api/endpoints/getSnapshots.ts +6 -0
- package/types/api/endpoints/getWSToken.ts +6 -0
- package/types/api/endpoints/initWS.ts +1 -0
- package/types/api/endpoints/refreshInstance.ts +4 -0
- package/types/api/endpoints/resetClone.ts +8 -0
- package/types/api/endpoints/testDbSource.ts +48 -0
- package/types/api/endpoints/updateClone.ts +11 -0
- package/types/api/endpoints/updateConfig.ts +9 -0
- package/types/api/entities/branchSnapshot.ts +8 -0
- package/types/api/entities/branchSnapshots.ts +10 -0
- package/types/api/entities/clone.ts +47 -0
- package/types/api/entities/config.ts +117 -0
- package/types/api/entities/createBranch.ts +7 -0
- package/types/api/entities/createSnapshot.ts +7 -0
- package/types/api/entities/dbSource.ts +14 -0
- package/types/api/entities/instance.ts +67 -0
- package/types/api/entities/instanceRetrieval.ts +46 -0
- package/types/api/entities/instanceState.ts +106 -0
- package/types/api/entities/pool.ts +27 -0
- package/types/api/entities/snapshot.ts +22 -0
- package/types/api/entities/wsToken.ts +7 -0
- package/types/byte-size/index.d.ts +22 -0
- package/utils/api.ts +30 -0
- package/utils/clone.ts +31 -0
- package/utils/connection.ts +38 -0
- package/utils/date.ts +136 -0
- package/utils/instance.ts +10 -0
- package/utils/numbers.ts +11 -0
- package/utils/react.ts +10 -0
- package/utils/snapshot.ts +8 -0
- package/utils/strings.ts +11 -0
- package/utils/units.ts +23 -0
- package/pages/Instance/Info/Disks/Disk/Marker/index.d.ts +0 -6
- package/pages/Instance/Info/Disks/Disk/Marker/index.js +0 -15
- package/pages/Instance/Info/Disks/Disk/index.js +0 -71
- package/pages/Instance/Info/Disks/index.js +0 -24
- /package/{components → dist/components}/AlertSnackbar/index.d.ts +0 -0
- /package/{components → dist/components}/AlertSnackbar/index.js +0 -0
- /package/{components → dist/components}/AlertSnackbar/useAlertSnackbar.d.ts +0 -0
- /package/{components → dist/components}/AlertSnackbar/useAlertSnackbar.js +0 -0
- /package/{components → dist/components}/Button/index.d.ts +0 -0
- /package/{components → dist/components}/Button/index.js +0 -0
- /package/{components → dist/components}/Button2/index.d.ts +0 -0
- /package/{components → dist/components}/Button2/index.js +0 -0
- /package/{components → dist/components}/DestroyCloneModal/index.d.ts +0 -0
- /package/{components → dist/components}/DestroyCloneModal/index.js +0 -0
- /package/{components → dist/components}/DestroyCloneRestrictionModal/index.d.ts +0 -0
- /package/{components → dist/components}/DestroyCloneRestrictionModal/index.js +0 -0
- /package/{components → dist/components}/ErrorStub/index.d.ts +0 -0
- /package/{components → dist/components}/ErrorStub/index.js +0 -0
- /package/{components → dist/components}/FormattedText/index.d.ts +0 -0
- /package/{components → dist/components}/FormattedText/index.js +0 -0
- /package/{components → dist/components}/GatewayLink/index.d.ts +0 -0
- /package/{components → dist/components}/GatewayLink/index.js +0 -0
- /package/{components → dist/components}/HorizontalScrollContainer/index.d.ts +0 -0
- /package/{components → dist/components}/HorizontalScrollContainer/index.js +0 -0
- /package/{components → dist/components}/HorizontalScrollContainer/types.d.ts +0 -0
- /package/{components → dist/components}/HorizontalScrollContainer/types.js +0 -0
- /package/{components → dist/components}/HorizontalScrollContainer/utils.d.ts +0 -0
- /package/{components → dist/components}/HorizontalScrollContainer/utils.js +0 -0
- /package/{components → dist/components}/ImportantText/index.d.ts +0 -0
- /package/{components → dist/components}/ImportantText/index.js +0 -0
- /package/{components → dist/components}/Link2/index.d.ts +0 -0
- /package/{components → dist/components}/Link2/index.js +0 -0
- /package/{components → dist/components}/MenuButton/index.d.ts +0 -0
- /package/{components → dist/components}/MenuButton/index.js +0 -0
- /package/{components → dist/components}/Modal/index.d.ts +0 -0
- /package/{components → dist/components}/Modal/index.js +0 -0
- /package/{components → dist/components}/PageSpinner/index.d.ts +0 -0
- /package/{components → dist/components}/PageSpinner/index.js +0 -0
- /package/{components → dist/components}/ResetCloneModal/index.d.ts +0 -0
- /package/{components → dist/components}/ResetCloneModal/index.js +0 -0
- /package/{components → dist/components}/SectionTitle/index.d.ts +0 -0
- /package/{components → dist/components}/SectionTitle/index.js +0 -0
- /package/{components → dist/components}/Select/index.js +0 -0
- /package/{components → dist/components}/SimpleModalControls/index.d.ts +0 -0
- /package/{components → dist/components}/SimpleModalControls/index.js +0 -0
- /package/{components → dist/components}/Spinner/icon.d.ts +0 -0
- /package/{components → dist/components}/Spinner/icon.js +0 -0
- /package/{components → dist/components}/Spinner/index.d.ts +0 -0
- /package/{components → dist/components}/Spinner/index.js +0 -0
- /package/{components → dist/components}/Status/index.d.ts +0 -0
- /package/{components → dist/components}/Status/index.js +0 -0
- /package/{components → dist/components}/StubContainer/index.d.ts +0 -0
- /package/{components → dist/components}/StubContainer/index.js +0 -0
- /package/{components → dist/components}/StubSpinner/index.d.ts +0 -0
- /package/{components → dist/components}/StubSpinner/index.js +0 -0
- /package/{components → dist/components}/StubSpinnerFlex/index.d.ts +0 -0
- /package/{components → dist/components}/StubSpinnerFlex/index.js +0 -0
- /package/{components → dist/components}/SyntaxHighlight/index.d.ts +0 -0
- /package/{components → dist/components}/SyntaxHighlight/index.js +0 -0
- /package/{components → dist/components}/Table/RowMenu/index.d.ts +0 -0
- /package/{components → dist/components}/Table/RowMenu/index.js +0 -0
- /package/{components → dist/components}/Table/index.d.ts +0 -0
- /package/{components → dist/components}/Table/index.js +0 -0
- /package/{components → dist/components}/Text/index.d.ts +0 -0
- /package/{components → dist/components}/Text/index.js +0 -0
- /package/{components → dist/components}/Tooltip/index.d.ts +0 -0
- /package/{components → dist/components}/Tooltip/index.js +0 -0
- /package/{config → dist/config}/index.d.ts +0 -0
- /package/{config → dist/config}/index.js +0 -0
- /package/{config → dist/config}/links.d.ts +0 -0
- /package/{config → dist/config}/links.js +0 -0
- /package/{helpers → dist/helpers}/getEntropy.d.ts +0 -0
- /package/{helpers → dist/helpers}/getEntropy.js +0 -0
- /package/{helpers → dist/helpers}/localStorage.d.ts +0 -0
- /package/{helpers → dist/helpers}/localStorage.js +0 -0
- /package/{helpers → dist/helpers}/request.d.ts +0 -0
- /package/{helpers → dist/helpers}/request.js +0 -0
- /package/{hooks → dist/hooks}/useWindowDimensions.d.ts +0 -0
- /package/{hooks → dist/hooks}/useWindowDimensions.js +0 -0
- /package/{icons → dist/icons}/ArrowDropDown/index.d.ts +0 -0
- /package/{icons → dist/icons}/ArrowDropDown/index.js +0 -0
- /package/{icons → dist/icons}/Circle/index.d.ts +0 -0
- /package/{icons → dist/icons}/Circle/index.js +0 -0
- /package/{icons → dist/icons}/External/index.d.ts +0 -0
- /package/{icons → dist/icons}/External/index.js +0 -0
- /package/{icons → dist/icons}/Info/index.d.ts +0 -0
- /package/{icons → dist/icons}/Info/index.js +0 -0
- /package/{icons → dist/icons}/PostgresSQL/index.d.ts +0 -0
- /package/{icons → dist/icons}/PostgresSQL/index.js +0 -0
- /package/{icons → dist/icons}/Renewable/index.d.ts +0 -0
- /package/{icons → dist/icons}/Renewable/index.js +0 -0
- /package/{icons → dist/icons}/Shield/index.d.ts +0 -0
- /package/{icons → dist/icons}/Shield/index.js +0 -0
- /package/{icons → dist/icons}/Warning/index.d.ts +0 -0
- /package/{icons → dist/icons}/Warning/index.js +0 -0
- /package/{pages → dist/pages}/Branches/Branch/context.d.ts +0 -0
- /package/{pages → dist/pages}/Branches/Branch/context.js +0 -0
- /package/{pages → dist/pages}/Branches/Branch/index.d.ts +0 -0
- /package/{pages → dist/pages}/Branches/Branch/index.js +0 -0
- /package/{pages → dist/pages}/Branches/Branch/stores/Main.d.ts +0 -0
- /package/{pages → dist/pages}/Branches/Branch/stores/Main.js +0 -0
- /package/{pages → dist/pages}/Branches/Branch/useCreatedStores.d.ts +0 -0
- /package/{pages → dist/pages}/Branches/Branch/useCreatedStores.js +0 -0
- /package/{pages → dist/pages}/Branches/components/BranchesTable/index.d.ts +0 -0
- /package/{pages → dist/pages}/Branches/components/BranchesTable/index.js +0 -0
- /package/{pages → dist/pages}/Branches/components/Modals/DeleteBranchModal/index.d.ts +0 -0
- /package/{pages → dist/pages}/Branches/components/Modals/DeleteBranchModal/index.js +0 -0
- /package/{pages → dist/pages}/Branches/components/Modals/types.d.ts +0 -0
- /package/{pages → dist/pages}/Branches/components/Modals/types.js +0 -0
- /package/{pages → dist/pages}/Branches/index.d.ts +0 -0
- /package/{pages → dist/pages}/Branches/index.js +0 -0
- /package/{pages → dist/pages}/Clone/Status/index.d.ts +0 -0
- /package/{pages → dist/pages}/Clone/Status/index.js +0 -0
- /package/{pages → dist/pages}/Clone/context.d.ts +0 -0
- /package/{pages → dist/pages}/Clone/context.js +0 -0
- /package/{pages → dist/pages}/Clone/index.d.ts +0 -0
- /package/{pages → dist/pages}/Clone/useCreatedStores.d.ts +0 -0
- /package/{pages → dist/pages}/Clone/useCreatedStores.js +0 -0
- /package/{pages → dist/pages}/Clone/utils/index.d.ts +0 -0
- /package/{pages → dist/pages}/Clone/utils/index.js +0 -0
- /package/{pages → dist/pages}/CreateBranch/index.d.ts +0 -0
- /package/{pages → dist/pages}/CreateBranch/index.js +0 -0
- /package/{pages → dist/pages}/CreateBranch/stores/Main.d.ts +0 -0
- /package/{pages → dist/pages}/CreateBranch/stores/Main.js +0 -0
- /package/{pages → dist/pages}/CreateBranch/useCreatedStores.d.ts +0 -0
- /package/{pages → dist/pages}/CreateBranch/useCreatedStores.js +0 -0
- /package/{pages → dist/pages}/CreateBranch/useForm.js +0 -0
- /package/{pages → dist/pages}/CreateBranch/utils/index.d.ts +0 -0
- /package/{pages → dist/pages}/CreateBranch/utils/index.js +0 -0
- /package/{pages → dist/pages}/CreateClone/index.d.ts +0 -0
- /package/{pages → dist/pages}/CreateClone/stores/Main.d.ts +0 -0
- /package/{pages → dist/pages}/CreateClone/stores/Main.js +0 -0
- /package/{pages → dist/pages}/CreateClone/useCreatedStores.d.ts +0 -0
- /package/{pages → dist/pages}/CreateClone/useCreatedStores.js +0 -0
- /package/{pages → dist/pages}/CreateClone/utils/index.d.ts +0 -0
- /package/{pages → dist/pages}/CreateSnapshot/index.d.ts +0 -0
- /package/{pages → dist/pages}/CreateSnapshot/index.js +0 -0
- /package/{pages → dist/pages}/CreateSnapshot/stores/Main.d.ts +0 -0
- /package/{pages → dist/pages}/CreateSnapshot/stores/Main.js +0 -0
- /package/{pages → dist/pages}/CreateSnapshot/useCreatedStores.d.ts +0 -0
- /package/{pages → dist/pages}/CreateSnapshot/useCreatedStores.js +0 -0
- /package/{pages → dist/pages}/CreateSnapshot/useForm.js +0 -0
- /package/{pages → dist/pages}/CreateSnapshot/utils/index.d.ts +0 -0
- /package/{pages → dist/pages}/CreateSnapshot/utils/index.js +0 -0
- /package/{pages → dist/pages}/Instance/Clones/ClonesList/ConnectionModal/index.d.ts +0 -0
- /package/{pages → dist/pages}/Instance/Clones/ClonesList/ConnectionModal/index.js +0 -0
- /package/{pages → dist/pages}/Instance/Clones/ClonesList/MenuCell/index.d.ts +0 -0
- /package/{pages → dist/pages}/Instance/Clones/ClonesList/MenuCell/index.js +0 -0
- /package/{pages → dist/pages}/Instance/Clones/ClonesList/MenuCell/utils.d.ts +0 -0
- /package/{pages → dist/pages}/Instance/Clones/ClonesList/MenuCell/utils.js +0 -0
- /package/{pages → dist/pages}/Instance/Clones/ClonesList/index.d.ts +0 -0
- /package/{pages → dist/pages}/Instance/Clones/ClonesList/index.js +0 -0
- /package/{pages → dist/pages}/Instance/Clones/ClonesModal/index.d.ts +0 -0
- /package/{pages → dist/pages}/Instance/Clones/ClonesModal/index.js +0 -0
- /package/{pages → dist/pages}/Instance/Clones/ClonesModal/utils.d.ts +0 -0
- /package/{pages → dist/pages}/Instance/Clones/ClonesModal/utils.js +0 -0
- /package/{pages → dist/pages}/Instance/Clones/Header/Item/index.d.ts +0 -0
- /package/{pages → dist/pages}/Instance/Clones/Header/Item/index.js +0 -0
- /package/{pages → dist/pages}/Instance/Clones/Header/index.d.ts +0 -0
- /package/{pages → dist/pages}/Instance/Clones/Header/index.js +0 -0
- /package/{pages → dist/pages}/Instance/Clones/index.d.ts +0 -0
- /package/{pages → dist/pages}/Instance/Clones/index.js +0 -0
- /package/{pages → dist/pages}/Instance/Configuration/Header/index.d.ts +0 -0
- /package/{pages → dist/pages}/Instance/Configuration/Header/index.js +0 -0
- /package/{pages → dist/pages}/Instance/Configuration/InputWithTooltip/index.d.ts +0 -0
- /package/{pages → dist/pages}/Instance/Configuration/InputWithTooltip/index.js +0 -0
- /package/{pages → dist/pages}/Instance/Configuration/ResponseMessage/index.d.ts +0 -0
- /package/{pages → dist/pages}/Instance/Configuration/ResponseMessage/index.js +0 -0
- /package/{pages → dist/pages}/Instance/Configuration/configOptions.d.ts +0 -0
- /package/{pages → dist/pages}/Instance/Configuration/configOptions.js +0 -0
- /package/{pages → dist/pages}/Instance/Configuration/index.d.ts +0 -0
- /package/{pages → dist/pages}/Instance/Configuration/index.js +0 -0
- /package/{pages → dist/pages}/Instance/Configuration/tooltipText.d.ts +0 -0
- /package/{pages → dist/pages}/Instance/Configuration/tooltipText.js +0 -0
- /package/{pages → dist/pages}/Instance/Configuration/useForm.js +0 -0
- /package/{pages → dist/pages}/Instance/Configuration/utils/index.d.ts +0 -0
- /package/{pages → dist/pages}/Instance/Configuration/utils/index.js +0 -0
- /package/{pages → dist/pages}/Instance/InactiveInstance/index.d.ts +0 -0
- /package/{pages → dist/pages}/Instance/InactiveInstance/index.js +0 -0
- /package/{pages → dist/pages}/Instance/InactiveInstance/utils.d.ts +0 -0
- /package/{pages → dist/pages}/Instance/InactiveInstance/utils.js +0 -0
- /package/{pages → dist/pages}/Instance/Info/Connection/ConnectModal/Content/index.d.ts +0 -0
- /package/{pages → dist/pages}/Instance/Info/Connection/ConnectModal/Content/index.js +0 -0
- /package/{pages → dist/pages}/Instance/Info/Connection/ConnectModal/Content/utils.d.ts +0 -0
- /package/{pages → dist/pages}/Instance/Info/Connection/ConnectModal/Content/utils.js +0 -0
- /package/{pages → dist/pages}/Instance/Info/Connection/ConnectModal/index.d.ts +0 -0
- /package/{pages → dist/pages}/Instance/Info/Connection/ConnectModal/index.js +0 -0
- /package/{pages → dist/pages}/Instance/Info/Connection/index.d.ts +0 -0
- /package/{pages → dist/pages}/Instance/Info/Connection/index.js +0 -0
- /package/{pages → dist/pages}/Instance/Info/Details/index.d.ts +0 -0
- /package/{pages → dist/pages}/Instance/Info/Details/index.js +0 -0
- /package/{pages → dist/pages}/Instance/Info/Disks/Disk/ActionsMenu/index.d.ts +0 -0
- /package/{pages → dist/pages}/Instance/Info/Disks/Disk/ActionsMenu/index.js +0 -0
- /package/{pages → dist/pages}/Instance/Info/Disks/Disk/ProgressBar/PointerIcon.d.ts +0 -0
- /package/{pages → dist/pages}/Instance/Info/Disks/Disk/ProgressBar/PointerIcon.js +0 -0
- /package/{pages → dist/pages}/Instance/Info/Disks/Disk/Status/index.d.ts +0 -0
- /package/{pages → dist/pages}/Instance/Info/Disks/Disk/Status/index.js +0 -0
- /package/{pages → dist/pages}/Instance/Info/Disks/index.d.ts +0 -0
- /package/{pages → dist/pages}/Instance/Info/Icons/index.d.ts +0 -0
- /package/{pages → dist/pages}/Instance/Info/Icons/index.js +0 -0
- /package/{pages → dist/pages}/Instance/Info/Retrieval/ConfirmFullRefreshModal/index.d.ts +0 -0
- /package/{pages → dist/pages}/Instance/Info/Retrieval/ConfirmFullRefreshModal/index.js +0 -0
- /package/{pages → dist/pages}/Instance/Info/Retrieval/RefreshFailedAlert/index.d.ts +0 -0
- /package/{pages → dist/pages}/Instance/Info/Retrieval/RefreshFailedAlert/index.js +0 -0
- /package/{pages → dist/pages}/Instance/Info/Retrieval/RetrievalModal/index.d.ts +0 -0
- /package/{pages → dist/pages}/Instance/Info/Retrieval/RetrievalModal/index.js +0 -0
- /package/{pages → dist/pages}/Instance/Info/Retrieval/RetrievalTable/index.d.ts +0 -0
- /package/{pages → dist/pages}/Instance/Info/Retrieval/RetrievalTable/index.js +0 -0
- /package/{pages → dist/pages}/Instance/Info/Retrieval/index.d.ts +0 -0
- /package/{pages → dist/pages}/Instance/Info/Retrieval/index.js +0 -0
- /package/{pages → dist/pages}/Instance/Info/Retrieval/utils.d.ts +0 -0
- /package/{pages → dist/pages}/Instance/Info/Retrieval/utils.js +0 -0
- /package/{pages → dist/pages}/Instance/Info/Snapshots/Calendar/Day/index.d.ts +0 -0
- /package/{pages → dist/pages}/Instance/Info/Snapshots/Calendar/Day/index.js +0 -0
- /package/{pages → dist/pages}/Instance/Info/Snapshots/Calendar/index.d.ts +0 -0
- /package/{pages → dist/pages}/Instance/Info/Snapshots/Calendar/index.js +0 -0
- /package/{pages → dist/pages}/Instance/Info/Snapshots/Calendar/utils.d.ts +0 -0
- /package/{pages → dist/pages}/Instance/Info/Snapshots/Calendar/utils.js +0 -0
- /package/{pages → dist/pages}/Instance/Info/Snapshots/TimeLine/Day/index.d.ts +0 -0
- /package/{pages → dist/pages}/Instance/Info/Snapshots/TimeLine/Day/index.js +0 -0
- /package/{pages → dist/pages}/Instance/Info/Snapshots/TimeLine/index.d.ts +0 -0
- /package/{pages → dist/pages}/Instance/Info/Snapshots/TimeLine/index.js +0 -0
- /package/{pages → dist/pages}/Instance/Info/Snapshots/index.d.ts +0 -0
- /package/{pages → dist/pages}/Instance/Info/Snapshots/index.js +0 -0
- /package/{pages → dist/pages}/Instance/Info/Snapshots/utils.d.ts +0 -0
- /package/{pages → dist/pages}/Instance/Info/Snapshots/utils.js +0 -0
- /package/{pages → dist/pages}/Instance/Info/Status/InstanceResponseModal/index.d.ts +0 -0
- /package/{pages → dist/pages}/Instance/Info/Status/InstanceResponseModal/index.js +0 -0
- /package/{pages → dist/pages}/Instance/Info/Status/index.d.ts +0 -0
- /package/{pages → dist/pages}/Instance/Info/Status/index.js +0 -0
- /package/{pages → dist/pages}/Instance/Info/Status/utils.d.ts +0 -0
- /package/{pages → dist/pages}/Instance/Info/Status/utils.js +0 -0
- /package/{pages → dist/pages}/Instance/Info/components/Property/index.d.ts +0 -0
- /package/{pages → dist/pages}/Instance/Info/components/Property/index.js +0 -0
- /package/{pages → dist/pages}/Instance/Info/components/Section/index.d.ts +0 -0
- /package/{pages → dist/pages}/Instance/Info/components/Section/index.js +0 -0
- /package/{pages → dist/pages}/Instance/Info/components/ValueStatus/index.d.ts +0 -0
- /package/{pages → dist/pages}/Instance/Info/components/ValueStatus/index.js +0 -0
- /package/{pages → dist/pages}/Instance/Info/index.d.ts +0 -0
- /package/{pages → dist/pages}/Instance/Info/index.js +0 -0
- /package/{pages → dist/pages}/Instance/Snapshots/components/SnapshotHeader/index.d.ts +0 -0
- /package/{pages → dist/pages}/Instance/Snapshots/components/SnapshotHeader/index.js +0 -0
- /package/{pages → dist/pages}/Instance/Snapshots/components/SnapshotsList/index.d.ts +0 -0
- /package/{pages → dist/pages}/Instance/Snapshots/components/SnapshotsList/index.js +0 -0
- /package/{pages → dist/pages}/Instance/Snapshots/components/SnapshotsModal/utils.d.ts +0 -0
- /package/{pages → dist/pages}/Instance/Snapshots/components/SnapshotsModal/utils.js +0 -0
- /package/{pages → dist/pages}/Instance/Snapshots/components/SnapshotsTable/index.d.ts +0 -0
- /package/{pages → dist/pages}/Instance/Snapshots/components/SnapshotsTable/index.js +0 -0
- /package/{pages → dist/pages}/Instance/Snapshots/index.d.ts +0 -0
- /package/{pages → dist/pages}/Instance/Snapshots/index.js +0 -0
- /package/{pages → dist/pages}/Instance/Snapshots/utils/index.d.ts +0 -0
- /package/{pages → dist/pages}/Instance/Snapshots/utils/index.js +0 -0
- /package/{pages → dist/pages}/Instance/SnapshotsModal/index.d.ts +0 -0
- /package/{pages → dist/pages}/Instance/SnapshotsModal/index.js +0 -0
- /package/{pages → dist/pages}/Instance/Tabs/PlatformTabs.d.ts +0 -0
- /package/{pages → dist/pages}/Instance/Tabs/PlatformTabs.js +0 -0
- /package/{pages → dist/pages}/Instance/Tabs/index.d.ts +0 -0
- /package/{pages → dist/pages}/Instance/Tabs/index.js +0 -0
- /package/{pages → dist/pages}/Instance/Tabs/styles.d.ts +0 -0
- /package/{pages → dist/pages}/Instance/Tabs/styles.js +0 -0
- /package/{pages → dist/pages}/Instance/components/ErrorStub/index.d.ts +0 -0
- /package/{pages → dist/pages}/Instance/components/ErrorStub/index.js +0 -0
- /package/{pages → dist/pages}/Instance/components/ModalReloadButton/index.d.ts +0 -0
- /package/{pages → dist/pages}/Instance/components/ModalReloadButton/index.js +0 -0
- /package/{pages → dist/pages}/Instance/components/Tags/Tag/index.d.ts +0 -0
- /package/{pages → dist/pages}/Instance/components/Tags/Tag/index.js +0 -0
- /package/{pages → dist/pages}/Instance/components/Tags/index.d.ts +0 -0
- /package/{pages → dist/pages}/Instance/components/Tags/index.js +0 -0
- /package/{pages → dist/pages}/Instance/context.d.ts +0 -0
- /package/{pages → dist/pages}/Instance/context.js +0 -0
- /package/{pages → dist/pages}/Instance/index.d.ts +0 -0
- /package/{pages → dist/pages}/Instance/index.js +0 -0
- /package/{pages → dist/pages}/Instance/stores/ClonesModal.d.ts +0 -0
- /package/{pages → dist/pages}/Instance/stores/ClonesModal.js +0 -0
- /package/{pages → dist/pages}/Instance/stores/Main.d.ts +0 -0
- /package/{pages → dist/pages}/Instance/stores/Main.js +0 -0
- /package/{pages → dist/pages}/Instance/stores/SnapshotsModal.d.ts +0 -0
- /package/{pages → dist/pages}/Instance/stores/SnapshotsModal.js +0 -0
- /package/{pages → dist/pages}/Instance/useCreatedStores.d.ts +0 -0
- /package/{pages → dist/pages}/Instance/useCreatedStores.js +0 -0
- /package/{pages → dist/pages}/Logs/Icons/PlusIcon.d.ts +0 -0
- /package/{pages → dist/pages}/Logs/Icons/PlusIcon.js +0 -0
- /package/{pages → dist/pages}/Logs/constants/index.d.ts +0 -0
- /package/{pages → dist/pages}/Logs/constants/index.js +0 -0
- /package/{pages → dist/pages}/Logs/hooks/useWsScroll.d.ts +0 -0
- /package/{pages → dist/pages}/Logs/hooks/useWsScroll.js +0 -0
- /package/{pages → dist/pages}/Logs/index.d.ts +0 -0
- /package/{pages → dist/pages}/Logs/index.js +0 -0
- /package/{pages → dist/pages}/Logs/utils/index.d.ts +0 -0
- /package/{pages → dist/pages}/Logs/utils/index.js +0 -0
- /package/{pages → dist/pages}/Logs/wsLogs.d.ts +0 -0
- /package/{pages → dist/pages}/Logs/wsLogs.js +0 -0
- /package/{pages → dist/pages}/Logs/wsSnackbar.d.ts +0 -0
- /package/{pages → dist/pages}/Logs/wsSnackbar.js +0 -0
- /package/{pages → dist/pages}/Snapshots/Snapshot/DestorySnapshotModal/index.d.ts +0 -0
- /package/{pages → dist/pages}/Snapshots/Snapshot/DestorySnapshotModal/index.js +0 -0
- /package/{pages → dist/pages}/Snapshots/Snapshot/context.d.ts +0 -0
- /package/{pages → dist/pages}/Snapshots/Snapshot/context.js +0 -0
- /package/{pages → dist/pages}/Snapshots/Snapshot/index.d.ts +0 -0
- /package/{pages → dist/pages}/Snapshots/Snapshot/index.js +0 -0
- /package/{pages → dist/pages}/Snapshots/Snapshot/stores/Main.d.ts +0 -0
- /package/{pages → dist/pages}/Snapshots/Snapshot/stores/Main.js +0 -0
- /package/{pages → dist/pages}/Snapshots/Snapshot/useCreatedStores.d.ts +0 -0
- /package/{pages → dist/pages}/Snapshots/Snapshot/useCreatedStores.js +0 -0
- /package/{stores → dist/stores}/Snapshots.d.ts +0 -0
- /package/{stores → dist/stores}/Snapshots.js +0 -0
- /package/{styles → dist/styles}/colors.d.ts +0 -0
- /package/{styles → dist/styles}/colors.js +0 -0
- /package/{styles → dist/styles}/icons.d.ts +0 -0
- /package/{styles → dist/styles}/icons.js +0 -0
- /package/{styles → dist/styles}/styles.d.ts +0 -0
- /package/{styles → dist/styles}/styles.js +0 -0
- /package/{styles → dist/styles}/theme.d.ts +0 -0
- /package/{styles → dist/styles}/theme.js +0 -0
- /package/{styles → dist/styles}/vars.d.ts +0 -0
- /package/{styles → dist/styles}/vars.js +0 -0
- /package/{types → dist/types}/api/endpoints/createBranch.d.ts +0 -0
- /package/{types → dist/types}/api/endpoints/createBranch.js +0 -0
- /package/{types → dist/types}/api/endpoints/createClone.js +0 -0
- /package/{types → dist/types}/api/endpoints/createSnapshot.d.ts +0 -0
- /package/{types → dist/types}/api/endpoints/createSnapshot.js +0 -0
- /package/{types → dist/types}/api/endpoints/deleteBranch.d.ts +0 -0
- /package/{types → dist/types}/api/endpoints/deleteBranch.js +0 -0
- /package/{types → dist/types}/api/endpoints/destroyClone.d.ts +0 -0
- /package/{types → dist/types}/api/endpoints/destroyClone.js +0 -0
- /package/{types → dist/types}/api/endpoints/destroySnapshot.d.ts +0 -0
- /package/{types → dist/types}/api/endpoints/destroySnapshot.js +0 -0
- /package/{types → dist/types}/api/endpoints/fullRefresh.d.ts +0 -0
- /package/{types → dist/types}/api/endpoints/fullRefresh.js +0 -0
- /package/{types → dist/types}/api/endpoints/getBranchSnapshot.d.ts +0 -0
- /package/{types → dist/types}/api/endpoints/getBranchSnapshot.js +0 -0
- /package/{types → dist/types}/api/endpoints/getBranches.d.ts +0 -0
- /package/{types → dist/types}/api/endpoints/getBranches.js +0 -0
- /package/{types → dist/types}/api/endpoints/getClone.d.ts +0 -0
- /package/{types → dist/types}/api/endpoints/getClone.js +0 -0
- /package/{types → dist/types}/api/endpoints/getConfig.d.ts +0 -0
- /package/{types → dist/types}/api/endpoints/getConfig.js +0 -0
- /package/{types → dist/types}/api/endpoints/getEngine.d.ts +0 -0
- /package/{types → dist/types}/api/endpoints/getEngine.js +0 -0
- /package/{types → dist/types}/api/endpoints/getFullConfig.d.ts +0 -0
- /package/{types → dist/types}/api/endpoints/getFullConfig.js +0 -0
- /package/{types → dist/types}/api/endpoints/getInstance.d.ts +0 -0
- /package/{types → dist/types}/api/endpoints/getInstance.js +0 -0
- /package/{types → dist/types}/api/endpoints/getInstanceRetrieval.d.ts +0 -0
- /package/{types → dist/types}/api/endpoints/getInstanceRetrieval.js +0 -0
- /package/{types → dist/types}/api/endpoints/getSeImages.d.ts +0 -0
- /package/{types → dist/types}/api/endpoints/getSeImages.js +0 -0
- /package/{types → dist/types}/api/endpoints/getSnapshotList.d.ts +0 -0
- /package/{types → dist/types}/api/endpoints/getSnapshotList.js +0 -0
- /package/{types → dist/types}/api/endpoints/getSnapshots.d.ts +0 -0
- /package/{types → dist/types}/api/endpoints/getSnapshots.js +0 -0
- /package/{types → dist/types}/api/endpoints/getWSToken.d.ts +0 -0
- /package/{types → dist/types}/api/endpoints/getWSToken.js +0 -0
- /package/{types → dist/types}/api/endpoints/initWS.d.ts +0 -0
- /package/{types → dist/types}/api/endpoints/initWS.js +0 -0
- /package/{types → dist/types}/api/endpoints/refreshInstance.d.ts +0 -0
- /package/{types → dist/types}/api/endpoints/refreshInstance.js +0 -0
- /package/{types → dist/types}/api/endpoints/resetClone.d.ts +0 -0
- /package/{types → dist/types}/api/endpoints/resetClone.js +0 -0
- /package/{types → dist/types}/api/endpoints/testDbSource.d.ts +0 -0
- /package/{types → dist/types}/api/endpoints/testDbSource.js +0 -0
- /package/{types → dist/types}/api/endpoints/updateClone.js +0 -0
- /package/{types → dist/types}/api/endpoints/updateConfig.d.ts +0 -0
- /package/{types → dist/types}/api/endpoints/updateConfig.js +0 -0
- /package/{types → dist/types}/api/entities/branchSnapshot.d.ts +0 -0
- /package/{types → dist/types}/api/entities/branchSnapshot.js +0 -0
- /package/{types → dist/types}/api/entities/branchSnapshots.d.ts +0 -0
- /package/{types → dist/types}/api/entities/branchSnapshots.js +0 -0
- /package/{types → dist/types}/api/entities/config.d.ts +0 -0
- /package/{types → dist/types}/api/entities/createBranch.d.ts +0 -0
- /package/{types → dist/types}/api/entities/createBranch.js +0 -0
- /package/{types → dist/types}/api/entities/createSnapshot.d.ts +0 -0
- /package/{types → dist/types}/api/entities/createSnapshot.js +0 -0
- /package/{types → dist/types}/api/entities/dbSource.d.ts +0 -0
- /package/{types → dist/types}/api/entities/dbSource.js +0 -0
- /package/{types → dist/types}/api/entities/instance.js +0 -0
- /package/{types → dist/types}/api/entities/instanceRetrieval.d.ts +0 -0
- /package/{types → dist/types}/api/entities/instanceRetrieval.js +0 -0
- /package/{types → dist/types}/api/entities/pool.d.ts +0 -0
- /package/{types → dist/types}/api/entities/pool.js +0 -0
- /package/{types → dist/types}/api/entities/snapshot.d.ts +0 -0
- /package/{types → dist/types}/api/entities/snapshot.js +0 -0
- /package/{types → dist/types}/api/entities/wsToken.d.ts +0 -0
- /package/{types → dist/types}/api/entities/wsToken.js +0 -0
- /package/{utils → dist/utils}/api.d.ts +0 -0
- /package/{utils → dist/utils}/api.js +0 -0
- /package/{utils → dist/utils}/clone.d.ts +0 -0
- /package/{utils → dist/utils}/clone.js +0 -0
- /package/{utils → dist/utils}/connection.d.ts +0 -0
- /package/{utils → dist/utils}/connection.js +0 -0
- /package/{utils → dist/utils}/date.d.ts +0 -0
- /package/{utils → dist/utils}/date.js +0 -0
- /package/{utils → dist/utils}/instance.d.ts +0 -0
- /package/{utils → dist/utils}/instance.js +0 -0
- /package/{utils → dist/utils}/numbers.d.ts +0 -0
- /package/{utils → dist/utils}/numbers.js +0 -0
- /package/{utils → dist/utils}/react.d.ts +0 -0
- /package/{utils → dist/utils}/react.js +0 -0
- /package/{utils → dist/utils}/snapshot.d.ts +0 -0
- /package/{utils → dist/utils}/snapshot.js +0 -0
- /package/{utils → dist/utils}/strings.d.ts +0 -0
- /package/{utils → dist/utils}/strings.js +0 -0
- /package/{utils → dist/utils}/units.d.ts +0 -0
- /package/{utils → dist/utils}/units.js +0 -0
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import {
|
|
2
|
+
InstanceStateDto,
|
|
3
|
+
formatInstanceStateDto,
|
|
4
|
+
} from '@postgres.ai/shared/types/api/entities/instanceState'
|
|
5
|
+
|
|
6
|
+
type CoreInstanceDto = {
|
|
7
|
+
id: number
|
|
8
|
+
state: InstanceStateDto
|
|
9
|
+
plan: string
|
|
10
|
+
selfassigned_instance_id: string
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
type CeInstanceDto = CoreInstanceDto & {}
|
|
14
|
+
|
|
15
|
+
type PlatformInstanceDto = CoreInstanceDto & {
|
|
16
|
+
created_at: string
|
|
17
|
+
telemetry_last_reported_at?: string
|
|
18
|
+
created_formatted: string
|
|
19
|
+
iid: number | null
|
|
20
|
+
is_active: true
|
|
21
|
+
org_id: number
|
|
22
|
+
project_alias: string
|
|
23
|
+
project_id: number
|
|
24
|
+
project_name: string
|
|
25
|
+
ssh_server_url: string | null
|
|
26
|
+
url: string
|
|
27
|
+
use_tunnel: boolean
|
|
28
|
+
verify_token: string
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
export type InstanceDto = CeInstanceDto | PlatformInstanceDto
|
|
32
|
+
|
|
33
|
+
export const formatInstanceDto = (dto: InstanceDto) => {
|
|
34
|
+
const coreMapped = {
|
|
35
|
+
id: dto.id.toString(),
|
|
36
|
+
state: formatInstanceStateDto(dto.state),
|
|
37
|
+
dto,
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
const platformMapped =
|
|
41
|
+
'created_at' in dto
|
|
42
|
+
? {
|
|
43
|
+
createdAt: new Date(dto.created_at),
|
|
44
|
+
...(dto.telemetry_last_reported_at && {
|
|
45
|
+
telemetryLastReportedAt: new Date(dto.telemetry_last_reported_at),
|
|
46
|
+
}),
|
|
47
|
+
createdFormatted: `${dto.created_formatted} UTC`,
|
|
48
|
+
iid: dto.iid,
|
|
49
|
+
isActive: dto.is_active,
|
|
50
|
+
orgId: dto.org_id.toString(),
|
|
51
|
+
projectAlias: dto.project_alias,
|
|
52
|
+
projectId: dto.project_id.toString(),
|
|
53
|
+
projectName: dto.project_name,
|
|
54
|
+
sshServerUrl: dto.ssh_server_url,
|
|
55
|
+
useTunnel: dto.use_tunnel,
|
|
56
|
+
verifyToken: dto.verify_token,
|
|
57
|
+
url: dto.url,
|
|
58
|
+
}
|
|
59
|
+
: null
|
|
60
|
+
|
|
61
|
+
return {
|
|
62
|
+
...coreMapped,
|
|
63
|
+
...platformMapped,
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
export type Instance = ReturnType<typeof formatInstanceDto>
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
export interface ActivityType {
|
|
2
|
+
user?: string
|
|
3
|
+
query?: string
|
|
4
|
+
duration?: number | string
|
|
5
|
+
waitEventType?: string
|
|
6
|
+
waitEvent?: string
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
export type InstanceRetrieval = {
|
|
10
|
+
mode: string
|
|
11
|
+
alerts: Object | null
|
|
12
|
+
lastRefresh: string | null
|
|
13
|
+
nextRefresh: string | null
|
|
14
|
+
status: string
|
|
15
|
+
currentJob?: string
|
|
16
|
+
activity: {
|
|
17
|
+
source: ActivityType[]
|
|
18
|
+
target: ActivityType[]
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
const replaceSinglequote = (string?: string) => string?.replace(/'/g, '')
|
|
23
|
+
|
|
24
|
+
const formatActivity = (activity: ActivityType[]) =>
|
|
25
|
+
activity?.map((item) => {
|
|
26
|
+
return {
|
|
27
|
+
user: replaceSinglequote(item.user),
|
|
28
|
+
query: replaceSinglequote(item.query),
|
|
29
|
+
duration: replaceSinglequote(`${item.duration}ms`),
|
|
30
|
+
'wait type/event': replaceSinglequote(
|
|
31
|
+
`${item.waitEventType}/${item.waitEvent}`,
|
|
32
|
+
),
|
|
33
|
+
}
|
|
34
|
+
})
|
|
35
|
+
|
|
36
|
+
export const formatInstanceRetrieval = (retrieval: InstanceRetrieval) => {
|
|
37
|
+
return {
|
|
38
|
+
...retrieval,
|
|
39
|
+
activity: {
|
|
40
|
+
source: formatActivity(retrieval.activity?.source),
|
|
41
|
+
target: formatActivity(retrieval.activity?.target),
|
|
42
|
+
},
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
export type InstanceRetrievalType = ReturnType<typeof formatInstanceRetrieval>
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
import {
|
|
2
|
+
CloneDto,
|
|
3
|
+
formatCloneDto,
|
|
4
|
+
} from '@postgres.ai/shared/types/api/entities/clone'
|
|
5
|
+
import {
|
|
6
|
+
formatPoolDto,
|
|
7
|
+
PoolDto,
|
|
8
|
+
} from '@postgres.ai/shared/types/api/entities/pool'
|
|
9
|
+
|
|
10
|
+
export type InstanceStateDto = {
|
|
11
|
+
cloning: {
|
|
12
|
+
clones: CloneDto[]
|
|
13
|
+
expectedCloningTime: number
|
|
14
|
+
numClones?: number
|
|
15
|
+
protectionLeaseDurationMinutes?: number
|
|
16
|
+
protectionMaxDurationMinutes?: number
|
|
17
|
+
}
|
|
18
|
+
status: {
|
|
19
|
+
code: 'OK' | 'WARNING' | 'NO_RESPONSE'
|
|
20
|
+
message: string
|
|
21
|
+
}
|
|
22
|
+
// Fallback for capability with old API.
|
|
23
|
+
clones?: CloneDto[]
|
|
24
|
+
// Fallback for capability with old API.
|
|
25
|
+
expectedCloningTime?: number
|
|
26
|
+
// Fallback for capability with old API.
|
|
27
|
+
pools?: PoolDto[]
|
|
28
|
+
// Fallback for capability with old API.
|
|
29
|
+
retrieving?: {
|
|
30
|
+
lastRefresh: string | null
|
|
31
|
+
nextRefresh: string | null
|
|
32
|
+
mode: string
|
|
33
|
+
status: 'finished' | 'failed' | 'refreshing' | 'pending'
|
|
34
|
+
alerts?: {
|
|
35
|
+
refresh_failed?: {
|
|
36
|
+
level: 'error'
|
|
37
|
+
message: string
|
|
38
|
+
lastSeen: string
|
|
39
|
+
count: number
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
// Fallback for capability with old API.
|
|
44
|
+
fileSystem?: {
|
|
45
|
+
free: number
|
|
46
|
+
size: number
|
|
47
|
+
used: number
|
|
48
|
+
}
|
|
49
|
+
engine?: {
|
|
50
|
+
version: string
|
|
51
|
+
startedAt: string
|
|
52
|
+
edition?: string
|
|
53
|
+
disableConfigModification?: boolean
|
|
54
|
+
}
|
|
55
|
+
dataSize?: number
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
export const formatInstanceStateDto = (dto: InstanceStateDto) => {
|
|
59
|
+
if (!dto) return null
|
|
60
|
+
|
|
61
|
+
const pools = dto.pools?.map(formatPoolDto) ?? null
|
|
62
|
+
const clones =
|
|
63
|
+
dto?.clones?.map(formatCloneDto) ?? dto.cloning?.clones?.map(formatCloneDto)
|
|
64
|
+
const expectedCloningTime =
|
|
65
|
+
dto?.expectedCloningTime ?? dto.cloning?.expectedCloningTime
|
|
66
|
+
|
|
67
|
+
return {
|
|
68
|
+
...dto,
|
|
69
|
+
engine: {
|
|
70
|
+
version: dto.engine?.version ?? null,
|
|
71
|
+
startedAt: dto.engine?.startedAt && new Date(dto.engine?.startedAt),
|
|
72
|
+
disableConfigModification: false,
|
|
73
|
+
},
|
|
74
|
+
retrieving: dto.retrieving && {
|
|
75
|
+
lastRefresh: dto.retrieving.lastRefresh
|
|
76
|
+
? new Date(dto.retrieving.lastRefresh)
|
|
77
|
+
: null,
|
|
78
|
+
nextRefresh: dto.retrieving.nextRefresh
|
|
79
|
+
? new Date(dto.retrieving.nextRefresh)
|
|
80
|
+
: null,
|
|
81
|
+
mode: dto.retrieving.mode,
|
|
82
|
+
status: dto.retrieving.status,
|
|
83
|
+
alerts: dto.retrieving.alerts && {
|
|
84
|
+
refreshFailed: dto.retrieving.alerts.refresh_failed && {
|
|
85
|
+
level: dto.retrieving.alerts.refresh_failed.level,
|
|
86
|
+
message: dto.retrieving.alerts.refresh_failed.message,
|
|
87
|
+
lastSeen: new Date(dto.retrieving.alerts.refresh_failed.lastSeen),
|
|
88
|
+
count: dto.retrieving.alerts.refresh_failed.count,
|
|
89
|
+
},
|
|
90
|
+
},
|
|
91
|
+
},
|
|
92
|
+
cloning: {
|
|
93
|
+
clones: clones,
|
|
94
|
+
expectedCloningTime: expectedCloningTime,
|
|
95
|
+
protectionLeaseDurationMinutes: dto.cloning?.protectionLeaseDurationMinutes,
|
|
96
|
+
protectionMaxDurationMinutes: dto.cloning?.protectionMaxDurationMinutes,
|
|
97
|
+
},
|
|
98
|
+
pools,
|
|
99
|
+
dataSize:
|
|
100
|
+
dto.dataSize ??
|
|
101
|
+
pools?.reduce((sum, pool) => pool.fileSystem.dataSize + sum, 0) ??
|
|
102
|
+
null,
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
export type InstanceState = ReturnType<typeof formatInstanceStateDto>
|
|
@@ -0,0 +1,27 @@
|
|
|
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
|
+
|
|
8
|
+
export type PoolDto = {
|
|
9
|
+
cloneList: string[]
|
|
10
|
+
fileSystem: {
|
|
11
|
+
compressRatio: number
|
|
12
|
+
dataSize: number
|
|
13
|
+
free: number
|
|
14
|
+
mode: string
|
|
15
|
+
size: number
|
|
16
|
+
used: number
|
|
17
|
+
usedByClones: number
|
|
18
|
+
usedBySnapshots: number
|
|
19
|
+
}
|
|
20
|
+
mode: string
|
|
21
|
+
name: string
|
|
22
|
+
status: 'active' | 'empty' | 'refreshing'
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
export const formatPoolDto = (dto: PoolDto) => dto
|
|
26
|
+
|
|
27
|
+
export type Pool = ReturnType<typeof formatPoolDto>
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { parseDate } from '@postgres.ai/shared/utils/date'
|
|
2
|
+
|
|
3
|
+
export type SnapshotDto = {
|
|
4
|
+
numClones: string | number
|
|
5
|
+
clones: string[]
|
|
6
|
+
createdAt: string
|
|
7
|
+
dataStateAt: string
|
|
8
|
+
id: string
|
|
9
|
+
pool: string
|
|
10
|
+
physicalSize: number
|
|
11
|
+
logicalSize: number
|
|
12
|
+
message: string
|
|
13
|
+
branch: string
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export const formatSnapshotDto = (dto: SnapshotDto) => ({
|
|
17
|
+
...dto,
|
|
18
|
+
createdAtDate: parseDate(dto.createdAt),
|
|
19
|
+
dataStateAtDate: parseDate(dto.dataStateAt),
|
|
20
|
+
})
|
|
21
|
+
|
|
22
|
+
export type Snapshot = ReturnType<typeof formatSnapshotDto>
|
|
@@ -0,0 +1,22 @@
|
|
|
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
|
+
|
|
8
|
+
type Options = {
|
|
9
|
+
precision: number
|
|
10
|
+
units: 'metric' | 'iec' | 'metric_octet' | 'iec_octet'
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
type Result = {
|
|
14
|
+
value: string
|
|
15
|
+
unit: string
|
|
16
|
+
long: string
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
declare module 'byte-size' {
|
|
20
|
+
declare const byteSize: (bytes: number, options?: Options) => Result
|
|
21
|
+
export default byteSize
|
|
22
|
+
}
|
package/utils/api.ts
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
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
|
+
|
|
8
|
+
export const getTextFromUnknownApiError = async (error: Response) => {
|
|
9
|
+
const log = (text: string) => console.error('Unknown API error', text)
|
|
10
|
+
|
|
11
|
+
try {
|
|
12
|
+
const result = await error.json()
|
|
13
|
+
log(result)
|
|
14
|
+
return JSON.stringify(result)
|
|
15
|
+
} catch (e) {
|
|
16
|
+
// not a json
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
try {
|
|
20
|
+
const result = await error.text()
|
|
21
|
+
log(result)
|
|
22
|
+
return result
|
|
23
|
+
} catch (e) {
|
|
24
|
+
// not a text
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
const result = `${error.status} ${error.statusText}`
|
|
28
|
+
log(result)
|
|
29
|
+
return result
|
|
30
|
+
}
|
package/utils/clone.ts
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
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
|
+
|
|
8
|
+
import { Clone } from '@postgres.ai/shared/types/api/entities/clone'
|
|
9
|
+
import { capitalize } from '@postgres.ai/shared/utils/strings'
|
|
10
|
+
|
|
11
|
+
const STATUS_CODE_TO_TYPE = {
|
|
12
|
+
OK: 'ok' as const,
|
|
13
|
+
CREATING: 'waiting' as const,
|
|
14
|
+
DELETING: 'waiting' as const,
|
|
15
|
+
RESETTING: 'waiting' as const,
|
|
16
|
+
FATAL: 'error' as const,
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
type StatusCode = keyof typeof STATUS_CODE_TO_TYPE
|
|
20
|
+
|
|
21
|
+
export const getCloneStatusType = (statusCode: StatusCode) =>
|
|
22
|
+
STATUS_CODE_TO_TYPE[statusCode] ?? 'unknown'
|
|
23
|
+
|
|
24
|
+
export const getCloneStatusText = (statusCode: StatusCode) => {
|
|
25
|
+
if (statusCode === 'OK') return statusCode
|
|
26
|
+
|
|
27
|
+
return capitalize(statusCode)
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
export const checkIsCloneStable = (clone: Clone) =>
|
|
31
|
+
clone.status.code === 'OK' || clone.status.code === 'FATAL'
|
|
@@ -0,0 +1,38 @@
|
|
|
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
|
+
|
|
8
|
+
import { Instance } from '@postgres.ai/shared/types/api/entities/instance'
|
|
9
|
+
import { Clone } from '@postgres.ai/shared/types/api/entities/clone'
|
|
10
|
+
|
|
11
|
+
const isEmptyDbData = (clone: Clone) => {
|
|
12
|
+
const { host, port, username } = clone.db
|
|
13
|
+
|
|
14
|
+
// 'host', 'port' or 'username' can be empty string.
|
|
15
|
+
return !host || !port || !username
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
export const getSshPortForwardingCommand = (
|
|
19
|
+
instance: Instance,
|
|
20
|
+
clone: Clone,
|
|
21
|
+
) => {
|
|
22
|
+
if (!instance.sshServerUrl) return null
|
|
23
|
+
if (isEmptyDbData(clone)) return null
|
|
24
|
+
|
|
25
|
+
return `ssh -NTML ${clone.db.port}:localhost:${clone.db.port} ${instance.sshServerUrl} -i ~/.ssh/id_rsa`
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
export const getPsqlConnectionStr = (clone: Clone) => {
|
|
29
|
+
if (isEmptyDbData(clone)) return null
|
|
30
|
+
|
|
31
|
+
return `"host=${clone.db.host} port=${clone.db.port} user=${clone.db.username} dbname=DBNAME"`
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
export const getJdbcConnectionStr = (clone: Clone) => {
|
|
35
|
+
if (isEmptyDbData(clone)) return null
|
|
36
|
+
|
|
37
|
+
return `jdbc:postgresql://${clone.db.host}:${clone.db.port}/DBNAME?user=${clone.db.username}&password=DBPASSWORD`
|
|
38
|
+
}
|
package/utils/date.ts
ADDED
|
@@ -0,0 +1,136 @@
|
|
|
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
|
+
|
|
8
|
+
import {
|
|
9
|
+
parse,
|
|
10
|
+
startOfDay,
|
|
11
|
+
isSameDay,
|
|
12
|
+
startOfMonth,
|
|
13
|
+
startOfWeek,
|
|
14
|
+
endOfMonth,
|
|
15
|
+
endOfWeek,
|
|
16
|
+
differenceInDays,
|
|
17
|
+
addDays,
|
|
18
|
+
addMonths,
|
|
19
|
+
isSameMonth,
|
|
20
|
+
format,
|
|
21
|
+
formatDistanceToNowStrict,
|
|
22
|
+
} from 'date-fns'
|
|
23
|
+
|
|
24
|
+
export const formatDateToISO = (dateString: string) => {
|
|
25
|
+
// Handle empty or invalid date strings
|
|
26
|
+
if (!dateString || dateString.trim() === '') {
|
|
27
|
+
return ''
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
try {
|
|
31
|
+
const parsedDate = parse(dateString, 'yyyyMMddHHmmss', new Date())
|
|
32
|
+
|
|
33
|
+
// Additional validation of parsed date
|
|
34
|
+
if (!isValidDate(parsedDate) || isNaN(parsedDate.getTime())) {
|
|
35
|
+
return ''
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
return format(parsedDate, "yyyy-MM-dd'T'HH:mm:ssXXX")
|
|
39
|
+
} catch (error) {
|
|
40
|
+
// Return empty string for invalid date formats
|
|
41
|
+
return ''
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
// parseDate parses date of both format: '2006-01-02 15:04:05 UTC' and `2006-01-02T15:04:05Z` (RFC3339).
|
|
46
|
+
export const parseDate = (dateStr: string) =>
|
|
47
|
+
parse(
|
|
48
|
+
dateStr.replace(' UTC', 'Z').replace('T', ' '),
|
|
49
|
+
'yyyy-MM-dd HH:mm:ssX',
|
|
50
|
+
new Date(),
|
|
51
|
+
)
|
|
52
|
+
|
|
53
|
+
// UTCf - UTC formatted, but not actually UTC.
|
|
54
|
+
// date-fns using this approach because browser don't have an opportunity to switch single date
|
|
55
|
+
// object in different timezones.
|
|
56
|
+
// Example: 15:00:00 <some date> Moscow Standard Time -> 12:00:00 <same date> Moscow Standard Time.
|
|
57
|
+
// In example above just ignore real timezone "Moscow Standard Time" and imagine that it is UTC.
|
|
58
|
+
const toUTCf = (date: Date) =>
|
|
59
|
+
new Date(date.getTime() + date.getTimezoneOffset() * 60 * 1000)
|
|
60
|
+
|
|
61
|
+
const toLocal = (date: Date) =>
|
|
62
|
+
new Date(date.getTime() - date.getTimezoneOffset() * 60 * 1000)
|
|
63
|
+
|
|
64
|
+
const inUTC =
|
|
65
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
<T extends (date: Date, ...otherArgs: any[]) => Date>(func: T) =>
|
|
69
|
+
(date: Date, ...otherArgs: unknown[]) =>
|
|
70
|
+
toLocal(func(toUTCf(date), ...otherArgs))
|
|
71
|
+
|
|
72
|
+
export const startOfMonthUTC = inUTC(startOfMonth)
|
|
73
|
+
|
|
74
|
+
export const startOfWeekUTC = inUTC(startOfWeek)
|
|
75
|
+
|
|
76
|
+
export const endOfMonthUTC = inUTC(endOfMonth)
|
|
77
|
+
|
|
78
|
+
export const endOfWeekUTC = inUTC(endOfWeek)
|
|
79
|
+
|
|
80
|
+
export const startOfDayUTC = inUTC(startOfDay)
|
|
81
|
+
|
|
82
|
+
export const addDaysUTC = inUTC(addDays)
|
|
83
|
+
|
|
84
|
+
export const addMonthsUTC = inUTC(addMonths)
|
|
85
|
+
|
|
86
|
+
export const differenceInDaysUTC = (date1: Date, date2: Date) =>
|
|
87
|
+
differenceInDays(toUTCf(date1), toUTCf(date2))
|
|
88
|
+
|
|
89
|
+
export const isSameMonthUTC = (date1: Date, date2: Date) =>
|
|
90
|
+
isSameMonth(toUTCf(date1), toUTCf(date2))
|
|
91
|
+
|
|
92
|
+
export const formatUTC = (date: Date, formatStr: string) =>
|
|
93
|
+
format(toUTCf(date), formatStr)
|
|
94
|
+
|
|
95
|
+
export const isSameDayUTC = (date1: Date, date2: Date) =>
|
|
96
|
+
isSameDay(toUTCf(date1), toUTCf(date2))
|
|
97
|
+
|
|
98
|
+
// Std date utils.
|
|
99
|
+
export const formatDistanceStd = (date: Date) =>
|
|
100
|
+
formatDistanceToNowStrict(date, { addSuffix: true })
|
|
101
|
+
|
|
102
|
+
export const formatDateStd = (
|
|
103
|
+
date: Date,
|
|
104
|
+
options?: { withDistance?: boolean },
|
|
105
|
+
) =>
|
|
106
|
+
`${formatUTC(date, 'yyyy-MM-dd HH:mm:ss')} UTC ${
|
|
107
|
+
options?.withDistance ? `(${formatDistanceStd(date)})` : ''
|
|
108
|
+
}`
|
|
109
|
+
|
|
110
|
+
export const isValidDate = (dateObject: Date) => {
|
|
111
|
+
return new Date(dateObject).toString() !== 'Invalid Date'
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
// Safe date formatting with distance
|
|
115
|
+
export const formatDateWithDistance = (dateString: string, dateObject: Date) => {
|
|
116
|
+
if (!dateString || !isValidDate(dateObject)) return '-'
|
|
117
|
+
|
|
118
|
+
try {
|
|
119
|
+
return `${dateString} (${formatDistanceToNowStrict(dateObject, { addSuffix: true })})`
|
|
120
|
+
} catch (error) {
|
|
121
|
+
console.warn('Error formatting date distance:', error, 'date:', dateObject)
|
|
122
|
+
return '-'
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
// Safe distance formatting only
|
|
127
|
+
export const formatDistanceSafe = (dateObject: Date) => {
|
|
128
|
+
if (!isValidDate(dateObject)) return '-'
|
|
129
|
+
|
|
130
|
+
try {
|
|
131
|
+
return formatDistanceToNowStrict(dateObject, { addSuffix: true })
|
|
132
|
+
} catch (error) {
|
|
133
|
+
console.warn('Error formatting distance:', error, 'date:', dateObject)
|
|
134
|
+
return '-'
|
|
135
|
+
}
|
|
136
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export const parseEngineVersion = (str: string) => {
|
|
2
|
+
const [versionStr] = str.split('-')
|
|
3
|
+
const [major, minor, patch] = versionStr.split('.')
|
|
4
|
+
if (!major || !minor || !patch) return null
|
|
5
|
+
return {
|
|
6
|
+
major: Number(major),
|
|
7
|
+
minor: Number(minor),
|
|
8
|
+
patch: Number(patch),
|
|
9
|
+
}
|
|
10
|
+
}
|
package/utils/numbers.ts
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
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
|
+
|
|
8
|
+
export const round = (value: number, precision = 0) => {
|
|
9
|
+
const multiplier = 10 ** precision
|
|
10
|
+
return Math.round(value * multiplier) / multiplier
|
|
11
|
+
}
|
package/utils/react.ts
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { useContext, createContext } from 'react'
|
|
2
|
+
|
|
3
|
+
export const createStrictContext = <Value>() => {
|
|
4
|
+
const Context = createContext<Value>(undefined as unknown as Value)
|
|
5
|
+
|
|
6
|
+
return {
|
|
7
|
+
useStrictContext: () => useContext(Context),
|
|
8
|
+
Provider: Context.Provider,
|
|
9
|
+
}
|
|
10
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export const compareSnapshotsDesc = (
|
|
2
|
+
a: { dataStateAtDate: Date },
|
|
3
|
+
b: { dataStateAtDate: Date },
|
|
4
|
+
): number => {
|
|
5
|
+
const dataStateAtDateA = a.dataStateAtDate?.getTime() ?? 0
|
|
6
|
+
const dataStateAtDateB = b.dataStateAtDate?.getTime() ?? 0
|
|
7
|
+
return dataStateAtDateB - dataStateAtDateA
|
|
8
|
+
}
|
package/utils/strings.ts
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
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
|
+
|
|
8
|
+
export const capitalize = (value: string) => {
|
|
9
|
+
const [firstChar, ...otherChars] = value.split('')
|
|
10
|
+
return `${firstChar.toUpperCase()}${otherChars.join('').toLowerCase()}`
|
|
11
|
+
}
|
package/utils/units.ts
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
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
|
+
|
|
8
|
+
import byteSize from 'byte-size'
|
|
9
|
+
|
|
10
|
+
type Options = {
|
|
11
|
+
precision?: number
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
export const formatBytesIEC = (bytes: number, options?: Options) => {
|
|
15
|
+
const { precision = 3 } = options ?? {}
|
|
16
|
+
|
|
17
|
+
const result = byteSize(bytes, {
|
|
18
|
+
precision,
|
|
19
|
+
units: 'iec',
|
|
20
|
+
})
|
|
21
|
+
|
|
22
|
+
return `${result.value} ${result.unit}`
|
|
23
|
+
}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { makeStyles } from '@material-ui/core';
|
|
3
|
-
import clsx from 'clsx';
|
|
4
|
-
import { CircleIcon } from '@postgres.ai/shared/icons/Circle';
|
|
5
|
-
const useStyles = makeStyles({
|
|
6
|
-
root: {
|
|
7
|
-
display: 'inline',
|
|
8
|
-
verticalAlign: 'middle',
|
|
9
|
-
width: '10px',
|
|
10
|
-
},
|
|
11
|
-
}, { index: 1 });
|
|
12
|
-
export const Marker = (props) => {
|
|
13
|
-
const classes = useStyles();
|
|
14
|
-
return _jsx(CircleIcon, { className: clsx(classes.root, props.className) });
|
|
15
|
-
};
|