@@ -309,6 +309,19 @@ export const secretReplicationServiceFactory = ({
309309 const sourceSecrets = $getReplicatedSecretsV2 ( sourceDecryptedLocalSecrets , sourceImportedSecrets ) ;
310310 const sourceSecretsGroupByKey = groupBy ( sourceSecrets , ( i ) => i . key ) ;
311311
312+ // Fetch latest version IDs for all source secrets to track parent-child relationships
313+ const sourceSecretsGroupedByFolderId = groupBy ( sourceSecrets , ( s ) => s . folderId ) ;
314+ const sourceSecretLatestVersions : Record < string , string > = { } ;
315+ await Promise . all (
316+ Object . entries ( sourceSecretsGroupedByFolderId ) . map ( async ( [ folderId , secrets ] ) => {
317+ const secretIds = secrets . map ( ( s ) => s . id ) ;
318+ const latestVersions = await secretVersionV2BridgeDAL . findLatestVersionMany ( folderId , secretIds ) ;
319+ Object . entries ( latestVersions ) . forEach ( ( [ secretId , version ] ) => {
320+ sourceSecretLatestVersions [ secretId ] = version . id ;
321+ } ) ;
322+ } )
323+ ) ;
324+
312325 const lock = await keyStore . acquireLock (
313326 [ getReplicationKeyLockPrefix ( projectId , environmentSlug , secretPath ) ] ,
314327 5000
@@ -495,7 +508,8 @@ export const secretReplicationServiceFactory = ({
495508 encryptedComment : doc . encryptedComment ,
496509 skipMultilineEncoding : doc . skipMultilineEncoding ,
497510 secretMetadata : doc . rawSecretMetadata ,
498- references : doc . secretValue ? getAllSecretReferences ( doc . secretValue ) . nestedReferences : [ ]
511+ references : doc . secretValue ? getAllSecretReferences ( doc . secretValue ) . nestedReferences : [ ] ,
512+ parentSecretVersionId : sourceSecretLatestVersions [ doc . id ]
499513 } ;
500514 } )
501515 } ) ;
@@ -525,7 +539,8 @@ export const secretReplicationServiceFactory = ({
525539 encryptedComment : doc . encryptedComment ,
526540 skipMultilineEncoding : doc . skipMultilineEncoding ,
527541 secretMetadata : doc . rawSecretMetadata ,
528- references : doc . secretValue ? getAllSecretReferences ( doc . secretValue ) . nestedReferences : [ ]
542+ references : doc . secretValue ? getAllSecretReferences ( doc . secretValue ) . nestedReferences : [ ] ,
543+ parentSecretVersionId : sourceSecretLatestVersions [ doc . id ]
529544 }
530545 } ;
531546 } )
0 commit comments