private suspend fun getResults(username: String, password: String): Result { val response = apiService.loginUserAsync(username, password).await() response.body()?.let { val profile = apiService.getProfileAsync(it.access_token).await() return when{ response.isSuccessful -> Result.Success(profile.body()!!) else -> Result.Error(IOException("Could not fetch profile : ${response.message()}")) } } }