From b812761bddb03b60eb0fd30cfc12fcaa15c8f5eb Mon Sep 17 00:00:00 2001 From: carlosmonastyrski Date: Sun, 25 May 2025 11:52:28 -0300 Subject: [PATCH] PIT: hide restore button for last commit --- .../folder-commit/folder-commit-schemas.ts | 1 + .../folder-commit/folder-commit-service.ts | 3 ++- .../secret-v2-bridge-service.ts | 3 ++- frontend/src/hooks/api/folderCommits/types.ts | 1 + .../CommitDetailsTab/CommitDetailsTab.tsx | 18 ++++++++++-------- 5 files changed, 16 insertions(+), 10 deletions(-) diff --git a/backend/src/services/folder-commit/folder-commit-schemas.ts b/backend/src/services/folder-commit/folder-commit-schemas.ts index d676b8249..2a2b3a0e4 100644 --- a/backend/src/services/folder-commit/folder-commit-schemas.ts +++ b/backend/src/services/folder-commit/folder-commit-schemas.ts @@ -85,6 +85,7 @@ const commitSchema = z.object({ envId: z.string(), createdAt: z.union([z.string(), z.date()]), updatedAt: z.union([z.string(), z.date()]), + isLatest: z.boolean().default(false), changes: z.array(commitChangeSchema).optional() }); diff --git a/backend/src/services/folder-commit/folder-commit-service.ts b/backend/src/services/folder-commit/folder-commit-service.ts index 0adf3dcb1..a88aef3d4 100644 --- a/backend/src/services/folder-commit/folder-commit-service.ts +++ b/backend/src/services/folder-commit/folder-commit-service.ts @@ -1279,7 +1279,8 @@ export const folderCommitServiceFactory = ({ }); const changes = await folderCommitChangesDAL.findByCommitId(commitId, projectId); const commit = await folderCommitDAL.findById(commitId, undefined, projectId); - return { ...commit, changes }; + const latestCommit = await folderCommitDAL.findLatestCommit(commit.folderId, projectId); + return { ...commit, changes, isLatest: commit.id === latestCommit?.id }; }; /** diff --git a/backend/src/services/secret-v2-bridge/secret-v2-bridge-service.ts b/backend/src/services/secret-v2-bridge/secret-v2-bridge-service.ts index 6525a5909..eaf9f07ca 100644 --- a/backend/src/services/secret-v2-bridge/secret-v2-bridge-service.ts +++ b/backend/src/services/secret-v2-bridge/secret-v2-bridge-service.ts @@ -325,6 +325,7 @@ export const secretV2BridgeServiceFactory = ({ userId: inputSecret.type === SecretType.Personal ? actorId : null, tagIds: inputSecret.tagIds, references: nestedReferences, + metadata: secretMetadata ? JSON.stringify(secretMetadata) : [], secretMetadata } ], @@ -529,7 +530,7 @@ export const secretV2BridgeServiceFactory = ({ skipMultilineEncoding: inputSecret.skipMultilineEncoding, key: inputSecret.newSecretName || secretName, tags: inputSecret.tagIds, - metadata: JSON.stringify(secretMetadata), + metadata: secretMetadata ? JSON.stringify(secretMetadata) : [], secretMetadata, ...encryptedValue } diff --git a/frontend/src/hooks/api/folderCommits/types.ts b/frontend/src/hooks/api/folderCommits/types.ts index e248277db..878e3224d 100644 --- a/frontend/src/hooks/api/folderCommits/types.ts +++ b/frontend/src/hooks/api/folderCommits/types.ts @@ -13,6 +13,7 @@ export type CommitHistoryItem = { envId: string; createdAt: string; updatedAt: string; + isLatest: boolean; }; export type TFolderCommitChanges = { diff --git a/frontend/src/pages/secret-manager/CommitDetailsPage/components/CommitDetailsTab/CommitDetailsTab.tsx b/frontend/src/pages/secret-manager/CommitDetailsPage/components/CommitDetailsTab/CommitDetailsTab.tsx index 1477faa25..2595207de 100644 --- a/frontend/src/pages/secret-manager/CommitDetailsPage/components/CommitDetailsTab/CommitDetailsTab.tsx +++ b/frontend/src/pages/secret-manager/CommitDetailsPage/components/CommitDetailsTab/CommitDetailsTab.tsx @@ -291,14 +291,16 @@ export const CommitDetailsTab = ({ className="animate-in fade-in-50 zoom-in-95 min-w-[200px] p-1" style={{ marginTop: "0" }} > - goToRollbackPreview()} - > -
- Restore entire folder -
-
+ {!parsedCommitDetails.changes.isLatest && ( + goToRollbackPreview()} + > +
+ Restore entire folder +
+
+ )}