mirror of
https://github.com/awatertrevi/infisical.git
synced 2026-10-11 23:29:05 +00:00
feat(secrets-ui): improve types and code quality
This commit is contained in:
@@ -939,7 +939,7 @@ export const registerDashboardRouter = async (server: FastifyZodProvider) => {
|
|||||||
const usedBySecretSyncs = secretSyncs.map((sync) => ({
|
const usedBySecretSyncs = secretSyncs.map((sync) => ({
|
||||||
name: sync.name,
|
name: sync.name,
|
||||||
destination: sync.destination,
|
destination: sync.destination,
|
||||||
environment: environment
|
environment
|
||||||
}));
|
}));
|
||||||
|
|
||||||
if (secrets?.length || secretRotations?.length) {
|
if (secrets?.length || secretRotations?.length) {
|
||||||
|
|||||||
+2
-2
@@ -48,7 +48,7 @@ export const SelectionPanel = ({
|
|||||||
selectedEntries,
|
selectedEntries,
|
||||||
importedBy,
|
importedBy,
|
||||||
secretsToDeleteKeys,
|
secretsToDeleteKeys,
|
||||||
usedBySecretSyncs
|
usedBySecretSyncs = []
|
||||||
}: Props) => {
|
}: Props) => {
|
||||||
const { permission } = useProjectPermission();
|
const { permission } = useProjectPermission();
|
||||||
|
|
||||||
@@ -86,7 +86,7 @@ export const SelectionPanel = ({
|
|||||||
);
|
);
|
||||||
|
|
||||||
const usedBySecretSyncsFiltered = useMemo(() => {
|
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));
|
const envs = Object.values(selectedEntries.secret).flatMap((entries) => Object.keys(entries));
|
||||||
return usedBySecretSyncs.filter((syncItem) => envs.includes(syncItem.environment));
|
return usedBySecretSyncs.filter((syncItem) => envs.includes(syncItem.environment));
|
||||||
}, [selectedEntries, usedBySecretSyncs, selectedKeysCount]);
|
}, [selectedEntries, usedBySecretSyncs, selectedKeysCount]);
|
||||||
|
|||||||
+2
-2
@@ -1073,8 +1073,8 @@ export const ActionBar = ({
|
|||||||
onChange={(isOpen) => handlePopUpToggle("bulkDeleteSecrets", isOpen)}
|
onChange={(isOpen) => handlePopUpToggle("bulkDeleteSecrets", isOpen)}
|
||||||
onDeleteApproved={handleSecretBulkDelete}
|
onDeleteApproved={handleSecretBulkDelete}
|
||||||
formContent={
|
formContent={
|
||||||
importedBy &&
|
((importedBy && importedBy.length > 0) ||
|
||||||
importedBy.length > 0 && (
|
(usedBySecretSyncs && usedBySecretSyncs?.length > 0)) && (
|
||||||
<CollapsibleSecretImports
|
<CollapsibleSecretImports
|
||||||
importedBy={importedBy}
|
importedBy={importedBy}
|
||||||
secretsToDelete={Object.values(selectedSecrets).map((s) => s.key)}
|
secretsToDelete={Object.values(selectedSecrets).map((s) => s.key)}
|
||||||
|
|||||||
+2
-1
@@ -66,7 +66,8 @@ export const CollapsibleSecretImports: React.FC<CollapsibleSecretImportsProps> =
|
|||||||
if (item.type === ItemType.SecretSync) {
|
if (item.type === ItemType.SecretSync) {
|
||||||
window.open(
|
window.open(
|
||||||
`/secret-manager/${currentWorkspace.id}/integrations?selectedTab=secret-syncs`,
|
`/secret-manager/${currentWorkspace.id}/integrations?selectedTab=secret-syncs`,
|
||||||
"_blank"
|
"_blank",
|
||||||
|
"noopener,noreferrer"
|
||||||
);
|
);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|||||||
+3
-3
@@ -208,14 +208,14 @@ export const SecretItem = memo(
|
|||||||
};
|
};
|
||||||
|
|
||||||
const handleFormSubmit = async (data: TFormSchema) => {
|
const handleFormSubmit = async (data: TFormSchema) => {
|
||||||
if (
|
const hasDirectReferences =
|
||||||
importedBy &&
|
importedBy &&
|
||||||
importedBy.some(({ folders }) =>
|
importedBy.some(({ folders }) =>
|
||||||
folders?.some(({ secrets }) =>
|
folders?.some(({ secrets }) =>
|
||||||
secrets?.some(({ referencedSecretId }) => referencedSecretId === secret.id)
|
secrets?.some(({ referencedSecretId }) => referencedSecretId === secret.id)
|
||||||
)
|
)
|
||||||
)
|
);
|
||||||
) {
|
if (hasDirectReferences) {
|
||||||
handlePopUpOpen("editSecret", data);
|
handlePopUpOpen("editSecret", data);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user