diff --git a/packages/core/upload/server/controllers/validation/admin/folder-file.js b/packages/core/upload/server/controllers/validation/admin/folder-file.js index 67bb8e823e..8efbb999a5 100644 --- a/packages/core/upload/server/controllers/validation/admin/folder-file.js +++ b/packages/core/upload/server/controllers/validation/admin/folder-file.js @@ -75,7 +75,11 @@ const validateMoveFoldersNotInsideThemselvesSchema = yup }); const unmovableFoldersNames = folders - .filter((folder) => destinationFolder.path.startsWith(folder.path)) + .filter( + (folder) => + destinationFolder.path === folder.path || + destinationFolder.path.startsWith(`${folder.path}/`) + ) .map((f) => f.name); if (unmovableFoldersNames.length > 0) { return this.createError({ diff --git a/packages/core/upload/server/controllers/validation/admin/folder.js b/packages/core/upload/server/controllers/validation/admin/folder.js index 540740e8cc..9dfb0edbea 100644 --- a/packages/core/upload/server/controllers/validation/admin/folder.js +++ b/packages/core/upload/server/controllers/validation/admin/folder.js @@ -78,7 +78,11 @@ const validateUpdateFolderSchema = (id) => if (!destinationFolder || !currentFolder) return true; - return !destinationFolder.path.startsWith(currentFolder.path); + const isUnMovable = + destinationFolder.path === currentFolder.path || + destinationFolder.path.startsWith(`${currentFolder.path}/`); + + return !isUnMovable; } ), })