in src/main/kotlin/org/jetbrains/slackUnfurls/slackUnfurlsInSpace/SlackUnfurlsInSpace.kt [458:500]
suspend fun requestAuth(
context: SpaceUserKey,
queueItems: List<ApplicationUnfurlQueueItem>,
spaceClient: SpaceClient,
locations: Locations
) {
queueItems.forEach { item ->
spaceClient.applications.unfurls.queue.requestExternalSystemAuthentication(
item.id,
unfurl {
section {
text("Authenticate in Slack to get link previews in Space")
controls {
val slackOAuthUrl = "$entrypointUrl${
locations.href(
Routes.SlackOAuth(
spaceOrgId = context.spaceOrgId,
spaceUser = context.spaceUserId,
slackTeamId = context.slackTeamId
)
)
}"
button(
"Authenticate",
NavigateUrlAction(slackOAuthUrl, withBackUrl = true, openInNewTab = false)
)
button(
"Not now",
PostMessageAction(AuthAction.NotNow.id, context.slackTeamId),
MessageButtonStyle.SECONDARY
)
button(
"Never ask me again",
PostMessageAction(AuthAction.Never.id, context.slackTeamId),
MessageButtonStyle.SECONDARY
)
}
}
}
)
}
log.info("Requested authentication in Slack for ${queueItems.size} links")
}