suspend fun requestAuth()

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")
}