reformat
This commit is contained in:
parent
ee8d8abd76
commit
6ed97dcf90
@ -381,7 +381,6 @@ public class DossierController implements DossierResource {
|
|||||||
throw new AccessDeniedException("Can not delete dossier that is owned by a different user");
|
throw new AccessDeniedException("Can not delete dossier that is owned by a different user");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
dossierManagementService.softDeleteDossier(dossierId);
|
dossierManagementService.softDeleteDossier(dossierId);
|
||||||
|
|
||||||
auditPersistenceService.audit(AuditRequest.builder()
|
auditPersistenceService.audit(AuditRequest.builder()
|
||||||
@ -450,7 +449,7 @@ public class DossierController implements DossierResource {
|
|||||||
@PostFilter("hasPermission(filterObject.id, 'Dossier', 'VIEW_OBJECT')")
|
@PostFilter("hasPermission(filterObject.id, 'Dossier', 'VIEW_OBJECT')")
|
||||||
public List<Dossier> getSoftDeletedDossiers() {
|
public List<Dossier> getSoftDeletedDossiers() {
|
||||||
|
|
||||||
var dossiers = dossierManagementService.getSoftDeletedDossiers()
|
var dossiers = dossierManagementService.getSoftDeletedDossiers()
|
||||||
.stream()
|
.stream()
|
||||||
.map(dossierACLService::enhanceDossierWithACLData)
|
.map(dossierACLService::enhanceDossierWithACLData)
|
||||||
.collect(Collectors.toList());
|
.collect(Collectors.toList());
|
||||||
@ -463,7 +462,7 @@ public class DossierController implements DossierResource {
|
|||||||
@PostFilter("hasPermission(filterObject.id, 'Dossier', 'VIEW_OBJECT')")
|
@PostFilter("hasPermission(filterObject.id, 'Dossier', 'VIEW_OBJECT')")
|
||||||
public List<Dossier> getArchivedDossiers() {
|
public List<Dossier> getArchivedDossiers() {
|
||||||
|
|
||||||
var dossiers = dossierManagementService.getArchivedDossiers()
|
var dossiers = dossierManagementService.getArchivedDossiers()
|
||||||
.stream()
|
.stream()
|
||||||
.map(dossierACLService::enhanceDossierWithACLData)
|
.map(dossierACLService::enhanceDossierWithACLData)
|
||||||
.collect(Collectors.toList());
|
.collect(Collectors.toList());
|
||||||
|
|||||||
@ -37,7 +37,10 @@ public class EntityLogController implements EntityLogResource {
|
|||||||
|
|
||||||
accessControlService.checkViewPermissionsToDossier(dossierId);
|
accessControlService.checkViewPermissionsToDossier(dossierId);
|
||||||
accessControlService.validateFileResourceExistence(fileId);
|
accessControlService.validateFileResourceExistence(fileId);
|
||||||
return entityLogResponseMapper.toLogResponse(entityLogService.getEntityLog(dossierId, fileId, excludedTypes == null ? new ArrayList<>() : excludedTypes, includeUnprocessed));
|
return entityLogResponseMapper.toLogResponse(entityLogService.getEntityLog(dossierId,
|
||||||
|
fileId,
|
||||||
|
excludedTypes == null ? new ArrayList<>() : excludedTypes,
|
||||||
|
includeUnprocessed));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -276,11 +276,7 @@ public class ManualRedactionController implements ManualRedactionResource {
|
|||||||
accessControlService.verifyFileIsNotApproved(dossierId, fileId);
|
accessControlService.verifyFileIsNotApproved(dossierId, fileId);
|
||||||
accessControlService.verifyUserIsMemberOrApprover(dossierId);
|
accessControlService.verifyUserIsMemberOrApprover(dossierId);
|
||||||
|
|
||||||
List<ManualAddResponse> responseList = manualRedactionService.addRecategorization(dossierId,
|
List<ManualAddResponse> responseList = manualRedactionService.addRecategorization(dossierId, fileId, dossier, recategorizationRequests, includeUnprocessed);
|
||||||
fileId,
|
|
||||||
dossier,
|
|
||||||
recategorizationRequests,
|
|
||||||
includeUnprocessed);
|
|
||||||
|
|
||||||
responseList.forEach(response -> auditPersistenceService.audit(AuditRequest.builder()
|
responseList.forEach(response -> auditPersistenceService.audit(AuditRequest.builder()
|
||||||
.userId(KeycloakSecurity.getUserId())
|
.userId(KeycloakSecurity.getUserId())
|
||||||
|
|||||||
@ -27,34 +27,37 @@ public class DownloadControllerV2 implements DownloadResource {
|
|||||||
private final DownloadController downloadController;
|
private final DownloadController downloadController;
|
||||||
private final DownloadStatusPersistenceService downloadStatusPersistenceService;
|
private final DownloadStatusPersistenceService downloadStatusPersistenceService;
|
||||||
|
|
||||||
|
|
||||||
@Transactional
|
@Transactional
|
||||||
public DownloadStatusList getDownloadStatusList() {
|
public DownloadStatusList getDownloadStatusList() {
|
||||||
|
|
||||||
var downloads = downloadStatusPersistenceService.getStatusesByUser(KeycloakSecurity.getUserId());
|
var downloads = downloadStatusPersistenceService.getStatusesByUser(KeycloakSecurity.getUserId());
|
||||||
|
|
||||||
return new DownloadStatusList(downloads.stream().map(
|
return new DownloadStatusList(downloads.stream()
|
||||||
status ->
|
.map(status -> DownloadStatus.builder()
|
||||||
DownloadStatus.builder()
|
.id(status.getUuid()) // This is a workaround the real id is the storageId.
|
||||||
.id(status.getUuid()) // This is a workaround the real id is the storageId.
|
.userId(status.getUserId())
|
||||||
.userId(status.getUserId())
|
.filename(status.getFilename())
|
||||||
.filename(status.getFilename())
|
.mimeType(status.getMimeType())
|
||||||
.mimeType(status.getMimeType())
|
.errorCause(status.getErrorCause())
|
||||||
.errorCause(status.getErrorCause())
|
.status(status.getStatus())
|
||||||
.status(status.getStatus())
|
.creationDate(status.getCreationDate())
|
||||||
.creationDate(status.getCreationDate())
|
.lastDownload(status.getLastDownload())
|
||||||
.lastDownload(status.getLastDownload())
|
.fileSize(status.getFileSize())
|
||||||
.fileSize(status.getFileSize())
|
.dossierId(status.getDossier() != null ? status.getDossier().getId() : null)
|
||||||
.dossierId(status.getDossier() != null ? status.getDossier().getId() : null)
|
.fileIds(status.getFiles()
|
||||||
.fileIds(status.getFiles()
|
.stream()
|
||||||
.stream()
|
.map(FileEntity::getId)
|
||||||
.map(FileEntity::getId)
|
.toList())
|
||||||
.toList())
|
.downloadFileTypes(status.getDownloadFileTypes()
|
||||||
.downloadFileTypes(status.getDownloadFileTypes()
|
.stream()
|
||||||
.stream()
|
.toList())
|
||||||
.toList())
|
.reportTemplateIds(status.getReports()
|
||||||
.reportTemplateIds(status.getReports().stream().map(ReportTemplateEntity::getTemplateId).toList())
|
.stream()
|
||||||
.build()).toList()
|
.map(ReportTemplateEntity::getTemplateId)
|
||||||
);
|
.toList())
|
||||||
|
.build())
|
||||||
|
.toList());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -81,7 +84,10 @@ public class DownloadControllerV2 implements DownloadResource {
|
|||||||
.downloadFileTypes(status.getDownloadFileTypes()
|
.downloadFileTypes(status.getDownloadFileTypes()
|
||||||
.stream()
|
.stream()
|
||||||
.toList())
|
.toList())
|
||||||
.reportTemplateIds(status.getReports().stream().map(ReportTemplateEntity::getTemplateId).toList())
|
.reportTemplateIds(status.getReports()
|
||||||
|
.stream()
|
||||||
|
.map(ReportTemplateEntity::getTemplateId)
|
||||||
|
.toList())
|
||||||
.build();
|
.build();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -34,11 +34,13 @@ public interface ComponentMapper {
|
|||||||
|
|
||||||
List<ComponentLogEntryValue> toComponentLogEntries(List<ComponentValue> values);
|
List<ComponentLogEntryValue> toComponentLogEntries(List<ComponentValue> values);
|
||||||
|
|
||||||
|
|
||||||
Component toComponent(ComponentLogEntry entry);
|
Component toComponent(ComponentLogEntry entry);
|
||||||
|
|
||||||
|
|
||||||
List<Component> toComponents(List<ComponentLogEntry> entries);
|
List<Component> toComponents(List<ComponentLogEntry> entries);
|
||||||
|
|
||||||
|
|
||||||
ComponentLogEntry toComponentLogEntry(Component component);
|
ComponentLogEntry toComponentLogEntry(Component component);
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -49,9 +49,7 @@ public interface ComponentLogResource {
|
|||||||
@PostMapping(value = COMPONENT_LOG_PATH + OVERRIDE_PATH + DOSSIER_ID_PATH_VARIABLE + FILE_ID_PATH_VARIABLE, consumes = MediaType.APPLICATION_JSON_VALUE)
|
@PostMapping(value = COMPONENT_LOG_PATH + OVERRIDE_PATH + DOSSIER_ID_PATH_VARIABLE + FILE_ID_PATH_VARIABLE, consumes = MediaType.APPLICATION_JSON_VALUE)
|
||||||
@Operation(summary = "Adds overrides for components", description = "None")
|
@Operation(summary = "Adds overrides for components", description = "None")
|
||||||
@ApiResponses(value = {@ApiResponse(responseCode = "204", description = "OK"), @ApiResponse(responseCode = "404", description = "Not found"), @ApiResponse(responseCode = "403", description = "Forbidden")})
|
@ApiResponses(value = {@ApiResponse(responseCode = "204", description = "OK"), @ApiResponse(responseCode = "404", description = "Not found"), @ApiResponse(responseCode = "403", description = "Forbidden")})
|
||||||
void addOverride(@PathVariable(DOSSIER_ID) String dossierId,
|
void addOverride(@PathVariable(DOSSIER_ID) String dossierId, @PathVariable(FILE_ID) String fileId, @RequestBody ComponentsOverrides componentsOverrides);
|
||||||
@PathVariable(FILE_ID) String fileId,
|
|
||||||
@RequestBody ComponentsOverrides componentsOverrides);
|
|
||||||
|
|
||||||
|
|
||||||
@ResponseBody
|
@ResponseBody
|
||||||
@ -59,8 +57,7 @@ public interface ComponentLogResource {
|
|||||||
@GetMapping(value = COMPONENT_LOG_PATH + OVERRIDE_PATH + DOSSIER_ID_PATH_VARIABLE + FILE_ID_PATH_VARIABLE, produces = MediaType.APPLICATION_JSON_VALUE)
|
@GetMapping(value = COMPONENT_LOG_PATH + OVERRIDE_PATH + DOSSIER_ID_PATH_VARIABLE + FILE_ID_PATH_VARIABLE, produces = MediaType.APPLICATION_JSON_VALUE)
|
||||||
@Operation(summary = "Gets overrides for components", description = "None")
|
@Operation(summary = "Gets overrides for components", description = "None")
|
||||||
@ApiResponses(value = {@ApiResponse(responseCode = "200", description = "OK"), @ApiResponse(responseCode = "404", description = "Not found")})
|
@ApiResponses(value = {@ApiResponse(responseCode = "200", description = "OK"), @ApiResponse(responseCode = "404", description = "Not found")})
|
||||||
ComponentsOverrides getOverrides(@PathVariable(DOSSIER_ID) String dossierId,
|
ComponentsOverrides getOverrides(@PathVariable(DOSSIER_ID) String dossierId, @PathVariable(FILE_ID) String fileId);
|
||||||
@PathVariable(FILE_ID) String fileId);
|
|
||||||
|
|
||||||
|
|
||||||
@ResponseBody
|
@ResponseBody
|
||||||
@ -68,8 +65,6 @@ public interface ComponentLogResource {
|
|||||||
@PostMapping(value = COMPONENT_LOG_PATH + OVERRIDE_PATH + "/revert" + DOSSIER_ID_PATH_VARIABLE + FILE_ID_PATH_VARIABLE, consumes = MediaType.APPLICATION_JSON_VALUE)
|
@PostMapping(value = COMPONENT_LOG_PATH + OVERRIDE_PATH + "/revert" + DOSSIER_ID_PATH_VARIABLE + FILE_ID_PATH_VARIABLE, consumes = MediaType.APPLICATION_JSON_VALUE)
|
||||||
@Operation(summary = "Reverts overrides for components", description = "None")
|
@Operation(summary = "Reverts overrides for components", description = "None")
|
||||||
@ApiResponses(value = {@ApiResponse(responseCode = "204", description = "OK"), @ApiResponse(responseCode = "404", description = "Not found"), @ApiResponse(responseCode = "403", description = "Forbidden")})
|
@ApiResponses(value = {@ApiResponse(responseCode = "204", description = "OK"), @ApiResponse(responseCode = "404", description = "Not found"), @ApiResponse(responseCode = "403", description = "Forbidden")})
|
||||||
void revertOverrides(@PathVariable(DOSSIER_ID) String dossierId,
|
void revertOverrides(@PathVariable(DOSSIER_ID) String dossierId, @PathVariable(FILE_ID) String fileId, @RequestBody RevertOverrideRequest revertOverrideRequest);
|
||||||
@PathVariable(FILE_ID) String fileId,
|
|
||||||
@RequestBody RevertOverrideRequest revertOverrideRequest);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -55,7 +55,9 @@ public interface EntityLogResource {
|
|||||||
@GetMapping(value = ENTITY_LOG_PATH + DOSSIER_ID_PATH_VARIABLE + FILE_ID_PATH_VARIABLE + "/pages", produces = MediaType.APPLICATION_JSON_VALUE)
|
@GetMapping(value = ENTITY_LOG_PATH + DOSSIER_ID_PATH_VARIABLE + FILE_ID_PATH_VARIABLE + "/pages", produces = MediaType.APPLICATION_JSON_VALUE)
|
||||||
@Operation(summary = "Gets the entity log for a fileId with all entities found on the given page numbers", description = "None")
|
@Operation(summary = "Gets the entity log for a fileId with all entities found on the given page numbers", description = "None")
|
||||||
@ApiResponses(value = {@ApiResponse(responseCode = "200", description = "OK"), @ApiResponse(responseCode = "400", description = "Request contains error."), @ApiResponse(responseCode = "404", description = "The dossier / file / entity log is not found.")})
|
@ApiResponses(value = {@ApiResponse(responseCode = "200", description = "OK"), @ApiResponse(responseCode = "400", description = "Request contains error."), @ApiResponse(responseCode = "404", description = "The dossier / file / entity log is not found.")})
|
||||||
EntityLogResponse getEntityLogWithEntriesOnPages(@PathVariable(DOSSIER_ID) String dossierId, @PathVariable(FILE_ID) String fileId, @RequestParam(value = "pageNumbers", defaultValue = "") List<Integer> pageNumbers);
|
EntityLogResponse getEntityLogWithEntriesOnPages(@PathVariable(DOSSIER_ID) String dossierId,
|
||||||
|
@PathVariable(FILE_ID) String fileId,
|
||||||
|
@RequestParam(value = "pageNumbers", defaultValue = "") List<Integer> pageNumbers);
|
||||||
|
|
||||||
|
|
||||||
@GetMapping(value = ENTITY_LOG_PATH + DOSSIER_ID_PATH_VARIABLE + FILE_ID_PATH_VARIABLE + ANALYSIS_NUMBER_PATH_VARIABLE, produces = MediaType.APPLICATION_JSON_VALUE)
|
@GetMapping(value = ENTITY_LOG_PATH + DOSSIER_ID_PATH_VARIABLE + FILE_ID_PATH_VARIABLE + ANALYSIS_NUMBER_PATH_VARIABLE, produces = MediaType.APPLICATION_JSON_VALUE)
|
||||||
|
|||||||
@ -56,15 +56,15 @@ public interface SupportResource {
|
|||||||
@PostMapping(value = REANALYSIS_REST_PATH + DOSSIER_TEMPLATE_DOSSIER_TEMPLATE_ID_PATH_VARIABLE)
|
@PostMapping(value = REANALYSIS_REST_PATH + DOSSIER_TEMPLATE_DOSSIER_TEMPLATE_ID_PATH_VARIABLE)
|
||||||
@Operation(summary = "Reanalyze all files in dossier template", description = """
|
@Operation(summary = "Reanalyze all files in dossier template", description = """
|
||||||
## Reanalyze Files Endpoint
|
## Reanalyze Files Endpoint
|
||||||
|
|
||||||
Use this endpoint to reanalyze all files in a specified Dossier Template. The reanalysis process can be tailored using various filtering options provided in the request body.
|
Use this endpoint to reanalyze all files in a specified Dossier Template. The reanalysis process can be tailored using various filtering options provided in the request body.
|
||||||
|
|
||||||
### Parameters
|
### Parameters
|
||||||
|
|
||||||
- **DossierTemplateId**: Specifies the Dossier Template whose files need to be reanalyzed.
|
- **DossierTemplateId**: Specifies the Dossier Template whose files need to be reanalyzed.
|
||||||
|
|
||||||
### Request Body Configuration Options
|
### Request Body Configuration Options
|
||||||
|
|
||||||
- **dossierIds**: List of dossier IDs to filter. If empty, all dossiers are selected for reanalysis.
|
- **dossierIds**: List of dossier IDs to filter. If empty, all dossiers are selected for reanalysis.
|
||||||
- **fileIds**: List of file IDs to filter. If empty, all files are selected for reanalysis.
|
- **fileIds**: List of file IDs to filter. If empty, all files are selected for reanalysis.
|
||||||
- **repeatStructureAnalysis**: Boolean. If true, layout parsing and named entity recognition will be repeated.
|
- **repeatStructureAnalysis**: Boolean. If true, layout parsing and named entity recognition will be repeated.
|
||||||
@ -120,16 +120,16 @@ public interface SupportResource {
|
|||||||
+ DOSSIER_TEMPLATE_ID_PATH_VARIABLE, produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE)
|
+ DOSSIER_TEMPLATE_ID_PATH_VARIABLE, produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE)
|
||||||
@Operation(summary = "Exports all dossiers and files from a given Dossier Template.", description = """
|
@Operation(summary = "Exports all dossiers and files from a given Dossier Template.", description = """
|
||||||
## Export Files Endpoint
|
## Export Files Endpoint
|
||||||
|
|
||||||
Use this endpoint to export a full Dossier Template, including all configurations, dossiers, and files.
|
Use this endpoint to export a full Dossier Template, including all configurations, dossiers, and files.
|
||||||
The endpoint returns a String storageId, which is used to query the DownloadController for the export zip archive's status and to download the archive.
|
The endpoint returns a String storageId, which is used to query the DownloadController for the export zip archive's status and to download the archive.
|
||||||
|
|
||||||
### Parameters
|
### Parameters
|
||||||
|
|
||||||
- **DossierTemplateId**: Specifies the Dossier Template to be exported.
|
- **DossierTemplateId**: Specifies the Dossier Template to be exported.
|
||||||
|
|
||||||
### Request Body Configuration Options
|
### Request Body Configuration Options
|
||||||
|
|
||||||
- **dossierIds**: List of dossier IDs to filter. If empty, all dossiers are selected.
|
- **dossierIds**: List of dossier IDs to filter. If empty, all dossiers are selected.
|
||||||
- **fileIds**: List of file IDs to filter. If empty, all files are selected.
|
- **fileIds**: List of file IDs to filter. If empty, all files are selected.
|
||||||
- **excludeLayoutFiles**: Boolean. If true, excludes DOCUMENT_STRUCTURE/_PAGES/_TEXT/_POSITIONS, SIMPLIFIED_TEXT, and NER_ENTITIES files.
|
- **excludeLayoutFiles**: Boolean. If true, excludes DOCUMENT_STRUCTURE/_PAGES/_TEXT/_POSITIONS, SIMPLIFIED_TEXT, and NER_ENTITIES files.
|
||||||
|
|||||||
@ -22,4 +22,5 @@ public class BulkDownloadRequest {
|
|||||||
private Set<DownloadFileType> downloadFileTypes = new HashSet<>();
|
private Set<DownloadFileType> downloadFileTypes = new HashSet<>();
|
||||||
private String redactionPreviewColor;
|
private String redactionPreviewColor;
|
||||||
private List<String> fileIds = new ArrayList<>();
|
private List<String> fileIds = new ArrayList<>();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -19,4 +19,5 @@ public class ComponentOverrideList {
|
|||||||
String fileId;
|
String fileId;
|
||||||
|
|
||||||
List<Component> componentOverrides = new ArrayList<>();
|
List<Component> componentOverrides = new ArrayList<>();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -14,5 +14,6 @@ import lombok.NoArgsConstructor;
|
|||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
public class DossierAttributeDefinitionList {
|
public class DossierAttributeDefinitionList {
|
||||||
|
|
||||||
private List<DossierAttributeDefinition> dossierAttributeDefinitions= new ArrayList<>();
|
private List<DossierAttributeDefinition> dossierAttributeDefinitions = new ArrayList<>();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -15,4 +15,5 @@ import lombok.NoArgsConstructor;
|
|||||||
public class DossierStatusDefinitionList {
|
public class DossierStatusDefinitionList {
|
||||||
|
|
||||||
private List<DossierStatusDefinition> dossierStatusDefinitions = new ArrayList<>();
|
private List<DossierStatusDefinition> dossierStatusDefinitions = new ArrayList<>();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -89,8 +89,8 @@ public interface DossierResource {
|
|||||||
@Operation(summary = "Update or set attributes for a specific dossier.", description = "None")
|
@Operation(summary = "Update or set attributes for a specific dossier.", description = "None")
|
||||||
@ApiResponses(value = {@ApiResponse(responseCode = "204", description = "Dossier attributes successfully updated."), @ApiResponse(responseCode = "404", description = "Not found")})
|
@ApiResponses(value = {@ApiResponse(responseCode = "204", description = "Dossier attributes successfully updated."), @ApiResponse(responseCode = "404", description = "Not found")})
|
||||||
void setDossierAttributes(@Parameter(name = DOSSIER_TEMPLATE_ID_PARAM, description = "The identifier of a dossier template", required = true) @PathVariable(DOSSIER_TEMPLATE_ID_PARAM) String dossierTemplateId,
|
void setDossierAttributes(@Parameter(name = DOSSIER_TEMPLATE_ID_PARAM, description = "The identifier of a dossier template", required = true) @PathVariable(DOSSIER_TEMPLATE_ID_PARAM) String dossierTemplateId,
|
||||||
@Parameter(name = DOSSIER_ID_PARAM, description = "The identifier of a dossier", required = true) @PathVariable(DOSSIER_ID_PARAM) String dossierId,
|
@Parameter(name = DOSSIER_ID_PARAM, description = "The identifier of a dossier", required = true) @PathVariable(DOSSIER_ID_PARAM) String dossierId,
|
||||||
@RequestBody DossierAttributes dossierAttributes);
|
@RequestBody DossierAttributes dossierAttributes);
|
||||||
|
|
||||||
|
|
||||||
@ResponseBody
|
@ResponseBody
|
||||||
|
|||||||
@ -415,7 +415,7 @@ paths:
|
|||||||
post:
|
post:
|
||||||
operationId: uploadMapping
|
operationId: uploadMapping
|
||||||
summary: Upload a new component mapping to a DossierTemplate.
|
summary: Upload a new component mapping to a DossierTemplate.
|
||||||
description: |
|
description: |
|
||||||
Use this endpoint to upload a new component mapping to a specific DossierTemplate.
|
Use this endpoint to upload a new component mapping to a specific DossierTemplate.
|
||||||
|
|
||||||
#### File Requirements
|
#### File Requirements
|
||||||
@ -434,7 +434,7 @@ paths:
|
|||||||
- The component mapping file can be utilized in component rules to relate components to existing master data.
|
- The component mapping file can be utilized in component rules to relate components to existing master data.
|
||||||
|
|
||||||
#### Example
|
#### Example
|
||||||
|
|
||||||
| search_value | mapped_value |
|
| search_value | mapped_value |
|
||||||
|--------------|--------------|
|
|--------------|--------------|
|
||||||
| Alice | Manager |
|
| Alice | Manager |
|
||||||
@ -595,9 +595,9 @@ paths:
|
|||||||
- Component Definitions
|
- Component Definitions
|
||||||
summary: Create new component definitions
|
summary: Create new component definitions
|
||||||
description: |
|
description: |
|
||||||
Create new component definitions for a given dossier template. The component will have a technical name which is automatically converted to snake case
|
Create new component definitions for a given dossier template. The component will have a technical name which is automatically converted to snake case
|
||||||
that can't be updated after the creation. The rank is used to determine the order in which the components are displayed. The component's rank will
|
that can't be updated after the creation. The rank is used to determine the order in which the components are displayed. The component's rank will
|
||||||
automatically be appended at the end based on the current number of components of this dossier template.
|
automatically be appended at the end based on the current number of components of this dossier template.
|
||||||
parameters:
|
parameters:
|
||||||
- $ref: '#/components/parameters/dossierTemplateId'
|
- $ref: '#/components/parameters/dossierTemplateId'
|
||||||
requestBody:
|
requestBody:
|
||||||
@ -890,7 +890,7 @@ paths:
|
|||||||
summary: Retrieve a list of dossiers based on a specific dossier template.
|
summary: Retrieve a list of dossiers based on a specific dossier template.
|
||||||
description: |
|
description: |
|
||||||
By default, this endpoint provides a list of all *active* dossiers that are based on a specific dossier template.
|
By default, this endpoint provides a list of all *active* dossiers that are based on a specific dossier template.
|
||||||
|
|
||||||
It returns an object containing an array of dossier objects under the key `dossiers`. Each dossier object contains
|
It returns an object containing an array of dossier objects under the key `dossiers`. Each dossier object contains
|
||||||
an identifier, a name, a description, an owner, and other fields with further details about the dossier.
|
an identifier, a name, a description, an owner, and other fields with further details about the dossier.
|
||||||
|
|
||||||
@ -2184,7 +2184,7 @@ components:
|
|||||||
A toggle to determine the deletion mode for a dossier:
|
A toggle to determine the deletion mode for a dossier:
|
||||||
- `true`: The dossier will be permanently deleted and can't be restored.
|
- `true`: The dossier will be permanently deleted and can't be restored.
|
||||||
- `false` (default): Soft-delete, allowing restoration within the application-configured retention period.
|
- `false` (default): Soft-delete, allowing restoration within the application-configured retention period.
|
||||||
|
|
||||||
Using this parameter, you can also permanently delete a previously soft-deleted dossier during its retention period.
|
Using this parameter, you can also permanently delete a previously soft-deleted dossier during its retention period.
|
||||||
|
|
||||||
> **Note:** Deleting a dossier also deletes all associated files.
|
> **Note:** Deleting a dossier also deletes all associated files.
|
||||||
@ -2202,7 +2202,7 @@ components:
|
|||||||
- `true`: The file will be permanently deleted and can't be restored.
|
- `true`: The file will be permanently deleted and can't be restored.
|
||||||
- `false` (default): Soft-delete, allowing restoration within the retention period, provided its parent dossier
|
- `false` (default): Soft-delete, allowing restoration within the retention period, provided its parent dossier
|
||||||
hasn't been deleted. If the parent dossier has been deleted meanwhile, it needs to be restored first.
|
hasn't been deleted. If the parent dossier has been deleted meanwhile, it needs to be restored first.
|
||||||
|
|
||||||
Using this parameter, you can also permanently delete a previously soft-deleted file during its retention period.
|
Using this parameter, you can also permanently delete a previously soft-deleted file during its retention period.
|
||||||
permanentlyDeleteFiles:
|
permanentlyDeleteFiles:
|
||||||
name: deletePermanently
|
name: deletePermanently
|
||||||
@ -3324,7 +3324,7 @@ components:
|
|||||||
- a0044ae9-ddca-4f97-b0a1-3cb2517dbf39
|
- a0044ae9-ddca-4f97-b0a1-3cb2517dbf39
|
||||||
- c2e33246-e50a-4c43-831c-6789a5637db8
|
- c2e33246-e50a-4c43-831c-6789a5637db8
|
||||||
- 6123fa16-6943-4b74-8524-54b0046a0ce6
|
- 6123fa16-6943-4b74-8524-54b0046a0ce6
|
||||||
approverIds: []
|
approverIds: [ ]
|
||||||
reportTemplateIds:
|
reportTemplateIds:
|
||||||
- daadea5f-917b-482a-b7d2-e65afe8f80ca
|
- daadea5f-917b-482a-b7d2-e65afe8f80ca
|
||||||
- 8130acf6-4910-4123-827c-caacd8111402
|
- 8130acf6-4910-4123-827c-caacd8111402
|
||||||
@ -3495,7 +3495,7 @@ components:
|
|||||||
- technicalName
|
- technicalName
|
||||||
- displayName
|
- displayName
|
||||||
ComponentDefinitionUpdateRequest:
|
ComponentDefinitionUpdateRequest:
|
||||||
description: |
|
description: |
|
||||||
The ComponentDefinitionUpdateRequest object represents a request to update a component definition within a dossier template.
|
The ComponentDefinitionUpdateRequest object represents a request to update a component definition within a dossier template.
|
||||||
Only the display name and description can be updated.
|
Only the display name and description can be updated.
|
||||||
example:
|
example:
|
||||||
@ -4627,10 +4627,10 @@ components:
|
|||||||
authorizationCode:
|
authorizationCode:
|
||||||
authorizationUrl: /auth/realms/{workspaceId}/protocol/openid-connect/auth
|
authorizationUrl: /auth/realms/{workspaceId}/protocol/openid-connect/auth
|
||||||
tokenUrl: /auth/realms/{workspaceId}/protocol/openid-connect/token
|
tokenUrl: /auth/realms/{workspaceId}/protocol/openid-connect/token
|
||||||
scopes: {}
|
scopes: { }
|
||||||
password:
|
password:
|
||||||
tokenUrl: /auth/realms/{workspaceId}/protocol/openid-connect/token
|
tokenUrl: /auth/realms/{workspaceId}/protocol/openid-connect/token
|
||||||
scopes: {}
|
scopes: { }
|
||||||
clientCredentials:
|
clientCredentials:
|
||||||
tokenUrl: /auth/realms/{workspaceId}/protocol/openid-connect/token
|
tokenUrl: /auth/realms/{workspaceId}/protocol/openid-connect/token
|
||||||
scopes: {}
|
scopes: { }
|
||||||
@ -31,7 +31,7 @@ servers:
|
|||||||
- url: https://app.redactmanager.com
|
- url: https://app.redactmanager.com
|
||||||
description: RedactManager Cloud Service
|
description: RedactManager Cloud Service
|
||||||
security:
|
security:
|
||||||
- FF-OAUTH: []
|
- FF-OAUTH: [ ]
|
||||||
tags:
|
tags:
|
||||||
- name: 1. Dossier Templates
|
- name: 1. Dossier Templates
|
||||||
description: Operations related to dossier templates.
|
description: Operations related to dossier templates.
|
||||||
@ -258,7 +258,7 @@ paths:
|
|||||||
summary: Retrieve a list of dossiers based on a specific dossier template.
|
summary: Retrieve a list of dossiers based on a specific dossier template.
|
||||||
description: |
|
description: |
|
||||||
By default, this endpoint provides a list of all *active* dossiers that are based on a specific dossier template.
|
By default, this endpoint provides a list of all *active* dossiers that are based on a specific dossier template.
|
||||||
|
|
||||||
It returns an object containing an array of dossier objects under the key `dossiers`. Each dossier object contains
|
It returns an object containing an array of dossier objects under the key `dossiers`. Each dossier object contains
|
||||||
an identifier, a name, a description, an owner, and other fields with further details about the dossier.
|
an identifier, a name, a description, an owner, and other fields with further details about the dossier.
|
||||||
|
|
||||||
@ -1309,7 +1309,7 @@ components:
|
|||||||
A toggle to determine the deletion mode for a dossier:
|
A toggle to determine the deletion mode for a dossier:
|
||||||
- `true`: The dossier will be permanently deleted and can't be restored.
|
- `true`: The dossier will be permanently deleted and can't be restored.
|
||||||
- `false` (default): Soft-delete, allowing restoration within the application-configured retention period.
|
- `false` (default): Soft-delete, allowing restoration within the application-configured retention period.
|
||||||
|
|
||||||
Using this parameter, you can also permanently delete a previously soft-deleted dossier during its retention period.
|
Using this parameter, you can also permanently delete a previously soft-deleted dossier during its retention period.
|
||||||
|
|
||||||
> **Note:** Deleting a dossier also deletes all associated files.
|
> **Note:** Deleting a dossier also deletes all associated files.
|
||||||
@ -1327,7 +1327,7 @@ components:
|
|||||||
- `true`: The file will be permanently deleted and can't be restored.
|
- `true`: The file will be permanently deleted and can't be restored.
|
||||||
- `false` (default): Soft-delete, allowing restoration within the retention period, provided its parent dossier
|
- `false` (default): Soft-delete, allowing restoration within the retention period, provided its parent dossier
|
||||||
hasn't been deleted. If the parent dossier has been deleted meanwhile, it needs to be restored first.
|
hasn't been deleted. If the parent dossier has been deleted meanwhile, it needs to be restored first.
|
||||||
|
|
||||||
Using this parameter, you can also permanently delete a previously soft-deleted file during its retention period.
|
Using this parameter, you can also permanently delete a previously soft-deleted file during its retention period.
|
||||||
permanentlyDeleteFiles:
|
permanentlyDeleteFiles:
|
||||||
name: deletePermanently
|
name: deletePermanently
|
||||||
@ -3171,10 +3171,10 @@ components:
|
|||||||
authorizationCode:
|
authorizationCode:
|
||||||
authorizationUrl: /auth/realms/{workspaceId}/protocol/openid-connect/auth
|
authorizationUrl: /auth/realms/{workspaceId}/protocol/openid-connect/auth
|
||||||
tokenUrl: /auth/realms/{workspaceId}/protocol/openid-connect/token
|
tokenUrl: /auth/realms/{workspaceId}/protocol/openid-connect/token
|
||||||
scopes: {}
|
scopes: { }
|
||||||
password:
|
password:
|
||||||
tokenUrl: /auth/realms/{workspaceId}/protocol/openid-connect/token
|
tokenUrl: /auth/realms/{workspaceId}/protocol/openid-connect/token
|
||||||
scopes: {}
|
scopes: { }
|
||||||
clientCredentials:
|
clientCredentials:
|
||||||
tokenUrl: /auth/realms/{workspaceId}/protocol/openid-connect/token
|
tokenUrl: /auth/realms/{workspaceId}/protocol/openid-connect/token
|
||||||
scopes: {}
|
scopes: { }
|
||||||
@ -1,6 +1,5 @@
|
|||||||
package com.iqser.red.service.persistence.management.v1.processor.acl.custom.dossier;
|
package com.iqser.red.service.persistence.management.v1.processor.acl.custom.dossier;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|||||||
@ -253,12 +253,12 @@ public class MessagingConfiguration {
|
|||||||
.build();
|
.build();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@Bean
|
@Bean
|
||||||
@ConditionalOnProperty(prefix = "persistence-service", name = "migrateOnly", havingValue = "false")
|
@ConditionalOnProperty(prefix = "persistence-service", name = "migrateOnly", havingValue = "false")
|
||||||
public Queue ocrResponseQueue() {
|
public Queue ocrResponseQueue() {
|
||||||
|
|
||||||
return QueueBuilder.durable(OCR_RESPONSE_QUEUE)
|
return QueueBuilder.durable(OCR_RESPONSE_QUEUE).build();
|
||||||
.build();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -266,8 +266,7 @@ public class MessagingConfiguration {
|
|||||||
@ConditionalOnProperty(prefix = "persistence-service", name = "migrateOnly", havingValue = "false")
|
@ConditionalOnProperty(prefix = "persistence-service", name = "migrateOnly", havingValue = "false")
|
||||||
public Queue ocrDLQ() {
|
public Queue ocrDLQ() {
|
||||||
|
|
||||||
return QueueBuilder.durable(OCR_DLQ)
|
return QueueBuilder.durable(OCR_DLQ).build();
|
||||||
.build();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -73,6 +73,7 @@ public class WebSocketSecurityConfig extends AbstractSecurityWebSocketMessageBro
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private Optional<String> extractTenantId(Message<?> message) {
|
private Optional<String> extractTenantId(Message<?> message) {
|
||||||
|
|
||||||
StompHeaderAccessor sha = StompHeaderAccessor.wrap(message);
|
StompHeaderAccessor sha = StompHeaderAccessor.wrap(message);
|
||||||
|
|||||||
@ -123,6 +123,7 @@ public class DossierTemplateExportService {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@Observed(name = "DossierTemplateExportService", contextualName = "export-dossier-template")
|
@Observed(name = "DossierTemplateExportService", contextualName = "export-dossier-template")
|
||||||
public long createDownloadArchive(ExportDownloadMessage downloadJob) throws IOException {
|
public long createDownloadArchive(ExportDownloadMessage downloadJob) throws IOException {
|
||||||
|
|
||||||
@ -142,6 +143,7 @@ public class DossierTemplateExportService {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@Observed(name = "DossierTemplateExportService", contextualName = "write-dossier-template-to-archive")
|
@Observed(name = "DossierTemplateExportService", contextualName = "write-dossier-template-to-archive")
|
||||||
public void addDossierTemplateToArchive(FileSystemBackedArchiver fileSystemBackedArchiver, String folder, DossierTemplateEntity dossierTemplate) throws IOException {
|
public void addDossierTemplateToArchive(FileSystemBackedArchiver fileSystemBackedArchiver, String folder, DossierTemplateEntity dossierTemplate) throws IOException {
|
||||||
|
|
||||||
|
|||||||
@ -121,6 +121,7 @@ public class DossierTemplateImportService {
|
|||||||
return dossierTemplateArchiveReader.buildResult();
|
return dossierTemplateArchiveReader.buildResult();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@Observed(name = "DossierTemplateImportService", contextualName = "import-template")
|
@Observed(name = "DossierTemplateImportService", contextualName = "import-template")
|
||||||
public TemplateImportInfo importDossierTemplate(ImportTemplateResult request) {
|
public TemplateImportInfo importDossierTemplate(ImportTemplateResult request) {
|
||||||
|
|
||||||
|
|||||||
@ -41,6 +41,7 @@ public class EntityTypeExportService {
|
|||||||
ObjectMapper mapper;
|
ObjectMapper mapper;
|
||||||
EntryPersistenceService entryPersistenceService;
|
EntryPersistenceService entryPersistenceService;
|
||||||
|
|
||||||
|
|
||||||
@Observed(name = "EntityTypeExportService", contextualName = "export-entity-type")
|
@Observed(name = "EntityTypeExportService", contextualName = "export-entity-type")
|
||||||
public void addEntityTypeToArchive(FileSystemBackedArchiver fileSystemBackedArchiver, TypeEntity typeEntity, String folder) throws JsonProcessingException {
|
public void addEntityTypeToArchive(FileSystemBackedArchiver fileSystemBackedArchiver, TypeEntity typeEntity, String folder) throws JsonProcessingException {
|
||||||
|
|
||||||
|
|||||||
@ -90,5 +90,4 @@ public class FileExchangeImportService {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -39,29 +39,29 @@ public class ManualChangesExportService {
|
|||||||
|
|
||||||
ManualChangesExportModel exportModel = new ManualChangesExportModel();
|
ManualChangesExportModel exportModel = new ManualChangesExportModel();
|
||||||
exportModel.setManualAddExportModels(addRedactionPersistenceService.findEntriesByFileIdAndOptions(fileId, ManualChangesQueryOptions.all())
|
exportModel.setManualAddExportModels(addRedactionPersistenceService.findEntriesByFileIdAndOptions(fileId, ManualChangesQueryOptions.all())
|
||||||
.stream()
|
.stream()
|
||||||
.map(mapper::toModel)
|
.map(mapper::toModel)
|
||||||
.toList());
|
.toList());
|
||||||
exportModel.setManualRemoveExportModels(removeRedactionPersistenceService.findEntriesByFileIdAndOptions(fileId, ManualChangesQueryOptions.all())
|
exportModel.setManualRemoveExportModels(removeRedactionPersistenceService.findEntriesByFileIdAndOptions(fileId, ManualChangesQueryOptions.all())
|
||||||
.stream()
|
.stream()
|
||||||
.map(mapper::toModel)
|
.map(mapper::toModel)
|
||||||
.toList());
|
.toList());
|
||||||
exportModel.setManualForceExportModels(forceRedactionPersistenceService.findEntriesByFileIdAndOptions(fileId, ManualChangesQueryOptions.all())
|
exportModel.setManualForceExportModels(forceRedactionPersistenceService.findEntriesByFileIdAndOptions(fileId, ManualChangesQueryOptions.all())
|
||||||
.stream()
|
.stream()
|
||||||
.map(mapper::toModel)
|
.map(mapper::toModel)
|
||||||
.toList());
|
.toList());
|
||||||
exportModel.setManualLegalBasisChangeExportModels(legalBasisChangePersistenceService.findEntriesByFileIdAndOptions(fileId, ManualChangesQueryOptions.all())
|
exportModel.setManualLegalBasisChangeExportModels(legalBasisChangePersistenceService.findEntriesByFileIdAndOptions(fileId, ManualChangesQueryOptions.all())
|
||||||
.stream()
|
.stream()
|
||||||
.map(mapper::toModel)
|
.map(mapper::toModel)
|
||||||
.toList());
|
.toList());
|
||||||
exportModel.setManualRecategorizationExportModels(recategorizationPersistenceService.findEntriesByFileIdAndOptions(fileId, ManualChangesQueryOptions.all())
|
exportModel.setManualRecategorizationExportModels(recategorizationPersistenceService.findEntriesByFileIdAndOptions(fileId, ManualChangesQueryOptions.all())
|
||||||
.stream()
|
.stream()
|
||||||
.map(mapper::toModel)
|
.map(mapper::toModel)
|
||||||
.toList());
|
.toList());
|
||||||
exportModel.setManualResizeExportModels(resizeRedactionPersistenceService.findEntriesByFileIdAndOptions(fileId, ManualChangesQueryOptions.all())
|
exportModel.setManualResizeExportModels(resizeRedactionPersistenceService.findEntriesByFileIdAndOptions(fileId, ManualChangesQueryOptions.all())
|
||||||
.stream()
|
.stream()
|
||||||
.map(mapper::toModel)
|
.map(mapper::toModel)
|
||||||
.toList());
|
.toList());
|
||||||
return exportModel;
|
return exportModel;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -70,7 +70,7 @@ public class ZipEntryIterator implements Iterator<ZipEntryData>, AutoCloseable {
|
|||||||
|
|
||||||
double compressionRatio = (double) totalSizeEntry / nextEntry.getCompressedSize();
|
double compressionRatio = (double) totalSizeEntry / nextEntry.getCompressedSize();
|
||||||
if (compressionRatio > compressionThresholdRatio) {
|
if (compressionRatio > compressionThresholdRatio) {
|
||||||
throw new BadRequestException("ZIP-Bomb detected (compressionRatio). " + compressionRatio + "/" + compressionThresholdRatio );
|
throw new BadRequestException("ZIP-Bomb detected (compressionRatio). " + compressionRatio + "/" + compressionThresholdRatio);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -4,7 +4,6 @@ import java.time.OffsetDateTime;
|
|||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import org.hibernate.annotations.Fetch;
|
|
||||||
import org.springframework.data.annotation.LastModifiedDate;
|
import org.springframework.data.annotation.LastModifiedDate;
|
||||||
|
|
||||||
import com.iqser.red.service.persistence.management.v1.processor.entity.dossier.DossierTemplateEntity;
|
import com.iqser.red.service.persistence.management.v1.processor.entity.dossier.DossierTemplateEntity;
|
||||||
|
|||||||
@ -4,7 +4,6 @@ import java.io.Serializable;
|
|||||||
|
|
||||||
import jakarta.persistence.Column;
|
import jakarta.persistence.Column;
|
||||||
import jakarta.persistence.Embeddable;
|
import jakarta.persistence.Embeddable;
|
||||||
|
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Builder;
|
import lombok.Builder;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|||||||
@ -2,6 +2,8 @@ package com.iqser.red.service.persistence.management.v1.processor.entity.annotat
|
|||||||
|
|
||||||
import java.time.OffsetDateTime;
|
import java.time.OffsetDateTime;
|
||||||
|
|
||||||
|
import com.iqser.red.service.persistence.management.v1.processor.entity.dossier.FileEntity;
|
||||||
|
|
||||||
import jakarta.persistence.Column;
|
import jakarta.persistence.Column;
|
||||||
import jakarta.persistence.Entity;
|
import jakarta.persistence.Entity;
|
||||||
import jakarta.persistence.GeneratedValue;
|
import jakarta.persistence.GeneratedValue;
|
||||||
@ -9,9 +11,6 @@ import jakarta.persistence.GenerationType;
|
|||||||
import jakarta.persistence.Id;
|
import jakarta.persistence.Id;
|
||||||
import jakarta.persistence.ManyToOne;
|
import jakarta.persistence.ManyToOne;
|
||||||
import jakarta.persistence.Table;
|
import jakarta.persistence.Table;
|
||||||
|
|
||||||
import com.iqser.red.service.persistence.management.v1.processor.entity.dossier.FileEntity;
|
|
||||||
|
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Builder;
|
import lombok.Builder;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|||||||
@ -1,7 +1,6 @@
|
|||||||
package com.iqser.red.service.persistence.management.v1.processor.entity.annotations;
|
package com.iqser.red.service.persistence.management.v1.processor.entity.annotations;
|
||||||
|
|
||||||
import jakarta.persistence.Embeddable;
|
import jakarta.persistence.Embeddable;
|
||||||
|
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Builder;
|
import lombok.Builder;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|||||||
@ -3,6 +3,8 @@ package com.iqser.red.service.persistence.management.v1.processor.entity.annotat
|
|||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
import java.time.OffsetDateTime;
|
import java.time.OffsetDateTime;
|
||||||
|
|
||||||
|
import com.iqser.red.service.persistence.management.v1.processor.entity.dossier.FileEntity;
|
||||||
|
|
||||||
import jakarta.persistence.Column;
|
import jakarta.persistence.Column;
|
||||||
import jakarta.persistence.Embeddable;
|
import jakarta.persistence.Embeddable;
|
||||||
import jakarta.persistence.EmbeddedId;
|
import jakarta.persistence.EmbeddedId;
|
||||||
@ -11,9 +13,6 @@ import jakarta.persistence.FetchType;
|
|||||||
import jakarta.persistence.ManyToOne;
|
import jakarta.persistence.ManyToOne;
|
||||||
import jakarta.persistence.MapsId;
|
import jakarta.persistence.MapsId;
|
||||||
import jakarta.persistence.Table;
|
import jakarta.persistence.Table;
|
||||||
|
|
||||||
import com.iqser.red.service.persistence.management.v1.processor.entity.dossier.FileEntity;
|
|
||||||
|
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Builder;
|
import lombok.Builder;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|||||||
@ -4,6 +4,8 @@ import java.time.OffsetDateTime;
|
|||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
|
import com.iqser.red.service.persistence.management.v1.processor.utils.JSONMapConverter;
|
||||||
|
|
||||||
import jakarta.persistence.Basic;
|
import jakarta.persistence.Basic;
|
||||||
import jakarta.persistence.Column;
|
import jakarta.persistence.Column;
|
||||||
import jakarta.persistence.Convert;
|
import jakarta.persistence.Convert;
|
||||||
@ -13,9 +15,6 @@ import jakarta.persistence.GeneratedValue;
|
|||||||
import jakarta.persistence.GenerationType;
|
import jakarta.persistence.GenerationType;
|
||||||
import jakarta.persistence.Id;
|
import jakarta.persistence.Id;
|
||||||
import jakarta.persistence.Table;
|
import jakarta.persistence.Table;
|
||||||
|
|
||||||
import com.iqser.red.service.persistence.management.v1.processor.utils.JSONMapConverter;
|
|
||||||
|
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Builder;
|
import lombok.Builder;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|||||||
@ -4,7 +4,6 @@ import jakarta.persistence.Column;
|
|||||||
import jakarta.persistence.Entity;
|
import jakarta.persistence.Entity;
|
||||||
import jakarta.persistence.Id;
|
import jakarta.persistence.Id;
|
||||||
import jakarta.persistence.Table;
|
import jakarta.persistence.Table;
|
||||||
|
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Builder;
|
import lombok.Builder;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|||||||
@ -8,7 +8,6 @@ import jakarta.persistence.Id;
|
|||||||
import jakarta.persistence.PrePersist;
|
import jakarta.persistence.PrePersist;
|
||||||
import jakarta.persistence.PreUpdate;
|
import jakarta.persistence.PreUpdate;
|
||||||
import jakarta.persistence.Table;
|
import jakarta.persistence.Table;
|
||||||
|
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Builder;
|
import lombok.Builder;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|||||||
@ -6,7 +6,6 @@ import jakarta.persistence.GeneratedValue;
|
|||||||
import jakarta.persistence.GenerationType;
|
import jakarta.persistence.GenerationType;
|
||||||
import jakarta.persistence.Id;
|
import jakarta.persistence.Id;
|
||||||
import jakarta.persistence.Table;
|
import jakarta.persistence.Table;
|
||||||
|
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Builder;
|
import lombok.Builder;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|||||||
@ -6,7 +6,6 @@ import jakarta.persistence.GeneratedValue;
|
|||||||
import jakarta.persistence.GenerationType;
|
import jakarta.persistence.GenerationType;
|
||||||
import jakarta.persistence.Id;
|
import jakarta.persistence.Id;
|
||||||
import jakarta.persistence.Table;
|
import jakarta.persistence.Table;
|
||||||
|
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Builder;
|
import lombok.Builder;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|||||||
@ -1,13 +1,12 @@
|
|||||||
package com.iqser.red.service.persistence.management.v1.processor.entity.configuration;
|
package com.iqser.red.service.persistence.management.v1.processor.entity.configuration;
|
||||||
|
|
||||||
|
import com.iqser.red.service.persistence.service.v1.api.shared.model.utils.SuppressFBWarnings;
|
||||||
|
|
||||||
import jakarta.persistence.Column;
|
import jakarta.persistence.Column;
|
||||||
import jakarta.persistence.Entity;
|
import jakarta.persistence.Entity;
|
||||||
import jakarta.persistence.Id;
|
import jakarta.persistence.Id;
|
||||||
import jakarta.persistence.Lob;
|
import jakarta.persistence.Lob;
|
||||||
import jakarta.persistence.Table;
|
import jakarta.persistence.Table;
|
||||||
|
|
||||||
import com.iqser.red.service.persistence.service.v1.api.shared.model.utils.SuppressFBWarnings;
|
|
||||||
|
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Builder;
|
import lombok.Builder;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|||||||
@ -1,5 +1,7 @@
|
|||||||
package com.iqser.red.service.persistence.management.v1.processor.entity.configuration;
|
package com.iqser.red.service.persistence.management.v1.processor.entity.configuration;
|
||||||
|
|
||||||
|
import com.iqser.red.service.persistence.service.v1.api.shared.model.utils.SuppressFBWarnings;
|
||||||
|
|
||||||
import jakarta.persistence.Basic;
|
import jakarta.persistence.Basic;
|
||||||
import jakarta.persistence.Column;
|
import jakarta.persistence.Column;
|
||||||
import jakarta.persistence.Entity;
|
import jakarta.persistence.Entity;
|
||||||
@ -7,9 +9,6 @@ import jakarta.persistence.FetchType;
|
|||||||
import jakarta.persistence.Id;
|
import jakarta.persistence.Id;
|
||||||
import jakarta.persistence.Lob;
|
import jakarta.persistence.Lob;
|
||||||
import jakarta.persistence.Table;
|
import jakarta.persistence.Table;
|
||||||
|
|
||||||
import com.iqser.red.service.persistence.service.v1.api.shared.model.utils.SuppressFBWarnings;
|
|
||||||
|
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Builder;
|
import lombok.Builder;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|||||||
@ -1,15 +1,14 @@
|
|||||||
package com.iqser.red.service.persistence.management.v1.processor.entity.configuration;
|
package com.iqser.red.service.persistence.management.v1.processor.entity.configuration;
|
||||||
|
|
||||||
|
import com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemplate.configuration.DigitalSignatureType;
|
||||||
|
import com.iqser.red.service.persistence.service.v1.api.shared.model.utils.SuppressFBWarnings;
|
||||||
|
|
||||||
import jakarta.persistence.Column;
|
import jakarta.persistence.Column;
|
||||||
import jakarta.persistence.Entity;
|
import jakarta.persistence.Entity;
|
||||||
import jakarta.persistence.EnumType;
|
import jakarta.persistence.EnumType;
|
||||||
import jakarta.persistence.Enumerated;
|
import jakarta.persistence.Enumerated;
|
||||||
import jakarta.persistence.Id;
|
import jakarta.persistence.Id;
|
||||||
import jakarta.persistence.Table;
|
import jakarta.persistence.Table;
|
||||||
|
|
||||||
import com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemplate.configuration.DigitalSignatureType;
|
|
||||||
import com.iqser.red.service.persistence.service.v1.api.shared.model.utils.SuppressFBWarnings;
|
|
||||||
|
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Builder;
|
import lombok.Builder;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|||||||
@ -1,15 +1,14 @@
|
|||||||
package com.iqser.red.service.persistence.management.v1.processor.entity.configuration;
|
package com.iqser.red.service.persistence.management.v1.processor.entity.configuration;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||||
|
import com.iqser.red.service.persistence.management.v1.processor.entity.dossier.DossierTemplateEntity;
|
||||||
|
|
||||||
import jakarta.persistence.Column;
|
import jakarta.persistence.Column;
|
||||||
import jakarta.persistence.Entity;
|
import jakarta.persistence.Entity;
|
||||||
import jakarta.persistence.Id;
|
import jakarta.persistence.Id;
|
||||||
import jakarta.persistence.MapsId;
|
import jakarta.persistence.MapsId;
|
||||||
import jakarta.persistence.OneToOne;
|
import jakarta.persistence.OneToOne;
|
||||||
import jakarta.persistence.Table;
|
import jakarta.persistence.Table;
|
||||||
|
|
||||||
import com.fasterxml.jackson.annotation.JsonIgnore;
|
|
||||||
import com.iqser.red.service.persistence.management.v1.processor.entity.dossier.DossierTemplateEntity;
|
|
||||||
|
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Builder;
|
import lombok.Builder;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|||||||
@ -2,7 +2,6 @@ package com.iqser.red.service.persistence.management.v1.processor.entity.configu
|
|||||||
|
|
||||||
import jakarta.persistence.Column;
|
import jakarta.persistence.Column;
|
||||||
import jakarta.persistence.Embeddable;
|
import jakarta.persistence.Embeddable;
|
||||||
|
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Builder;
|
import lombok.Builder;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|||||||
@ -3,11 +3,15 @@ package com.iqser.red.service.persistence.management.v1.processor.entity.configu
|
|||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import jakarta.persistence.*;
|
|
||||||
|
|
||||||
import org.hibernate.annotations.Fetch;
|
import org.hibernate.annotations.Fetch;
|
||||||
import org.hibernate.annotations.FetchMode;
|
import org.hibernate.annotations.FetchMode;
|
||||||
|
|
||||||
|
import jakarta.persistence.Column;
|
||||||
|
import jakarta.persistence.ElementCollection;
|
||||||
|
import jakarta.persistence.Entity;
|
||||||
|
import jakarta.persistence.FetchType;
|
||||||
|
import jakarta.persistence.Id;
|
||||||
|
import jakarta.persistence.Table;
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Builder;
|
import lombok.Builder;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|||||||
@ -2,6 +2,9 @@ package com.iqser.red.service.persistence.management.v1.processor.entity.configu
|
|||||||
|
|
||||||
import java.time.OffsetDateTime;
|
import java.time.OffsetDateTime;
|
||||||
|
|
||||||
|
import com.iqser.red.service.persistence.management.v1.processor.entity.dossier.DossierEntity;
|
||||||
|
import com.iqser.red.service.persistence.management.v1.processor.entity.dossier.DossierTemplateEntity;
|
||||||
|
|
||||||
import jakarta.persistence.Column;
|
import jakarta.persistence.Column;
|
||||||
import jakarta.persistence.Entity;
|
import jakarta.persistence.Entity;
|
||||||
import jakarta.persistence.FetchType;
|
import jakarta.persistence.FetchType;
|
||||||
@ -9,10 +12,6 @@ import jakarta.persistence.Id;
|
|||||||
import jakarta.persistence.JoinColumn;
|
import jakarta.persistence.JoinColumn;
|
||||||
import jakarta.persistence.ManyToOne;
|
import jakarta.persistence.ManyToOne;
|
||||||
import jakarta.persistence.Table;
|
import jakarta.persistence.Table;
|
||||||
|
|
||||||
import com.iqser.red.service.persistence.management.v1.processor.entity.dossier.DossierEntity;
|
|
||||||
import com.iqser.red.service.persistence.management.v1.processor.entity.dossier.DossierTemplateEntity;
|
|
||||||
|
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Builder;
|
import lombok.Builder;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|||||||
@ -2,6 +2,11 @@ package com.iqser.red.service.persistence.management.v1.processor.entity.configu
|
|||||||
|
|
||||||
import java.time.OffsetDateTime;
|
import java.time.OffsetDateTime;
|
||||||
|
|
||||||
|
import com.iqser.red.service.persistence.management.v1.processor.entity.dossier.DossierTemplateEntity;
|
||||||
|
import com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemplate.configuration.HorizontalTextAlignment;
|
||||||
|
import com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemplate.configuration.VerticalTextAlignment;
|
||||||
|
import com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemplate.configuration.WatermarkOrientation;
|
||||||
|
|
||||||
import jakarta.persistence.Column;
|
import jakarta.persistence.Column;
|
||||||
import jakarta.persistence.Entity;
|
import jakarta.persistence.Entity;
|
||||||
import jakarta.persistence.EnumType;
|
import jakarta.persistence.EnumType;
|
||||||
@ -13,12 +18,6 @@ import jakarta.persistence.Id;
|
|||||||
import jakarta.persistence.JoinColumn;
|
import jakarta.persistence.JoinColumn;
|
||||||
import jakarta.persistence.ManyToOne;
|
import jakarta.persistence.ManyToOne;
|
||||||
import jakarta.persistence.Table;
|
import jakarta.persistence.Table;
|
||||||
|
|
||||||
import com.iqser.red.service.persistence.management.v1.processor.entity.dossier.DossierTemplateEntity;
|
|
||||||
import com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemplate.configuration.HorizontalTextAlignment;
|
|
||||||
import com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemplate.configuration.VerticalTextAlignment;
|
|
||||||
import com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemplate.configuration.WatermarkOrientation;
|
|
||||||
|
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Builder;
|
import lombok.Builder;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|||||||
@ -4,8 +4,6 @@ import java.time.OffsetDateTime;
|
|||||||
|
|
||||||
import jakarta.persistence.Column;
|
import jakarta.persistence.Column;
|
||||||
import jakarta.persistence.Entity;
|
import jakarta.persistence.Entity;
|
||||||
import jakarta.persistence.GeneratedValue;
|
|
||||||
import jakarta.persistence.GenerationType;
|
|
||||||
import jakarta.persistence.Id;
|
import jakarta.persistence.Id;
|
||||||
import jakarta.persistence.Table;
|
import jakarta.persistence.Table;
|
||||||
import jakarta.persistence.UniqueConstraint;
|
import jakarta.persistence.UniqueConstraint;
|
||||||
|
|||||||
@ -1,5 +1,7 @@
|
|||||||
package com.iqser.red.service.persistence.management.v1.processor.entity.dossier;
|
package com.iqser.red.service.persistence.management.v1.processor.entity.dossier;
|
||||||
|
|
||||||
|
import com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemplate.dossier.DossierAttributeType;
|
||||||
|
|
||||||
import jakarta.persistence.Column;
|
import jakarta.persistence.Column;
|
||||||
import jakarta.persistence.Entity;
|
import jakarta.persistence.Entity;
|
||||||
import jakarta.persistence.EnumType;
|
import jakarta.persistence.EnumType;
|
||||||
@ -7,9 +9,6 @@ import jakarta.persistence.Enumerated;
|
|||||||
import jakarta.persistence.Id;
|
import jakarta.persistence.Id;
|
||||||
import jakarta.persistence.ManyToOne;
|
import jakarta.persistence.ManyToOne;
|
||||||
import jakarta.persistence.Table;
|
import jakarta.persistence.Table;
|
||||||
|
|
||||||
import com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemplate.dossier.DossierAttributeType;
|
|
||||||
|
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Builder;
|
import lombok.Builder;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|||||||
@ -7,7 +7,6 @@ import jakarta.persistence.Embeddable;
|
|||||||
import jakarta.persistence.EmbeddedId;
|
import jakarta.persistence.EmbeddedId;
|
||||||
import jakarta.persistence.Entity;
|
import jakarta.persistence.Entity;
|
||||||
import jakarta.persistence.Table;
|
import jakarta.persistence.Table;
|
||||||
|
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Builder;
|
import lombok.Builder;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|||||||
@ -6,6 +6,17 @@ import java.util.HashSet;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
|
import org.hibernate.annotations.Fetch;
|
||||||
|
import org.hibernate.annotations.FetchMode;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||||
|
import com.iqser.red.service.persistence.management.v1.processor.entity.configuration.TypeEntity;
|
||||||
|
import com.iqser.red.service.persistence.management.v1.processor.entity.configuration.WatermarkEntity;
|
||||||
|
import com.iqser.red.service.persistence.management.v1.processor.utils.JSONDownloadFileTypeConverter;
|
||||||
|
import com.iqser.red.service.persistence.management.v1.processor.utils.JSONStringSetConverter;
|
||||||
|
import com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemplate.DownloadFileType;
|
||||||
|
import com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemplate.dossier.DossierVisibility;
|
||||||
|
|
||||||
import jakarta.persistence.CascadeType;
|
import jakarta.persistence.CascadeType;
|
||||||
import jakarta.persistence.Column;
|
import jakarta.persistence.Column;
|
||||||
import jakarta.persistence.Convert;
|
import jakarta.persistence.Convert;
|
||||||
@ -19,18 +30,6 @@ import jakarta.persistence.ManyToMany;
|
|||||||
import jakarta.persistence.ManyToOne;
|
import jakarta.persistence.ManyToOne;
|
||||||
import jakarta.persistence.OneToMany;
|
import jakarta.persistence.OneToMany;
|
||||||
import jakarta.persistence.Table;
|
import jakarta.persistence.Table;
|
||||||
|
|
||||||
import org.hibernate.annotations.Fetch;
|
|
||||||
import org.hibernate.annotations.FetchMode;
|
|
||||||
|
|
||||||
import com.fasterxml.jackson.annotation.JsonIgnore;
|
|
||||||
import com.iqser.red.service.persistence.management.v1.processor.entity.configuration.TypeEntity;
|
|
||||||
import com.iqser.red.service.persistence.management.v1.processor.entity.configuration.WatermarkEntity;
|
|
||||||
import com.iqser.red.service.persistence.management.v1.processor.utils.JSONDownloadFileTypeConverter;
|
|
||||||
import com.iqser.red.service.persistence.management.v1.processor.utils.JSONStringSetConverter;
|
|
||||||
import com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemplate.DownloadFileType;
|
|
||||||
import com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemplate.dossier.DossierVisibility;
|
|
||||||
|
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Builder;
|
import lombok.Builder;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|||||||
@ -3,6 +3,9 @@ package com.iqser.red.service.persistence.management.v1.processor.entity.dossier
|
|||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
import org.hibernate.annotations.Fetch;
|
||||||
|
import org.hibernate.annotations.FetchMode;
|
||||||
|
|
||||||
import jakarta.persistence.Column;
|
import jakarta.persistence.Column;
|
||||||
import jakarta.persistence.Entity;
|
import jakarta.persistence.Entity;
|
||||||
import jakarta.persistence.FetchType;
|
import jakarta.persistence.FetchType;
|
||||||
@ -11,10 +14,6 @@ import jakarta.persistence.JoinColumn;
|
|||||||
import jakarta.persistence.ManyToOne;
|
import jakarta.persistence.ManyToOne;
|
||||||
import jakarta.persistence.OneToMany;
|
import jakarta.persistence.OneToMany;
|
||||||
import jakarta.persistence.Table;
|
import jakarta.persistence.Table;
|
||||||
|
|
||||||
import org.hibernate.annotations.Fetch;
|
|
||||||
import org.hibernate.annotations.FetchMode;
|
|
||||||
|
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Builder;
|
import lombok.Builder;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|||||||
@ -1,5 +1,8 @@
|
|||||||
package com.iqser.red.service.persistence.management.v1.processor.entity.dossier;
|
package com.iqser.red.service.persistence.management.v1.processor.entity.dossier;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||||
|
import com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemplate.dossier.file.FileAttributeType;
|
||||||
|
|
||||||
import jakarta.persistence.Column;
|
import jakarta.persistence.Column;
|
||||||
import jakarta.persistence.Entity;
|
import jakarta.persistence.Entity;
|
||||||
import jakarta.persistence.EnumType;
|
import jakarta.persistence.EnumType;
|
||||||
@ -7,10 +10,6 @@ import jakarta.persistence.Enumerated;
|
|||||||
import jakarta.persistence.Id;
|
import jakarta.persistence.Id;
|
||||||
import jakarta.persistence.ManyToOne;
|
import jakarta.persistence.ManyToOne;
|
||||||
import jakarta.persistence.Table;
|
import jakarta.persistence.Table;
|
||||||
|
|
||||||
import com.fasterxml.jackson.annotation.JsonIgnore;
|
|
||||||
import com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemplate.dossier.file.FileAttributeType;
|
|
||||||
|
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Builder;
|
import lombok.Builder;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|||||||
@ -7,7 +7,6 @@ import jakarta.persistence.Embeddable;
|
|||||||
import jakarta.persistence.EmbeddedId;
|
import jakarta.persistence.EmbeddedId;
|
||||||
import jakarta.persistence.Entity;
|
import jakarta.persistence.Entity;
|
||||||
import jakarta.persistence.Table;
|
import jakarta.persistence.Table;
|
||||||
|
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.NoArgsConstructor;
|
import lombok.NoArgsConstructor;
|
||||||
|
|||||||
@ -4,6 +4,8 @@ import java.time.OffsetDateTime;
|
|||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||||
|
|
||||||
import jakarta.persistence.Column;
|
import jakarta.persistence.Column;
|
||||||
import jakarta.persistence.Entity;
|
import jakarta.persistence.Entity;
|
||||||
import jakarta.persistence.FetchType;
|
import jakarta.persistence.FetchType;
|
||||||
@ -11,9 +13,6 @@ import jakarta.persistence.Id;
|
|||||||
import jakarta.persistence.ManyToMany;
|
import jakarta.persistence.ManyToMany;
|
||||||
import jakarta.persistence.ManyToOne;
|
import jakarta.persistence.ManyToOne;
|
||||||
import jakarta.persistence.Table;
|
import jakarta.persistence.Table;
|
||||||
|
|
||||||
import com.fasterxml.jackson.annotation.JsonIgnore;
|
|
||||||
|
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Builder;
|
import lombok.Builder;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|||||||
@ -1,17 +1,21 @@
|
|||||||
package com.iqser.red.service.persistence.management.v1.processor.entity.download;
|
package com.iqser.red.service.persistence.management.v1.processor.entity.download;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
import com.iqser.red.service.pdftron.redaction.v1.api.model.RedactionResultDetail;
|
import com.iqser.red.service.pdftron.redaction.v1.api.model.RedactionResultDetail;
|
||||||
import com.iqser.red.service.persistence.management.v1.processor.utils.JSONDownloadRedactionFileDetailsConverter;
|
import com.iqser.red.service.persistence.management.v1.processor.utils.JSONDownloadRedactionFileDetailsConverter;
|
||||||
|
|
||||||
import jakarta.persistence.*;
|
import jakarta.persistence.Column;
|
||||||
|
import jakarta.persistence.Convert;
|
||||||
|
import jakarta.persistence.Entity;
|
||||||
|
import jakarta.persistence.Id;
|
||||||
|
import jakarta.persistence.Table;
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Builder;
|
import lombok.Builder;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.NoArgsConstructor;
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
@Entity
|
@Entity
|
||||||
@Builder
|
@Builder
|
||||||
|
|||||||
@ -2,13 +2,12 @@ package com.iqser.red.service.persistence.management.v1.processor.entity.index;
|
|||||||
|
|
||||||
import java.time.OffsetDateTime;
|
import java.time.OffsetDateTime;
|
||||||
|
|
||||||
|
import com.iqser.red.service.persistence.service.v1.api.shared.model.utils.SuppressFBWarnings;
|
||||||
|
|
||||||
import jakarta.persistence.Column;
|
import jakarta.persistence.Column;
|
||||||
import jakarta.persistence.Entity;
|
import jakarta.persistence.Entity;
|
||||||
import jakarta.persistence.Id;
|
import jakarta.persistence.Id;
|
||||||
import jakarta.persistence.Table;
|
import jakarta.persistence.Table;
|
||||||
|
|
||||||
import com.iqser.red.service.persistence.service.v1.api.shared.model.utils.SuppressFBWarnings;
|
|
||||||
|
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Builder;
|
import lombok.Builder;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|||||||
@ -6,7 +6,6 @@ import jakarta.persistence.GeneratedValue;
|
|||||||
import jakarta.persistence.GenerationType;
|
import jakarta.persistence.GenerationType;
|
||||||
import jakarta.persistence.Id;
|
import jakarta.persistence.Id;
|
||||||
import jakarta.persistence.Table;
|
import jakarta.persistence.Table;
|
||||||
|
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Builder;
|
import lombok.Builder;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|||||||
@ -2,7 +2,12 @@ package com.iqser.red.service.persistence.management.v1.processor.entity.migrati
|
|||||||
|
|
||||||
import com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemplate.dossier.file.SaasMigrationStatus;
|
import com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemplate.dossier.file.SaasMigrationStatus;
|
||||||
|
|
||||||
import jakarta.persistence.*;
|
import jakarta.persistence.Column;
|
||||||
|
import jakarta.persistence.Entity;
|
||||||
|
import jakarta.persistence.EnumType;
|
||||||
|
import jakarta.persistence.Enumerated;
|
||||||
|
import jakarta.persistence.Id;
|
||||||
|
import jakarta.persistence.Table;
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Builder;
|
import lombok.Builder;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|||||||
@ -4,6 +4,8 @@ import java.time.OffsetDateTime;
|
|||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
|
import com.iqser.red.service.persistence.management.v1.processor.utils.JSONMapConverter;
|
||||||
|
|
||||||
import jakarta.persistence.Basic;
|
import jakarta.persistence.Basic;
|
||||||
import jakarta.persistence.Column;
|
import jakarta.persistence.Column;
|
||||||
import jakarta.persistence.Convert;
|
import jakarta.persistence.Convert;
|
||||||
@ -12,11 +14,7 @@ import jakarta.persistence.FetchType;
|
|||||||
import jakarta.persistence.GeneratedValue;
|
import jakarta.persistence.GeneratedValue;
|
||||||
import jakarta.persistence.GenerationType;
|
import jakarta.persistence.GenerationType;
|
||||||
import jakarta.persistence.Id;
|
import jakarta.persistence.Id;
|
||||||
import jakarta.persistence.SequenceGenerator;
|
|
||||||
import jakarta.persistence.Table;
|
import jakarta.persistence.Table;
|
||||||
|
|
||||||
import com.iqser.red.service.persistence.management.v1.processor.utils.JSONMapConverter;
|
|
||||||
|
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Builder;
|
import lombok.Builder;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|||||||
@ -3,18 +3,17 @@ package com.iqser.red.service.persistence.management.v1.processor.entity.notific
|
|||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
import org.hibernate.annotations.Fetch;
|
||||||
|
import org.hibernate.annotations.FetchMode;
|
||||||
|
|
||||||
|
import com.iqser.red.service.persistence.service.v1.api.shared.model.notification.EmailNotificationType;
|
||||||
|
|
||||||
import jakarta.persistence.Column;
|
import jakarta.persistence.Column;
|
||||||
import jakarta.persistence.ElementCollection;
|
import jakarta.persistence.ElementCollection;
|
||||||
import jakarta.persistence.Entity;
|
import jakarta.persistence.Entity;
|
||||||
import jakarta.persistence.FetchType;
|
import jakarta.persistence.FetchType;
|
||||||
import jakarta.persistence.Id;
|
import jakarta.persistence.Id;
|
||||||
import jakarta.persistence.Table;
|
import jakarta.persistence.Table;
|
||||||
|
|
||||||
import org.hibernate.annotations.Fetch;
|
|
||||||
import org.hibernate.annotations.FetchMode;
|
|
||||||
|
|
||||||
import com.iqser.red.service.persistence.service.v1.api.shared.model.notification.EmailNotificationType;
|
|
||||||
|
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Builder;
|
import lombok.Builder;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|||||||
@ -7,7 +7,6 @@ import jakarta.persistence.Entity;
|
|||||||
import jakarta.persistence.Id;
|
import jakarta.persistence.Id;
|
||||||
import jakarta.persistence.IdClass;
|
import jakarta.persistence.IdClass;
|
||||||
import jakarta.persistence.Table;
|
import jakarta.persistence.Table;
|
||||||
|
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.NoArgsConstructor;
|
import lombok.NoArgsConstructor;
|
||||||
|
|||||||
@ -2,8 +2,6 @@ package com.iqser.red.service.persistence.management.v1.processor.jobs;
|
|||||||
|
|
||||||
import java.text.ParseException;
|
import java.text.ParseException;
|
||||||
|
|
||||||
import com.iqser.red.service.persistence.management.v1.processor.service.job.*;
|
|
||||||
|
|
||||||
import org.quartz.CronExpression;
|
import org.quartz.CronExpression;
|
||||||
import org.quartz.CronScheduleBuilder;
|
import org.quartz.CronScheduleBuilder;
|
||||||
import org.quartz.JobBuilder;
|
import org.quartz.JobBuilder;
|
||||||
@ -13,6 +11,15 @@ import org.quartz.TriggerBuilder;
|
|||||||
import org.springframework.context.annotation.Bean;
|
import org.springframework.context.annotation.Bean;
|
||||||
import org.springframework.context.annotation.Configuration;
|
import org.springframework.context.annotation.Configuration;
|
||||||
|
|
||||||
|
import com.iqser.red.service.persistence.management.v1.processor.service.job.AnalysisFlagCalculationSchedulerJob;
|
||||||
|
import com.iqser.red.service.persistence.management.v1.processor.service.job.AutomaticAnalysisJob;
|
||||||
|
import com.iqser.red.service.persistence.management.v1.processor.service.job.DeletedFilesCleanupJob;
|
||||||
|
import com.iqser.red.service.persistence.management.v1.processor.service.job.DownloadCleanupJob;
|
||||||
|
import com.iqser.red.service.persistence.management.v1.processor.service.job.DownloadReadyJob;
|
||||||
|
import com.iqser.red.service.persistence.management.v1.processor.service.job.KeyCloakUserSyncJob;
|
||||||
|
import com.iqser.red.service.persistence.management.v1.processor.service.job.SendNotificationEmailJob;
|
||||||
|
import com.iqser.red.service.persistence.management.v1.processor.service.job.SyncUserPermissionsJob;
|
||||||
|
|
||||||
@Configuration
|
@Configuration
|
||||||
public class CreateJobsConfiguration {
|
public class CreateJobsConfiguration {
|
||||||
|
|
||||||
|
|||||||
@ -13,4 +13,5 @@ import lombok.NoArgsConstructor;
|
|||||||
public class LifecycleProperties {
|
public class LifecycleProperties {
|
||||||
|
|
||||||
private String basePackage;
|
private String basePackage;
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -8,6 +8,12 @@ import org.mapstruct.MappingTarget;
|
|||||||
import org.mapstruct.Mappings;
|
import org.mapstruct.Mappings;
|
||||||
import org.mapstruct.factory.Mappers;
|
import org.mapstruct.factory.Mappers;
|
||||||
|
|
||||||
|
import com.iqser.red.service.persistence.management.v1.processor.dataexchange.models.manualchanges.ManualAddExportModel;
|
||||||
|
import com.iqser.red.service.persistence.management.v1.processor.dataexchange.models.manualchanges.ManualForceExportModel;
|
||||||
|
import com.iqser.red.service.persistence.management.v1.processor.dataexchange.models.manualchanges.ManualLegalBasisChangeExportModel;
|
||||||
|
import com.iqser.red.service.persistence.management.v1.processor.dataexchange.models.manualchanges.ManualRecategorizationExportModel;
|
||||||
|
import com.iqser.red.service.persistence.management.v1.processor.dataexchange.models.manualchanges.ManualRemoveExportModel;
|
||||||
|
import com.iqser.red.service.persistence.management.v1.processor.dataexchange.models.manualchanges.ManualResizeExportModel;
|
||||||
import com.iqser.red.service.persistence.management.v1.processor.entity.annotations.AnnotationEntityId;
|
import com.iqser.red.service.persistence.management.v1.processor.entity.annotations.AnnotationEntityId;
|
||||||
import com.iqser.red.service.persistence.management.v1.processor.entity.annotations.IdRemovalEntity;
|
import com.iqser.red.service.persistence.management.v1.processor.entity.annotations.IdRemovalEntity;
|
||||||
import com.iqser.red.service.persistence.management.v1.processor.entity.annotations.ManualForceRedactionEntity;
|
import com.iqser.red.service.persistence.management.v1.processor.entity.annotations.ManualForceRedactionEntity;
|
||||||
@ -16,12 +22,6 @@ import com.iqser.red.service.persistence.management.v1.processor.entity.annotati
|
|||||||
import com.iqser.red.service.persistence.management.v1.processor.entity.annotations.ManualRedactionEntryEntity;
|
import com.iqser.red.service.persistence.management.v1.processor.entity.annotations.ManualRedactionEntryEntity;
|
||||||
import com.iqser.red.service.persistence.management.v1.processor.entity.annotations.ManualResizeRedactionEntity;
|
import com.iqser.red.service.persistence.management.v1.processor.entity.annotations.ManualResizeRedactionEntity;
|
||||||
import com.iqser.red.service.persistence.management.v1.processor.entity.dossier.FileEntity;
|
import com.iqser.red.service.persistence.management.v1.processor.entity.dossier.FileEntity;
|
||||||
import com.iqser.red.service.persistence.management.v1.processor.dataexchange.models.manualchanges.ManualAddExportModel;
|
|
||||||
import com.iqser.red.service.persistence.management.v1.processor.dataexchange.models.manualchanges.ManualForceExportModel;
|
|
||||||
import com.iqser.red.service.persistence.management.v1.processor.dataexchange.models.manualchanges.ManualLegalBasisChangeExportModel;
|
|
||||||
import com.iqser.red.service.persistence.management.v1.processor.dataexchange.models.manualchanges.ManualRecategorizationExportModel;
|
|
||||||
import com.iqser.red.service.persistence.management.v1.processor.dataexchange.models.manualchanges.ManualRemoveExportModel;
|
|
||||||
import com.iqser.red.service.persistence.management.v1.processor.dataexchange.models.manualchanges.ManualResizeExportModel;
|
|
||||||
|
|
||||||
@Mapper
|
@Mapper
|
||||||
public interface ManualChangesExportMapper {
|
public interface ManualChangesExportMapper {
|
||||||
@ -74,7 +74,8 @@ public interface ManualChangesExportMapper {
|
|||||||
@AfterMapping
|
@AfterMapping
|
||||||
default void setFileStatusAndId(ManualLegalBasisChangeExportModel model,
|
default void setFileStatusAndId(ManualLegalBasisChangeExportModel model,
|
||||||
@MappingTarget ManualLegalBasisChangeEntity.ManualLegalBasisChangeEntityBuilder entity,
|
@MappingTarget ManualLegalBasisChangeEntity.ManualLegalBasisChangeEntityBuilder entity,
|
||||||
@Context FileEntity file, @Context String userId) {
|
@Context FileEntity file,
|
||||||
|
@Context String userId) {
|
||||||
|
|
||||||
AnnotationEntityId annotationEntityId = new AnnotationEntityId(model.getAnnotationId(), file.getId());
|
AnnotationEntityId annotationEntityId = new AnnotationEntityId(model.getAnnotationId(), file.getId());
|
||||||
entity.id(annotationEntityId);
|
entity.id(annotationEntityId);
|
||||||
@ -86,7 +87,8 @@ public interface ManualChangesExportMapper {
|
|||||||
@AfterMapping
|
@AfterMapping
|
||||||
default void setFileStatusAndId(ManualRecategorizationExportModel model,
|
default void setFileStatusAndId(ManualRecategorizationExportModel model,
|
||||||
@MappingTarget ManualRecategorizationEntity.ManualRecategorizationEntityBuilder entity,
|
@MappingTarget ManualRecategorizationEntity.ManualRecategorizationEntityBuilder entity,
|
||||||
@Context FileEntity file, @Context String userId) {
|
@Context FileEntity file,
|
||||||
|
@Context String userId) {
|
||||||
|
|
||||||
AnnotationEntityId annotationEntityId = new AnnotationEntityId(model.getAnnotationId(), file.getId());
|
AnnotationEntityId annotationEntityId = new AnnotationEntityId(model.getAnnotationId(), file.getId());
|
||||||
entity.id(annotationEntityId);
|
entity.id(annotationEntityId);
|
||||||
@ -96,7 +98,10 @@ public interface ManualChangesExportMapper {
|
|||||||
|
|
||||||
|
|
||||||
@AfterMapping
|
@AfterMapping
|
||||||
default void setFileStatusAndId(ManualAddExportModel model, @MappingTarget ManualRedactionEntryEntity.ManualRedactionEntryEntityBuilder entity, @Context FileEntity file, @Context String userId) {
|
default void setFileStatusAndId(ManualAddExportModel model,
|
||||||
|
@MappingTarget ManualRedactionEntryEntity.ManualRedactionEntryEntityBuilder entity,
|
||||||
|
@Context FileEntity file,
|
||||||
|
@Context String userId) {
|
||||||
|
|
||||||
AnnotationEntityId annotationEntityId = new AnnotationEntityId(model.getAnnotationId(), file.getId());
|
AnnotationEntityId annotationEntityId = new AnnotationEntityId(model.getAnnotationId(), file.getId());
|
||||||
entity.id(annotationEntityId);
|
entity.id(annotationEntityId);
|
||||||
@ -106,7 +111,10 @@ public interface ManualChangesExportMapper {
|
|||||||
|
|
||||||
|
|
||||||
@AfterMapping
|
@AfterMapping
|
||||||
default void setFileStatusAndId(ManualResizeExportModel model, @MappingTarget ManualResizeRedactionEntity.ManualResizeRedactionEntityBuilder entity, @Context FileEntity file, @Context String userId) {
|
default void setFileStatusAndId(ManualResizeExportModel model,
|
||||||
|
@MappingTarget ManualResizeRedactionEntity.ManualResizeRedactionEntityBuilder entity,
|
||||||
|
@Context FileEntity file,
|
||||||
|
@Context String userId) {
|
||||||
|
|
||||||
AnnotationEntityId annotationEntityId = new AnnotationEntityId(model.getAnnotationId(), file.getId());
|
AnnotationEntityId annotationEntityId = new AnnotationEntityId(model.getAnnotationId(), file.getId());
|
||||||
entity.id(annotationEntityId);
|
entity.id(annotationEntityId);
|
||||||
@ -116,7 +124,10 @@ public interface ManualChangesExportMapper {
|
|||||||
|
|
||||||
|
|
||||||
@AfterMapping
|
@AfterMapping
|
||||||
default void setFileStatusAndId(ManualForceExportModel model, @MappingTarget ManualForceRedactionEntity.ManualForceRedactionEntityBuilder entity, @Context FileEntity file, @Context String userId) {
|
default void setFileStatusAndId(ManualForceExportModel model,
|
||||||
|
@MappingTarget ManualForceRedactionEntity.ManualForceRedactionEntityBuilder entity,
|
||||||
|
@Context FileEntity file,
|
||||||
|
@Context String userId) {
|
||||||
|
|
||||||
AnnotationEntityId annotationEntityId = new AnnotationEntityId(model.getAnnotationId(), file.getId());
|
AnnotationEntityId annotationEntityId = new AnnotationEntityId(model.getAnnotationId(), file.getId());
|
||||||
entity.id(annotationEntityId);
|
entity.id(annotationEntityId);
|
||||||
|
|||||||
@ -18,4 +18,5 @@ public class ComponentOverride {
|
|||||||
|
|
||||||
String name;
|
String name;
|
||||||
List<ComponentLogEntryValue> componentOverrideValues = new ArrayList<>();
|
List<ComponentLogEntryValue> componentOverrideValues = new ArrayList<>();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,11 +1,9 @@
|
|||||||
package com.iqser.red.service.persistence.management.v1.processor.model;
|
package com.iqser.red.service.persistence.management.v1.processor.model;
|
||||||
|
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.List;
|
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
import com.iqser.red.service.persistence.service.v1.api.shared.model.annotations.entitymapped.BaseAnnotation;
|
import com.iqser.red.service.persistence.service.v1.api.shared.model.annotations.entitymapped.BaseAnnotation;
|
||||||
import com.iqser.red.service.persistence.service.v1.api.shared.model.annotations.entitymapped.ManualRedactionEntry;
|
|
||||||
|
|
||||||
import lombok.Builder;
|
import lombok.Builder;
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
|
|||||||
@ -21,7 +21,9 @@ public class AnalyseEvent {
|
|||||||
private int numberOfPagesToOCR;
|
private int numberOfPagesToOCR;
|
||||||
private int numberOfOCRedPages;
|
private int numberOfOCRedPages;
|
||||||
|
|
||||||
|
|
||||||
public AnalyseEvent(String dossierId, String fileId, AnalyseStatus analyseStatus, Integer analysisNumber, OffsetDateTime timestamp) {
|
public AnalyseEvent(String dossierId, String fileId, AnalyseStatus analyseStatus, Integer analysisNumber, OffsetDateTime timestamp) {
|
||||||
|
|
||||||
this.dossierId = dossierId;
|
this.dossierId = dossierId;
|
||||||
this.fileId = fileId;
|
this.fileId = fileId;
|
||||||
this.analyseStatus = analyseStatus;
|
this.analyseStatus = analyseStatus;
|
||||||
|
|||||||
@ -10,6 +10,8 @@ import lombok.NoArgsConstructor;
|
|||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
public class DossierEvent {
|
public class DossierEvent {
|
||||||
|
|
||||||
private String dossierId;
|
private String dossierId;
|
||||||
private DossierEventType dossierEventType;
|
private DossierEventType dossierEventType;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,5 +1,11 @@
|
|||||||
package com.iqser.red.service.persistence.management.v1.processor.model.websocket;
|
package com.iqser.red.service.persistence.management.v1.processor.model.websocket;
|
||||||
|
|
||||||
public enum DossierEventType {
|
public enum DossierEventType {
|
||||||
CREATE, UPDATE, SOFT_DELETE, HARD_DELETE, UNDELETE, ARCHIVE, UNARCHIVE
|
CREATE,
|
||||||
|
UPDATE,
|
||||||
|
SOFT_DELETE,
|
||||||
|
HARD_DELETE,
|
||||||
|
UNDELETE,
|
||||||
|
ARCHIVE,
|
||||||
|
UNARCHIVE
|
||||||
}
|
}
|
||||||
|
|||||||
@ -16,4 +16,5 @@ public class DownloadEvent {
|
|||||||
private String downloadId;
|
private String downloadId;
|
||||||
private String userId;
|
private String userId;
|
||||||
private DownloadStatusValue status;
|
private DownloadStatusValue status;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -15,5 +15,4 @@ public class FileEvent {
|
|||||||
private String fileId;
|
private String fileId;
|
||||||
private FileEventType fileEventType;
|
private FileEventType fileEventType;
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,5 +1,9 @@
|
|||||||
package com.iqser.red.service.persistence.management.v1.processor.model.websocket;
|
package com.iqser.red.service.persistence.management.v1.processor.model.websocket;
|
||||||
|
|
||||||
public enum FileEventType {
|
public enum FileEventType {
|
||||||
CREATE, UPDATE, SOFT_DELETE, HARD_DELETE, UNDELETE
|
CREATE,
|
||||||
|
UPDATE,
|
||||||
|
SOFT_DELETE,
|
||||||
|
HARD_DELETE,
|
||||||
|
UNDELETE
|
||||||
}
|
}
|
||||||
|
|||||||
@ -12,4 +12,5 @@ import lombok.NoArgsConstructor;
|
|||||||
public class NotificationEvent {
|
public class NotificationEvent {
|
||||||
|
|
||||||
private String userId;
|
private String userId;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -237,10 +237,11 @@ public class DictionaryManagementService {
|
|||||||
|
|
||||||
@Transactional
|
@Transactional
|
||||||
public void addEntries(String typeId, List<String> entries, boolean removeCurrent, boolean ignoreInvalidEntries, DictionaryEntryType dictionaryEntryType) {
|
public void addEntries(String typeId, List<String> entries, boolean removeCurrent, boolean ignoreInvalidEntries, DictionaryEntryType dictionaryEntryType) {
|
||||||
|
|
||||||
addEntries(typeId, entries, removeCurrent, ignoreInvalidEntries, dictionaryEntryType, false);
|
addEntries(typeId, entries, removeCurrent, ignoreInvalidEntries, dictionaryEntryType, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@Transactional
|
@Transactional
|
||||||
public void addEntries(String typeId, List<String> entries, boolean removeCurrent, boolean ignoreInvalidEntries, DictionaryEntryType dictionaryEntryType, boolean isImport) {
|
public void addEntries(String typeId, List<String> entries, boolean removeCurrent, boolean ignoreInvalidEntries, DictionaryEntryType dictionaryEntryType, boolean isImport) {
|
||||||
|
|
||||||
|
|||||||
@ -132,7 +132,8 @@ public class DictionaryService {
|
|||||||
if (entriesToDelete != null && !entriesToDelete.isEmpty()) {
|
if (entriesToDelete != null && !entriesToDelete.isEmpty()) {
|
||||||
deleteGlobalEntries(type, dossierTemplateId, entriesToDelete, dictionaryEntryType);
|
deleteGlobalEntries(type, dossierTemplateId, entriesToDelete, dictionaryEntryType);
|
||||||
}
|
}
|
||||||
if (entriesToAdd != null && !entriesToAdd.isEmpty() && !entriesToAdd.stream().allMatch(String::isEmpty)) {
|
if (entriesToAdd != null && !entriesToAdd.isEmpty() && !entriesToAdd.stream()
|
||||||
|
.allMatch(String::isEmpty)) {
|
||||||
addGlobalEntries(type, dossierTemplateId, entriesToAdd, false, dictionaryEntryType);
|
addGlobalEntries(type, dossierTemplateId, entriesToAdd, false, dictionaryEntryType);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -150,7 +151,8 @@ public class DictionaryService {
|
|||||||
if (entriesToDelete != null && !entriesToDelete.isEmpty()) {
|
if (entriesToDelete != null && !entriesToDelete.isEmpty()) {
|
||||||
deleteDossierEntries(type, dossierTemplateId, entriesToDelete, dossierId, dictionaryEntryType);
|
deleteDossierEntries(type, dossierTemplateId, entriesToDelete, dossierId, dictionaryEntryType);
|
||||||
}
|
}
|
||||||
if (entriesToAdd != null && !entriesToAdd.isEmpty() && !entriesToAdd.stream().allMatch(String::isEmpty)) {
|
if (entriesToAdd != null && !entriesToAdd.isEmpty() && !entriesToAdd.stream()
|
||||||
|
.allMatch(String::isEmpty)) {
|
||||||
addDossierEntries(type, dossierTemplateId, entriesToAdd, false, dossierId, dictionaryEntryType);
|
addDossierEntries(type, dossierTemplateId, entriesToAdd, false, dossierId, dictionaryEntryType);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -487,6 +489,7 @@ public class DictionaryService {
|
|||||||
return MagicConverter.convert(colorsService.getColors(dossierTemplateId), Colors.class);
|
return MagicConverter.convert(colorsService.getColors(dossierTemplateId), Colors.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@PreAuthorize("hasAuthority('" + ADD_UPDATE_DICTIONARY_TYPE + "')")
|
@PreAuthorize("hasAuthority('" + ADD_UPDATE_DICTIONARY_TYPE + "')")
|
||||||
public void changeAddToDictionary(String type, String dossierTemplateId, String dossierId, boolean addToDictionary) {
|
public void changeAddToDictionary(String type, String dossierTemplateId, String dossierId, boolean addToDictionary) {
|
||||||
|
|
||||||
|
|||||||
@ -23,6 +23,7 @@ public class DossierIdFileIdRequestValidator {
|
|||||||
DossierManagementService dossierManagementService;
|
DossierManagementService dossierManagementService;
|
||||||
FileStatusManagementService fileStatusManagementService;
|
FileStatusManagementService fileStatusManagementService;
|
||||||
|
|
||||||
|
|
||||||
@Observed(name = "DossierIdFileIdRequestValidator", contextualName = "validate-request")
|
@Observed(name = "DossierIdFileIdRequestValidator", contextualName = "validate-request")
|
||||||
public void validateRequestOrThrow404(String dossierTemplateId, Set<String> dossierIds, Set<String> fileIds) {
|
public void validateRequestOrThrow404(String dossierTemplateId, Set<String> dossierIds, Set<String> fileIds) {
|
||||||
|
|
||||||
|
|||||||
@ -64,8 +64,9 @@ public class DossierManagementService {
|
|||||||
|
|
||||||
List<FileModel> fileStatuses = fileStatusService.getDossierStatus(dossierId);
|
List<FileModel> fileStatuses = fileStatusService.getDossierStatus(dossierId);
|
||||||
var relevantFileIds = fileStatuses.stream()
|
var relevantFileIds = fileStatuses.stream()
|
||||||
.filter(fileStatus -> fileStatus.getDeleted() == null).map(FileModel::getId).toList();
|
.filter(fileStatus -> fileStatus.getDeleted() == null)
|
||||||
|
.map(FileModel::getId)
|
||||||
|
.toList();
|
||||||
|
|
||||||
dossierDeletionService.softDeleteDossier(dossierId, relevantFileIds, now);
|
dossierDeletionService.softDeleteDossier(dossierId, relevantFileIds, now);
|
||||||
fileDeletionService.reindexDeletedFiles(dossierId, relevantFileIds);
|
fileDeletionService.reindexDeletedFiles(dossierId, relevantFileIds);
|
||||||
@ -119,6 +120,7 @@ public class DossierManagementService {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@Transactional
|
@Transactional
|
||||||
public Set<String> getAllDossierIdsForDossierTemplateId(String dossierTemplateId) {
|
public Set<String> getAllDossierIdsForDossierTemplateId(String dossierTemplateId) {
|
||||||
|
|
||||||
@ -208,7 +210,10 @@ public class DossierManagementService {
|
|||||||
|
|
||||||
for (String dossierId : dossierIds) {
|
for (String dossierId : dossierIds) {
|
||||||
|
|
||||||
List<String> fileIds = fileStatusService.getDossierStatus(dossierId).stream().map(FileModel::getId).collect(Collectors.toList());
|
List<String> fileIds = fileStatusService.getDossierStatus(dossierId)
|
||||||
|
.stream()
|
||||||
|
.map(FileModel::getId)
|
||||||
|
.collect(Collectors.toList());
|
||||||
dossierDeletionService.hardDeleteDossier(dossierId, fileIds);
|
dossierDeletionService.hardDeleteDossier(dossierId, fileIds);
|
||||||
dossierDeletionService.hardDeleteFileDataAndIndexUpdates(dossierId, fileIds);
|
dossierDeletionService.hardDeleteFileDataAndIndexUpdates(dossierId, fileIds);
|
||||||
}
|
}
|
||||||
@ -221,10 +226,13 @@ public class DossierManagementService {
|
|||||||
for (String dossierId : dossierIds) {
|
for (String dossierId : dossierIds) {
|
||||||
var dossier = dossierService.getDossierById(dossierId);
|
var dossier = dossierService.getDossierById(dossierId);
|
||||||
List<FileModel> fileStatuses = fileStatusService.getDossierStatus(dossierId);
|
List<FileModel> fileStatuses = fileStatusService.getDossierStatus(dossierId);
|
||||||
var relevantFileIds = fileStatuses.stream().filter(fileStatus -> fileStatus.getDeleted() != null && (fileStatus.getDeleted().equals(dossier.getSoftDeletedTime()) || fileStatus.getDeleted()
|
var relevantFileIds = fileStatuses.stream()
|
||||||
.isAfter(dossier.getSoftDeletedTime()))).map(FileModel::getId).collect(Collectors.toList());
|
.filter(fileStatus -> fileStatus.getDeleted() != null && (fileStatus.getDeleted().equals(dossier.getSoftDeletedTime()) || fileStatus.getDeleted()
|
||||||
|
.isAfter(dossier.getSoftDeletedTime())))
|
||||||
|
.map(FileModel::getId)
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
|
||||||
dossierDeletionService.undeleteDossier(dossierId,relevantFileIds,dossier.getSoftDeletedTime());
|
dossierDeletionService.undeleteDossier(dossierId, relevantFileIds, dossier.getSoftDeletedTime());
|
||||||
dossierDeletionService.reindexUndeletedFiles(dossier.getDossierTemplateId(), dossierId, relevantFileIds);
|
dossierDeletionService.reindexUndeletedFiles(dossier.getDossierTemplateId(), dossierId, relevantFileIds);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -153,6 +153,7 @@ public class DossierService {
|
|||||||
return dossierPersistenceService.findAllDossiersForDossierTemplateId(dossierTemplateId);
|
return dossierPersistenceService.findAllDossiersForDossierTemplateId(dossierTemplateId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public Set<String> getAllDossierIdsForDossierTemplateId(String dossierTemplateId) {
|
public Set<String> getAllDossierIdsForDossierTemplateId(String dossierTemplateId) {
|
||||||
|
|
||||||
return dossierPersistenceService.findAllDossierIdsForDossierTemplateId(dossierTemplateId);
|
return dossierPersistenceService.findAllDossierIdsForDossierTemplateId(dossierTemplateId);
|
||||||
|
|||||||
@ -66,7 +66,6 @@ public class DossierTemplateManagementService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public DossierTemplate importDossierTemplate(ImportDossierTemplateRequest request) {
|
public DossierTemplate importDossierTemplate(ImportDossierTemplateRequest request) {
|
||||||
|
|
||||||
String dossierTemplateId = dossierTemplateImportService.importDossierTemplate(request);
|
String dossierTemplateId = dossierTemplateImportService.importDossierTemplate(request);
|
||||||
|
|||||||
@ -37,7 +37,12 @@ public class EntityLogMongoWrapperService {
|
|||||||
if (includeUnprocessed) {
|
if (includeUnprocessed) {
|
||||||
DossierEntity dossier = dossierService.getDossierById(dossierId);
|
DossierEntity dossier = dossierService.getDossierById(dossierId);
|
||||||
ManualRedactions unprocessedManualRedactions = manualRedactionProviderService.getManualRedactions(fileId, ManualChangesQueryOptions.unprocessedOnly(), ids);
|
ManualRedactions unprocessedManualRedactions = manualRedactionProviderService.getManualRedactions(fileId, ManualChangesQueryOptions.unprocessedOnly(), ids);
|
||||||
entityLogEntries = entityLogMergeService.mergeEntityLogEntries(unprocessedManualRedactions, entityLogEntries.stream().map(EntityLogEntry::getId).toList(), dossier, fileId);
|
entityLogEntries = entityLogMergeService.mergeEntityLogEntries(unprocessedManualRedactions,
|
||||||
|
entityLogEntries.stream()
|
||||||
|
.map(EntityLogEntry::getId)
|
||||||
|
.toList(),
|
||||||
|
dossier,
|
||||||
|
fileId);
|
||||||
}
|
}
|
||||||
return entityLogEntries;
|
return entityLogEntries;
|
||||||
}
|
}
|
||||||
@ -47,4 +52,5 @@ public class EntityLogMongoWrapperService {
|
|||||||
|
|
||||||
return String.format("EntityLogEntry does not exist for annotationId ID \"%s\"!", annotationId);
|
return String.format("EntityLogEntry does not exist for annotationId ID \"%s\"!", annotationId);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -45,6 +45,7 @@ public class EntityLogService {
|
|||||||
return entityLog;
|
return entityLog;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@Observed(name = "EntityLogService", contextualName = "get-entity-log")
|
@Observed(name = "EntityLogService", contextualName = "get-entity-log")
|
||||||
public EntityLog getEntityLog(String dossierId, String fileId, boolean includeUnProcessed) {
|
public EntityLog getEntityLog(String dossierId, String fileId, boolean includeUnProcessed) {
|
||||||
|
|
||||||
@ -52,6 +53,8 @@ public class EntityLogService {
|
|||||||
postProcessEntityLog(dossierId, fileId, entityLog, includeUnProcessed);
|
postProcessEntityLog(dossierId, fileId, entityLog, includeUnProcessed);
|
||||||
return entityLog;
|
return entityLog;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@Observed(name = "EntityLogService", contextualName = "get-entity-log")
|
@Observed(name = "EntityLogService", contextualName = "get-entity-log")
|
||||||
public EntityLog getEntityLog(String dossierId, String fileId, List<String> excludedTypes, boolean includeUnProcessed) {
|
public EntityLog getEntityLog(String dossierId, String fileId, List<String> excludedTypes, boolean includeUnProcessed) {
|
||||||
|
|
||||||
|
|||||||
@ -18,6 +18,7 @@ import com.iqser.red.service.persistence.management.v1.processor.service.persist
|
|||||||
import com.iqser.red.service.persistence.management.v1.processor.service.persistence.annotations.ResizeRedactionPersistenceService;
|
import com.iqser.red.service.persistence.management.v1.processor.service.persistence.annotations.ResizeRedactionPersistenceService;
|
||||||
import com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemplate.dossier.file.FileType;
|
import com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemplate.dossier.file.FileType;
|
||||||
import com.iqser.red.service.search.v1.model.IndexMessageType;
|
import com.iqser.red.service.search.v1.model.IndexMessageType;
|
||||||
|
|
||||||
import jakarta.transaction.Transactional;
|
import jakarta.transaction.Transactional;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
|||||||
@ -145,6 +145,7 @@ public class FileManagementStorageService {
|
|||||||
entityLogMongoService.saveEntityLog(dossierId, fileId, entityLog);
|
entityLogMongoService.saveEntityLog(dossierId, fileId, entityLog);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@SneakyThrows
|
@SneakyThrows
|
||||||
public void insertEntityLog(String dossierId, String fileId, EntityLog entityLog) {
|
public void insertEntityLog(String dossierId, String fileId, EntityLog entityLog) {
|
||||||
|
|
||||||
|
|||||||
@ -38,11 +38,13 @@ public class FileStatusManagementService {
|
|||||||
return fileStatusService.getAllFiles();
|
return fileStatusService.getAllFiles();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public List<FileModel> getAllDossierTemplateStatus(String dossierTemplateId) {
|
public List<FileModel> getAllDossierTemplateStatus(String dossierTemplateId) {
|
||||||
|
|
||||||
return fileStatusService.getDossierTemplateStatus(dossierTemplateId);
|
return fileStatusService.getDossierTemplateStatus(dossierTemplateId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public List<FileModel> getDossierStatus(String dossierId) {
|
public List<FileModel> getDossierStatus(String dossierId) {
|
||||||
|
|
||||||
return fileStatusService.getDossierStatus(dossierId)
|
return fileStatusService.getDossierStatus(dossierId)
|
||||||
@ -52,7 +54,6 @@ public class FileStatusManagementService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public List<FileModel> getAllDossierStatus(String dossierId) {
|
public List<FileModel> getAllDossierStatus(String dossierId) {
|
||||||
|
|
||||||
return fileStatusService.getDossierStatus(dossierId);
|
return fileStatusService.getDossierStatus(dossierId);
|
||||||
|
|||||||
@ -95,6 +95,7 @@ public class FileStatusService {
|
|||||||
|
|
||||||
WebsocketService websocketService;
|
WebsocketService websocketService;
|
||||||
|
|
||||||
|
|
||||||
@Transactional
|
@Transactional
|
||||||
public List<FileModel> getAllRelevantStatusesForReanalysisScheduler() {
|
public List<FileModel> getAllRelevantStatusesForReanalysisScheduler() {
|
||||||
|
|
||||||
@ -125,6 +126,7 @@ public class FileStatusService {
|
|||||||
return reanalysisRequiredStatusService.enhanceFileStatusWithAnalysisRequirements(convertedList);
|
return reanalysisRequiredStatusService.enhanceFileStatusWithAnalysisRequirements(convertedList);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@Transactional
|
@Transactional
|
||||||
public List<FileModel> getDossierTemplateStatus(String dossierTemplateId) {
|
public List<FileModel> getDossierTemplateStatus(String dossierTemplateId) {
|
||||||
|
|
||||||
@ -133,6 +135,7 @@ public class FileStatusService {
|
|||||||
return reanalysisRequiredStatusService.enhanceFileStatusWithAnalysisRequirements(convertedList);
|
return reanalysisRequiredStatusService.enhanceFileStatusWithAnalysisRequirements(convertedList);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@Transactional
|
@Transactional
|
||||||
public List<FileModel> getAllFiles() {
|
public List<FileModel> getAllFiles() {
|
||||||
|
|
||||||
@ -141,6 +144,7 @@ public class FileStatusService {
|
|||||||
return reanalysisRequiredStatusService.enhanceFileStatusWithAnalysisRequirements(convertedList);
|
return reanalysisRequiredStatusService.enhanceFileStatusWithAnalysisRequirements(convertedList);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@Transactional
|
@Transactional
|
||||||
public List<FileModel> getAllErrorFiles() {
|
public List<FileModel> getAllErrorFiles() {
|
||||||
|
|
||||||
@ -202,7 +206,6 @@ public class FileStatusService {
|
|||||||
var dossier = dossierPersistenceService.getAndValidateDossier(dossierId);
|
var dossier = dossierPersistenceService.getAndValidateDossier(dossierId);
|
||||||
var fileEntity = fileStatusPersistenceService.getStatus(fileId);
|
var fileEntity = fileStatusPersistenceService.getStatus(fileId);
|
||||||
|
|
||||||
|
|
||||||
if (!fileManagementStorageService.objectExists(dossierId, fileId, FileType.ORIGIN)) {
|
if (!fileManagementStorageService.objectExists(dossierId, fileId, FileType.ORIGIN)) {
|
||||||
addToPreprocessingQueue(dossierId, fileId, fileEntity.getFilename());
|
addToPreprocessingQueue(dossierId, fileId, fileEntity.getFilename());
|
||||||
sendReadOnlyAnalysisEvent(dossierId, fileId, fileEntity);
|
sendReadOnlyAnalysisEvent(dossierId, fileId, fileEntity);
|
||||||
@ -302,14 +305,24 @@ public class FileStatusService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private void sendAnalysisEvent(String dossierId, String fileId, FileEntity fileEntity){
|
private void sendAnalysisEvent(String dossierId, String fileId, FileEntity fileEntity) {
|
||||||
if(fileEntity.getProcessingStatus().equals(ProcessingStatus.UNPROCESSED) || fileEntity.getProcessingStatus().equals(ProcessingStatus.ERROR) || fileEntity.getProcessingStatus().equals(ProcessingStatus.REPROCESS) || fileEntity.getProcessingStatus().equals(ProcessingStatus.PROCESSED)){
|
|
||||||
|
if (fileEntity.getProcessingStatus().equals(ProcessingStatus.UNPROCESSED)
|
||||||
|
|| fileEntity.getProcessingStatus().equals(ProcessingStatus.ERROR)
|
||||||
|
|| fileEntity.getProcessingStatus().equals(ProcessingStatus.REPROCESS)
|
||||||
|
|| fileEntity.getProcessingStatus().equals(ProcessingStatus.PROCESSED)) {
|
||||||
websocketService.sendAnalysisEvent(dossierId, fileId, AnalyseStatus.PROCESSING, fileEntity.getNumberOfAnalyses() + 1);
|
websocketService.sendAnalysisEvent(dossierId, fileId, AnalyseStatus.PROCESSING, fileEntity.getNumberOfAnalyses() + 1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void sendReadOnlyAnalysisEvent(String dossierId, String fileId, FileEntity fileEntity){
|
|
||||||
if(fileEntity.getProcessingStatus().equals(ProcessingStatus.UNPROCESSED) || fileEntity.getProcessingStatus().equals(ProcessingStatus.ERROR) || fileEntity.getProcessingStatus().equals(ProcessingStatus.REPROCESS) || fileEntity.getProcessingStatus().equals(ProcessingStatus.PROCESSED) || fileEntity.getProcessingStatus().equals(ProcessingStatus.OCR_PROCESSING)){
|
private void sendReadOnlyAnalysisEvent(String dossierId, String fileId, FileEntity fileEntity) {
|
||||||
|
|
||||||
|
if (fileEntity.getProcessingStatus().equals(ProcessingStatus.UNPROCESSED)
|
||||||
|
|| fileEntity.getProcessingStatus().equals(ProcessingStatus.ERROR)
|
||||||
|
|| fileEntity.getProcessingStatus().equals(ProcessingStatus.REPROCESS)
|
||||||
|
|| fileEntity.getProcessingStatus().equals(ProcessingStatus.PROCESSED)
|
||||||
|
|| fileEntity.getProcessingStatus().equals(ProcessingStatus.OCR_PROCESSING)) {
|
||||||
websocketService.sendAnalysisEvent(dossierId, fileId, AnalyseStatus.READ_ONLY_PROCESSING, fileEntity.getNumberOfAnalyses() + 1);
|
websocketService.sendAnalysisEvent(dossierId, fileId, AnalyseStatus.READ_ONLY_PROCESSING, fileEntity.getNumberOfAnalyses() + 1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -536,7 +549,8 @@ public class FileStatusService {
|
|||||||
|
|
||||||
public void setStatusSuccessful(String dossierId, String fileId, AnalyzeResult analyzeResult) {
|
public void setStatusSuccessful(String dossierId, String fileId, AnalyzeResult analyzeResult) {
|
||||||
|
|
||||||
fileStatusPersistenceService.updateProcessingStatus(dossierId, fileId,
|
fileStatusPersistenceService.updateProcessingStatus(dossierId,
|
||||||
|
fileId,
|
||||||
analyzeResult.getNumberOfPages(),
|
analyzeResult.getNumberOfPages(),
|
||||||
analyzeResult.getDictionaryVersion(),
|
analyzeResult.getDictionaryVersion(),
|
||||||
analyzeResult.getRulesVersion(),
|
analyzeResult.getRulesVersion(),
|
||||||
@ -621,6 +635,7 @@ public class FileStatusService {
|
|||||||
|
|
||||||
|
|
||||||
public void setStatusIndexingSuccessful(String fileId) {
|
public void setStatusIndexingSuccessful(String fileId) {
|
||||||
|
|
||||||
fileStatusPersistenceService.setUpdateStatusIndexingSuccessful(fileId);
|
fileStatusPersistenceService.setUpdateStatusIndexingSuccessful(fileId);
|
||||||
FileEntity fileStatus = fileStatusPersistenceService.getStatus(fileId);
|
FileEntity fileStatus = fileStatusPersistenceService.getStatus(fileId);
|
||||||
websocketService.sendFileEvent(fileStatus.getDossierId(), fileId, FileEventType.UPDATE);
|
websocketService.sendFileEvent(fileStatus.getDossierId(), fileId, FileEventType.UPDATE);
|
||||||
@ -642,6 +657,7 @@ public class FileStatusService {
|
|||||||
|
|
||||||
|
|
||||||
public void updateFileModificationDate(String fileId, OffsetDateTime fileManipulationDate) {
|
public void updateFileModificationDate(String fileId, OffsetDateTime fileManipulationDate) {
|
||||||
|
|
||||||
fileStatusPersistenceService.updateFileModificationDate(fileId, fileManipulationDate);
|
fileStatusPersistenceService.updateFileModificationDate(fileId, fileManipulationDate);
|
||||||
FileEntity fileStatus = fileStatusPersistenceService.getStatus(fileId);
|
FileEntity fileStatus = fileStatusPersistenceService.getStatus(fileId);
|
||||||
websocketService.sendFileEvent(fileStatus.getDossierId(), fileId, FileEventType.UPDATE);
|
websocketService.sendFileEvent(fileStatus.getDossierId(), fileId, FileEventType.UPDATE);
|
||||||
|
|||||||
@ -30,33 +30,44 @@ public class WebsocketService {
|
|||||||
|
|
||||||
public void sendAnalysisEvent(String dossierId, String fileId, AnalyseStatus analyseStatus, int analysisNumber) {
|
public void sendAnalysisEvent(String dossierId, String fileId, AnalyseStatus analyseStatus, int analysisNumber) {
|
||||||
|
|
||||||
template.convertAndSend("/topic/" + TenantContext.getTenantId() + "/analysis-events", new AnalyseEvent(dossierId, fileId, analyseStatus, analysisNumber, OffsetDateTime.now().truncatedTo(ChronoUnit.MILLIS)));
|
template.convertAndSend("/topic/" + TenantContext.getTenantId() + "/analysis-events",
|
||||||
|
new AnalyseEvent(dossierId, fileId, analyseStatus, analysisNumber, OffsetDateTime.now().truncatedTo(ChronoUnit.MILLIS)));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public void sendOcrUpdateAnalysisEvent(String dossierId, String fileId, AnalyseStatus analyseStatus, int analysisNumber, int numberOfPagesToOCR, int numberOfOCRedPages) {
|
public void sendOcrUpdateAnalysisEvent(String dossierId, String fileId, AnalyseStatus analyseStatus, int analysisNumber, int numberOfPagesToOCR, int numberOfOCRedPages) {
|
||||||
|
|
||||||
template.convertAndSend("/topic/" + TenantContext.getTenantId() + "/analysis-events", new AnalyseEvent(dossierId, fileId, analyseStatus, analysisNumber, OffsetDateTime.now().truncatedTo(ChronoUnit.MILLIS), numberOfPagesToOCR, numberOfOCRedPages));
|
template.convertAndSend("/topic/" + TenantContext.getTenantId() + "/analysis-events",
|
||||||
|
new AnalyseEvent(dossierId,
|
||||||
|
fileId,
|
||||||
|
analyseStatus,
|
||||||
|
analysisNumber,
|
||||||
|
OffsetDateTime.now().truncatedTo(ChronoUnit.MILLIS),
|
||||||
|
numberOfPagesToOCR,
|
||||||
|
numberOfOCRedPages));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public void sendDownloadEvent(String downloadId, String userId, DownloadStatusValue downloadStatusValue){
|
public void sendDownloadEvent(String downloadId, String userId, DownloadStatusValue downloadStatusValue) {
|
||||||
|
|
||||||
template.convertAndSend("/topic/" + TenantContext.getTenantId() + "/download-events", new DownloadEvent(downloadId, userId, downloadStatusValue));
|
template.convertAndSend("/topic/" + TenantContext.getTenantId() + "/download-events", new DownloadEvent(downloadId, userId, downloadStatusValue));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public void sendFileEvent(String dossierId, String fileId, FileEventType fileEventType){
|
public void sendFileEvent(String dossierId, String fileId, FileEventType fileEventType) {
|
||||||
|
|
||||||
template.convertAndSend("/topic/" + TenantContext.getTenantId() + "/file-events", new FileEvent(dossierId, fileId, fileEventType));
|
template.convertAndSend("/topic/" + TenantContext.getTenantId() + "/file-events", new FileEvent(dossierId, fileId, fileEventType));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public void sendDossierEvent(String dossierId, DossierEventType dossierEventType){
|
public void sendDossierEvent(String dossierId, DossierEventType dossierEventType) {
|
||||||
|
|
||||||
template.convertAndSend("/topic/" + TenantContext.getTenantId() + "/dossier-events", new DossierEvent(dossierId, dossierEventType));
|
template.convertAndSend("/topic/" + TenantContext.getTenantId() + "/dossier-events", new DossierEvent(dossierId, dossierEventType));
|
||||||
}
|
}
|
||||||
|
|
||||||
public void sendNotificationEvent(String userId){
|
|
||||||
|
public void sendNotificationEvent(String userId) {
|
||||||
|
|
||||||
template.convertAndSend("/topic/" + TenantContext.getTenantId() + "/notification-events", new NotificationEvent(userId));
|
template.convertAndSend("/topic/" + TenantContext.getTenantId() + "/notification-events", new NotificationEvent(userId));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -1,6 +1,5 @@
|
|||||||
package com.iqser.red.service.persistence.management.v1.processor.service.download;
|
package com.iqser.red.service.persistence.management.v1.processor.service.download;
|
||||||
|
|
||||||
import org.springframework.amqp.core.Message;
|
|
||||||
import org.springframework.amqp.rabbit.annotation.RabbitHandler;
|
import org.springframework.amqp.rabbit.annotation.RabbitHandler;
|
||||||
import org.springframework.amqp.rabbit.annotation.RabbitListener;
|
import org.springframework.amqp.rabbit.annotation.RabbitListener;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|||||||
@ -47,10 +47,8 @@ import com.iqser.red.service.redaction.report.v1.api.model.StoredFileInformation
|
|||||||
import com.knecon.fforesight.tenantcommons.TenantContext;
|
import com.knecon.fforesight.tenantcommons.TenantContext;
|
||||||
|
|
||||||
import jakarta.transaction.Transactional;
|
import jakarta.transaction.Transactional;
|
||||||
import lombok.AccessLevel;
|
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import lombok.SneakyThrows;
|
import lombok.SneakyThrows;
|
||||||
import lombok.experimental.FieldDefaults;
|
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
|
||||||
@Slf4j
|
@Slf4j
|
||||||
|
|||||||
@ -7,7 +7,6 @@ import java.util.stream.Collectors;
|
|||||||
import org.springframework.amqp.rabbit.core.RabbitTemplate;
|
import org.springframework.amqp.rabbit.core.RabbitTemplate;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
|
||||||
import com.iqser.red.service.persistence.management.v1.processor.configuration.MessagingConfiguration;
|
import com.iqser.red.service.persistence.management.v1.processor.configuration.MessagingConfiguration;
|
||||||
import com.iqser.red.service.persistence.management.v1.processor.entity.dossier.FileEntity;
|
import com.iqser.red.service.persistence.management.v1.processor.entity.dossier.FileEntity;
|
||||||
import com.iqser.red.service.persistence.management.v1.processor.entity.dossier.ReportTemplateEntity;
|
import com.iqser.red.service.persistence.management.v1.processor.entity.dossier.ReportTemplateEntity;
|
||||||
@ -39,7 +38,6 @@ public class DownloadProcessorService {
|
|||||||
downloadStatusPersistenceService.updateStatus(downloadJob.getStorageId(), DownloadStatusValue.GENERATING);
|
downloadStatusPersistenceService.updateStatus(downloadJob.getStorageId(), DownloadStatusValue.GENERATING);
|
||||||
websocketService.sendDownloadEvent(downloadJob.getStorageId(), downloadJob.getUserId(), DownloadStatusValue.GENERATING);
|
websocketService.sendDownloadEvent(downloadJob.getStorageId(), downloadJob.getUserId(), DownloadStatusValue.GENERATING);
|
||||||
|
|
||||||
|
|
||||||
var dossier = dossierService.getDossierById(downloadStatus.getFiles()
|
var dossier = dossierService.getDossierById(downloadStatus.getFiles()
|
||||||
.iterator().next().getDossierId());
|
.iterator().next().getDossierId());
|
||||||
|
|
||||||
|
|||||||
@ -2,18 +2,7 @@ package com.iqser.red.service.persistence.management.v1.processor.service.downlo
|
|||||||
|
|
||||||
import static com.iqser.red.service.persistence.management.v1.processor.configuration.MessagingConfiguration.X_ERROR_INFO_HEADER;
|
import static com.iqser.red.service.persistence.management.v1.processor.configuration.MessagingConfiguration.X_ERROR_INFO_HEADER;
|
||||||
|
|
||||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
import java.io.IOException;
|
||||||
import com.iqser.red.service.pdftron.redaction.v1.api.model.RedactionMessage;
|
|
||||||
import com.iqser.red.service.persistence.management.v1.processor.configuration.MessagingConfiguration;
|
|
||||||
import com.iqser.red.service.persistence.management.v1.processor.service.persistence.DownloadStatusPersistenceService;
|
|
||||||
import com.iqser.red.service.persistence.management.v1.processor.settings.FileManagementServiceSettings;
|
|
||||||
import com.iqser.red.service.persistence.service.v1.api.shared.model.download.DownloadStatusValue;
|
|
||||||
import com.iqser.red.service.redaction.report.v1.api.model.ReportRequestMessage;
|
|
||||||
|
|
||||||
import lombok.AccessLevel;
|
|
||||||
import lombok.RequiredArgsConstructor;
|
|
||||||
import lombok.experimental.FieldDefaults;
|
|
||||||
import lombok.extern.slf4j.Slf4j;
|
|
||||||
|
|
||||||
import org.springframework.amqp.core.Message;
|
import org.springframework.amqp.core.Message;
|
||||||
import org.springframework.amqp.rabbit.annotation.RabbitHandler;
|
import org.springframework.amqp.rabbit.annotation.RabbitHandler;
|
||||||
@ -22,7 +11,17 @@ import org.springframework.amqp.rabbit.core.RabbitTemplate;
|
|||||||
import org.springframework.retry.support.RetryTemplate;
|
import org.springframework.retry.support.RetryTemplate;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import java.io.IOException;
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||||
|
import com.iqser.red.service.pdftron.redaction.v1.api.model.RedactionMessage;
|
||||||
|
import com.iqser.red.service.persistence.management.v1.processor.configuration.MessagingConfiguration;
|
||||||
|
import com.iqser.red.service.persistence.management.v1.processor.service.persistence.DownloadStatusPersistenceService;
|
||||||
|
import com.iqser.red.service.persistence.management.v1.processor.settings.FileManagementServiceSettings;
|
||||||
|
import com.iqser.red.service.persistence.service.v1.api.shared.model.download.DownloadStatusValue;
|
||||||
|
|
||||||
|
import lombok.AccessLevel;
|
||||||
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import lombok.experimental.FieldDefaults;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
|
||||||
@Slf4j
|
@Slf4j
|
||||||
@Service
|
@Service
|
||||||
|
|||||||
@ -1,5 +1,11 @@
|
|||||||
package com.iqser.red.service.persistence.management.v1.processor.service.download;
|
package com.iqser.red.service.persistence.management.v1.processor.service.download;
|
||||||
|
|
||||||
|
import org.springframework.amqp.AmqpRejectAndDontRequeueException;
|
||||||
|
import org.springframework.amqp.core.Message;
|
||||||
|
import org.springframework.amqp.rabbit.annotation.RabbitHandler;
|
||||||
|
import org.springframework.amqp.rabbit.annotation.RabbitListener;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||||
import com.iqser.red.service.pdftron.redaction.v1.api.model.RedactionResultMessage;
|
import com.iqser.red.service.pdftron.redaction.v1.api.model.RedactionResultMessage;
|
||||||
@ -11,12 +17,6 @@ import lombok.SneakyThrows;
|
|||||||
import lombok.experimental.FieldDefaults;
|
import lombok.experimental.FieldDefaults;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
|
||||||
import org.springframework.amqp.AmqpRejectAndDontRequeueException;
|
|
||||||
import org.springframework.amqp.core.Message;
|
|
||||||
import org.springframework.amqp.rabbit.annotation.RabbitHandler;
|
|
||||||
import org.springframework.amqp.rabbit.annotation.RabbitListener;
|
|
||||||
import org.springframework.stereotype.Service;
|
|
||||||
|
|
||||||
@Slf4j
|
@Slf4j
|
||||||
@Service
|
@Service
|
||||||
@RequiredArgsConstructor
|
@RequiredArgsConstructor
|
||||||
|
|||||||
@ -2,7 +2,6 @@ package com.iqser.red.service.persistence.management.v1.processor.service.job;
|
|||||||
|
|
||||||
import static com.iqser.red.service.persistence.management.v1.processor.utils.TenantUtils.isTenantReadyForPersistence;
|
import static com.iqser.red.service.persistence.management.v1.processor.utils.TenantUtils.isTenantReadyForPersistence;
|
||||||
|
|
||||||
import java.time.OffsetDateTime;
|
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
import org.quartz.DisallowConcurrentExecution;
|
import org.quartz.DisallowConcurrentExecution;
|
||||||
|
|||||||
@ -3,7 +3,6 @@ package com.iqser.red.service.persistence.management.v1.processor.service.job;
|
|||||||
import java.time.OffsetDateTime;
|
import java.time.OffsetDateTime;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import com.iqser.red.service.persistence.management.v1.processor.service.FileDeletionService;
|
|
||||||
import org.quartz.DisallowConcurrentExecution;
|
import org.quartz.DisallowConcurrentExecution;
|
||||||
import org.quartz.Job;
|
import org.quartz.Job;
|
||||||
import org.quartz.JobExecutionContext;
|
import org.quartz.JobExecutionContext;
|
||||||
@ -12,6 +11,7 @@ import org.springframework.stereotype.Service;
|
|||||||
import com.iqser.red.service.persistence.management.v1.processor.entity.dossier.DossierEntity;
|
import com.iqser.red.service.persistence.management.v1.processor.entity.dossier.DossierEntity;
|
||||||
import com.iqser.red.service.persistence.management.v1.processor.service.ApplicationConfigService;
|
import com.iqser.red.service.persistence.management.v1.processor.service.ApplicationConfigService;
|
||||||
import com.iqser.red.service.persistence.management.v1.processor.service.DossierService;
|
import com.iqser.red.service.persistence.management.v1.processor.service.DossierService;
|
||||||
|
import com.iqser.red.service.persistence.management.v1.processor.service.FileDeletionService;
|
||||||
import com.iqser.red.service.persistence.management.v1.processor.service.FileStatusService;
|
import com.iqser.red.service.persistence.management.v1.processor.service.FileStatusService;
|
||||||
import com.iqser.red.service.persistence.management.v1.processor.utils.TenantUtils;
|
import com.iqser.red.service.persistence.management.v1.processor.utils.TenantUtils;
|
||||||
import com.knecon.fforesight.tenantcommons.TenantContext;
|
import com.knecon.fforesight.tenantcommons.TenantContext;
|
||||||
@ -62,7 +62,7 @@ public class DeletedFilesCleanupJob implements Job {
|
|||||||
.isBefore(now.minusHours(applicationConfigurationEntity.getSoftDeleteCleanupTime()))) {
|
.isBefore(now.minusHours(applicationConfigurationEntity.getSoftDeleteCleanupTime()))) {
|
||||||
|
|
||||||
fileDeletionService.hardDeleteFile(file.getId());
|
fileDeletionService.hardDeleteFile(file.getId());
|
||||||
fileDeletionService.hardDeleteFileDataAndIndexUpdates(dossierEntity.getId(),file.getId());
|
fileDeletionService.hardDeleteFileDataAndIndexUpdates(dossierEntity.getId(), file.getId());
|
||||||
log.info("Hard deleted file with dossier id {} and file id {}", dossierEntity.getId(), file.getId());
|
log.info("Hard deleted file with dossier id {} and file id {}", dossierEntity.getId(), file.getId());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,7 +1,11 @@
|
|||||||
package com.iqser.red.service.persistence.management.v1.processor.service.job;
|
package com.iqser.red.service.persistence.management.v1.processor.service.job;
|
||||||
|
|
||||||
|
import org.quartz.DisallowConcurrentExecution;
|
||||||
|
import org.quartz.Job;
|
||||||
|
import org.quartz.JobExecutionContext;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import com.iqser.red.service.persistence.management.v1.processor.service.download.DownloadCompressingService;
|
import com.iqser.red.service.persistence.management.v1.processor.service.download.DownloadCompressingService;
|
||||||
import com.iqser.red.service.persistence.management.v1.processor.service.download.DownloadPreparationService;
|
|
||||||
import com.iqser.red.service.persistence.management.v1.processor.service.persistence.DownloadStatusPersistenceService;
|
import com.iqser.red.service.persistence.management.v1.processor.service.persistence.DownloadStatusPersistenceService;
|
||||||
import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.DownloadRedactionFileStatusRepository;
|
import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.DownloadRedactionFileStatusRepository;
|
||||||
import com.iqser.red.service.persistence.management.v1.processor.utils.TenantUtils;
|
import com.iqser.red.service.persistence.management.v1.processor.utils.TenantUtils;
|
||||||
@ -12,11 +16,6 @@ import com.knecon.fforesight.tenantcommons.TenantProvider;
|
|||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
|
||||||
import org.quartz.DisallowConcurrentExecution;
|
|
||||||
import org.quartz.Job;
|
|
||||||
import org.quartz.JobExecutionContext;
|
|
||||||
import org.springframework.stereotype.Service;
|
|
||||||
|
|
||||||
@Slf4j
|
@Slf4j
|
||||||
@RequiredArgsConstructor
|
@RequiredArgsConstructor
|
||||||
@Service
|
@Service
|
||||||
|
|||||||
@ -69,17 +69,17 @@ public class ManualRedactionDictionaryUpdateHandler {
|
|||||||
Set<String> typeIdsOfModifiedDictionaries) {
|
Set<String> typeIdsOfModifiedDictionaries) {
|
||||||
|
|
||||||
List<DictionaryEntry> dictionaryEntriesToUnDelete = dictionaryManagementService.getAllEntriesInDossierTemplate(manualRequestWithAddToDictionary.getDictionaryTypeId(),
|
List<DictionaryEntry> dictionaryEntriesToUnDelete = dictionaryManagementService.getAllEntriesInDossierTemplate(manualRequestWithAddToDictionary.getDictionaryTypeId(),
|
||||||
value,
|
value,
|
||||||
manualRequestWithAddToDictionary.getDictionaryEntryType());
|
manualRequestWithAddToDictionary.getDictionaryEntryType());
|
||||||
dictionaryEntriesToUnDelete.forEach(entry -> {
|
dictionaryEntriesToUnDelete.forEach(entry -> {
|
||||||
typeIdsOfModifiedDictionaries.add(entry.getTypeId());
|
typeIdsOfModifiedDictionaries.add(entry.getTypeId());
|
||||||
addToDictionary(entry.getTypeId(), value, manualRequestWithAddToDictionary.getDossierId(), fileId, manualRequestWithAddToDictionary.getDictionaryEntryType());
|
addToDictionary(entry.getTypeId(), value, manualRequestWithAddToDictionary.getDossierId(), fileId, manualRequestWithAddToDictionary.getDictionaryEntryType());
|
||||||
});
|
});
|
||||||
addToDictionary(manualRequestWithAddToDictionary.getDictionaryTypeId(),
|
addToDictionary(manualRequestWithAddToDictionary.getDictionaryTypeId(),
|
||||||
value,
|
value,
|
||||||
manualRequestWithAddToDictionary.getDossierId(),
|
manualRequestWithAddToDictionary.getDossierId(),
|
||||||
fileId,
|
fileId,
|
||||||
manualRequestWithAddToDictionary.getDictionaryEntryType());
|
manualRequestWithAddToDictionary.getDictionaryEntryType());
|
||||||
typeIdsOfModifiedDictionaries.add(manualRequestWithAddToDictionary.getDictionaryTypeId());
|
typeIdsOfModifiedDictionaries.add(manualRequestWithAddToDictionary.getDictionaryTypeId());
|
||||||
return typeIdsOfModifiedDictionaries;
|
return typeIdsOfModifiedDictionaries;
|
||||||
}
|
}
|
||||||
@ -300,7 +300,8 @@ public class ManualRedactionDictionaryUpdateHandler {
|
|||||||
resizeRedactionsWithSameValue.forEach(resizeRedaction -> {
|
resizeRedactionsWithSameValue.forEach(resizeRedaction -> {
|
||||||
var file = fileStatusPersistenceService.getStatus(resizeRedaction.getId().getFileId());
|
var file = fileStatusPersistenceService.getStatus(resizeRedaction.getId().getFileId());
|
||||||
var dossierForResizeRedaction = dossierPersistenceService.findByDossierId(file.getDossierId());
|
var dossierForResizeRedaction = dossierPersistenceService.findByDossierId(file.getDossierId());
|
||||||
if (!file.getWorkflowStatus().equals(WorkflowStatus.APPROVED) && dossierTemplateId.equals(dossierForResizeRedaction.getDossierTemplateId())
|
if (!file.getWorkflowStatus().equals(WorkflowStatus.APPROVED)
|
||||||
|
&& dossierTemplateId.equals(dossierForResizeRedaction.getDossierTemplateId())
|
||||||
&& (resizeRedaction.isAddToAllDossiers() || resizeRedaction.getUpdateDictionary())) {
|
&& (resizeRedaction.isAddToAllDossiers() || resizeRedaction.getUpdateDictionary())) {
|
||||||
resizeRedactionPersistenceService.hardDelete(resizeRedaction.getId().getFileId(), resizeRedaction.getId().getAnnotationId());
|
resizeRedactionPersistenceService.hardDelete(resizeRedaction.getId().getFileId(), resizeRedaction.getId().getAnnotationId());
|
||||||
}
|
}
|
||||||
|
|||||||
@ -49,11 +49,11 @@ public class ManualRedactionProviderService {
|
|||||||
private final ResizeRedactionPersistenceService resizeRedactionPersistenceService;
|
private final ResizeRedactionPersistenceService resizeRedactionPersistenceService;
|
||||||
|
|
||||||
|
|
||||||
|
public void convertUnprocessedAddToDictionariesToLocalChanges(String fileId) {
|
||||||
|
|
||||||
public void convertUnprocessedAddToDictionariesToLocalChanges(String fileId){
|
|
||||||
var unprocessedManualAdds = addRedactionPersistenceService.findEntriesByFileIdAndOptions(fileId, ManualChangesQueryOptions.unprocessedOnly());
|
var unprocessedManualAdds = addRedactionPersistenceService.findEntriesByFileIdAndOptions(fileId, ManualChangesQueryOptions.unprocessedOnly());
|
||||||
for (var unprocessedManualAdd : unprocessedManualAdds){
|
for (var unprocessedManualAdd : unprocessedManualAdds) {
|
||||||
if (unprocessedManualAdd.isAddToDictionary() || unprocessedManualAdd.isAddToAllDossiers()){
|
if (unprocessedManualAdd.isAddToDictionary() || unprocessedManualAdd.isAddToAllDossiers()) {
|
||||||
unprocessedManualAdd.setAddToDictionary(false);
|
unprocessedManualAdd.setAddToDictionary(false);
|
||||||
unprocessedManualAdd.setAddToAllDossiers(false);
|
unprocessedManualAdd.setAddToAllDossiers(false);
|
||||||
unprocessedManualAdd.setLegalBasis("");
|
unprocessedManualAdd.setLegalBasis("");
|
||||||
@ -65,6 +65,7 @@ public class ManualRedactionProviderService {
|
|||||||
|
|
||||||
@Transactional
|
@Transactional
|
||||||
public ManualRedactions getManualRedactions(String fileId, ManualChangesQueryOptions options) {
|
public ManualRedactions getManualRedactions(String fileId, ManualChangesQueryOptions options) {
|
||||||
|
|
||||||
return getManualRedactions(fileId, options, Collections.emptyList());
|
return getManualRedactions(fileId, options, Collections.emptyList());
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -121,13 +122,25 @@ public class ManualRedactionProviderService {
|
|||||||
legalBasisChanges = Collections.emptySet();
|
legalBasisChanges = Collections.emptySet();
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!annotationIds.isEmpty()){
|
if (!annotationIds.isEmpty()) {
|
||||||
return new ManualRedactions(removals.stream().filter(r -> annotationIds.contains(r.getAnnotationId())).collect(Collectors.toSet()),
|
return new ManualRedactions(removals.stream()
|
||||||
entriesToAdd.stream().filter(r -> annotationIds.contains(r.getAnnotationId())).collect(Collectors.toSet()),
|
.filter(r -> annotationIds.contains(r.getAnnotationId()))
|
||||||
forceRedactions.stream().filter(r -> annotationIds.contains(r.getAnnotationId())).collect(Collectors.toSet()),
|
.collect(Collectors.toSet()),
|
||||||
recategorizations.stream().filter(r -> annotationIds.contains(r.getAnnotationId())).collect(Collectors.toSet()),
|
entriesToAdd.stream()
|
||||||
legalBasisChanges.stream().filter(r -> annotationIds.contains(r.getAnnotationId())).collect(Collectors.toSet()),
|
.filter(r -> annotationIds.contains(r.getAnnotationId()))
|
||||||
resizeRedactions.stream().filter(r -> annotationIds.contains(r.getAnnotationId())).collect(Collectors.toSet()));
|
.collect(Collectors.toSet()),
|
||||||
|
forceRedactions.stream()
|
||||||
|
.filter(r -> annotationIds.contains(r.getAnnotationId()))
|
||||||
|
.collect(Collectors.toSet()),
|
||||||
|
recategorizations.stream()
|
||||||
|
.filter(r -> annotationIds.contains(r.getAnnotationId()))
|
||||||
|
.collect(Collectors.toSet()),
|
||||||
|
legalBasisChanges.stream()
|
||||||
|
.filter(r -> annotationIds.contains(r.getAnnotationId()))
|
||||||
|
.collect(Collectors.toSet()),
|
||||||
|
resizeRedactions.stream()
|
||||||
|
.filter(r -> annotationIds.contains(r.getAnnotationId()))
|
||||||
|
.collect(Collectors.toSet()));
|
||||||
}
|
}
|
||||||
|
|
||||||
return new ManualRedactions(removals, entriesToAdd, forceRedactions, recategorizations, legalBasisChanges, resizeRedactions);
|
return new ManualRedactions(removals, entriesToAdd, forceRedactions, recategorizations, legalBasisChanges, resizeRedactions);
|
||||||
|
|||||||
@ -222,7 +222,6 @@ public class ManualRedactionService {
|
|||||||
removeRedactionRequest.getDossierTemplateId());
|
removeRedactionRequest.getDossierTemplateId());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
log.info("add removeRedaction for file {} and annotation {}", fileId, removeRedactionRequest.getAnnotationId());
|
log.info("add removeRedaction for file {} and annotation {}", fileId, removeRedactionRequest.getAnnotationId());
|
||||||
IdRemovalEntity idRemoval = removeRedactionPersistenceService.insert(fileId, removeRedactionRequest);
|
IdRemovalEntity idRemoval = removeRedactionPersistenceService.insert(fileId, removeRedactionRequest);
|
||||||
|
|
||||||
|
|||||||
@ -229,6 +229,7 @@ public class DictionaryPersistenceService {
|
|||||||
typeRepository.updateByIdSetIncrementVersionByOne(typeId);
|
typeRepository.updateByIdSetIncrementVersionByOne(typeId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@Transactional
|
@Transactional
|
||||||
public void setVersion(String typeId, long version) {
|
public void setVersion(String typeId, long version) {
|
||||||
|
|
||||||
|
|||||||
@ -114,7 +114,6 @@ public class DossierStatusPersistenceService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@Transactional
|
@Transactional
|
||||||
public List<DossierStatusInfo> getAllDossierStatuses(List<String> dossierTemplateIds) {
|
public List<DossierStatusInfo> getAllDossierStatuses(List<String> dossierTemplateIds) {
|
||||||
|
|
||||||
|
|||||||
@ -134,7 +134,8 @@ public class DownloadStatusPersistenceService {
|
|||||||
@Transactional
|
@Transactional
|
||||||
public DownloadStatusEntity getStatusesByUuid(String uuid) {
|
public DownloadStatusEntity getStatusesByUuid(String uuid) {
|
||||||
|
|
||||||
return downloadStatusRepository.findByUuid(uuid).orElseThrow(() -> new NotFoundException(String.format("DownloadStatus not found for uuid: %s", uuid)));
|
return downloadStatusRepository.findByUuid(uuid)
|
||||||
|
.orElseThrow(() -> new NotFoundException(String.format("DownloadStatus not found for uuid: %s", uuid)));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -403,7 +403,10 @@ public class FileStatusPersistenceService {
|
|||||||
public List<FileEntity> getStatusesForDossierTemplate(String dossierTemplateId) {
|
public List<FileEntity> getStatusesForDossierTemplate(String dossierTemplateId) {
|
||||||
|
|
||||||
return dossierService.findAllDossiersForDossierTemplateId(dossierTemplateId)
|
return dossierService.findAllDossiersForDossierTemplateId(dossierTemplateId)
|
||||||
.stream().map(dossier -> fileRepository.findByDossierId(dossier.getId())).flatMap(List::stream).toList();
|
.stream()
|
||||||
|
.map(dossier -> fileRepository.findByDossierId(dossier.getId()))
|
||||||
|
.flatMap(List::stream)
|
||||||
|
.toList();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -453,7 +456,7 @@ public class FileStatusPersistenceService {
|
|||||||
@Transactional
|
@Transactional
|
||||||
public void softDelete(String fileId, OffsetDateTime softDeletedTime) {
|
public void softDelete(String fileId, OffsetDateTime softDeletedTime) {
|
||||||
|
|
||||||
fileRepository.setSoftDelete(fileId, ProcessingStatus.PROCESSED, OffsetDateTime.now().truncatedTo(ChronoUnit.MILLIS), softDeletedTime);
|
fileRepository.setSoftDelete(fileId, ProcessingStatus.PROCESSED, OffsetDateTime.now().truncatedTo(ChronoUnit.MILLIS), softDeletedTime);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -139,6 +139,7 @@ public class RulesPersistenceService {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@Transactional
|
@Transactional
|
||||||
public void setRules(@NonNull String rules, String dossierTemplateId, RuleFileType ruleFileType, long version, boolean timeoutDetected) {
|
public void setRules(@NonNull String rules, String dossierTemplateId, RuleFileType ruleFileType, long version, boolean timeoutDetected) {
|
||||||
|
|
||||||
|
|||||||
@ -42,6 +42,7 @@ public class SaasMigrationStatusPersistenceService {
|
|||||||
return migrationStatusOptional.isPresent() && migrationStatusOptional.get().getStatus() != SaasMigrationStatus.FINISHED;
|
return migrationStatusOptional.isPresent() && migrationStatusOptional.get().getStatus() != SaasMigrationStatus.FINISHED;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public boolean migrationFinishedForTenant() {
|
public boolean migrationFinishedForTenant() {
|
||||||
|
|
||||||
return saasMigrationStatusRepository.findAllWhereStatusNotFinishedAndNotError() == 0;
|
return saasMigrationStatusRepository.findAllWhereStatusNotFinishedAndNotError() == 0;
|
||||||
|
|||||||
@ -56,6 +56,7 @@ public class ViewedPagesPersistenceService {
|
|||||||
|
|
||||||
|
|
||||||
public void deleteForFiles(List<String> fileIds) {
|
public void deleteForFiles(List<String> fileIds) {
|
||||||
|
|
||||||
viewedPagesRepository.deleteByFileIds(fileIds);
|
viewedPagesRepository.deleteByFileIds(fileIds);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user