Files
supabase/apps/studio/components/interfaces/Home/ProjectList/ProjectCard.utils.ts
divit 99c147a56c feat: support for restarting and resizing statuses (#29881)
* start using restarting and resizing statuses

* pretty 1

* Minor updates

* Small revert, to prevent conflicts

* PRETTY

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2024-10-17 11:52:22 +08:00

55 lines
1.3 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.RESIZING:
status = 'isResizing'
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'
| 'isResizing'
| 'isRestoring'
| 'isRestoreFailed'
| 'isComingUp'
| 'isUpgrading'
| undefined