PIT: fix for folder commit order on cascade deletion

This commit is contained in:
carlosmonastyrski
2025-05-27 18:28:00 -03:00
parent 7fe53ab00e
commit 5b7f445e33

View File

@@ -712,22 +712,6 @@ export const folderCommitServiceFactory = ({
}));
logger.info(`Found ${changes.length} changes for ${folderId}`);
await Promise.all(
changes
.filter((change) => change.type === ChangeType.DELETE && change.folderVersionId)
.map(async (change) => {
await createDeleteCommitForNestedFolders({
folderId: change.folderId,
actorMetadata,
actorType,
envId,
parentFolderName: folderVersion.name,
step: step + 1,
tx
});
})
);
const newCommit = await folderCommitDAL.create(
{
actorMetadata,
@@ -756,6 +740,22 @@ export const folderCommitServiceFactory = ({
);
})
);
await Promise.all(
changes
.filter((change) => change.type === ChangeType.DELETE && change.folderVersionId)
.map(async (change) => {
await createDeleteCommitForNestedFolders({
folderId: change.folderId,
actorMetadata,
actorType,
envId,
parentFolderName: folderVersion.name,
step: step + 1,
tx
});
})
);
};
/**
@@ -780,21 +780,6 @@ export const folderCommitServiceFactory = ({
throw new NotFoundError({ message: `Folder with ID ${data.folderId} not found` });
}
await Promise.all(
data.changes.map(async (change) => {
if (change.type === ChangeType.DELETE && change.folderId) {
await createDeleteCommitForNestedFolders({
folderId: change.folderId,
actorMetadata: metadata,
actorType: data.actor.type,
envId: folder.envId,
parentFolderName: folder.name,
tx
});
}
})
);
const newCommit = await folderCommitDAL.create(
{
actorMetadata: metadata,
@@ -824,6 +809,21 @@ export const folderCommitServiceFactory = ({
})
);
await Promise.all(
data.changes.map(async (change) => {
if (change.type === ChangeType.DELETE && change.folderId) {
await createDeleteCommitForNestedFolders({
folderId: change.folderId,
actorMetadata: metadata,
actorType: data.actor.type,
envId: folder.envId,
parentFolderName: folder.name,
tx
});
}
})
);
await createFolderCheckpoint({ folderId: data.folderId, folderCommitId: newCommit.id, tx });
if (folderCommitQueueService) {
if (!folder.parentId) {
@@ -1640,7 +1640,6 @@ export const folderCommitServiceFactory = ({
changes: diff,
folderPath: folderPath || ""
});
await Promise.all(
diff.map(async (change) => {
if (change.type === ResourceType.FOLDER && change.changeType === ChangeType.CREATE) {