1
1
import { Theme } from "@material-ui/core/styles"
2
2
import dayjs from "dayjs"
3
3
import { WorkspaceBuildTransition } from "../api/types"
4
- import { Workspace , WorkspaceAgent , WorkspaceBuild , WorkspaceFilter } from "../api/typesGenerated"
4
+ import * as TypeGen from "../api/typesGenerated"
5
5
6
6
export type WorkspaceStatus =
7
7
| "queued"
@@ -29,7 +29,7 @@ const succeededToStatus: Record<WorkspaceBuildTransition, WorkspaceStatus> = {
29
29
}
30
30
31
31
// Converts a workspaces status to a human-readable form.
32
- export const getWorkspaceStatus = ( workspaceBuild ?: WorkspaceBuild ) : WorkspaceStatus => {
32
+ export const getWorkspaceStatus = ( workspaceBuild ?: TypeGen . WorkspaceBuild ) : WorkspaceStatus => {
33
33
const transition = workspaceBuild ?. transition as WorkspaceBuildTransition
34
34
const jobStatus = workspaceBuild ?. job . status
35
35
switch ( jobStatus ) {
@@ -66,7 +66,7 @@ export const DisplayStatusLanguage = {
66
66
67
67
export const getDisplayStatus = (
68
68
theme : Theme ,
69
- build : WorkspaceBuild ,
69
+ build : TypeGen . WorkspaceBuild ,
70
70
) : {
71
71
color : string
72
72
status : string
@@ -132,7 +132,7 @@ export const getDisplayStatus = (
132
132
throw new Error ( "unknown status " + status )
133
133
}
134
134
135
- export const getWorkspaceBuildDurationInSeconds = ( build : WorkspaceBuild ) : number | undefined => {
135
+ export const getWorkspaceBuildDurationInSeconds = ( build : TypeGen . WorkspaceBuild ) : number | undefined => {
136
136
const isCompleted = build . job . started_at && build . job . completed_at
137
137
138
138
if ( ! isCompleted ) {
@@ -144,7 +144,10 @@ export const getWorkspaceBuildDurationInSeconds = (build: WorkspaceBuild): numbe
144
144
return completedAt . diff ( startedAt , "seconds" )
145
145
}
146
146
147
- export const displayWorkspaceBuildDuration = ( build : WorkspaceBuild , inProgressLabel = "In progress" ) : string => {
147
+ export const displayWorkspaceBuildDuration = (
148
+ build : TypeGen . WorkspaceBuild ,
149
+ inProgressLabel = "In progress" ,
150
+ ) : string => {
148
151
const duration = getWorkspaceBuildDurationInSeconds ( build )
149
152
return duration ? `${ duration } seconds` : inProgressLabel
150
153
}
@@ -157,7 +160,7 @@ export const DisplayAgentStatusLanguage = {
157
160
158
161
export const getDisplayAgentStatus = (
159
162
theme : Theme ,
160
- agent : WorkspaceAgent ,
163
+ agent : TypeGen . WorkspaceAgent ,
161
164
) : {
162
165
color : string
163
166
status : string
@@ -186,14 +189,14 @@ export const getDisplayAgentStatus = (
186
189
}
187
190
}
188
191
189
- export const isWorkspaceOn = ( workspace : Workspace ) : boolean => {
192
+ export const isWorkspaceOn = ( workspace : TypeGen . Workspace ) : boolean => {
190
193
const transition = workspace . latest_build . transition
191
194
const status = workspace . latest_build . job . status
192
195
return transition === "start" && status === "succeeded"
193
196
}
194
197
195
- export const workspaceQueryToFilter = ( query ?: string ) : WorkspaceFilter => {
196
- const defaultFilter : WorkspaceFilter = {
198
+ export const workspaceQueryToFilter = ( query ?: string ) : TypeGen . WorkspaceFilter => {
199
+ const defaultFilter : TypeGen . WorkspaceFilter = {
197
200
Owner : "" ,
198
201
OrganizationID : "" ,
199
202
}
0 commit comments