diff --git a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/migration/MigrationStarterService.java b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/migration/MigrationStarterService.java index 66fd349e4..cc64204ad 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/migration/MigrationStarterService.java +++ b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/migration/MigrationStarterService.java @@ -8,6 +8,7 @@ import org.springframework.stereotype.Service; import com.iqser.red.service.peristence.v1.server.migration.migrations.DictionaryToEntityMigration2; import com.iqser.red.service.peristence.v1.server.migration.migrations.IndexMigration1; +import com.iqser.red.service.peristence.v1.server.migration.migrations.MigrateHighlights3; import com.iqser.red.service.peristence.v1.server.settings.FileManagementServiceSettings; import com.iqser.red.service.persistence.management.v1.processor.service.persistence.MigrationPersistenceService; @@ -25,6 +26,8 @@ public class MigrationStarterService { private final IndexMigration1 indexMigration1; private final DictionaryToEntityMigration2 dictionaryToEntityMigration2; + private final MigrateHighlights3 migrateHighlights3; + private final FileManagementServiceSettings settings; private final ApplicationContext ctx; private final MigrationPersistenceService migrationPersistenceService; @@ -41,6 +44,7 @@ public class MigrationStarterService { indexMigration1.run(); dictionaryToEntityMigration2.run(); + migrateHighlights3.run(); System.exit(SpringApplication.exit(ctx, () -> 0)); } diff --git a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/migration/migrations/MigrateHighlights3.java b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/migration/migrations/MigrateHighlights3.java new file mode 100644 index 000000000..2fbf17282 --- /dev/null +++ b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/migration/migrations/MigrateHighlights3.java @@ -0,0 +1,61 @@ +package com.iqser.red.service.peristence.v1.server.migration.migrations; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import com.iqser.red.service.pdftron.redaction.v1.api.model.DocumentRequest; +import com.iqser.red.service.peristence.v1.server.migration.Migration; +import com.iqser.red.service.peristence.v1.server.service.FileManagementStorageService; +import com.iqser.red.service.persistence.management.v1.processor.client.PDFTronRedactionClient; +import com.iqser.red.service.persistence.management.v1.processor.service.persistence.DossierPersistenceService; +import com.iqser.red.service.persistence.management.v1.processor.service.persistence.FileStatusPersistenceService; +import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier.file.FileType; + +import lombok.Setter; +import lombok.extern.slf4j.Slf4j; + +@Slf4j +@Setter +@Service +public class MigrateHighlights3 extends Migration { + + private static final String NAME = "Migrate Highlights"; + private static final long VERSION = 3; + + @Autowired + private DossierPersistenceService dossierPersistenceService; + + @Autowired + private FileStatusPersistenceService fileStatusPersistenceService; + + @Autowired + private PDFTronRedactionClient pdfTronRedactionClient; + + @Autowired + private FileManagementStorageService fileManagementStorageService; + + + public MigrateHighlights3() { + + super(NAME, VERSION); + } + + + @Override + protected void migrate() { + + var dossiers = dossierPersistenceService.findAllDossiers(); + dossiers.forEach(dossier -> { + var files = fileStatusPersistenceService.getStatusesForDossier(dossier.getId()); + files.forEach(file -> { + if (file.getDeleted() != null) { + + var fileBytes = fileManagementStorageService.getStoredObjectBytes(dossier.getId(), file.getId(), FileType.ORIGIN); + var hasHighlights = pdfTronRedactionClient.extractHighlights(new DocumentRequest(dossier.getId(), file.getId(), fileBytes)); + fileStatusPersistenceService.updateHasHighlights(file.getId(), hasHighlights); + } + }); + }); + } + +} \ No newline at end of file diff --git a/persistence-service-v1/pom.xml b/persistence-service-v1/pom.xml index b65f50c66..9ba28b535 100755 --- a/persistence-service-v1/pom.xml +++ b/persistence-service-v1/pom.xml @@ -27,7 +27,7 @@ 3.93.0 2.26.0 - 3.59.0 + 3.63.0 3.19.0