| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- 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
- }
- 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
- }
|