fix(secret-folders): delete folder by ID

This commit is contained in:
Daniel Hougaard
2025-07-03 03:15:06 +04:00
parent 984ffd2a53
commit a3859170fe
@@ -478,12 +478,25 @@ export const secretFolderServiceFactory = ({
parentId: string; parentId: string;
idOrName: string; idOrName: string;
}) => { }) => {
const targetFolder = await folderDAL.findOne({ let targetFolder = await folderDAL
envId: env.id, .findOne({
[uuidValidate(idOrName) ? "id" : "name"]: idOrName, envId: env.id,
parentId, name: idOrName,
isReserved: false parentId,
}); isReserved: false
})
.catch(() => null);
if (!targetFolder) {
targetFolder = await folderDAL
.findOne({
envId: env.id,
id: idOrName,
parentId,
isReserved: false
})
.catch(() => null);
}
if (!targetFolder) { if (!targetFolder) {
throw new NotFoundError({ message: `Target folder not found` }); throw new NotFoundError({ message: `Target folder not found` });
@@ -589,18 +602,40 @@ export const secretFolderServiceFactory = ({
await $checkFolderPolicy({ projectId, env, parentId: parentFolder.id, idOrName }); await $checkFolderPolicy({ projectId, env, parentId: parentFolder.id, idOrName });
let folderToDelete = await folderDAL
.findOne({
envId: env.id,
name: idOrName,
parentId: parentFolder.id,
isReserved: false
})
.catch(() => null);
if (!folderToDelete) {
folderToDelete = await folderDAL
.findOne({
envId: env.id,
id: idOrName,
parentId: parentFolder.id,
isReserved: false
})
.catch(() => null);
}
if (!folderToDelete) {
throw new NotFoundError({ message: `Folder with ID '${idOrName}' not found` });
}
const [doc] = await folderDAL.delete( const [doc] = await folderDAL.delete(
{ {
envId: env.id, envId: env.id,
[uuidValidate(idOrName) ? "id" : "name"]: idOrName, id: folderToDelete.id,
parentId: parentFolder.id, parentId: parentFolder.id,
isReserved: false isReserved: false
}, },
tx tx
); );
if (!doc) throw new NotFoundError({ message: `Failed to delete folder with ID '${idOrName}', not found` });
const folderVersions = await folderVersionDAL.findLatestFolderVersions([doc.id], tx); const folderVersions = await folderVersionDAL.findLatestFolderVersions([doc.id], tx);
await folderCommitService.createCommit( await folderCommitService.createCommit(