This commit is contained in:
@@ -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) {
|
||||||
|
|||||||
Reference in New Issue
Block a user