Skip to content

Commit f157c53

Browse files
committed
add authScopes to emitUserState telemetry
1 parent 7c4a996 commit f157c53

File tree

1 file changed

+18
-1
lines changed

1 file changed

+18
-1
lines changed

plugins/core/jetbrains-community/src/software/aws/toolkits/jetbrains/core/gettingstarted/GettingStartedAuthUtils.kt

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,16 @@
44
package software.aws.toolkits.jetbrains.core.gettingstarted
55

66
import com.intellij.openapi.project.Project
7+
import migration.software.aws.toolkits.jetbrains.services.telemetry.TelemetryService
78
import software.aws.toolkits.core.utils.tryOrNull
9+
import software.aws.toolkits.jetbrains.core.credentials.CredentialManager
810
import software.aws.toolkits.jetbrains.core.credentials.LegacyManagedBearerSsoConnection
911
import software.aws.toolkits.jetbrains.core.credentials.ManagedBearerSsoConnection
1012
import software.aws.toolkits.jetbrains.core.credentials.ProfileSsoManagedBearerSsoConnection
13+
import software.aws.toolkits.jetbrains.core.credentials.ToolkitAuthManager
1114
import software.aws.toolkits.jetbrains.core.credentials.ToolkitConnectionManager
1215
import software.aws.toolkits.jetbrains.core.credentials.loginSso
16+
import software.aws.toolkits.jetbrains.core.credentials.pinning.CodeCatalystConnection
1317
import software.aws.toolkits.jetbrains.core.credentials.pinning.CodeWhispererConnection
1418
import software.aws.toolkits.jetbrains.core.credentials.pinning.QConnection
1519
import software.aws.toolkits.jetbrains.core.credentials.reauthConnectionIfNeeded
@@ -229,12 +233,25 @@ fun reauthenticateWithQ(project: Project) {
229233
}
230234

231235
fun emitUserState(project: Project) {
236+
237+
// for each connection, add scopes to a list
238+
val scopes = ToolkitAuthManager.getInstance().listConnections().flatMap { connection ->
239+
when (connection) {
240+
is ProfileSsoManagedBearerSsoConnection -> connection.scopes
241+
is LegacyManagedBearerSsoConnection -> connection.scopes
242+
else -> emptyList()
243+
}
244+
}.toSet()
245+
232246
AuthTelemetry.userState(
233247
project,
234248
source = getStartupState().toString(),
235249
authEnabledConnections = getEnabledConnections(project),
236250
authStatus = getAuthStatus(project),
237-
passive = true
251+
passive = true,
252+
metadata = mapOf(
253+
"authScopes" to scopes.joinToString(",")
254+
)
238255
)
239256
}
240257

0 commit comments

Comments
 (0)