From dc219b8e9fbebe0a90ad0ee86c3d8d6771d4f055 Mon Sep 17 00:00:00 2001 From: carlosmonastyrski Date: Mon, 14 Apr 2025 08:54:43 -0300 Subject: [PATCH] Fix edge case for referenced secrets batch delete and empty message --- .../CollapsibleSecretImports.tsx | 25 ++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/frontend/src/pages/secret-manager/SecretDashboardPage/components/SecretListView/CollapsibleSecretImports.tsx b/frontend/src/pages/secret-manager/SecretDashboardPage/components/SecretListView/CollapsibleSecretImports.tsx index 5f0e747a2..9a66b23f5 100644 --- a/frontend/src/pages/secret-manager/SecretDashboardPage/components/SecretListView/CollapsibleSecretImports.tsx +++ b/frontend/src/pages/secret-manager/SecretDashboardPage/components/SecretListView/CollapsibleSecretImports.tsx @@ -83,7 +83,12 @@ export const CollapsibleSecretImports: React.FC = if (folder.secrets?.length) { folder.secrets.forEach(({ secretId: secret, referencedSecretKey }) => { const secretPath = folder.name === "/" ? `/${secret}` : `${folder.name}/${secret}`; - if (secretsToDelete.includes(referencedSecretKey)) { + if ( + secretsToDelete.includes(referencedSecretKey) && + !items.some( + (item) => item.environment.name === env.environment.name && item.path === secretPath + ) + ) { items.push({ type: ItemType.Secret, path: secretPath, @@ -116,6 +121,24 @@ export const CollapsibleSecretImports: React.FC = }); }, [importedBy]); + const hasImportedItems = importedBy.some((element) => { + if (element.folders && element.folders.length > 0) { + return element.folders.some( + (folder) => + folder.isImported || + (folder.secrets && + folder.secrets.length > 0 && + folder.secrets.some((secret) => secretsToDelete.includes(secret.referencedSecretKey))) + ); + } + + return false; + }); + + if (!hasImportedItems) { + return null; + } + return (