From 046fe18ed9b42c3a615ca8d70eaad58bdcc20c3a Mon Sep 17 00:00:00 2001
From: Chris Brown <1731074+ccbrown@users.noreply.github.com>
Date: Mon, 21 Apr 2025 13:55:20 -0400
Subject: [PATCH] scp management polish
---
backend/app/aws_integration.go | 6 +-
.../app/(user-area)/teams/[teamId]/Rules.tsx | 7 +-
.../app/(user-area)/teams/[teamId]/page.tsx | 2 +-
.../teams/[teamId]/settings/members/page.tsx | 6 +-
frontend/src/components/ChipEditor.tsx | 90 +++++++++++--------
frontend/src/components/Dialog.tsx | 7 +-
frontend/src/components/ErrorMessage.tsx | 2 +-
frontend/src/components/SuccessMessage.tsx | 2 +-
frontend/src/models/aws.ts | 5 ++
frontend/src/models/reports.ts | 1 +
10 files changed, 84 insertions(+), 44 deletions(-)
diff --git a/backend/app/aws_integration.go b/backend/app/aws_integration.go
index c72fd54d..75a9f04c 100644
--- a/backend/app/aws_integration.go
+++ b/backend/app/aws_integration.go
@@ -613,7 +613,11 @@ func (s *Session) GetAWSAccessReportByTeamAndAccountId(ctx context.Context, team
time.Sleep(time.Second)
continue
} else if output.JobStatus != iamtypes.JobStatusTypeCompleted {
- return nil, s.SanitizedError(fmt.Errorf("failed to generate access report"))
+ var message string
+ if output.ErrorDetails != nil && output.ErrorDetails.Message != nil {
+ message = *output.ErrorDetails.Message
+ }
+ return nil, s.SanitizedError(fmt.Errorf("unexpected job status for access report: %s, error message: %s", string(output.JobStatus), message))
}
for _, detail := range output.AccessDetails {
diff --git a/frontend/src/app/(user-area)/teams/[teamId]/Rules.tsx b/frontend/src/app/(user-area)/teams/[teamId]/Rules.tsx
index 578b939d..c4e739ec 100644
--- a/frontend/src/app/(user-area)/teams/[teamId]/Rules.tsx
+++ b/frontend/src/app/(user-area)/teams/[teamId]/Rules.tsx
@@ -107,7 +107,11 @@ const AccountPage = ({ account, onBack }: AccountPageProps) => {
Region allowlist:
({ label: region.id, value: region.id }))}
+ options={awsRegions.map((region) => ({
+ label: region.id,
+ value: region.id,
+ altLabel: region.name,
+ }))}
before={scpRuleSet?.regionAllowlist?.regions || new Set()}
after={ruleSet.regionAllowlist?.regions || new Set()}
onAdd={(region) => {
@@ -150,6 +154,7 @@ const AccountPage = ({ account, onBack }: AccountPageProps) => {
options={awsServices.map((service) => ({
label: service.namespace,
value: service.namespace,
+ altLabel: service.name,
}))}
before={scpRuleSet?.serviceAllowlist?.services || new Set()}
after={ruleSet.serviceAllowlist?.services || new Set()}
diff --git a/frontend/src/app/(user-area)/teams/[teamId]/page.tsx b/frontend/src/app/(user-area)/teams/[teamId]/page.tsx
index fb2ca318..8660365d 100644
--- a/frontend/src/app/(user-area)/teams/[teamId]/page.tsx
+++ b/frontend/src/app/(user-area)/teams/[teamId]/page.tsx
@@ -318,7 +318,7 @@ const Page = () => {
availableEndTime={maxUnfilteredReportEndTime}
onChange={setDurationSeconds}
/>
-