From 96eab464c73e1c90ba9287d89b8b0b49d4e16ba6 Mon Sep 17 00:00:00 2001 From: = Date: Fri, 11 Oct 2024 16:31:51 +0530 Subject: [PATCH] feat: only do sync secret and snapshot if its shared secret change --- .../secret-v2-bridge-service.ts | 55 +++++++++++-------- 1 file changed, 31 insertions(+), 24 deletions(-) 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 6e8d95e1c..0d2797800 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 @@ -193,14 +193,16 @@ export const secretV2BridgeServiceFactory = ({ }) ); - await snapshotService.performSnapshot(folderId); - await secretQueueService.syncSecrets({ - secretPath, - actorId, - actor, - projectId, - environmentSlug: folder.environment.slug - }); + if (inputSecret.type === SecretType.Shared) { + await snapshotService.performSnapshot(folderId); + await secretQueueService.syncSecrets({ + secretPath, + actorId, + actor, + projectId, + environmentSlug: folder.environment.slug + }); + } return reshapeBridgeSecret(projectId, environment, secretPath, { ...secret[0], @@ -349,14 +351,17 @@ export const secretV2BridgeServiceFactory = ({ projectId }); - await snapshotService.performSnapshot(folderId); - await secretQueueService.syncSecrets({ - actor, - actorId, - secretPath, - projectId, - environmentSlug: folder.environment.slug - }); + if (inputSecret.type === SecretType.Shared) { + await snapshotService.performSnapshot(folderId); + await secretQueueService.syncSecrets({ + secretPath, + actorId, + actor, + projectId, + environmentSlug: folder.environment.slug + }); + } + return reshapeBridgeSecret(projectId, environment, secretPath, { ...updatedSecret[0], value: inputSecret.secretValue || "", @@ -427,14 +432,16 @@ export const secretV2BridgeServiceFactory = ({ }) ); - await snapshotService.performSnapshot(folderId); - await secretQueueService.syncSecrets({ - actor, - actorId, - secretPath, - projectId, - environmentSlug: folder.environment.slug - }); + if (inputSecret.type === SecretType.Shared) { + await snapshotService.performSnapshot(folderId); + await secretQueueService.syncSecrets({ + secretPath, + actorId, + actor, + projectId, + environmentSlug: folder.environment.slug + }); + } const { decryptor: secretManagerDecryptor } = await kmsService.createCipherPairWithDataKey({ type: KmsDataKey.SecretManager,