in space-slack-sync/src/main/kotlin/org/jetbrains/spaceSlackSync/slack/BaseSlackClient.kt [32:47]
protected suspend fun <T : SlackApiTextResponse> fetch(action: String, handler: suspend (accessToken: String) -> T?): T? {
return tokens?.let {
try {
handler(it.accessToken).let { response: T? ->
if (response != null && !response.isOk) {
handleSlackError(action, response.error, handler)
} else {
response
}
}
} catch (ex: SlackApiException) {
log.error("Failure fetching data from Slack", ex)
handleSlackError(action, ex.error.error, handler)
}
}
}