diff --git a/src/main/java/classfit/example/classfit/drive/service/DriveGetService.java b/src/main/java/classfit/example/classfit/drive/service/DriveGetService.java index 4bf3e84b..62be99e4 100644 --- a/src/main/java/classfit/example/classfit/drive/service/DriveGetService.java +++ b/src/main/java/classfit/example/classfit/drive/service/DriveGetService.java @@ -33,7 +33,10 @@ public List getFilesFromS3(Member member, DriveType driveType, Str String folderPathWithSlash = folderPath.isEmpty() ? folderPath : folderPath + "/"; for (S3ObjectSummary summary : objectSummaries) { FileResponse fileInfo = buildFileInfo(summary); - if (!fileInfo.fileName().equals(folderPathWithSlash)) { + + boolean isNotFolderItself = !fileInfo.fileName().equals(folderPathWithSlash); + boolean isInTargetFolder = fileInfo.folderPath().equals(folderPathWithSlash); + if (isNotFolderItself && isInTargetFolder) { files.add(fileInfo); } } @@ -48,9 +51,10 @@ public List searchFilesByName(Member member, DriveType driveType, return result.getObjectSummaries().stream() .map(this::buildFileInfo) .filter(fileInfo -> { - boolean isFolder = fileInfo.fileName().equals(folderPathWithSlash); + boolean isNotFolderItself = !fileInfo.fileName().equals(folderPathWithSlash); boolean matchesFileName = fileName.isEmpty() || normalize(fileInfo.fileName()).contains(normalize(fileName)); - return !isFolder && matchesFileName; + boolean isInTargetFolder = fileInfo.folderPath().equals(folderPathWithSlash); + return isNotFolderItself && matchesFileName && isInTargetFolder; }) .collect(Collectors.toList()); } @@ -99,11 +103,11 @@ public List classifyFilesByType(Member member, DriveType driveType return result.getObjectSummaries().stream() .map(this::buildFileInfo) .filter(fileInfo -> { - boolean isFolder = fileInfo.fileName().equals(folderPathWithSlash); + boolean isNotFolderItself = !fileInfo.fileName().equals(folderPathWithSlash); boolean matchesFileType = DriveUtil.getFileType(fileInfo.fileName()).equals(filterFileType); - return !isFolder && matchesFileType; + boolean isInTargetFolder = fileInfo.folderPath().equals(folderPathWithSlash); + return isNotFolderItself && matchesFileType && isInTargetFolder; }) .collect(Collectors.toList()); } - } \ No newline at end of file