@@ -139,7 +139,7 @@ open class CoderRestClient(
139139 *
140140 * @throws [APIResponseException].
141141 */
142- fun authenticate (): User {
142+ suspend fun authenticate (): User {
143143 me = me()
144144 buildVersion = buildInfo().version
145145 return me
@@ -149,8 +149,8 @@ open class CoderRestClient(
149149 * Retrieve the current user.
150150 * @throws [APIResponseException].
151151 */
152- fun me (): User {
153- val userResponse = retroRestClient.me().execute()
152+ suspend fun me (): User {
153+ val userResponse = retroRestClient.me()
154154 if (! userResponse.isSuccessful) {
155155 throw APIResponseException (" authenticate" , url, userResponse)
156156 }
@@ -162,8 +162,8 @@ open class CoderRestClient(
162162 * Retrieves the available workspaces created by the user.
163163 * @throws [APIResponseException].
164164 */
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" )
167167 if (! workspacesResponse.isSuccessful) {
168168 throw APIResponseException (" retrieve workspaces" , url, workspacesResponse)
169169 }
@@ -175,8 +175,8 @@ open class CoderRestClient(
175175 * Retrieves a workspace with the provided id.
176176 * @throws [APIResponseException].
177177 */
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)
180180 if (! workspacesResponse.isSuccessful) {
181181 throw APIResponseException (" retrieve workspace" , url, workspacesResponse)
182182 }
@@ -188,7 +188,7 @@ open class CoderRestClient(
188188 * Retrieves all the agent names for all workspaces, including those that
189189 * are off. Meant to be used when configuring SSH.
190190 */
191- fun agentNames (workspaces : List <Workspace >): Set <String > {
191+ suspend fun agentNames (workspaces : List <Workspace >): Set <String > {
192192 // It is possible for there to be resources with duplicate names so we
193193 // need to use a set.
194194 return workspaces.flatMap { ws ->
@@ -205,17 +205,17 @@ open class CoderRestClient(
205205 * removing hosts from the SSH config when they are off).
206206 * @throws [APIResponseException].
207207 */
208- fun resources (workspace : Workspace ): List <WorkspaceResource > {
208+ suspend fun resources (workspace : Workspace ): List <WorkspaceResource > {
209209 val resourcesResponse =
210- retroRestClient.templateVersionResources(workspace.latestBuild.templateVersionID).execute()
210+ retroRestClient.templateVersionResources(workspace.latestBuild.templateVersionID)
211211 if (! resourcesResponse.isSuccessful) {
212212 throw APIResponseException (" retrieve resources for ${workspace.name} " , url, resourcesResponse)
213213 }
214214 return resourcesResponse.body()!!
215215 }
216216
217- fun buildInfo (): BuildInfo {
218- val buildInfoResponse = retroRestClient.buildInfo().execute()
217+ suspend fun buildInfo (): BuildInfo {
218+ val buildInfoResponse = retroRestClient.buildInfo()
219219 if (! buildInfoResponse.isSuccessful) {
220220 throw APIResponseException (" retrieve build information" , url, buildInfoResponse)
221221 }
@@ -225,8 +225,8 @@ open class CoderRestClient(
225225 /* *
226226 * @throws [APIResponseException].
227227 */
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)
230230 if (! templateResponse.isSuccessful) {
231231 throw APIResponseException (" retrieve template with ID $templateID " , url, templateResponse)
232232 }
@@ -236,9 +236,9 @@ open class CoderRestClient(
236236 /* *
237237 * @throws [APIResponseException].
238238 */
239- fun startWorkspace (workspace : Workspace ): WorkspaceBuild {
239+ suspend fun startWorkspace (workspace : Workspace ): WorkspaceBuild {
240240 val buildRequest = CreateWorkspaceBuildRequest (null , WorkspaceTransition .START )
241- val buildResponse = retroRestClient.createWorkspaceBuild(workspace.id, buildRequest).execute()
241+ val buildResponse = retroRestClient.createWorkspaceBuild(workspace.id, buildRequest)
242242 if (buildResponse.code() != HttpURLConnection .HTTP_CREATED ) {
243243 throw APIResponseException (" start workspace ${workspace.name} " , url, buildResponse)
244244 }
@@ -247,9 +247,9 @@ open class CoderRestClient(
247247
248248 /* *
249249 */
250- fun stopWorkspace (workspace : Workspace ): WorkspaceBuild {
250+ suspend fun stopWorkspace (workspace : Workspace ): WorkspaceBuild {
251251 val buildRequest = CreateWorkspaceBuildRequest (null , WorkspaceTransition .STOP )
252- val buildResponse = retroRestClient.createWorkspaceBuild(workspace.id, buildRequest).execute()
252+ val buildResponse = retroRestClient.createWorkspaceBuild(workspace.id, buildRequest)
253253 if (buildResponse.code() != HttpURLConnection .HTTP_CREATED ) {
254254 throw APIResponseException (" stop workspace ${workspace.name} " , url, buildResponse)
255255 }
@@ -259,9 +259,9 @@ open class CoderRestClient(
259259 /* *
260260 * @throws [APIResponseException] if issues are encountered during deletion
261261 */
262- fun removeWorkspace (workspace : Workspace ) {
262+ suspend fun removeWorkspace (workspace : Workspace ) {
263263 val buildRequest = CreateWorkspaceBuildRequest (null , WorkspaceTransition .DELETE , false )
264- val buildResponse = retroRestClient.createWorkspaceBuild(workspace.id, buildRequest).execute()
264+ val buildResponse = retroRestClient.createWorkspaceBuild(workspace.id, buildRequest)
265265 if (buildResponse.code() != HttpURLConnection .HTTP_CREATED ) {
266266 throw APIResponseException (" delete workspace ${workspace.name} " , url, buildResponse)
267267 }
@@ -277,11 +277,11 @@ open class CoderRestClient(
277277 * with this information when we do two START builds in a row.
278278 * @throws [APIResponseException].
279279 */
280- fun updateWorkspace (workspace : Workspace ): WorkspaceBuild {
280+ suspend fun updateWorkspace (workspace : Workspace ): WorkspaceBuild {
281281 val template = template(workspace.templateID)
282282 val buildRequest =
283283 CreateWorkspaceBuildRequest (template.activeVersionID, WorkspaceTransition .START )
284- val buildResponse = retroRestClient.createWorkspaceBuild(workspace.id, buildRequest).execute()
284+ val buildResponse = retroRestClient.createWorkspaceBuild(workspace.id, buildRequest)
285285 if (buildResponse.code() != HttpURLConnection .HTTP_CREATED ) {
286286 throw APIResponseException (" update workspace ${workspace.name} " , url, buildResponse)
287287 }
0 commit comments