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