mirror of
https://github.com/supabase/supabase.git
synced 2026-10-05 17:35:10 +03:00
Default to PITR page when accessing db backups if project has pitr enabled (#19898)
This commit is contained in:
1 parent
38bb1d9665
commit
fe5e274697
2 files changed
+13
-4
No files matched your search
@@ -7,6 +7,7 @@ import { useDatabaseExtensionsQuery } from 'data/database-extensions/database-ex
|
||||
import { useSelectedProject, useStore, withAuth } from 'hooks'
|
||||
import ProjectLayout from '../'
|
||||
import { generateDatabaseMenu } from './DatabaseMenu.utils'
|
||||
import { useProjectAddonsQuery } from 'data/subscriptions/project-addons-query'
|
||||
|
||||
export interface DatabaseLayoutProps {
|
||||
title?: string
|
||||
@@ -23,9 +24,12 @@ const DatabaseLayout = ({ children }: PropsWithChildren<DatabaseLayoutProps>) =>
|
||||
projectRef: project?.ref,
|
||||
connectionString: project?.connectionString,
|
||||
})
|
||||
const { data: addons } = useProjectAddonsQuery({ projectRef: project?.ref })
|
||||
|
||||
const vaultExtension = (data ?? []).find((ext) => ext.name === 'supabase_vault')
|
||||
const isVaultEnabled = vaultExtension !== undefined && vaultExtension.installed_version !== null
|
||||
const pgNetExtensionExists = (data ?? []).find((ext) => ext.name === 'pg_net') !== undefined
|
||||
const pitrEnabled = addons?.selected_addons.find((addon) => addon.type === 'pitr') !== undefined
|
||||
|
||||
useEffect(() => {
|
||||
if (isVaultEnabled) {
|
||||
@@ -37,7 +41,10 @@ const DatabaseLayout = ({ children }: PropsWithChildren<DatabaseLayoutProps>) =>
|
||||
<ProjectLayout
|
||||
product="Database"
|
||||
productMenu={
|
||||
<ProductMenu page={page} menu={generateDatabaseMenu(project, { pgNetExtensionExists })} />
|
||||
<ProductMenu
|
||||
page={page}
|
||||
menu={generateDatabaseMenu(project, { pgNetExtensionExists, pitrEnabled })}
|
||||
/>
|
||||
}
|
||||
isBlocking={false}
|
||||
>
|
||||
|
||||
@@ -4,10 +4,10 @@ import { IS_PLATFORM } from 'lib/constants'
|
||||
|
||||
export const generateDatabaseMenu = (
|
||||
project?: Project,
|
||||
flags?: { pgNetExtensionExists: boolean }
|
||||
flags?: { pgNetExtensionExists: boolean; pitrEnabled: boolean }
|
||||
): ProductMenuGroup[] => {
|
||||
const ref = project?.ref ?? 'default'
|
||||
const { pgNetExtensionExists } = flags || {}
|
||||
const { pgNetExtensionExists, pitrEnabled } = flags || {}
|
||||
|
||||
return [
|
||||
{
|
||||
@@ -66,7 +66,9 @@ export const generateDatabaseMenu = (
|
||||
{
|
||||
name: 'Backups',
|
||||
key: 'backups',
|
||||
url: `/project/${ref}/database/backups/scheduled`,
|
||||
url: pitrEnabled
|
||||
? `/project/${ref}/database/backups/pitr`
|
||||
: `/project/${ref}/database/backups/scheduled`,
|
||||
items: [],
|
||||
},
|
||||
]
|
||||
|
||||
Reference in new issue
Block a user