Fix edge case for referenced secrets batch delete and empty message

This commit is contained in:
carlosmonastyrski
2025-04-14 08:54:43 -03:00
parent 1ec87fae75
commit dc219b8e9f

View File

@@ -83,7 +83,12 @@ export const CollapsibleSecretImports: React.FC<CollapsibleSecretImportsProps> =
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<CollapsibleSecretImportsProps> =
});
}, [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 (
<div className="mb-4 w-full">
<div className="mb-4 rounded-md border border-red-700/30 bg-red-900/20">