From 0cc3240956a6d2f011cec024c67e21dc0513cb37 Mon Sep 17 00:00:00 2001 From: Scott Wilson Date: Wed, 12 Mar 2025 11:28:38 -0700 Subject: [PATCH] improvements: final feedback --- backend/src/server/routes/v1/project-router.ts | 2 +- .../permissions/AccessTree/components/AccessTreeContext.tsx | 2 +- .../AccessTree/components/PermissionSimulation.tsx | 6 +++++- .../permissions/AccessTree/utils/createFolderNode.ts | 2 +- frontend/src/hooks/api/secretFolders/queries.tsx | 2 +- .../components/GeneralPermissionConditions.tsx | 3 ++- .../components/IdentityManagementPermissionConditions.tsx | 3 ++- .../components/SecretPermissionConditions.tsx | 3 ++- 8 files changed, 15 insertions(+), 8 deletions(-) diff --git a/backend/src/server/routes/v1/project-router.ts b/backend/src/server/routes/v1/project-router.ts index 63941a3f4..b44e93a66 100644 --- a/backend/src/server/routes/v1/project-router.ts +++ b/backend/src/server/routes/v1/project-router.ts @@ -680,7 +680,7 @@ export const registerProjectRouter = async (server: FastifyZodProvider) => { server.route({ method: "GET", - url: "/:workspaceId/folders/environment-folder-tree", + url: "/:workspaceId/environment-folder-tree", config: { rateLimit: readLimit }, diff --git a/frontend/src/components/permissions/AccessTree/components/AccessTreeContext.tsx b/frontend/src/components/permissions/AccessTree/components/AccessTreeContext.tsx index fbac4a85e..2a6767396 100644 --- a/frontend/src/components/permissions/AccessTree/components/AccessTreeContext.tsx +++ b/frontend/src/components/permissions/AccessTree/components/AccessTreeContext.tsx @@ -24,7 +24,7 @@ interface AccessTreeProviderProps { } export const AccessTreeProvider: React.FC = ({ children }) => { - const [secretName, setSecretName] = useState("*"); + const [secretName, setSecretName] = useState(""); const [viewMode, setViewMode] = useState(ViewMode.Docked); const value = useMemo( diff --git a/frontend/src/components/permissions/AccessTree/components/PermissionSimulation.tsx b/frontend/src/components/permissions/AccessTree/components/PermissionSimulation.tsx index 8bc3b1b9d..476f2d27c 100644 --- a/frontend/src/components/permissions/AccessTree/components/PermissionSimulation.tsx +++ b/frontend/src/components/permissions/AccessTree/components/PermissionSimulation.tsx @@ -126,7 +126,11 @@ export const PermissionSimulation = ({ {subject === ProjectPermissionSub.Secrets && (
- setSecretName(e.target.value)} /> + setSecretName(e.target.value)} + />
)} diff --git a/frontend/src/components/permissions/AccessTree/utils/createFolderNode.ts b/frontend/src/components/permissions/AccessTree/utils/createFolderNode.ts index 9ccbfc604..15c64ce8a 100644 --- a/frontend/src/components/permissions/AccessTree/utils/createFolderNode.ts +++ b/frontend/src/components/permissions/AccessTree/utils/createFolderNode.ts @@ -103,7 +103,7 @@ export const createFolderNode = ({ if (hasPermission) { // we want to show yellow/conditional access if user hasn't specified secret name to fully resolve access if ( - (!secretName || secretName === "*") && + !secretName && actionRuleMap.some((el) => { // we only show conditional if secretName/secretTags are present - environment and path can be directly determined if (!el[action]?.conditions?.secretName && !el[action]?.conditions?.secretTags) diff --git a/frontend/src/hooks/api/secretFolders/queries.tsx b/frontend/src/hooks/api/secretFolders/queries.tsx index 44fa22759..b49fbd6cc 100644 --- a/frontend/src/hooks/api/secretFolders/queries.tsx +++ b/frontend/src/hooks/api/secretFolders/queries.tsx @@ -56,7 +56,7 @@ export const useListProjectEnvironmentsFolders = ( queryKey: folderQueryKeys.getProjectEnvironmentsFolders(projectId), queryFn: async () => { const { data } = await apiRequest.get( - `/api/v1/workspace/${projectId}/folders/environment-folder-tree` + `/api/v1/workspace/${projectId}/environment-folder-tree` ); return data; }, diff --git a/frontend/src/pages/project/RoleDetailsBySlugPage/components/GeneralPermissionConditions.tsx b/frontend/src/pages/project/RoleDetailsBySlugPage/components/GeneralPermissionConditions.tsx index 8617fe7d1..fcb22f4eb 100644 --- a/frontend/src/pages/project/RoleDetailsBySlugPage/components/GeneralPermissionConditions.tsx +++ b/frontend/src/pages/project/RoleDetailsBySlugPage/components/GeneralPermissionConditions.tsx @@ -46,7 +46,8 @@ export const GeneralPermissionConditions = ({ position = 0, isDisabled, type }:

Conditions

- When this policy should apply (always if no conditions are added). + When this policy should apply (always if no conditions are added). All conditions must + evaluate to true for the policy to take effect.

{items.fields.map((el, index) => { diff --git a/frontend/src/pages/project/RoleDetailsBySlugPage/components/IdentityManagementPermissionConditions.tsx b/frontend/src/pages/project/RoleDetailsBySlugPage/components/IdentityManagementPermissionConditions.tsx index c709ea49f..b8159b7eb 100644 --- a/frontend/src/pages/project/RoleDetailsBySlugPage/components/IdentityManagementPermissionConditions.tsx +++ b/frontend/src/pages/project/RoleDetailsBySlugPage/components/IdentityManagementPermissionConditions.tsx @@ -40,7 +40,8 @@ export const IdentityManagementPermissionConditions = ({ position = 0, isDisable

Conditions

- When this policy should apply (always if no conditions are added). + When this policy should apply (always if no conditions are added). All conditions must + evaluate to true for the policy to take effect.

{items.fields.map((el, index) => { diff --git a/frontend/src/pages/project/RoleDetailsBySlugPage/components/SecretPermissionConditions.tsx b/frontend/src/pages/project/RoleDetailsBySlugPage/components/SecretPermissionConditions.tsx index ab893cb09..391ac0d87 100644 --- a/frontend/src/pages/project/RoleDetailsBySlugPage/components/SecretPermissionConditions.tsx +++ b/frontend/src/pages/project/RoleDetailsBySlugPage/components/SecretPermissionConditions.tsx @@ -44,7 +44,8 @@ export const SecretPermissionConditions = ({ position = 0, isDisabled }: Props)

Conditions

- When this policy should apply (always if no conditions are added). + When this policy should apply (always if no conditions are added). All conditions must + evaluate to true for the policy to take effect.

{items.fields.map((el, index) => {