@postgres.ai/shared 3.5.1-pr-1027.0 → 4.0.0-pr-1028
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 +26 -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 +89 -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 +7 -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/PostgresSQL/index.d.ts +2 -0
- package/icons/PostgresSQL/index.js +40 -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/Branches/Branch/context.d.ts +22 -0
- package/pages/Branches/Branch/context.js +3 -0
- package/pages/Branches/Branch/index.d.ts +9 -0
- package/pages/Branches/Branch/index.js +172 -0
- package/pages/Branches/Branch/stores/Main.d.ts +37 -0
- package/pages/Branches/Branch/stores/Main.js +90 -0
- package/pages/Branches/Branch/useCreatedStores.d.ts +6 -0
- package/pages/Branches/Branch/useCreatedStores.js +5 -0
- package/pages/Branches/components/BranchesTable/index.d.ts +10 -0
- package/pages/Branches/components/BranchesTable/index.js +107 -0
- package/pages/Branches/components/Modals/DeleteBranchModal/index.d.ts +11 -0
- package/pages/Branches/components/Modals/DeleteBranchModal/index.js +49 -0
- package/pages/Branches/components/Modals/types.d.ts +4 -0
- package/pages/Branches/components/Modals/types.js +1 -0
- package/pages/Branches/index.d.ts +6 -0
- package/pages/Branches/index.js +60 -0
- package/pages/Clone/Status/index.d.ts +8 -0
- package/pages/Clone/Status/index.js +38 -0
- package/pages/Clone/context.d.ts +21 -0
- package/pages/Clone/context.js +3 -0
- package/pages/Clone/index.d.ts +9 -0
- package/pages/Clone/index.js +252 -0
- package/pages/Clone/stores/Main.d.ts +47 -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/Clone/utils/index.d.ts +4 -0
- package/pages/Clone/utils/index.js +12 -0
- package/pages/CreateBranch/index.d.ts +17 -0
- package/pages/CreateBranch/index.js +135 -0
- package/pages/CreateBranch/stores/Main.d.ts +43 -0
- package/pages/CreateBranch/stores/Main.js +59 -0
- package/pages/CreateBranch/useCreatedStores.d.ts +6 -0
- package/pages/CreateBranch/useCreatedStores.js +5 -0
- package/pages/CreateBranch/useForm.d.ts +51 -0
- package/pages/CreateBranch/useForm.js +30 -0
- package/pages/CreateBranch/utils/index.d.ts +2 -0
- package/pages/CreateBranch/utils/index.js +10 -0
- package/pages/CreateClone/index.d.ts +19 -0
- package/pages/CreateClone/index.js +142 -0
- package/pages/CreateClone/stores/Main.d.ts +49 -0
- package/pages/CreateClone/stores/Main.js +85 -0
- package/pages/CreateClone/styles.module.scss +47 -4
- package/pages/CreateClone/useCreatedStores.d.ts +6 -0
- package/pages/CreateClone/useCreatedStores.js +5 -0
- package/pages/CreateClone/useForm.d.ts +55 -0
- package/pages/CreateClone/useForm.js +26 -0
- package/pages/CreateClone/utils/index.d.ts +3 -0
- package/pages/CreateClone/utils/index.js +17 -0
- package/pages/CreateSnapshot/index.d.ts +17 -0
- package/pages/CreateSnapshot/index.js +117 -0
- package/pages/CreateSnapshot/stores/Main.d.ts +21 -0
- package/pages/CreateSnapshot/stores/Main.js +31 -0
- package/pages/CreateSnapshot/useCreatedStores.d.ts +6 -0
- package/pages/CreateSnapshot/useCreatedStores.js +5 -0
- package/pages/CreateSnapshot/useForm.d.ts +53 -0
- package/pages/CreateSnapshot/useForm.js +25 -0
- package/pages/CreateSnapshot/utils/index.d.ts +1 -0
- package/pages/CreateSnapshot/utils/index.js +3 -0
- package/pages/Instance/Clones/ClonesList/ConnectionModal/index.d.ts +10 -0
- package/pages/Instance/Clones/ClonesList/ConnectionModal/index.js +74 -0
- package/pages/Instance/Clones/ClonesList/MenuCell/index.d.ts +11 -0
- package/pages/Instance/Clones/ClonesList/MenuCell/index.js +49 -0
- package/pages/Instance/Clones/ClonesList/MenuCell/utils.d.ts +3 -0
- package/pages/Instance/Clones/ClonesList/MenuCell/utils.js +18 -0
- package/pages/Instance/Clones/ClonesList/index.d.ts +9 -0
- package/pages/Instance/Clones/ClonesList/index.js +96 -0
- package/pages/Instance/{components → Clones}/ClonesList/styles.module.scss +10 -0
- package/pages/Instance/Clones/ClonesModal/index.d.ts +4 -0
- package/pages/Instance/Clones/ClonesModal/index.js +38 -0
- package/pages/Instance/Clones/ClonesModal/utils.d.ts +7 -0
- package/pages/Instance/Clones/ClonesModal/utils.js +14 -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/Header/styles.module.scss +4 -1
- package/pages/Instance/Clones/index.d.ts +8 -0
- package/pages/Instance/Clones/index.js +64 -0
- package/pages/Instance/Configuration/Header/index.d.ts +11 -0
- package/pages/Instance/Configuration/Header/index.js +17 -0
- package/pages/Instance/Configuration/InputWithTooltip/index.d.ts +32 -0
- package/pages/Instance/Configuration/InputWithTooltip/index.js +64 -0
- package/pages/Instance/Configuration/ResponseMessage/index.d.ts +5 -0
- package/pages/Instance/Configuration/ResponseMessage/index.js +43 -0
- package/pages/Instance/Configuration/configOptions.d.ts +9 -0
- package/pages/Instance/Configuration/configOptions.js +59 -0
- package/pages/Instance/Configuration/index.d.ts +10 -0
- package/pages/Instance/Configuration/index.js +547 -0
- package/pages/Instance/Configuration/tooltipText.d.ts +20 -0
- package/pages/Instance/Configuration/tooltipText.js +21 -0
- package/pages/Instance/Configuration/useForm.d.ts +82 -0
- package/pages/Instance/Configuration/useForm.js +74 -0
- package/pages/Instance/Configuration/utils/index.d.ts +22 -0
- package/pages/Instance/Configuration/utils/index.js +105 -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 +71 -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 +11 -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 +47 -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 +27 -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 +40 -0
- package/pages/Instance/Info/Snapshots/utils.d.ts +34 -0
- package/pages/Instance/Info/Snapshots/utils.js +26 -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 +76 -0
- package/pages/Instance/Snapshots/components/SnapshotHeader/index.d.ts +11 -0
- package/pages/Instance/Snapshots/components/SnapshotHeader/index.js +36 -0
- package/pages/Instance/Snapshots/components/SnapshotsList/index.d.ts +11 -0
- package/pages/Instance/Snapshots/components/SnapshotsList/index.js +157 -0
- package/pages/Instance/Snapshots/components/SnapshotsModal/utils.d.ts +7 -0
- package/{components/HorizontalScrollContainer/utils.ts → pages/Instance/Snapshots/components/SnapshotsModal/utils.js} +8 -9
- package/pages/Instance/Snapshots/components/SnapshotsTable/index.d.ts +6 -0
- package/pages/Instance/Snapshots/components/SnapshotsTable/index.js +125 -0
- package/pages/Instance/Snapshots/index.d.ts +6 -0
- package/pages/Instance/Snapshots/index.js +92 -0
- package/pages/Instance/Snapshots/utils/index.d.ts +16 -0
- package/pages/Instance/Snapshots/utils/index.js +30 -0
- package/pages/Instance/SnapshotsModal/index.d.ts +4 -0
- package/pages/Instance/SnapshotsModal/index.js +81 -0
- package/pages/Instance/Tabs/PlatformTabs.d.ts +10 -0
- package/pages/Instance/Tabs/PlatformTabs.js +51 -0
- package/pages/Instance/Tabs/index.d.ts +26 -0
- package/pages/Instance/Tabs/index.js +75 -0
- package/pages/Instance/Tabs/styles.d.ts +1 -0
- package/pages/Instance/Tabs/styles.js +62 -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 +38 -0
- package/pages/Instance/{ClonesModal/utils.ts → context.js} +5 -15
- package/pages/Instance/index.d.ts +8 -0
- package/pages/Instance/index.js +94 -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 +141 -0
- package/pages/Instance/stores/Main.js +302 -0
- package/pages/Instance/stores/SnapshotsModal.d.ts +13 -0
- package/pages/Instance/stores/SnapshotsModal.js +24 -0
- package/pages/Instance/styles.scss +1 -4
- 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 +37 -0
- package/pages/Logs/index.d.ts +6 -0
- package/pages/Logs/index.js +200 -0
- package/pages/Logs/utils/index.d.ts +2 -0
- package/pages/Logs/utils/index.js +15 -0
- package/pages/Logs/wsLogs.d.ts +3 -0
- package/pages/Logs/wsLogs.js +92 -0
- package/pages/Logs/wsSnackbar.d.ts +1 -0
- package/pages/Logs/wsSnackbar.js +25 -0
- package/pages/Snapshots/Snapshot/DestorySnapshotModal/index.d.ts +12 -0
- package/pages/Snapshots/Snapshot/DestorySnapshotModal/index.js +69 -0
- package/pages/Snapshots/Snapshot/context.d.ts +23 -0
- package/pages/Snapshots/Snapshot/context.js +3 -0
- package/pages/Snapshots/Snapshot/index.d.ts +9 -0
- package/pages/Snapshots/Snapshot/index.js +171 -0
- package/pages/Snapshots/Snapshot/stores/Main.d.ts +33 -0
- package/pages/Snapshots/Snapshot/stores/Main.js +71 -0
- package/pages/Snapshots/Snapshot/useCreatedStores.d.ts +6 -0
- package/pages/Snapshots/Snapshot/useCreatedStores.js +5 -0
- package/stores/Snapshots.d.ts +24 -0
- package/stores/Snapshots.js +59 -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/createBranch.d.ts +12 -0
- package/types/api/endpoints/createBranch.js +1 -0
- package/types/api/endpoints/createClone.d.ts +13 -0
- package/types/api/endpoints/createClone.js +1 -0
- package/types/api/endpoints/createSnapshot.d.ts +5 -0
- package/types/api/endpoints/createSnapshot.js +1 -0
- package/types/api/endpoints/deleteBranch.d.ts +4 -0
- package/types/api/endpoints/deleteBranch.js +1 -0
- package/types/api/endpoints/destroyClone.d.ts +7 -0
- package/types/api/endpoints/destroyClone.js +1 -0
- package/types/api/endpoints/destroySnapshot.d.ts +4 -0
- package/types/api/endpoints/destroySnapshot.js +1 -0
- package/types/api/endpoints/getBranchSnapshot.d.ts +5 -0
- package/types/api/endpoints/getBranchSnapshot.js +1 -0
- package/types/api/endpoints/getBranches.d.ts +18 -0
- package/types/api/endpoints/getBranches.js +5 -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/getSnapshotList.d.ts +10 -0
- package/types/api/endpoints/getSnapshotList.js +1 -0
- package/types/api/endpoints/getSnapshots.d.ts +8 -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/branchSnapshot.d.ts +6 -0
- package/types/api/entities/branchSnapshot.js +1 -0
- package/types/api/entities/branchSnapshots.d.ts +15 -0
- package/types/api/entities/branchSnapshots.js +7 -0
- package/types/api/entities/clone.d.ts +56 -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/createBranch.d.ts +5 -0
- package/types/api/entities/createBranch.js +1 -0
- package/types/api/entities/createSnapshot.d.ts +5 -0
- package/types/api/entities/createSnapshot.js +1 -0
- package/types/api/entities/dbSource.d.ts +13 -0
- package/types/api/entities/dbSource.js +1 -0
- package/types/api/entities/instance.d.ts +114 -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 +114 -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 +27 -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 +18 -0
- package/utils/date.js +40 -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 +5 -0
- package/utils/snapshot.js +6 -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 -60
- 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
- /package/pages/{Configuration → Instance/Configuration}/styles.module.scss +0 -0
|
@@ -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,18 @@
|
|
|
1
|
+
export declare const formatDateToISO: (dateString: string) => string;
|
|
2
|
+
export declare const parseDate: (dateStr: string) => Date;
|
|
3
|
+
export declare const startOfMonthUTC: (date: Date, ...otherArgs: unknown[]) => Date;
|
|
4
|
+
export declare const startOfWeekUTC: (date: Date, ...otherArgs: unknown[]) => Date;
|
|
5
|
+
export declare const endOfMonthUTC: (date: Date, ...otherArgs: unknown[]) => Date;
|
|
6
|
+
export declare const endOfWeekUTC: (date: Date, ...otherArgs: unknown[]) => Date;
|
|
7
|
+
export declare const startOfDayUTC: (date: Date, ...otherArgs: unknown[]) => Date;
|
|
8
|
+
export declare const addDaysUTC: (date: Date, ...otherArgs: unknown[]) => Date;
|
|
9
|
+
export declare const addMonthsUTC: (date: Date, ...otherArgs: unknown[]) => Date;
|
|
10
|
+
export declare const differenceInDaysUTC: (date1: Date, date2: Date) => number;
|
|
11
|
+
export declare const isSameMonthUTC: (date1: Date, date2: Date) => boolean;
|
|
12
|
+
export declare const formatUTC: (date: Date, formatStr: string) => string;
|
|
13
|
+
export declare const isSameDayUTC: (date1: Date, date2: Date) => boolean;
|
|
14
|
+
export declare const formatDistanceStd: (date: Date) => string;
|
|
15
|
+
export declare const formatDateStd: (date: Date, options?: {
|
|
16
|
+
withDistance?: boolean;
|
|
17
|
+
}) => string;
|
|
18
|
+
export declare const isValidDate: (dateObject: Date) => boolean;
|
package/utils/date.js
ADDED
|
@@ -0,0 +1,40 @@
|
|
|
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
|
+
export const formatDateToISO = (dateString) => {
|
|
9
|
+
const parsedDate = parse(dateString, 'yyyyMMddHHmmss', new Date());
|
|
10
|
+
return format(parsedDate, "yyyy-MM-dd'T'HH:mm:ssXXX");
|
|
11
|
+
};
|
|
12
|
+
// parseDate parses date of both format: '2006-01-02 15:04:05 UTC' and `2006-01-02T15:04:05Z` (RFC3339).
|
|
13
|
+
export const parseDate = (dateStr) => parse(dateStr.replace(' UTC', 'Z').replace('T', ' '), 'yyyy-MM-dd HH:mm:ssX', new Date());
|
|
14
|
+
// UTCf - UTC formatted, but not actually UTC.
|
|
15
|
+
// date-fns using this approach because browser don't have an opportunity to switch single date
|
|
16
|
+
// object in different timezones.
|
|
17
|
+
// Example: 15:00:00 <some date> Moscow Standard Time -> 12:00:00 <same date> Moscow Standard Time.
|
|
18
|
+
// In example above just ignore real timezone "Moscow Standard Time" and imagine that it is UTC.
|
|
19
|
+
const toUTCf = (date) => new Date(date.getTime() + date.getTimezoneOffset() * 60 * 1000);
|
|
20
|
+
const toLocal = (date) => new Date(date.getTime() - date.getTimezoneOffset() * 60 * 1000);
|
|
21
|
+
const inUTC =
|
|
22
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
23
|
+
(func) => (date, ...otherArgs) => toLocal(func(toUTCf(date), ...otherArgs));
|
|
24
|
+
export const startOfMonthUTC = inUTC(startOfMonth);
|
|
25
|
+
export const startOfWeekUTC = inUTC(startOfWeek);
|
|
26
|
+
export const endOfMonthUTC = inUTC(endOfMonth);
|
|
27
|
+
export const endOfWeekUTC = inUTC(endOfWeek);
|
|
28
|
+
export const startOfDayUTC = inUTC(startOfDay);
|
|
29
|
+
export const addDaysUTC = inUTC(addDays);
|
|
30
|
+
export const addMonthsUTC = inUTC(addMonths);
|
|
31
|
+
export const differenceInDaysUTC = (date1, date2) => differenceInDays(toUTCf(date1), toUTCf(date2));
|
|
32
|
+
export const isSameMonthUTC = (date1, date2) => isSameMonth(toUTCf(date1), toUTCf(date2));
|
|
33
|
+
export const formatUTC = (date, formatStr) => format(toUTCf(date), formatStr);
|
|
34
|
+
export const isSameDayUTC = (date1, date2) => isSameDay(toUTCf(date1), toUTCf(date2));
|
|
35
|
+
// Std date utils.
|
|
36
|
+
export const formatDistanceStd = (date) => formatDistanceToNowStrict(date, { addSuffix: true });
|
|
37
|
+
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)})` : ''}`;
|
|
38
|
+
export const isValidDate = (dateObject) => {
|
|
39
|
+
return new Date(dateObject).toString() !== 'Invalid Date';
|
|
40
|
+
};
|
|
@@ -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
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const round: (value: number, precision?: number) => number;
|
|
@@ -4,8 +4,7 @@
|
|
|
4
4
|
* Unauthorized copying of this file, via any medium is strictly prohibited
|
|
5
5
|
*--------------------------------------------------------------------------
|
|
6
6
|
*/
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
}
|
|
7
|
+
export const round = (value, precision = 0) => {
|
|
8
|
+
const multiplier = 10 ** precision;
|
|
9
|
+
return Math.round(value * multiplier) / multiplier;
|
|
10
|
+
};
|
package/utils/react.d.ts
ADDED
package/utils/react.js
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export const compareSnapshotsDesc = (a, b) => {
|
|
2
|
+
var _a, _b, _c, _d;
|
|
3
|
+
const dataStateAtDateA = (_b = (_a = a.dataStateAtDate) === null || _a === void 0 ? void 0 : _a.getTime()) !== null && _b !== void 0 ? _b : 0;
|
|
4
|
+
const dataStateAtDateB = (_d = (_c = b.dataStateAtDate) === null || _c === void 0 ? void 0 : _c.getTime()) !== null && _d !== void 0 ? _d : 0;
|
|
5
|
+
return dataStateAtDateB - dataStateAtDateA;
|
|
6
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const capitalize: (value: string) => string;
|
package/utils/strings.js
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
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 capitalize = (value) => {
|
|
8
|
+
const [firstChar, ...otherChars] = value.split('');
|
|
9
|
+
return `${firstChar.toUpperCase()}${otherChars.join('').toLowerCase()}`;
|
|
10
|
+
};
|
package/utils/units.d.ts
ADDED
package/utils/units.js
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
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 byteSize from 'byte-size';
|
|
8
|
+
export const formatBytesIEC = (bytes, options) => {
|
|
9
|
+
const { precision = 3 } = options !== null && options !== void 0 ? options : {};
|
|
10
|
+
const result = byteSize(bytes, {
|
|
11
|
+
precision,
|
|
12
|
+
units: 'iec',
|
|
13
|
+
});
|
|
14
|
+
return `${result.value} ${result.unit}`;
|
|
15
|
+
};
|
package/.gitlab-ci.yml
DELETED
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
# Conditions.
|
|
2
|
-
.only_ui_feature: &only_ui_feature
|
|
3
|
-
rules:
|
|
4
|
-
- if: $CI_PIPELINE_SOURCE == "merge_request_event"
|
|
5
|
-
|
|
6
|
-
.only_ui_tag_release: &only_ui_tag_release
|
|
7
|
-
rules:
|
|
8
|
-
- if: $CI_COMMIT_TAG =~ /^v[a-zA-Z0-9_.-]*/
|
|
9
|
-
|
|
10
|
-
.shared_base: &shared_base
|
|
11
|
-
image: node:lts-alpine
|
|
12
|
-
cache:
|
|
13
|
-
key: "$CI_COMMIT_REF_SLUG"
|
|
14
|
-
paths:
|
|
15
|
-
- .pnpm-store
|
|
16
|
-
before_script:
|
|
17
|
-
- apk add --no-cache rsync
|
|
18
|
-
- corepack enable
|
|
19
|
-
- corepack prepare pnpm@8.9.2 --activate
|
|
20
|
-
- pnpm config set store-dir .pnpm-store
|
|
21
|
-
- pnpm --dir ui/packages/shared install --frozen-lockfile
|
|
22
|
-
|
|
23
|
-
build-and-pack-shared:
|
|
24
|
-
<<: *shared_base
|
|
25
|
-
stage: build
|
|
26
|
-
rules:
|
|
27
|
-
- changes:
|
|
28
|
-
- ui/packages/shared/**/*
|
|
29
|
-
script:
|
|
30
|
-
- cd ui/packages/shared
|
|
31
|
-
- pnpm run pack
|
|
32
|
-
artifacts:
|
|
33
|
-
paths:
|
|
34
|
-
- ui/packages/shared/postgres.ai-shared-*.tgz
|
|
35
|
-
|
|
36
|
-
publish-shared-preview:
|
|
37
|
-
<<: [*shared_base, *only_ui_feature]
|
|
38
|
-
stage: publish
|
|
39
|
-
needs:
|
|
40
|
-
- job: build-and-pack-shared
|
|
41
|
-
artifacts: true
|
|
42
|
-
script:
|
|
43
|
-
- cd ui/packages/shared
|
|
44
|
-
- echo "//registry.npmjs.org/:_authToken=$NPM_TOKEN" > .npmrc
|
|
45
|
-
- export PREID="pr-${CI_MERGE_REQUEST_IID:-preview}"
|
|
46
|
-
- npm version prerelease --preid $PREID --no-git-tag-version
|
|
47
|
-
- pnpm publish --no-git-checks --tag $PREID
|
|
48
|
-
|
|
49
|
-
publish-shared-release:
|
|
50
|
-
<<: [*shared_base, *only_ui_tag_release]
|
|
51
|
-
stage: publish
|
|
52
|
-
needs:
|
|
53
|
-
- job: build-and-pack-shared
|
|
54
|
-
artifacts: true
|
|
55
|
-
script:
|
|
56
|
-
- cd ui/packages/shared
|
|
57
|
-
- echo "//registry.npmjs.org/:_authToken=$NPM_TOKEN" > .npmrc
|
|
58
|
-
- export VERSION=${CI_COMMIT_TAG#"v"} # remove leading "v"
|
|
59
|
-
- npm version "$VERSION" --no-git-tag-version
|
|
60
|
-
- pnpm publish --no-git-checks
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import React from "react";
|
|
2
|
-
import Snackbar from '@mui/material/Snackbar';
|
|
3
|
-
import Alert from '@mui/material/Alert';
|
|
4
|
-
import {useAlertSnackbar} from "./useAlertSnackbar";
|
|
5
|
-
|
|
6
|
-
export const AlertSnackbar = () => {
|
|
7
|
-
const { snackbarMessage, closeSnackbar } = useAlertSnackbar();
|
|
8
|
-
return (
|
|
9
|
-
<Snackbar
|
|
10
|
-
open={!!snackbarMessage}
|
|
11
|
-
onClose={closeSnackbar}
|
|
12
|
-
>
|
|
13
|
-
<Alert
|
|
14
|
-
onClose={closeSnackbar}
|
|
15
|
-
severity="error"
|
|
16
|
-
variant="filled"
|
|
17
|
-
sx={{ width: '100%' }}
|
|
18
|
-
>
|
|
19
|
-
{snackbarMessage?.message}
|
|
20
|
-
</Alert>
|
|
21
|
-
</Snackbar>
|
|
22
|
-
)
|
|
23
|
-
}
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
import React, { createContext, useCallback, useContext, useEffect, useRef, useState } from "react";
|
|
2
|
-
import {AlertSnackbar} from "./index";
|
|
3
|
-
|
|
4
|
-
type AlertSnackbarMessage = {
|
|
5
|
-
message: string,
|
|
6
|
-
key: number
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
type AlertSnackbarContextType = {
|
|
10
|
-
snackbarMessage: AlertSnackbarMessage | null;
|
|
11
|
-
showMessage: (message: string) => void;
|
|
12
|
-
closeSnackbar: () => void;
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
const AlertSnackbarContext = createContext<AlertSnackbarContextType | undefined>(undefined);
|
|
16
|
-
|
|
17
|
-
export const useAlertSnackbar = () => {
|
|
18
|
-
const context = useContext(AlertSnackbarContext);
|
|
19
|
-
if (context === undefined) {
|
|
20
|
-
throw new Error('useSnackbar must be used within a SnackbarProvider');
|
|
21
|
-
}
|
|
22
|
-
return context;
|
|
23
|
-
};
|
|
24
|
-
|
|
25
|
-
type SnackbarProviderProps = {
|
|
26
|
-
children: React.ReactNode
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
export const AlertSnackbarProvider = (props: SnackbarProviderProps) => {
|
|
30
|
-
const { children } = props;
|
|
31
|
-
const [snackbarMessage, setSnackbarMessage] = useState<AlertSnackbarMessage | null>(null);
|
|
32
|
-
const isMounted = useRef(true);
|
|
33
|
-
|
|
34
|
-
useEffect(() => {
|
|
35
|
-
return () => {
|
|
36
|
-
isMounted.current = false;
|
|
37
|
-
};
|
|
38
|
-
}, []);
|
|
39
|
-
|
|
40
|
-
const showMessage = useCallback((message: string) => {
|
|
41
|
-
if (isMounted.current) {
|
|
42
|
-
setSnackbarMessage({message, key: new Date().getTime()});
|
|
43
|
-
}
|
|
44
|
-
}, []);
|
|
45
|
-
|
|
46
|
-
const closeSnackbar = useCallback(() => {
|
|
47
|
-
if (isMounted.current) {
|
|
48
|
-
setSnackbarMessage(null);
|
|
49
|
-
}
|
|
50
|
-
}, []);
|
|
51
|
-
|
|
52
|
-
const value = {
|
|
53
|
-
snackbarMessage,
|
|
54
|
-
showMessage,
|
|
55
|
-
closeSnackbar,
|
|
56
|
-
};
|
|
57
|
-
|
|
58
|
-
return (
|
|
59
|
-
<AlertSnackbarContext.Provider value={value}>
|
|
60
|
-
{children}
|
|
61
|
-
<AlertSnackbar />
|
|
62
|
-
</AlertSnackbarContext.Provider>
|
|
63
|
-
);
|
|
64
|
-
|
|
65
|
-
}
|
|
@@ -1,79 +0,0 @@
|
|
|
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 React, { forwardRef } from 'react'
|
|
9
|
-
import { makeStyles } from '@material-ui/styles'
|
|
10
|
-
import { Button as ButtonBase, ButtonProps } from '@material-ui/core'
|
|
11
|
-
import clsx from 'clsx'
|
|
12
|
-
|
|
13
|
-
import { colors } from '@postgres.ai/shared/styles/colors'
|
|
14
|
-
|
|
15
|
-
type Props = Omit<
|
|
16
|
-
ButtonProps,
|
|
17
|
-
'variant' | 'color' | 'className' | 'disabled'
|
|
18
|
-
> & {
|
|
19
|
-
variant?: 'primary' | 'secondary'
|
|
20
|
-
className?: string
|
|
21
|
-
isDisabled?: boolean
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
const useStyles = makeStyles(
|
|
25
|
-
{
|
|
26
|
-
root: {
|
|
27
|
-
whiteSpace: 'nowrap',
|
|
28
|
-
|
|
29
|
-
'&.MuiButton-outlinedPrimary': {
|
|
30
|
-
background: colors.white,
|
|
31
|
-
|
|
32
|
-
'&:hover': {
|
|
33
|
-
background: '#f4f6f7',
|
|
34
|
-
},
|
|
35
|
-
},
|
|
36
|
-
|
|
37
|
-
'&:disabled': {
|
|
38
|
-
cursor: 'not-allowed',
|
|
39
|
-
pointerEvents: 'all',
|
|
40
|
-
|
|
41
|
-
'&.MuiButton-outlinedPrimary:hover': {
|
|
42
|
-
background: colors.white,
|
|
43
|
-
border: '1px solid rgba(0, 0, 0, 0.12)',
|
|
44
|
-
},
|
|
45
|
-
},
|
|
46
|
-
},
|
|
47
|
-
},
|
|
48
|
-
{ index: 1 },
|
|
49
|
-
)
|
|
50
|
-
|
|
51
|
-
const VARIANT_MAP = {
|
|
52
|
-
primary: 'contained' as const,
|
|
53
|
-
secondary: 'outlined' as const,
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
export const Button = forwardRef(
|
|
57
|
-
(props: Props, ref: React.Ref<HTMLButtonElement>) => {
|
|
58
|
-
const {
|
|
59
|
-
variant = 'secondary',
|
|
60
|
-
className,
|
|
61
|
-
isDisabled,
|
|
62
|
-
size = 'small',
|
|
63
|
-
...buttonProps
|
|
64
|
-
} = props
|
|
65
|
-
const classes = useStyles()
|
|
66
|
-
|
|
67
|
-
return (
|
|
68
|
-
<ButtonBase
|
|
69
|
-
{...buttonProps}
|
|
70
|
-
size={size}
|
|
71
|
-
ref={ref}
|
|
72
|
-
disabled={isDisabled}
|
|
73
|
-
className={clsx(classes.root, className)}
|
|
74
|
-
variant={VARIANT_MAP[variant]}
|
|
75
|
-
color="primary"
|
|
76
|
-
/>
|
|
77
|
-
)
|
|
78
|
-
},
|
|
79
|
-
)
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
import React from 'react'
|
|
2
|
-
import cn from 'classnames'
|
|
3
|
-
|
|
4
|
-
import { Spinner } from '@postgres.ai/shared/components/Spinner'
|
|
5
|
-
|
|
6
|
-
import styles from './styles.module.scss'
|
|
7
|
-
|
|
8
|
-
type Props = {
|
|
9
|
-
type?: React.ButtonHTMLAttributes<HTMLButtonElement>['type']
|
|
10
|
-
children: React.ReactNode
|
|
11
|
-
onClick?: React.DOMAttributes<HTMLButtonElement>['onClick']
|
|
12
|
-
size?: 'sm' | 'md' | 'lg'
|
|
13
|
-
theme?: 'primary' | 'secondary' | 'accent'
|
|
14
|
-
className?: string
|
|
15
|
-
isDisabled?: boolean
|
|
16
|
-
isLoading?: boolean
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
export const Button = React.forwardRef<HTMLButtonElement, Props>(
|
|
20
|
-
(props, ref) => {
|
|
21
|
-
const { type = 'button', size = 'md', theme = 'secondary' } = props
|
|
22
|
-
|
|
23
|
-
const isDisabled = props.isDisabled || props.isLoading
|
|
24
|
-
|
|
25
|
-
return (
|
|
26
|
-
<button
|
|
27
|
-
ref={ref}
|
|
28
|
-
className={cn(
|
|
29
|
-
styles.root,
|
|
30
|
-
styles[size],
|
|
31
|
-
styles[theme],
|
|
32
|
-
props.className,
|
|
33
|
-
)}
|
|
34
|
-
type={type}
|
|
35
|
-
onClick={props.onClick}
|
|
36
|
-
disabled={isDisabled}
|
|
37
|
-
>
|
|
38
|
-
{props.children}
|
|
39
|
-
{props.isLoading && <Spinner size="sm" className={styles.spinner} />}
|
|
40
|
-
</button>
|
|
41
|
-
)
|
|
42
|
-
},
|
|
43
|
-
)
|
|
@@ -1,56 +0,0 @@
|
|
|
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 React from 'react'
|
|
9
|
-
|
|
10
|
-
import { Modal } from '@postgres.ai/shared/components/Modal'
|
|
11
|
-
import { ImportantText } from '@postgres.ai/shared/components/ImportantText'
|
|
12
|
-
import { Text } from '@postgres.ai/shared/components/Text'
|
|
13
|
-
import { SimpleModalControls } from '@postgres.ai/shared/components/SimpleModalControls'
|
|
14
|
-
|
|
15
|
-
type Props = {
|
|
16
|
-
cloneId: string
|
|
17
|
-
isOpen: boolean
|
|
18
|
-
onClose: () => void
|
|
19
|
-
onDestroyClone: () => void
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
export const DestroyCloneModal = (props: Props) => {
|
|
23
|
-
const { cloneId, isOpen, onClose, onDestroyClone } = props
|
|
24
|
-
|
|
25
|
-
const handleClickDestroy = () => {
|
|
26
|
-
onDestroyClone()
|
|
27
|
-
onClose()
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
return (
|
|
31
|
-
<Modal
|
|
32
|
-
title={`Destroy clone ${cloneId}`}
|
|
33
|
-
onClose={onClose}
|
|
34
|
-
isOpen={isOpen}
|
|
35
|
-
>
|
|
36
|
-
<Text>
|
|
37
|
-
Are you sure you want to destroy clone{' '}
|
|
38
|
-
<ImportantText>{cloneId}</ImportantText>?
|
|
39
|
-
</Text>
|
|
40
|
-
|
|
41
|
-
<SimpleModalControls
|
|
42
|
-
items={[
|
|
43
|
-
{
|
|
44
|
-
text: 'Cancel',
|
|
45
|
-
onClick: onClose,
|
|
46
|
-
},
|
|
47
|
-
{
|
|
48
|
-
text: 'Destroy clone',
|
|
49
|
-
variant: 'primary',
|
|
50
|
-
onClick: handleClickDestroy,
|
|
51
|
-
}
|
|
52
|
-
]}
|
|
53
|
-
/>
|
|
54
|
-
</Modal>
|
|
55
|
-
)
|
|
56
|
-
}
|
|
@@ -1,50 +0,0 @@
|
|
|
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 React from 'react'
|
|
9
|
-
import { observer } from 'mobx-react-lite'
|
|
10
|
-
|
|
11
|
-
import { Modal } from '@postgres.ai/shared/components/Modal'
|
|
12
|
-
import { Link } from '@postgres.ai/shared/components/Link2'
|
|
13
|
-
import { ImportantText } from '@postgres.ai/shared/components/ImportantText'
|
|
14
|
-
import { Text } from '@postgres.ai/shared/components/Text'
|
|
15
|
-
import { SimpleModalControls } from '@postgres.ai/shared/components/SimpleModalControls'
|
|
16
|
-
|
|
17
|
-
type Props = {
|
|
18
|
-
isOpen: boolean
|
|
19
|
-
onClose: () => void
|
|
20
|
-
cloneId: string
|
|
21
|
-
clonePagePath?: string
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
export const DestroyCloneRestrictionModal = observer((props: Props) => {
|
|
25
|
-
const { isOpen, onClose, cloneId, clonePagePath } = props
|
|
26
|
-
|
|
27
|
-
return (
|
|
28
|
-
<Modal title="Cannot destroy clone" isOpen={isOpen} onClose={onClose}>
|
|
29
|
-
<Text>
|
|
30
|
-
Cannot destroy clone <ImportantText>{cloneId}</ImportantText> because
|
|
31
|
-
deletion protection is enabled. You can disable deletion protection on{' '}
|
|
32
|
-
{clonePagePath ? (
|
|
33
|
-
<Link to={clonePagePath}>the clone page</Link>
|
|
34
|
-
) : (
|
|
35
|
-
'this page'
|
|
36
|
-
)}
|
|
37
|
-
.
|
|
38
|
-
</Text>
|
|
39
|
-
|
|
40
|
-
<SimpleModalControls
|
|
41
|
-
items={[
|
|
42
|
-
{
|
|
43
|
-
text: 'Close',
|
|
44
|
-
onClick: onClose,
|
|
45
|
-
},
|
|
46
|
-
]}
|
|
47
|
-
/>
|
|
48
|
-
</Modal>
|
|
49
|
-
)
|
|
50
|
-
})
|