Merge pull request #23020 from overleaf/ar-prevent-rootFolder-deletion

[web] Prevent deletes on a project's rootFolder

GitOrigin-RevId: 6d0506f207425f65d3de990a78bb1ea9b136ed1e
This commit is contained in:
Andrew Rumble
2025-01-22 10:56:42 +00:00
committed by Copybot
parent 793d900ba5
commit 6cb1528495
5 changed files with 70 additions and 6 deletions
@@ -375,11 +375,20 @@ async function moveEntity(projectId, entityId, destFolderId, entityType) {
return { project, startPath, endPath, rev: entity.rev, changes }
}
async function deleteEntity(projectId, entityId, entityType, callback) {
async function deleteEntity(projectId, entityId, entityType) {
const project = await ProjectGetter.promises.getProjectWithoutLock(
projectId,
{ name: true, rootFolder: true, overleaf: true, rootDoc_id: true }
)
if (
entityType === 'folder' &&
project.rootFolder.some(
rootFolder => rootFolder._id.toString() === entityId.toString()
)
) {
throw new Errors.NonDeletableEntityError('cannot delete root folder')
}
const deleteRootDoc =
project.rootDoc_id &&
entityId &&