diff --git a/server/api-service/lowcoder-server/src/main/java/org/lowcoder/api/home/FolderController.java b/server/api-service/lowcoder-server/src/main/java/org/lowcoder/api/home/FolderController.java index 801d0c854..e15cac105 100644 --- a/server/api-service/lowcoder-server/src/main/java/org/lowcoder/api/home/FolderController.java +++ b/server/api-service/lowcoder-server/src/main/java/org/lowcoder/api/home/FolderController.java @@ -8,6 +8,7 @@ import org.lowcoder.api.util.GidService; import org.lowcoder.domain.application.model.ApplicationType; import org.lowcoder.domain.folder.model.Folder; +import org.lowcoder.domain.folder.model.FolderElement; import org.lowcoder.domain.folder.service.FolderElementRelationService; import org.lowcoder.domain.folder.service.FolderService; import org.lowcoder.domain.permission.model.ResourceRole; @@ -92,7 +93,7 @@ public Mono> getElements(@RequestParam(value = "id", require @Override public Mono> move(@PathVariable("id") String applicationLikeId, @RequestParam(value = "targetFolderId", required = false) String targetFolderId) { - return folderElementRelationService.getByElementIds(List.of(applicationLikeId)).next().flatMap(folderElement -> + return folderElementRelationService.getByElementIds(List.of(applicationLikeId)).next().defaultIfEmpty(new FolderElement(null, null)).flatMap(folderElement -> gidService.convertFolderIdToObjectId(targetFolderId).flatMap(objectId -> folderApiService.move(applicationLikeId, objectId.orElse(null)) .then(businessEventPublisher.publishApplicationCommonEvent(applicationLikeId, folderElement.folderId(), objectId.orElse(null), APPLICATION_MOVE))