fix page_size and filtered values
Test Workflow / test (push) Successful in 3s

This commit is contained in:
vladp
2025-12-26 13:52:53 +07:00
parent a2c20ae645
commit 84993dec00
2 changed files with 15 additions and 14 deletions
@@ -12,6 +12,7 @@ import ru.soune.nocopy.repository.AuthTokenRepository;
import ru.soune.nocopy.service.file.FileEntityService; import ru.soune.nocopy.service.file.FileEntityService;
import java.util.Arrays; import java.util.Arrays;
import java.util.List;
@Slf4j @Slf4j
@Component @Component
@@ -168,17 +169,22 @@ public class FileEntityHandler implements RequestHandler {
FileResponse allFiles = fileEntityService.getUserFiles(userId, 1, 1000, request.getVersion()); FileResponse allFiles = fileEntityService.getUserFiles(userId, 1, 1000, request.getVersion());
var filteredFiles = allFiles.getFiles().stream() var filteredFiles = allFiles.getFiles().stream()
.filter(f -> f.getOriginalFileName().toLowerCase().contains(fileRequest.getQuery().toLowerCase())) .filter(f -> f.getOriginalFileName().toLowerCase()
.contains(fileRequest.getQuery().toLowerCase()))
.toList(); .toList();
int start = (page - 1) * pageSize; int start = (page - 1) * pageSize;
int end = Math.min(start + pageSize, filteredFiles.size()); int end = Math.min(start + pageSize, filteredFiles.size());
List<FileEntityResponse> fileEntityResponses = filteredFiles.subList(start, Math.min(end, filteredFiles.size()));
long sumSize = fileEntityResponses.stream()
.mapToLong(FileEntityResponse::getFileSize)
.sum();
FileListResponse response = FileListResponse.builder() FileListResponse response = FileListResponse.builder()
.files(filteredFiles.subList(start, Math.min(end, filteredFiles.size()))) .files(fileEntityResponses)
.totalCount(filteredFiles.size()) .totalCount(filteredFiles.size())
.totalSize(allFiles.getTotalSize()) .totalSize(sumSize)
.formattedTotalSize(allFiles.getFormattedTotalSize()) .formattedTotalSize(fileEntityService.formatFileSize(sumSize))
.page(page) .page(page)
.pageSize(pageSize) .pageSize(pageSize)
.build(); .build();
@@ -187,18 +193,13 @@ public class FileEntityHandler implements RequestHandler {
MessageCode.SUCCESS.getCode(), MessageCode.SUCCESS.getCode(),
MessageCode.SUCCESS.getDescription(), MessageCode.SUCCESS.getDescription(),
response); response);
} catch (NotFoundAuthToken e) { } catch (NotFoundAuthToken e) {
return new BaseResponse(request.getMsgId(), return new BaseResponse(request.getMsgId(), MessageCode.INVALID_TOKEN.getCode(),
MessageCode.INVALID_TOKEN.getCode(), "Authentication required", null);
"Authentication required",
null);
} catch (Exception e) { } catch (Exception e) {
log.error("Error searching files", e); log.error("Error searching files", e);
return new BaseResponse(request.getMsgId(), return new BaseResponse(request.getMsgId(), MessageCode.FILE_UPLOAD_ERROR.getCode(),
MessageCode.FILE_UPLOAD_ERROR.getCode(), "Failed to search files: " + e.getMessage(), null);
"Failed to search files: " + e.getMessage(),
null);
} }
} }
@@ -216,7 +216,7 @@ public class FileEntityService {
.build(); .build();
} }
private String formatFileSize(long size) { public String formatFileSize(long size) {
if (size < 1024) { if (size < 1024) {
return size + " B"; return size + " B";
} else if (size < 1024 * 1024) { } else if (size < 1024 * 1024) {