feat(secrets-ui): improve types and code quality

This commit is contained in:
carlosmonastyrski
2025-04-25 18:17:33 -03:00
parent 4160009913
commit f345801bd6
5 changed files with 10 additions and 9 deletions
@@ -939,7 +939,7 @@ export const registerDashboardRouter = async (server: FastifyZodProvider) => {
const usedBySecretSyncs = secretSyncs.map((sync) => ({
name: sync.name,
destination: sync.destination,
environment: environment
environment
}));
if (secrets?.length || secretRotations?.length) {
@@ -48,7 +48,7 @@ export const SelectionPanel = ({
selectedEntries,
importedBy,
secretsToDeleteKeys,
usedBySecretSyncs
usedBySecretSyncs = []
}: Props) => {
const { permission } = useProjectPermission();
@@ -86,7 +86,7 @@ export const SelectionPanel = ({
);
const usedBySecretSyncsFiltered = useMemo(() => {
if (selectedKeysCount === 0 || !usedBySecretSyncs) return null;
if (selectedKeysCount === 0 || usedBySecretSyncs.length === 0) return null;
const envs = Object.values(selectedEntries.secret).flatMap((entries) => Object.keys(entries));
return usedBySecretSyncs.filter((syncItem) => envs.includes(syncItem.environment));
}, [selectedEntries, usedBySecretSyncs, selectedKeysCount]);
@@ -1073,8 +1073,8 @@ export const ActionBar = ({
onChange={(isOpen) => handlePopUpToggle("bulkDeleteSecrets", isOpen)}
onDeleteApproved={handleSecretBulkDelete}
formContent={
importedBy &&
importedBy.length > 0 && (
((importedBy && importedBy.length > 0) ||
(usedBySecretSyncs && usedBySecretSyncs?.length > 0)) && (
<CollapsibleSecretImports
importedBy={importedBy}
secretsToDelete={Object.values(selectedSecrets).map((s) => s.key)}
@@ -66,7 +66,8 @@ export const CollapsibleSecretImports: React.FC<CollapsibleSecretImportsProps> =
if (item.type === ItemType.SecretSync) {
window.open(
`/secret-manager/${currentWorkspace.id}/integrations?selectedTab=secret-syncs`,
"_blank"
"_blank",
"noopener,noreferrer"
);
return;
}
@@ -208,14 +208,14 @@ export const SecretItem = memo(
};
const handleFormSubmit = async (data: TFormSchema) => {
if (
const hasDirectReferences =
importedBy &&
importedBy.some(({ folders }) =>
folders?.some(({ secrets }) =>
secrets?.some(({ referencedSecretId }) => referencedSecretId === secret.id)
)
)
) {
);
if (hasDirectReferences) {
handlePopUpOpen("editSecret", data);
return;
}