ProjectCard.utils.ts53 lines · main
1import { PROJECT_STATUS } from '@/lib/constants'
2
3export const inferProjectStatus = (projectStatus: string) => {
4 let status = undefined
5 switch (projectStatus) {
6 case PROJECT_STATUS.ACTIVE_HEALTHY:
7 status = 'isHealthy'
8 break
9 case PROJECT_STATUS.GOING_DOWN:
10 case PROJECT_STATUS.PAUSING:
11 status = 'isPausing'
12 break
13 case PROJECT_STATUS.INACTIVE:
14 status = 'isPaused'
15 break
16 case PROJECT_STATUS.PAUSE_FAILED:
17 status = 'isPauseFailed'
18 break
19 case PROJECT_STATUS.RESTARTING:
20 status = 'isRestarting'
21 break
22 case PROJECT_STATUS.RESIZING:
23 status = 'isResizing'
24 break
25 case PROJECT_STATUS.RESTORING:
26 status = 'isRestoring'
27 break
28 case PROJECT_STATUS.RESTORE_FAILED:
29 status = 'isRestoreFailed'
30 break
31 case PROJECT_STATUS.UPGRADING:
32 status = 'isUpgrading'
33 break
34 case PROJECT_STATUS.UNKNOWN:
35 case PROJECT_STATUS.COMING_UP:
36 status = 'isComingUp'
37 break
38 }
39 return status as InferredProjectStatus
40}
41
42export type InferredProjectStatus =
43 | 'isHealthy'
44 | 'isPausing'
45 | 'isPaused'
46 | 'isPauseFailed'
47 | 'isRestarting'
48 | 'isResizing'
49 | 'isRestoring'
50 | 'isRestoreFailed'
51 | 'isComingUp'
52 | 'isUpgrading'
53 | undefined