Files
supabase/apps/studio/components/interfaces/Home/ProjectList/ProjectCard.utils.ts
Alaister Young c918aea9ee chore: new project statuses (#27213)
* chore: new project statuses

* add restarting layout

* add restore failed state

* update project cards

* update wording

* fix ts errors

* address feedback

* add pause failed state
2024-06-24 16:06:58 +08:00

47 lines
1.1 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.UNKNOWN:
case PROJECT_STATUS.COMING_UP:
status = 'isComingUp'
break
}
return status as InferredProjectStatus
}
export type InferredProjectStatus =
| 'isHealthy'
| 'isPausing'
| 'isPaused'
| 'isPauseFailed'
| 'isRestarting'
| 'isRestoring'
| 'isRestoreFailed'
| 'isComingUp'
| undefined