Merge pull request #4521 from Infisical/fix-folder-cache-issue

feat: invalidate secrets cache on folder update & delete
This commit is contained in:
x032205
2025-09-12 11:31:44 -04:00
committed by GitHub
@@ -47,7 +47,7 @@ type TSecretFolderServiceFactoryDep = {
folderCommitService: Pick<TFolderCommitServiceFactory, "createCommit">; folderCommitService: Pick<TFolderCommitServiceFactory, "createCommit">;
projectDAL: Pick<TProjectDALFactory, "findProjectBySlug">; projectDAL: Pick<TProjectDALFactory, "findProjectBySlug">;
secretApprovalPolicyService: Pick<TSecretApprovalPolicyServiceFactory, "getSecretApprovalPolicy">; secretApprovalPolicyService: Pick<TSecretApprovalPolicyServiceFactory, "getSecretApprovalPolicy">;
secretV2BridgeDAL: Pick<TSecretV2BridgeDALFactory, "findByFolderIds">; secretV2BridgeDAL: Pick<TSecretV2BridgeDALFactory, "findByFolderIds" | "invalidateSecretCacheByProjectId">;
}; };
export type TSecretFolderServiceFactory = ReturnType<typeof secretFolderServiceFactory>; export type TSecretFolderServiceFactory = ReturnType<typeof secretFolderServiceFactory>;
@@ -398,6 +398,7 @@ export const secretFolderServiceFactory = ({
await Promise.all(result.map(async (res) => snapshotService.performSnapshot(res.newFolder.parentId as string))); await Promise.all(result.map(async (res) => snapshotService.performSnapshot(res.newFolder.parentId as string)));
await secretV2BridgeDAL.invalidateSecretCacheByProjectId(projectId);
return { return {
projectId, projectId,
newFolders: result.map((res) => res.newFolder), newFolders: result.map((res) => res.newFolder),
@@ -522,6 +523,7 @@ export const secretFolderServiceFactory = ({
} }
await snapshotService.performSnapshot(newFolder.parentId as string); await snapshotService.performSnapshot(newFolder.parentId as string);
await secretV2BridgeDAL.invalidateSecretCacheByProjectId(projectId);
return { return {
folder: { ...newFolder, path: newFolderWithFullPath.path }, folder: { ...newFolder, path: newFolderWithFullPath.path },
old: { ...folder, path: folderWithFullPath.path } old: { ...folder, path: folderWithFullPath.path }
@@ -724,6 +726,7 @@ export const secretFolderServiceFactory = ({
}); });
await snapshotService.performSnapshot(folder.parentId as string); await snapshotService.performSnapshot(folder.parentId as string);
await secretV2BridgeDAL.invalidateSecretCacheByProjectId(projectId);
return folder; return folder;
}; };