RED-7784 - Report with unprocessed redactions

This commit is contained in:
Andrei Isvoran 2023-11-07 11:50:32 +01:00
parent 15995a1518
commit 93bbdd768d
13 changed files with 22 additions and 14 deletions

View File

@ -174,6 +174,7 @@ public class DownloadController implements DownloadResource {
.downloadFileTypes(request.getDownloadFileTypes())
.reportTemplateIds(request.getReportTemplateIds())
.redactionPreviewColor(request.getRedactionPreviewColor())
.includeUnprocessed(request.isIncludeUnprocessed())
.build();
}
@ -298,7 +299,12 @@ public class DownloadController implements DownloadResource {
private DownloadRequest convert(PrepareDownloadRequest request) {
return DownloadRequest.builder().dossierId(request.getDossierId()).userId(KeycloakSecurity.getUserId()).fileIds(request.getFileIds()).build();
return DownloadRequest.builder()
.dossierId(request.getDossierId())
.userId(KeycloakSecurity.getUserId())
.fileIds(request.getFileIds())
.includeUnprocessed(request.isIncludeUnprocessed())
.build();
}

View File

@ -18,7 +18,7 @@ public class EntityLogInternalController implements EntityLogResource {
private final EntityLogService entityLogService;
@Override
public EntityLog getEntityLog(@PathVariable(DOSSIER_ID) String dossierId,
@PathVariable(FILE_ID) String fileId,
@RequestParam(value = "excludedType", required = false) List<String> excludedTypes,

View File

@ -7,14 +7,11 @@ import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.ResponseStatus;
import com.iqser.red.service.persistence.service.v1.api.shared.model.analysislog.entitylog.EntityLog;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.responses.ApiResponse;
import io.swagger.v3.oas.annotations.responses.ApiResponses;
@ResponseStatus(value = HttpStatus.OK)
public interface EntityLogResource {
@ -28,10 +25,8 @@ public interface EntityLogResource {
String FALSE = "false";
@GetMapping(value = ENTITY_LOG_PATH + DOSSIER_ID_PATH_VARIABLE + FILE_ID_PATH_VARIABLE, produces = MediaType.APPLICATION_JSON_VALUE)
@Operation(summary = "Gets the entity log for a fileId", description = "None")
@ApiResponses(value = {@ApiResponse(responseCode = "200", description = "OK"), @ApiResponse(responseCode = "400", description = "Request contains error."), @ApiResponse(responseCode = "404", description = "The entity log is not found.")})
@ResponseBody
@GetMapping(value = InternalApi.BASE_PATH + ENTITY_LOG_PATH + DOSSIER_ID_PATH_VARIABLE + FILE_ID_PATH_VARIABLE, produces = MediaType.APPLICATION_JSON_VALUE)
EntityLog getEntityLog(@PathVariable(DOSSIER_ID) String dossierId,
@PathVariable(FILE_ID) String fileId,
@RequestParam(value = "excludedType", required = false) List<String> excludedTypes,

View File

@ -14,5 +14,6 @@ public class DownloadJob {
private String userId;
private String storageId;
private boolean includeUnprocessed;
}

View File

@ -61,6 +61,7 @@ public class DownloadService {
.userId(request.getUserId())
.dossierId(request.getDossierId())
.fileIds(request.getFileIds())
.includeUnprocessed(request.isIncludeUnprocessed())
.downloadFileTypes(dossier.getDownloadFileTypes())
.reportTemplateIds(dossier.getReportTemplates().stream().map(ReportTemplateEntity::getTemplateId).collect(Collectors.toList()))
.build();
@ -84,7 +85,7 @@ public class DownloadService {
request.getDownloadFileTypes(),
request.getReportTemplateIds(),
request.getRedactionPreviewColor());
addToDownloadQueue(DownloadJob.builder().storageId(storageId).userId(request.getUserId()).build(), 1);
addToDownloadQueue(DownloadJob.builder().storageId(storageId).userId(request.getUserId()).includeUnprocessed(request.isIncludeUnprocessed()).build(), 1);
return new JSONPrimitive<>(storageId);
}

View File

@ -52,6 +52,7 @@ public class DownloadProcessorService {
.downloadId(downloadJob.getStorageId())
.dossierId(dossier.getId())
.dossierTemplateId(dossierService.getDossierById(dossier.getId()).getDossierTemplateId())
.includeUnprocessed(downloadJob.isIncludeUnprocessed())
.fileIds(filenameSortedFileIds)
.templateIds(downloadStatus.getReports().stream().map(ReportTemplateEntity::getTemplateId).collect(Collectors.toSet()))
.build(), 1);

View File

@ -521,7 +521,7 @@ public class DossierTemplateTest extends AbstractPersistenceServerServiceTest {
assertThat(statuses.getDownloadStatus()).isNotEmpty();
var status = statuses.getDownloadStatus().iterator().next();
exportDownloadReportMessageReceiver.receive(new DownloadJob(status.getUserId(), status.getStorageId()));
exportDownloadReportMessageReceiver.receive(new DownloadJob(status.getUserId(), status.getStorageId(), false));
// add new justifications
legalBasisClient.setLegalBasisMapping(List.of(new LegalBasis("nameAgain", "description", "reason")), dossierTemplate.getId());

View File

@ -97,7 +97,7 @@ public class DownloadTest extends AbstractPersistenceServerServiceTest {
.fileIds(List.of(file2.getId()))
.build());
downloadMessageReceiver.receive(new DownloadJob(userProvider.getUserId(), downloads.getStorageId()));
downloadMessageReceiver.receive(new DownloadJob(userProvider.getUserId(), downloads.getStorageId(), false));
var reportInfoId = downloads.getStorageId().substring(0, downloads.getStorageId().length() - 3) + "/REPORT_INFO.json";
storageService.storeJSONObject(TenantContext.getTenantId(), reportInfoId, new ArrayList<>());

View File

@ -18,5 +18,6 @@ public class PrepareDownloadRequest {
private String dossierId;
private List<String> fileIds;
private boolean includeUnprocessed;
}

View File

@ -28,5 +28,6 @@ public class PrepareDownloadWithOptionRequest {
private List<String> reportTemplateIds = new ArrayList<>();
private Set<DownloadFileType> downloadFileTypes = new HashSet<>();
private String redactionPreviewColor;
private boolean includeUnprocessed ;
}

View File

@ -17,6 +17,7 @@ public class DownloadRequest {
private String userId;
private String dossierId;
private boolean includeUnprocessed;
@Builder.Default
private List<String> fileIds = new ArrayList<>();

View File

@ -21,6 +21,7 @@ public class DownloadWithOptionRequest {
private String userId;
private String dossierId;
private boolean includeUnprocessed;
@Builder.Default
private List<String> fileIds = new ArrayList<>();

View File

@ -34,7 +34,7 @@
<redaction-service.version>4.165.0</redaction-service.version>
<search-service.version>2.71.0</search-service.version>
<pdftron-redaction-service.version>4.29.0</pdftron-redaction-service.version>
<redaction-report-service.version>4.13.0</redaction-report-service.version>
<redaction-report-service.version>4.30.0</redaction-report-service.version>
<ocr-service.version>3.10.0</ocr-service.version>
<storage.commons.version>2.45.0</storage.commons.version>
</properties>