This commit is contained in:
@@ -20,6 +20,10 @@ public interface FileMonitoringRepository extends JpaRepository<FileMonitoringEn
|
||||
|
||||
List<FileMonitoringEntity> findByUserIdAndIsActiveTrue(Long userId);
|
||||
|
||||
@Query("SELECT fm FROM FileMonitoringEntity fm LEFT JOIN FETCH FileEntity f ON f.id = fm.file.id WHERE f.status IN :statuses " +
|
||||
"AND f.userId = :userId AND fm.isActive = true AND fm.monitoringType != 'NONE'")
|
||||
List<FileMonitoringEntity> findByUserIdAndIsActiveTrue(Long userId, @Param("statuses") List<String> statuses);
|
||||
|
||||
@Query("SELECT fm FROM FileMonitoringEntity fm WHERE fm.isActive = true AND fm.monitoringType != 'NONE' AND fm.nextRun <= :now")
|
||||
List<FileMonitoringEntity> findReadyForRun(@Param("now") LocalDateTime now);
|
||||
|
||||
|
||||
@@ -6,6 +6,7 @@ import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import ru.soune.nocopy.dto.search.GlobalSearchStartRequest;
|
||||
import ru.soune.nocopy.entity.file.FileEntity;
|
||||
import ru.soune.nocopy.entity.file.FileStatus;
|
||||
import ru.soune.nocopy.entity.file.FileType;
|
||||
import ru.soune.nocopy.entity.monitoring.FileMonitoringEntity;
|
||||
import ru.soune.nocopy.entity.search.GlobalSearchTask;
|
||||
@@ -58,13 +59,15 @@ public class GlobalSearchService {
|
||||
public List<FileEntity> getFilesToProcess(GlobalSearchStartRequest request, Long userId) {
|
||||
if ("monitoring".equals(request.getSearchType())) {
|
||||
List<FileMonitoringEntity> monitoringFiles =
|
||||
fileMonitoringRepository.findByUserIdAndIsActiveTrue(userId);
|
||||
fileMonitoringRepository.findByUserIdAndIsActiveTrue(userId, List.of(FileStatus.ACTIVE.name(),
|
||||
FileStatus.MODERATION.name()));
|
||||
|
||||
return monitoringFiles.isEmpty() ? new ArrayList<>(): monitoringFiles.stream()
|
||||
.map(FileMonitoringEntity::getFile)
|
||||
.toList();
|
||||
} else {
|
||||
List<String> fileIds = request.getFileIds().isEmpty() ? fileEntityService.getAllUserFiles(userId)
|
||||
List<String> fileIds = request.getFileIds().isEmpty() ?
|
||||
fileEntityService.getAllUserFilesExcludingBlockedAndRemoved(userId)
|
||||
.stream()
|
||||
.filter(f -> f.getMimeType().equals(FileType.IMAGE.getDisplayName()))
|
||||
.map(FileEntity::getId)
|
||||
|
||||
Reference in New Issue
Block a user