From 8e8193cda6daf2da04e6ebd68d3f7a504bec3431 Mon Sep 17 00:00:00 2001 From: vladp Date: Mon, 9 Feb 2026 12:20:19 +0700 Subject: [PATCH] dev company users saw all company files --- .../nocopy/service/file/FileEntityService.java | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/src/main/java/ru/soune/nocopy/service/file/FileEntityService.java b/src/main/java/ru/soune/nocopy/service/file/FileEntityService.java index 233c841..4f9ad7e 100644 --- a/src/main/java/ru/soune/nocopy/service/file/FileEntityService.java +++ b/src/main/java/ru/soune/nocopy/service/file/FileEntityService.java @@ -25,6 +25,7 @@ import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; import java.time.LocalDateTime; +import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.stream.Collectors; @@ -148,11 +149,22 @@ public class FileEntityService { .build(); } - @Transactional(readOnly = true) public FileResponse getUserFiles(Long userId, int page, int pageSize, int version) { - List allFiles = fileEntityRepository.findByUserIdAndStatus( - userId, FileStatus.ACTIVE); + User user = userRepository.findById(userId).orElseThrow(); + List allFiles = new ArrayList<>(); + + if (user.getCompany() != null) { + for (Long uId : userRepository.findByCompanyId(user.getCompany().getId()).stream() + .map(User::getId) + .toList()) { + allFiles.addAll(fileEntityRepository.findByUserIdAndStatus(uId, FileStatus.ACTIVE)); + } + + } else { + allFiles = fileEntityRepository.findByUserIdAndStatus( + userId, FileStatus.ACTIVE); + } int start = (page - 1) * pageSize; int end = Math.min(start + pageSize, allFiles.size());