|
4 | 4 | package software.aws.toolkits.jetbrains.core.gettingstarted |
5 | 5 |
|
6 | 6 | import com.intellij.openapi.project.Project |
| 7 | +import migration.software.aws.toolkits.jetbrains.services.telemetry.TelemetryService |
7 | 8 | import software.aws.toolkits.core.utils.tryOrNull |
| 9 | +import software.aws.toolkits.jetbrains.core.credentials.CredentialManager |
8 | 10 | import software.aws.toolkits.jetbrains.core.credentials.LegacyManagedBearerSsoConnection |
9 | 11 | import software.aws.toolkits.jetbrains.core.credentials.ManagedBearerSsoConnection |
10 | 12 | import software.aws.toolkits.jetbrains.core.credentials.ProfileSsoManagedBearerSsoConnection |
| 13 | +import software.aws.toolkits.jetbrains.core.credentials.ToolkitAuthManager |
11 | 14 | import software.aws.toolkits.jetbrains.core.credentials.ToolkitConnectionManager |
12 | 15 | import software.aws.toolkits.jetbrains.core.credentials.loginSso |
| 16 | +import software.aws.toolkits.jetbrains.core.credentials.pinning.CodeCatalystConnection |
13 | 17 | import software.aws.toolkits.jetbrains.core.credentials.pinning.CodeWhispererConnection |
14 | 18 | import software.aws.toolkits.jetbrains.core.credentials.pinning.QConnection |
15 | 19 | import software.aws.toolkits.jetbrains.core.credentials.reauthConnectionIfNeeded |
@@ -229,12 +233,25 @@ fun reauthenticateWithQ(project: Project) { |
229 | 233 | } |
230 | 234 |
|
231 | 235 | 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 | + |
232 | 246 | AuthTelemetry.userState( |
233 | 247 | project, |
234 | 248 | source = getStartupState().toString(), |
235 | 249 | authEnabledConnections = getEnabledConnections(project), |
236 | 250 | authStatus = getAuthStatus(project), |
237 | | - passive = true |
| 251 | + passive = true, |
| 252 | + metadata = mapOf( |
| 253 | + "authScopes" to scopes.joinToString(",") |
| 254 | + ) |
238 | 255 | ) |
239 | 256 | } |
240 | 257 |
|
|
0 commit comments