mirror of
https://github.com/supabase/supabase.git
synced 2026-09-22 13:37:53 +08:00
102d3d1df5
## Context As per PR title, disables disk management for HA projects, which involves - Disabling "Increase disk size" CTAs in reports/database and the old disk config settings in database/settings - Disabling all input fields related to disk management in settings/infrastructure <img width="1076" height="857" alt="image" src="https://github.com/user-attachments/assets/bfbdfc36-8ae3-41ce-af12-c05b46e620f4" /> <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Added High Availability notices and restrictions throughout disk management settings. * Disabled disk size, IOPS, throughput, and autoscaling controls where High Availability limits changes. * Added explanatory tooltips for restricted disk-size actions. * Updated database observability controls to reflect High Availability restrictions. * **Accessibility** * Added an accessible label to the database observability refresh button. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
67 lines
1.8 KiB
TypeScript
67 lines
1.8 KiB
TypeScript
import { useParams } from 'common'
|
|
|
|
import { useProjectDetailQuery } from '@/data/projects/project-detail-query'
|
|
import { PROJECT_STATUS, PROVIDERS } from '@/lib/constants'
|
|
|
|
export function useSelectedProjectQuery({ enabled = true } = {}) {
|
|
const { ref } = useParams()
|
|
|
|
return useProjectDetailQuery(
|
|
{ ref },
|
|
{
|
|
enabled,
|
|
select: (data) => {
|
|
return {
|
|
...data,
|
|
parentRef: data.parent_project_ref ?? data.ref,
|
|
}
|
|
},
|
|
}
|
|
)
|
|
}
|
|
|
|
export const useIsAwsCloudProvider = () => {
|
|
const { data: project } = useSelectedProjectQuery()
|
|
const isAws = project?.cloud_provider === PROVIDERS.AWS.id
|
|
|
|
return isAws
|
|
}
|
|
|
|
export const useIsAwsK8sCloudProvider = () => {
|
|
const { data: project } = useSelectedProjectQuery()
|
|
const isAwsK8s = project?.cloud_provider === PROVIDERS.AWS_K8S.id
|
|
|
|
return isAwsK8s
|
|
}
|
|
|
|
export const useIsAwsNimbusCloudProvider = () => {
|
|
const { data: project } = useSelectedProjectQuery()
|
|
const isAwsNimbus = project?.cloud_provider === PROVIDERS.AWS_NIMBUS.id
|
|
|
|
return isAwsNimbus
|
|
}
|
|
|
|
export const useIsOrioleDb = () => {
|
|
const { data: project } = useSelectedProjectQuery()
|
|
const isOrioleDb = project?.dbVersion?.endsWith('orioledb')
|
|
return isOrioleDb
|
|
}
|
|
|
|
export const useIsOrioleDbInAws = () => {
|
|
const { data: project } = useSelectedProjectQuery()
|
|
const isOrioleDbInAws =
|
|
project?.dbVersion?.endsWith('orioledb') && project?.cloud_provider === PROVIDERS.AWS.id
|
|
return isOrioleDbInAws
|
|
}
|
|
|
|
// [Joshen TODO] There's a duplicate method `resolveHighAvailability` in `useHighAvailability.constants`
|
|
export const useIsHighAvailability = () => {
|
|
const { data: project } = useSelectedProjectQuery()
|
|
return project?.high_availability ?? false
|
|
}
|
|
|
|
export const useIsProjectActive = () => {
|
|
const { data: project } = useSelectedProjectQuery()
|
|
return project?.status === PROJECT_STATUS.ACTIVE_HEALTHY
|
|
}
|