RED-9180 - Add migration to reanalyze all non-approved files

This commit is contained in:
Andrei Isvoran 2024-05-22 15:00:44 +03:00
parent b4736783b8
commit 6874f746c9
2 changed files with 10 additions and 12 deletions

View File

@ -28,11 +28,7 @@ public class ReanalyzeNonApprovedFilesService {
List<DossierEntity> dossierEntities = dossierRepository.findAll();
dossierEntities.forEach(dossierEntity -> {
List<FileEntity> unapprovedFilesByDossier = fileRepository.findByDossierId(dossierEntity.getId())
.stream()
.filter(fileEntity -> !fileEntity.getWorkflowStatus().equals(WorkflowStatus.APPROVED))
.toList();
Set<String> unapprovedFilesByDossierIds = unapprovedFilesByDossier.stream()
Set<String> unapprovedFilesByDossierIds = fileRepository.findByDossierIdAndWorkflowStatusNotApproved(dossierEntity.getId()).stream()
.map(FileEntity::getId)
.collect(Collectors.toSet());
reanalysisService.reanalyzeFiles(dossierEntity.getId(), unapprovedFilesByDossierIds, true);

View File

@ -30,6 +30,10 @@ public interface FileRepository extends JpaRepository<FileEntity, String> {
List<FileEntity> findByAddedBefore(OffsetDateTime end);
@Query("SELECT f FROM FileEntity f WHERE f.dossierId = :dossierId AND f.workflowStatus <> 'APPROVED'")
List<FileEntity> findByDossierIdAndWorkflowStatusNotApproved(@Param("dossierId") String dossierId);
@Modifying
@Query("update FileEntity e set e.hasRedactions = :hasRedactions ,"
+ " e.hasHints = :hasHints, e.hasSuggestions = :hasSuggestions,"
@ -168,12 +172,13 @@ public interface FileRepository extends JpaRepository<FileEntity, String> {
@Param("lastUpdated") OffsetDateTime lastUpdated,
@Param("softDeletedTime") OffsetDateTime softDeletedTime);
@Modifying
@Query("update FileEntity f set f.processingStatus = :processingStatus, f.lastUpdated = :lastUpdated, " + "f.deleted = :softDeletedTime where f.id in (:fileIds)")
int softDeleteFiles(@Param("fileIds") List<String> fileIds,
@Param("processingStatus") ProcessingStatus processingStatus,
@Param("lastUpdated") OffsetDateTime lastUpdated,
@Param("softDeletedTime") OffsetDateTime softDeletedTime);
@Param("processingStatus") ProcessingStatus processingStatus,
@Param("lastUpdated") OffsetDateTime lastUpdated,
@Param("softDeletedTime") OffsetDateTime softDeletedTime);
@Modifying
@ -380,10 +385,7 @@ public interface FileRepository extends JpaRepository<FileEntity, String> {
+ " when f.deleted is not null then f.deleted "
+ "end "
+ "where f.id in (:fileIds)")
int hardDeleteFiles(@Param("fileIds") List<String> fileIds,
@Param("processingStatus") ProcessingStatus processingStatus,
@Param("deletionTime") OffsetDateTime deletionTime);
int hardDeleteFiles(@Param("fileIds") List<String> fileIds, @Param("processingStatus") ProcessingStatus processingStatus, @Param("deletionTime") OffsetDateTime deletionTime);
}