@@ -139,7 +139,7 @@ open class CoderRestClient(
139
139
*
140
140
* @throws [APIResponseException].
141
141
*/
142
- fun authenticate (): User {
142
+ suspend fun authenticate (): User {
143
143
me = me()
144
144
buildVersion = buildInfo().version
145
145
return me
@@ -149,8 +149,8 @@ open class CoderRestClient(
149
149
* Retrieve the current user.
150
150
* @throws [APIResponseException].
151
151
*/
152
- fun me (): User {
153
- val userResponse = retroRestClient.me().execute()
152
+ suspend fun me (): User {
153
+ val userResponse = retroRestClient.me()
154
154
if (! userResponse.isSuccessful) {
155
155
throw APIResponseException (" authenticate" , url, userResponse)
156
156
}
@@ -162,8 +162,8 @@ open class CoderRestClient(
162
162
* Retrieves the available workspaces created by the user.
163
163
* @throws [APIResponseException].
164
164
*/
165
- fun workspaces (): List <Workspace > {
166
- val workspacesResponse = retroRestClient.workspaces(" owner:me" ).execute()
165
+ suspend fun workspaces (): List <Workspace > {
166
+ val workspacesResponse = retroRestClient.workspaces(" owner:me" )
167
167
if (! workspacesResponse.isSuccessful) {
168
168
throw APIResponseException (" retrieve workspaces" , url, workspacesResponse)
169
169
}
@@ -175,8 +175,8 @@ open class CoderRestClient(
175
175
* Retrieves a workspace with the provided id.
176
176
* @throws [APIResponseException].
177
177
*/
178
- fun workspace (workspaceID : UUID ): Workspace {
179
- val workspacesResponse = retroRestClient.workspace(workspaceID).execute()
178
+ suspend fun workspace (workspaceID : UUID ): Workspace {
179
+ val workspacesResponse = retroRestClient.workspace(workspaceID)
180
180
if (! workspacesResponse.isSuccessful) {
181
181
throw APIResponseException (" retrieve workspace" , url, workspacesResponse)
182
182
}
@@ -188,7 +188,7 @@ open class CoderRestClient(
188
188
* Retrieves all the agent names for all workspaces, including those that
189
189
* are off. Meant to be used when configuring SSH.
190
190
*/
191
- fun agentNames (workspaces : List <Workspace >): Set <String > {
191
+ suspend fun agentNames (workspaces : List <Workspace >): Set <String > {
192
192
// It is possible for there to be resources with duplicate names so we
193
193
// need to use a set.
194
194
return workspaces.flatMap { ws ->
@@ -205,17 +205,17 @@ open class CoderRestClient(
205
205
* removing hosts from the SSH config when they are off).
206
206
* @throws [APIResponseException].
207
207
*/
208
- fun resources (workspace : Workspace ): List <WorkspaceResource > {
208
+ suspend fun resources (workspace : Workspace ): List <WorkspaceResource > {
209
209
val resourcesResponse =
210
- retroRestClient.templateVersionResources(workspace.latestBuild.templateVersionID).execute()
210
+ retroRestClient.templateVersionResources(workspace.latestBuild.templateVersionID)
211
211
if (! resourcesResponse.isSuccessful) {
212
212
throw APIResponseException (" retrieve resources for ${workspace.name} " , url, resourcesResponse)
213
213
}
214
214
return resourcesResponse.body()!!
215
215
}
216
216
217
- fun buildInfo (): BuildInfo {
218
- val buildInfoResponse = retroRestClient.buildInfo().execute()
217
+ suspend fun buildInfo (): BuildInfo {
218
+ val buildInfoResponse = retroRestClient.buildInfo()
219
219
if (! buildInfoResponse.isSuccessful) {
220
220
throw APIResponseException (" retrieve build information" , url, buildInfoResponse)
221
221
}
@@ -225,8 +225,8 @@ open class CoderRestClient(
225
225
/* *
226
226
* @throws [APIResponseException].
227
227
*/
228
- private fun template (templateID : UUID ): Template {
229
- val templateResponse = retroRestClient.template(templateID).execute()
228
+ private suspend fun template (templateID : UUID ): Template {
229
+ val templateResponse = retroRestClient.template(templateID)
230
230
if (! templateResponse.isSuccessful) {
231
231
throw APIResponseException (" retrieve template with ID $templateID " , url, templateResponse)
232
232
}
@@ -236,9 +236,9 @@ open class CoderRestClient(
236
236
/* *
237
237
* @throws [APIResponseException].
238
238
*/
239
- fun startWorkspace (workspace : Workspace ): WorkspaceBuild {
239
+ suspend fun startWorkspace (workspace : Workspace ): WorkspaceBuild {
240
240
val buildRequest = CreateWorkspaceBuildRequest (null , WorkspaceTransition .START )
241
- val buildResponse = retroRestClient.createWorkspaceBuild(workspace.id, buildRequest).execute()
241
+ val buildResponse = retroRestClient.createWorkspaceBuild(workspace.id, buildRequest)
242
242
if (buildResponse.code() != HttpURLConnection .HTTP_CREATED ) {
243
243
throw APIResponseException (" start workspace ${workspace.name} " , url, buildResponse)
244
244
}
@@ -247,9 +247,9 @@ open class CoderRestClient(
247
247
248
248
/* *
249
249
*/
250
- fun stopWorkspace (workspace : Workspace ): WorkspaceBuild {
250
+ suspend fun stopWorkspace (workspace : Workspace ): WorkspaceBuild {
251
251
val buildRequest = CreateWorkspaceBuildRequest (null , WorkspaceTransition .STOP )
252
- val buildResponse = retroRestClient.createWorkspaceBuild(workspace.id, buildRequest).execute()
252
+ val buildResponse = retroRestClient.createWorkspaceBuild(workspace.id, buildRequest)
253
253
if (buildResponse.code() != HttpURLConnection .HTTP_CREATED ) {
254
254
throw APIResponseException (" stop workspace ${workspace.name} " , url, buildResponse)
255
255
}
@@ -259,9 +259,9 @@ open class CoderRestClient(
259
259
/* *
260
260
* @throws [APIResponseException] if issues are encountered during deletion
261
261
*/
262
- fun removeWorkspace (workspace : Workspace ) {
262
+ suspend fun removeWorkspace (workspace : Workspace ) {
263
263
val buildRequest = CreateWorkspaceBuildRequest (null , WorkspaceTransition .DELETE , false )
264
- val buildResponse = retroRestClient.createWorkspaceBuild(workspace.id, buildRequest).execute()
264
+ val buildResponse = retroRestClient.createWorkspaceBuild(workspace.id, buildRequest)
265
265
if (buildResponse.code() != HttpURLConnection .HTTP_CREATED ) {
266
266
throw APIResponseException (" delete workspace ${workspace.name} " , url, buildResponse)
267
267
}
@@ -277,11 +277,11 @@ open class CoderRestClient(
277
277
* with this information when we do two START builds in a row.
278
278
* @throws [APIResponseException].
279
279
*/
280
- fun updateWorkspace (workspace : Workspace ): WorkspaceBuild {
280
+ suspend fun updateWorkspace (workspace : Workspace ): WorkspaceBuild {
281
281
val template = template(workspace.templateID)
282
282
val buildRequest =
283
283
CreateWorkspaceBuildRequest (template.activeVersionID, WorkspaceTransition .START )
284
- val buildResponse = retroRestClient.createWorkspaceBuild(workspace.id, buildRequest).execute()
284
+ val buildResponse = retroRestClient.createWorkspaceBuild(workspace.id, buildRequest)
285
285
if (buildResponse.code() != HttpURLConnection .HTTP_CREATED ) {
286
286
throw APIResponseException (" update workspace ${workspace.name} " , url, buildResponse)
287
287
}
0 commit comments