Files
supabase/apps/studio/components/interfaces/Home/ProjectList/ProjectCard.utils.ts
T
Joshen Lim 942a2589f7 Allow access to the database backups page irregardless of project status (#29170)
* Allow access to the database backups page irregardless of project status

* Remove access to backups page for pause, pause failed and pausing states

* Remove access to backups page for pause, pause failed and pausing states

* Restoring state show PITR

* Add state to handle project offline for PITR page
2024-09-11 00:12:29 +08:00

51 lines
1.2 KiB
TypeScript

import type { ProjectInfo } from 'data/projects/projects-query'
import { PROJECT_STATUS } from 'lib/constants'
export const inferProjectStatus = (project: ProjectInfo) => {
let status = undefined
switch (project.status) {
case PROJECT_STATUS.ACTIVE_HEALTHY:
status = 'isHealthy'
break
case PROJECT_STATUS.GOING_DOWN:
case PROJECT_STATUS.PAUSING:
status = 'isPausing'
break
case PROJECT_STATUS.INACTIVE:
status = 'isPaused'
break
case PROJECT_STATUS.PAUSE_FAILED:
status = 'isPauseFailed'
break
case PROJECT_STATUS.RESTARTING:
status = 'isRestarting'
break
case PROJECT_STATUS.RESTORING:
status = 'isRestoring'
break
case PROJECT_STATUS.RESTORE_FAILED:
status = 'isRestoreFailed'
break
case PROJECT_STATUS.UPGRADING:
status = 'isUpgrading'
break
case PROJECT_STATUS.UNKNOWN:
case PROJECT_STATUS.COMING_UP:
status = 'isComingUp'
break
}
return status as InferredProjectStatus
}
export type InferredProjectStatus =
| 'isHealthy'
| 'isPausing'
| 'isPaused'
| 'isPauseFailed'
| 'isRestarting'
| 'isRestoring'
| 'isRestoreFailed'
| 'isComingUp'
| 'isUpgrading'
| undefined