From 36adf6863bd88a8bb7a27e8b1c28ea630061d2c6 Mon Sep 17 00:00:00 2001 From: Daniel Hougaard <62331820+DanielHougaard@users.noreply.github.com> Date: Wed, 20 Mar 2024 21:09:54 +0100 Subject: [PATCH] Fix: UI secret import indicator --- frontend/src/hooks/api/secretImports/queries.tsx | 5 +++-- .../SecretOverviewTableRow/SecretOverviewTableRow.tsx | 5 +++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/frontend/src/hooks/api/secretImports/queries.tsx b/frontend/src/hooks/api/secretImports/queries.tsx index 94321e9e2..1019c6c61 100644 --- a/frontend/src/hooks/api/secretImports/queries.tsx +++ b/frontend/src/hooks/api/secretImports/queries.tsx @@ -264,12 +264,13 @@ export const useGetImportedSecretsAllEnvs = ({ }); const isImportedSecretPresentInEnv = useCallback( - (secPath: string, envSlug: string) => { + (secPath: string, envSlug: string, secretName: string) => { const selectedEnvIndex = environments.indexOf(envSlug); if (selectedEnvIndex !== -1) { const isPresent = secretImports?.[selectedEnvIndex]?.data?.find( - ({ secretPath }) => secretPath === secPath + ({ secretPath, ...rest }) => + secretPath === secPath && rest.secrets.some((s) => s.key === secretName) ); return Boolean(isPresent); diff --git a/frontend/src/views/SecretOverviewPage/components/SecretOverviewTableRow/SecretOverviewTableRow.tsx b/frontend/src/views/SecretOverviewPage/components/SecretOverviewTableRow/SecretOverviewTableRow.tsx index 8e9e60a3b..74c563b05 100644 --- a/frontend/src/views/SecretOverviewPage/components/SecretOverviewTableRow/SecretOverviewTableRow.tsx +++ b/frontend/src/views/SecretOverviewPage/components/SecretOverviewTableRow/SecretOverviewTableRow.tsx @@ -27,7 +27,7 @@ type Props = { onSecretCreate: (env: string, key: string, value: string) => Promise; onSecretUpdate: (env: string, key: string, value: string, secretId?: string) => Promise; onSecretDelete: (env: string, key: string, secretId?: string) => Promise; - isImportedSecretPresentInEnv: (name: string, env: string) => boolean; + isImportedSecretPresentInEnv: (name: string, env: string, secretName: string) => boolean; }; export const SecretOverviewTableRow = ({ @@ -65,7 +65,8 @@ export const SecretOverviewTableRow = ({ {environments.map(({ slug }, i) => { const secret = getSecretByKey(slug, secretKey); - const isSecretImported = isImportedSecretPresentInEnv(secretPath, slug); + const isSecretImported = isImportedSecretPresentInEnv(secretPath, slug, secretKey); + const isSecretPresent = Boolean(secret); const isSecretEmpty = secret?.value === ""; return (