Compare commits

..

29 Commits

Author SHA1 Message Date
Kevin Tumma
b54deb95ec Adjust to new CI 2023-06-22 09:33:40 +02:00
Kevin Tumma
a46bc32ea0 Adjust to new CI 2023-06-22 09:31:11 +02:00
Kevin Tumma
4b441cad59 Adjust to new CI 2023-06-22 09:29:39 +02:00
Dominique Eifländer
0b23694a09 Merge branch 'RED-6912-backport' into 'release/1.363.9.x'
RED-6912 - Entries not sorted correctly in the dossier dictionary

See merge request redactmanager/persistence-service!17
2023-06-22 08:57:22 +02:00
Corina Olariu
b0ad7af9c6 RED-6912 - Entries not sorted correctly in the dossier dictionary
- sort entries and falsePositives and falseRecommendations in endpoint getDictionaryForType
- add junit tests
2023-06-22 09:35:38 +03:00
deiflaender
928d30f98c RED-6860: changed to multipart file upload for s3 2023-05-31 16:14:01 +02:00
deiflaender
402f0ccb77 hotfix: Removed long running transaction at download 2023-05-31 11:23:01 +02:00
Viktor Seifert
9742afe175 Pull request #652: RED-6497
Merge in RED/persistence-service from RED-6497 to release/1.363.x

* commit '3fc9dc5132b5eaeb1d8bd609acb57bacc62237d5':
  RED-6497: Removed alternate file size check because it offers less error reporting capabilities
  RED-6497: Fixed issue where the file-size of download was saved incorrectly.
  RED-6497: Changed code to use a different method of getting a file size to have better error reporting
  RED-6497: Removed explicit variable initialization because its marked as a checkstyle violation.
  RED-6497: Corrected handling of the stream, temp-file and exceptions.
2023-03-31 09:47:47 +02:00
Viktor Seifert
3fc9dc5132 Merge branch 'release/1.363.x' into RED-6497 2023-03-30 17:45:05 +02:00
Viktor Seifert
6a3db677ef RED-6497: Removed alternate file size check because it offers less error reporting capabilities 2023-03-30 17:37:18 +02:00
Viktor Seifert
6f203f07e1 RED-6497: Fixed issue where the file-size of download was saved incorrectly.
* Changed the update to the DownloadStatusEntity to use the entity object instead of using a query on JPA-repo.  This prevents values from the object being incorrectly inserted otherwise.
* Extended the DownloadPreparationTest to check the resulting download state and file size.
2023-03-30 17:30:16 +02:00
Corina Olariu
4051d6b3e1 Pull request #651: RED-6265 - Bulk dossier stats endpoint does not return dossier stats of dossiers, for which the current dossier does not have access permissions
Merge in RED/persistence-service from bugfix/RED-6265-3.6.0 to release/1.363.x

* commit '08965675999b4309147a216d362c433d4c08381b':
  RED-6265 - Bulk dossier stats endpoint does not return dossier stats of dossiers, for which the current dossier does not have access permissions
2023-03-30 15:47:44 +02:00
Viktor Seifert
284738b59e RED-6497: Changed code to use a different method of getting a file size to have better error reporting 2023-03-30 15:43:07 +02:00
devplant
0896567599 RED-6265 - Bulk dossier stats endpoint does not return dossier stats of dossiers, for which the current dossier does not have access permissions
- remove deprecated
2023-03-30 16:12:54 +03:00
Viktor Seifert
65884ce42b RED-6497: Removed explicit variable initialization because its marked as a checkstyle violation. 2023-03-30 14:20:55 +02:00
Viktor Seifert
d74b8bf4ba RED-6497: Corrected handling of the stream, temp-file and exceptions.
* Corrected the order of closing the steam and deleting the file.
* Switched the output of exception to the WARN level, since the hint at potential problems.
* Corrected the tests so that they clean-up resources.
* Changed the tests to use an archiver that re-throws exceptions, so that problems are not swallowed in testing.
2023-03-29 18:36:48 +02:00
Dominique Eiflaender
9930430bcd Pull request #641: RED-6503: Do not override ocred pages on ocr successful
Merge in RED/persistence-service from RED-6503-3.6 to release/1.363.x

* commit '12d7eae288b87bd88ecbe66bf08e31a9c6953461':
  RED-6503: Do not override ocred pages on ocr successful
2023-03-28 09:16:58 +02:00
deiflaender
12d7eae288 RED-6503: Do not override ocred pages on ocr successful 2023-03-27 13:49:28 +02:00
Viktor Seifert
cfa9dfcc6f Pull request #624: RED-6310 3.6
Merge in RED/persistence-service from RED-6310-3.6 to release/1.363.x

* commit '18ee468ca15ac07ff8ec6adc2712ccf42129df91':
  RED-6310: Changed element-collection fetch to eager because lazy loading runs into timing based errors
  RED-6310: Updated test for download preparation test to execute all preparation steps.
2023-03-13 16:56:01 +01:00
Viktor Seifert
18ee468ca1 RED-6310: Changed element-collection fetch to eager because lazy loading runs into timing based errors 2023-03-13 16:07:04 +01:00
Viktor Seifert
b9345110aa RED-6310: Updated test for download preparation test to execute all preparation steps.
Previously the last step was not executed.
2023-03-10 17:39:53 +01:00
Viktor Seifert
c2cf764b56 Pull request #618: RED-6310 3.6
Merge in RED/persistence-service from RED-6310-3.6 to release/1.363.x

* commit 'c698bf3a685dc906ce0e811f157122cb62caa93b':
  RED-6310: Backported test to Junit 4
  RED-6310: Moved code to create user-preferences to a separate class so that the calling code can handle a persistence exception
  RED-6310: Corrected services so that they use the user id instead of wrongly using the entity id
  RED-6310: Moved code for multithreaded tests to a helper class
  RED-6310: Removed not needed code from test
  RED-6310: Added setup of tenant id to fix the service test
  RED-6310: Added tests to check if concurrent access to notification-preferences works
2023-03-10 09:58:33 +01:00
Viktor Seifert
c698bf3a68 RED-6310: Backported test to Junit 4 2023-03-09 15:56:32 +01:00
Viktor Seifert
222e5915ed RED-6310: Moved code to create user-preferences to a separate class so that the calling code can handle a persistence exception
(cherry picked from commit 45bd8e600328ce85c8457525b605da2c16dd70c8)
2023-03-09 15:42:44 +01:00
Viktor Seifert
657a616093 RED-6310: Corrected services so that they use the user id instead of wrongly using the entity id
(cherry picked from commit 643ffc8723d923a7ede8ee52e25ea40e25045148)
2023-03-09 15:42:43 +01:00
Viktor Seifert
551840a46f RED-6310: Moved code for multithreaded tests to a helper class
(cherry picked from commit 40d6961742436fd4f7c5e07616850d8b1eb31a43)
2023-03-09 15:42:42 +01:00
Viktor Seifert
a0e0aadb61 RED-6310: Removed not needed code from test
(cherry picked from commit fd7f39bc7e4b4cc67ed55d5e77ef84d93779b342)
2023-03-09 15:42:41 +01:00
Viktor Seifert
d42d56e7f1 RED-6310: Added setup of tenant id to fix the service test
(cherry picked from commit b1d79970c033822ddffb47be199c379cada2ce40)
2023-03-09 15:42:39 +01:00
Viktor Seifert
bbc58379f4 RED-6310: Added tests to check if concurrent access to notification-preferences works
(cherry picked from commit ef36f5c10f21042ce74621dd8e48a754b6a7258f)
2023-03-09 15:42:38 +01:00
1456 changed files with 21696 additions and 590021 deletions

15
.dev/docker-compose.yaml Executable file → Normal file
View File

@ -1,18 +1,7 @@
version: '2'
services:
keycloak:
image: quay.io/keycloak/keycloak:20.0
command: start-dev
environment:
KEYCLOAK_ADMIN: admin
KEYCLOAK_ADMIN_PASSWORD: admin
ports:
- 8080:8080
redis:
image: redis
ports:
- "6379:6379"
db:
image: postgres
restart: always
@ -21,7 +10,7 @@ services:
environment:
POSTGRES_USER: redaction
POSTGRES_PASSWORD: redaction
POSTGRES_DB: master
POSTGRES_DB: redaction
rabbitmq:
image: 'rabbitmq:3.9-alpine'
mem_limit: 500m

8
.gitignore vendored
View File

@ -26,11 +26,3 @@
**/.DS_Store
**/classpath-data.json
**/dependencies-and-licenses-overview.txt
gradle.properties
gradlew
gradlew.bat
gradle/
**/.gradle
**/build

View File

@ -3,22 +3,4 @@ variables:
include:
- project: 'gitlab/gitlab'
ref: 'main'
file: 'ci-templates/gradle_java.yml'
deploy:
stage: deploy
tags:
- dind
script:
- echo "Building with gradle version ${BUILDVERSION}"
- gradle -Pversion=${BUILDVERSION} publish
- gradle bootBuildImage --publishImage -PbuildbootDockerHostNetwork=true -Pversion=${BUILDVERSION}
- echo "BUILDVERSION=$BUILDVERSION" >> version.env
artifacts:
reports:
dotenv: version.env
rules:
- if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
- if: $CI_COMMIT_BRANCH =~ /^release/
- if: $CI_COMMIT_BRANCH =~ /^feature/
- if: $CI_COMMIT_TAG
file: 'ci-templates/maven_java.yml'

View File

@ -1,57 +0,0 @@
![badge](https://img.shields.io/badge/license-knecon-brightgreen)
## Description
*TODO*
## Table of Contents
- [Installation](#installation)
- [Usage](#usage)
- [License](#license)
- [Tests](#tests)
- [API](#api)
## Installation
*TODO*
## Usage
*TODO*
## License
![badge](https://img.shields.io/badge/license-knecon-brightgreen)<br />
This application is covered by the proprietary knecon license.
## Tests
*TODO*
## API
### Files
The OpenAPI specifications for RedactManager and Documine are located here:<br> `./persistence-service-v1/persistence-service-external-api-v2/src/main/resources/api`
The Redocly configuration file `redocly.yaml` is located in the root directory of the project. It contains the settings for linting the specifications and generating the API documentation. If you run the redocly commands from there, you do not need to specify the path to the configuration file.
The Redocly files are located in the `redocly` directory:
* The `templates` directory contains the [Handlebars](https://handlebarsjs.com/) templates for RedactManager and Documine, respectively.
* The `build` directory is the default output directory for the generated API documentation.
### Redocly Installation
Execute the following command to install the Redocly CLI.
```bash
npm install -g @redocly/cli@latest
```
### Redocly Linting
Execute the following commands in the root directory of the project to lint the OpenAPI specifications.
Please refer to the Redocly documentation for detailed information on the linting rules.
```bash
redocly lint redactmanager
redocly lint documine
```
### Redocly Docs Generation
Execute the following commands in the root directory of the project to generate the API documentation.
```bash
redocly build-docs redactmanager --output ./redocly/build/redactmanager.html
redocly build-docs documine --output ./redocly/build/documine.html
```

View File

@ -1,7 +0,0 @@
plugins {
`kotlin-dsl`
}
repositories {
gradlePluginPortal()
}

View File

@ -1,79 +0,0 @@
plugins {
`java-library`
`maven-publish`
pmd
checkstyle
jacoco
}
val redactionServiceVersion by rootProject.extra { "4.290.0" }
val pdftronRedactionServiceVersion by rootProject.extra { "4.90.0-RED10115.0" }
val redactionReportServiceVersion by rootProject.extra { "4.81.0" }
val searchServiceVersion by rootProject.extra { "2.90.0" }
val documentVersion by rootProject.extra { "4.433.0" }
repositories {
mavenLocal()
mavenCentral()
maven {
url = uri("https://nexus.knecon.com/repository/gindev/");
credentials {
username = providers.gradleProperty("mavenUser").getOrNull();
password = providers.gradleProperty("mavenPassword").getOrNull();
}
}
}
group = "com.iqser.red.service"
java.sourceCompatibility = JavaVersion.VERSION_17
java.targetCompatibility = JavaVersion.VERSION_17
pmd {
isConsoleOutput = true
}
tasks.pmdMain {
pmd.ruleSetFiles = files("${rootDir}/config/pmd/pmd.xml")
}
tasks.pmdTest {
pmd.ruleSetFiles = files("${rootDir}/config/pmd/test_pmd.xml")
}
tasks.named<Test>("test") {
useJUnitPlatform()
reports {
junitXml.outputLocation.set(layout.buildDirectory.dir("reports/junit"))
}
minHeapSize = "512m"
maxHeapSize = "2048m"
}
tasks.test {
finalizedBy(tasks.jacocoTestReport) // report is always generated after tests run
}
tasks.jacocoTestReport {
dependsOn(tasks.test) // tests are required to run before generating the report
reports {
xml.required.set(true)
csv.required.set(false)
html.outputLocation.set(layout.buildDirectory.dir("jacocoHtml"))
}
}
java {
withJavadocJar()
}
allprojects {
tasks.withType<Javadoc> {
options {
this as StandardJavadocDocletOptions
addBooleanOption("Xdoclint:none", true)
addStringOption("Xmaxwarns", "1")
}
}
}

View File

@ -1,39 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE module PUBLIC "-//Puppy Crawl//DTD Check Configuration 1.3//EN"
"http://www.puppycrawl.com/dtds/configuration_1_3.dtd">
<module name="Checker">
<property
name="severity"
value="error"/>
<module name="TreeWalker">
<module name="SuppressWarningsHolder"/>
<module name="MissingDeprecated"/>
<module name="MissingOverride"/>
<module name="AnnotationLocation"/>
<module name="JavadocStyle"/>
<module name="NonEmptyAtclauseDescription"/>
<module name="IllegalImport"/>
<module name="RedundantImport"/>
<module name="RedundantModifier"/>
<module name="EmptyBlock"/>
<module name="DefaultComesLast"/>
<module name="EmptyStatement"/>
<module name="EqualsHashCode"/>
<module name="ExplicitInitialization"/>
<module name="IllegalInstantiation"/>
<module name="ModifiedControlVariable"/>
<module name="MultipleVariableDeclarations"/>
<module name="PackageDeclaration"/>
<module name="ParameterAssignment"/>
<module name="SimplifyBooleanExpression"/>
<module name="SimplifyBooleanReturn"/>
<module name="StringLiteralEquality"/>
<module name="OneStatementPerLine"/>
<module name="FinalClass"/>
<module name="ArrayTypeStyle"/>
<module name="UpperEll"/>
<module name="OuterTypeFilename"/>
</module>
<module name="FileTabCharacter"/>
<module name="SuppressWarningsFilter"/>
</module>

View File

@ -1,20 +0,0 @@
<?xml version="1.0"?>
<ruleset name="Custom ruleset"
xmlns="http://pmd.sourceforge.net/ruleset/2.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://pmd.sourceforge.net/ruleset/2.0.0 http://pmd.sourceforge.net/ruleset_2_0_0.xsd">
<description>
Knecon ruleset checks the code for bad stuff
</description>
<rule ref="category/java/errorprone.xml">
<exclude name="MissingSerialVersionUID"/>
<exclude name="AvoidLiteralsInIfCondition"/>
<exclude name="AvoidDuplicateLiterals"/>
<exclude name="NullAssignment"/>
<exclude name="AssignmentInOperand"/>
<exclude name="BeanMembersShouldSerialize"/>
</rule>
</ruleset>

View File

@ -1,22 +0,0 @@
<?xml version="1.0"?>
<ruleset name="Custom ruleset"
xmlns="http://pmd.sourceforge.net/ruleset/2.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://pmd.sourceforge.net/ruleset/2.0.0 http://pmd.sourceforge.net/ruleset_2_0_0.xsd">
<description>
Knecon test ruleset checks the code for bad stuff
</description>
<rule ref="category/java/errorprone.xml">
<exclude name="MissingSerialVersionUID"/>
<exclude name="AvoidLiteralsInIfCondition"/>
<exclude name="AvoidDuplicateLiterals"/>
<exclude name="NullAssignment"/>
<exclude name="AssignmentInOperand"/>
<exclude name="TestClassWithoutTestCases"/>
<exclude name="BeanMembersShouldSerialize"/>
</rule>
</ruleset>

View File

@ -1 +0,0 @@
version = 2.0-SNAPSHOT

View File

@ -0,0 +1,97 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<groupId>com.knecon.fforesight</groupId>
<artifactId>platform-docker-dependency</artifactId>
<version>0.1.0</version>
<relativePath/>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>persistence-service-image-v1</artifactId>
<groupId>com.iqser.red.service</groupId>
<version>1.0-SNAPSHOT</version>
<packaging>pom</packaging>
<properties>
<service.server>persistence-service-server-v1</service.server>
<platform.jar>${service.server}.jar</platform.jar>
<docker.skip.push>false</docker.skip.push>
<docker.image.name>${docker.image.prefix}/${service.server}</docker.image.name>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>io.fabric8</groupId>
<artifactId>docker-maven-plugin</artifactId>
</plugin>
</plugins>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<id>download-platform-jar</id>
<phase>prepare-package</phase>
<goals>
<goal>copy</goal>
</goals>
<configuration>
<artifactItems>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>${service.server}</artifactId>
<version>${project.version}</version>
<type>jar</type>
<overWrite>true</overWrite>
<destFileName>${platform.jar}</destFileName>
</dependency>
</artifactItems>
<outputDirectory>${docker.build.directory}</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>io.fabric8</groupId>
<artifactId>docker-maven-plugin</artifactId>
<configuration>
<images>
<image>
<name>${docker.image.name}</name>
<build>
<dockerFileDir>${docker.build.directory}</dockerFileDir>
<args>
<PLATFORM_JAR>${platform.jar}</PLATFORM_JAR>
</args>
<tags>
<tag>${docker.image.version}</tag>
<tag>latest</tag>
</tags>
</build>
</image>
</images>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>
</project>

View File

@ -0,0 +1,9 @@
FROM red/base-image:2.0.0
ARG PLATFORM_JAR
ENV PLATFORM_JAR ${PLATFORM_JAR}
ENV USES_ELASTICSEARCH false
COPY ["${PLATFORM_JAR}", "/"]

View File

@ -0,0 +1,94 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://maven.apache.org/POM/4.0.0"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>persistence-service-v1</artifactId>
<groupId>com.iqser.red.service</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>persistence-service-api-v1</artifactId>
<dependencies>
<dependency>
<groupId>com.iqser.red.service</groupId>
<artifactId>redaction-service-api-v1</artifactId>
<exclusions>
<exclusion>
<groupId>com.iqser.red.service</groupId>
<artifactId>persistence-service-api-v1</artifactId>
</exclusion>
<exclusion>
<groupId>com.iqser.red.service</groupId>
<artifactId>pdftron-redaction-service-api-v1</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.iqser.red.service</groupId>
<artifactId>pdftron-redaction-service-api-v1</artifactId>
<exclusions>
<exclusion>
<groupId>com.iqser.red.service</groupId>
<artifactId>redaction-service-api-v1</artifactId>
</exclusion>
<exclusion>
<groupId>com.iqser.red.service</groupId>
<artifactId>persistence-service-api-v1</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<!-- This dependency contains annotations that are used in specifying REST endpoints. -->
<!-- It is optional since not all users of this API might use Feign. -->
<groupId>io.github.openfeign</groupId>
<artifactId>feign-core</artifactId>
<optional>true</optional>
</dependency>
<!-- spring -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-validation</artifactId>
<scope>compile</scope>
</dependency>
<!-- test -->
<dependency>
<groupId>com.iqser.red.commons</groupId>
<artifactId>jackson-commons</artifactId>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<annotationProcessors>
<annotationProcessor>lombok.launch.AnnotationProcessorHider$AnnotationProcessor</annotationProcessor>
<annotationProcessor>com.dslplatform.json.processor.CompiledJsonAnnotationProcessor</annotationProcessor>
</annotationProcessors>
</configuration>
</plugin>
</plugins>
</build>
</project>

View File

@ -1,9 +1,9 @@
package com.iqser.red.service.persistence.service.v1.api.shared.model.annotations;
package com.iqser.red.service.persistence.service.v1.api.model.annotations;
import java.util.ArrayList;
import java.util.List;
import com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemplate.type.DictionaryEntryType;
import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.type.DictionaryEntryType;
import lombok.AllArgsConstructor;
import lombok.Builder;
@ -14,20 +14,20 @@ import lombok.NoArgsConstructor;
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class AddRedactionRequest implements ManualRequestWithAddToDictionary {
public class AddRedactionRequest {
private String user;
private String dictionaryTypeId;
private String typeId;
private String value;
private String reason;
private String legalBasis;
private boolean addToDictionary;
private boolean addToAllDossiers;
private boolean addToDossierDictionary;
private DictionaryEntryType dictionaryEntryType;
private AnnotationStatus status;
private String section;
private boolean rectangle;
private String sourceId;
private String dossierId;
@Builder.Default
private List<Rectangle> positions = new ArrayList<>();

View File

@ -0,0 +1,8 @@
package com.iqser.red.service.persistence.service.v1.api.model.annotations;
public enum AnnotationStatus {
REQUESTED,
APPROVED,
DECLINED
}

View File

@ -1,22 +1,27 @@
package com.iqser.red.service.persistence.service.v1.api.shared.model.analysislog.entitylog;
package com.iqser.red.service.persistence.service.v1.api.model.annotations;
import java.time.OffsetDateTime;
import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier.file.FileModel;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@NoArgsConstructor
@Builder
@AllArgsConstructor
public class EntityLogComment {
@NoArgsConstructor
public class Comment {
private long id;
private String user;
private String text;
private String annotationId;
private String fileId;
private String annotationId;
private OffsetDateTime date;
private String text;
private String user;
private OffsetDateTime softDeletedTime;
private FileModel fileStatus;
}

View File

@ -1,4 +1,4 @@
package com.iqser.red.service.persistence.service.v1.api.shared.model.annotations;
package com.iqser.red.service.persistence.service.v1.api.model.annotations;
import lombok.AllArgsConstructor;
import lombok.Builder;

View File

@ -1,4 +1,4 @@
package com.iqser.red.service.persistence.service.v1.api.shared.model.annotations;
package com.iqser.red.service.persistence.service.v1.api.model.annotations;
import lombok.AllArgsConstructor;
import lombok.Builder;
@ -13,6 +13,7 @@ public class ForceRedactionRequest {
private String annotationId;
private String user;
private AnnotationStatus status;
private String legalBasis;
private String comment;
private int page;

View File

@ -1,22 +1,21 @@
package com.iqser.red.service.persistence.service.v1.api.shared.model.manual;
package com.iqser.red.service.persistence.service.v1.api.model.annotations;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.NonNull;
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class ForceRedactionRequestModel {
public class ImageRecategorizationRequest {
@NonNull
private String annotationId;
private String user;
private AnnotationStatus status;
private String typeId;
private String comment;
private String legalBasis;
private int page;
}

View File

@ -1,4 +1,4 @@
package com.iqser.red.service.persistence.service.v1.api.shared.model.annotations;
package com.iqser.red.service.persistence.service.v1.api.model.annotations;
import lombok.AllArgsConstructor;
import lombok.Builder;
@ -13,6 +13,7 @@ public class LegalBasisChangeRequest {
private String annotationId;
private String user;
private AnnotationStatus status;
private String legalBasis;
private String comment;
private int page;

View File

@ -1,4 +1,4 @@
package com.iqser.red.service.persistence.management.v1.processor.model;
package com.iqser.red.service.persistence.service.v1.api.model.annotations;
import lombok.AllArgsConstructor;
import lombok.Builder;
@ -7,11 +7,11 @@ import lombok.NoArgsConstructor;
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class DownloadJob {
@NoArgsConstructor
public class ManualAddResponse {
private String userId;
private String storageId;
private String annotationId;
private Long commentId;
}

View File

@ -0,0 +1,48 @@
package com.iqser.red.service.persistence.service.v1.api.model.annotations;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
import com.iqser.red.service.persistence.service.v1.api.model.annotations.entitymapped.IdRemoval;
import com.iqser.red.service.persistence.service.v1.api.model.annotations.entitymapped.ManualForceRedaction;
import com.iqser.red.service.persistence.service.v1.api.model.annotations.entitymapped.ManualImageRecategorization;
import com.iqser.red.service.persistence.service.v1.api.model.annotations.entitymapped.ManualLegalBasisChange;
import com.iqser.red.service.persistence.service.v1.api.model.annotations.entitymapped.ManualRedactionEntry;
import com.iqser.red.service.persistence.service.v1.api.model.annotations.entitymapped.ManualResizeRedaction;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class ManualRedactions {
@Builder.Default
private Set<IdRemoval> idsToRemove = new HashSet<>();
@Builder.Default
private Set<ManualRedactionEntry> entriesToAdd = new HashSet<>();
@Builder.Default
private Set<ManualForceRedaction> forceRedactions = new HashSet<>();
@Builder.Default
private Set<ManualImageRecategorization> imageRecategorization = new HashSet<>();
@Builder.Default
private Set<ManualLegalBasisChange> legalBasisChanges = new HashSet<>();
@Builder.Default
private Set<ManualResizeRedaction> resizeRedactions = new HashSet<>();
@Builder.Default
private Map<String, List<Comment>> comments = new HashMap<>();
}

View File

@ -1,17 +1,22 @@
package com.iqser.red.service.persistence.service.v1.api.shared.model.redactionlog;
package com.iqser.red.service.persistence.service.v1.api.model.annotations;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@Deprecated(forRemoval = true)
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class Rectangle {
private Point topLeft;
private float topLeftX;
private float topLeftY;
private float width;
private float height;
private int page;

View File

@ -1,23 +1,21 @@
package com.iqser.red.service.persistence.service.v1.api.shared.model.manual;
package com.iqser.red.service.persistence.service.v1.api.model.annotations;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.NonNull;
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class RemoveRedactionRequestModel {
public class RemoveRedactionRequest {
@NonNull
private String annotationId;
private String user;
private AnnotationStatus status;
private boolean removeFromDictionary;
private boolean removeFromAllDossiers;
private String comment;
private int page;
}

View File

@ -1,4 +1,4 @@
package com.iqser.red.service.persistence.service.v1.api.shared.model.annotations;
package com.iqser.red.service.persistence.service.v1.api.model.annotations;
import java.util.ArrayList;
import java.util.List;
@ -16,6 +16,7 @@ public class ResizeRedactionRequest {
private String annotationId;
private String user;
private AnnotationStatus status;
private String comment;
private int page;
private String value;
@ -27,6 +28,4 @@ public class ResizeRedactionRequest {
private String textBefore;
private String textAfter;
private boolean addToAllDossiers;
}

View File

@ -0,0 +1,19 @@
package com.iqser.red.service.persistence.service.v1.api.model.annotations;
import java.util.List;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class UpdateRedactionRequest {
private List<String> annotationIds;
private AnnotationStatus annotationStatus;
}

View File

@ -1,4 +1,4 @@
package com.iqser.red.service.persistence.service.v1.api.shared.model.annotations;
package com.iqser.red.service.persistence.service.v1.api.model.annotations;
import java.time.OffsetDateTime;

View File

@ -0,0 +1,31 @@
package com.iqser.red.service.persistence.service.v1.api.model.annotations.entitymapped;
import java.time.OffsetDateTime;
import com.iqser.red.service.persistence.service.v1.api.model.annotations.AnnotationStatus;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
@Data
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode
public class BaseAnnotation {
private String annotationId;
private String fileId;
private String user;
private AnnotationStatus status;
private OffsetDateTime requestDate;
private OffsetDateTime processedDate;
private OffsetDateTime softDeletedTime;
public boolean isApproved() {
return AnnotationStatus.APPROVED == status;
}
}

View File

@ -0,0 +1,35 @@
package com.iqser.red.service.persistence.service.v1.api.model.annotations.entitymapped;
import java.time.OffsetDateTime;
import com.iqser.red.service.persistence.service.v1.api.model.annotations.AnnotationStatus;
import lombok.Builder;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
@Data
@NoArgsConstructor
@EqualsAndHashCode(callSuper = true)
public class IdRemoval extends BaseAnnotation {
private boolean removeFromDictionary;
@Builder
public IdRemoval(String annotationId,
String fileId,
String user,
AnnotationStatus status,
OffsetDateTime requestDate,
OffsetDateTime processedDate,
OffsetDateTime softDeletedTime,
boolean removeFromDictionary) {
super(annotationId, fileId, user, status, requestDate, processedDate, softDeletedTime);
this.removeFromDictionary = removeFromDictionary;
}
}

View File

@ -0,0 +1,34 @@
package com.iqser.red.service.persistence.service.v1.api.model.annotations.entitymapped;
import java.time.OffsetDateTime;
import com.iqser.red.service.persistence.service.v1.api.model.annotations.AnnotationStatus;
import lombok.Builder;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
@Data
@NoArgsConstructor
@EqualsAndHashCode(callSuper = true)
public class ManualForceRedaction extends BaseAnnotation {
private String legalBasis;
@Builder
public ManualForceRedaction(String annotationId,
String fileId,
String user,
AnnotationStatus status,
OffsetDateTime requestDate,
OffsetDateTime processedDate,
OffsetDateTime softDeletedTime,
String legalBasis) {
super(annotationId, fileId, user, status, requestDate, processedDate, softDeletedTime);
this.legalBasis = legalBasis;
}
}

View File

@ -0,0 +1,34 @@
package com.iqser.red.service.persistence.service.v1.api.model.annotations.entitymapped;
import java.time.OffsetDateTime;
import com.iqser.red.service.persistence.service.v1.api.model.annotations.AnnotationStatus;
import lombok.Builder;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
@Data
@NoArgsConstructor
@EqualsAndHashCode(callSuper = true)
public class ManualImageRecategorization extends BaseAnnotation {
private String type;
@Builder
public ManualImageRecategorization(String annotationId,
String fileId,
String user,
AnnotationStatus status,
OffsetDateTime requestDate,
OffsetDateTime processedDate,
OffsetDateTime softDeletedTime,
String type) {
super(annotationId, fileId, user, status, requestDate, processedDate, softDeletedTime);
this.type = type;
}
}

View File

@ -0,0 +1,40 @@
package com.iqser.red.service.persistence.service.v1.api.model.annotations.entitymapped;
import java.time.OffsetDateTime;
import com.iqser.red.service.persistence.service.v1.api.model.annotations.AnnotationStatus;
import lombok.Builder;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
@Data
@NoArgsConstructor
@EqualsAndHashCode(callSuper = true)
public class ManualLegalBasisChange extends BaseAnnotation {
private String section;
private String value;
private String legalBasis;
@Builder
public ManualLegalBasisChange(String annotationId,
String fileId,
String user,
AnnotationStatus status,
OffsetDateTime requestDate,
OffsetDateTime processedDate,
OffsetDateTime softDeletedTime,
String legalBasis,
String section,
String value) {
super(annotationId, fileId, user, status, requestDate, processedDate, softDeletedTime);
this.legalBasis = legalBasis;
this.section = section;
this.value = value;
}
}

View File

@ -0,0 +1,70 @@
package com.iqser.red.service.persistence.service.v1.api.model.annotations.entitymapped;
import java.time.OffsetDateTime;
import java.util.ArrayList;
import java.util.List;
import com.iqser.red.service.persistence.service.v1.api.model.annotations.AnnotationStatus;
import com.iqser.red.service.persistence.service.v1.api.model.annotations.Rectangle;
import lombok.Builder;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
@Data
@NoArgsConstructor
@EqualsAndHashCode(callSuper = true)
public class ManualRedactionEntry extends BaseAnnotation {
private String type;
private String value;
private String reason;
private String legalBasis;
private String section;
private boolean rectangle;
private boolean addToDictionary;
private boolean addToDossierDictionary;
private List<Rectangle> positions = new ArrayList<>();
private String textBefore;
private String textAfter;
private String sourceId;
@Builder
public ManualRedactionEntry(String annotationId,
String fileId,
String user,
AnnotationStatus status,
OffsetDateTime requestDate,
OffsetDateTime processedDate,
OffsetDateTime softDeletedTime,
String value,
String textBefore,
String textAfter,
boolean rectangle,
boolean addToDictionary,
boolean addToDossierDictionary,
String legalBasis,
String section,
String reason,
String type,
List<Rectangle> positions,
String sourceId) {
super(annotationId, fileId, user, status, requestDate, processedDate, softDeletedTime);
this.textBefore = textBefore;
this.textAfter = textAfter;
this.value = value;
this.rectangle = rectangle;
this.addToDictionary = addToDictionary;
this.addToDossierDictionary = addToDossierDictionary;
this.legalBasis = legalBasis;
this.section = section;
this.reason = reason;
this.type = type;
this.positions = positions != null ? positions : new ArrayList<>();
this.sourceId = sourceId;
}
}

View File

@ -0,0 +1,47 @@
package com.iqser.red.service.persistence.service.v1.api.model.annotations.entitymapped;
import java.time.OffsetDateTime;
import java.util.ArrayList;
import java.util.List;
import com.iqser.red.service.persistence.service.v1.api.model.annotations.AnnotationStatus;
import com.iqser.red.service.persistence.service.v1.api.model.annotations.Rectangle;
import lombok.Builder;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
@Data
@NoArgsConstructor
@EqualsAndHashCode(callSuper = true)
public class ManualResizeRedaction extends BaseAnnotation {
private String value;
private List<Rectangle> positions = new ArrayList<>();
private String textBefore;
private String textAfter;
private Boolean updateDictionary;
@Builder
public ManualResizeRedaction(String annotationId,
String fileId,
String user,
AnnotationStatus status,
OffsetDateTime requestDate,
OffsetDateTime processedDate,
OffsetDateTime softDeletedTime,
String value,
String textBefore,
String textAfter,
List<Rectangle> positions) {
super(annotationId, fileId, user, status, requestDate, processedDate, softDeletedTime);
this.textBefore = textBefore;
this.textAfter = textAfter;
this.value = value;
this.positions = positions != null ? positions : new ArrayList<>();
}
}

View File

@ -1,4 +1,4 @@
package com.iqser.red.service.persistence.service.v1.api.shared.model.audit;
package com.iqser.red.service.persistence.service.v1.api.model.audit;
import java.util.HashMap;
import java.util.Map;

View File

@ -1,4 +1,4 @@
package com.iqser.red.service.persistence.service.v1.api.shared.model.audit;
package com.iqser.red.service.persistence.service.v1.api.model.audit;
import java.time.OffsetDateTime;
import java.util.HashMap;

View File

@ -1,4 +1,4 @@
package com.iqser.red.service.persistence.service.v1.api.shared.model.audit;
package com.iqser.red.service.persistence.service.v1.api.model.audit;
import java.util.HashMap;
import java.util.Map;

View File

@ -1,4 +1,4 @@
package com.iqser.red.service.persistence.service.v1.api.shared.model.audit;
package com.iqser.red.service.persistence.service.v1.api.model.audit;
import java.time.OffsetDateTime;

View File

@ -1,4 +1,4 @@
package com.iqser.red.service.persistence.service.v1.api.shared.model.audit;
package com.iqser.red.service.persistence.service.v1.api.model.audit;
import lombok.AllArgsConstructor;
import lombok.Builder;

View File

@ -1,4 +1,4 @@
package com.iqser.red.service.persistence.service.v1.api.shared.model.common;
package com.iqser.red.service.persistence.service.v1.api.model.common;
import lombok.Data;
import lombok.EqualsAndHashCode;

View File

@ -1,20 +1,23 @@
package com.iqser.red.service.persistence.service.v2.api.external.model;
package com.iqser.red.service.persistence.service.v1.api.model.common;
import java.util.ArrayList;
import java.util.List;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.ArrayList;
import java.util.List;
@AllArgsConstructor
@NoArgsConstructor
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class FileDeleteRequest {
public class Page<T> {
@Builder.Default
private List<String> fileIds = new ArrayList<>();
private List<T> elements = new ArrayList<>();
private long totalHits;
private int page;
private int pageSize;
}

View File

@ -1,12 +1,8 @@
package com.iqser.red.service.persistence.service.v1.api.shared.model.component;
package com.iqser.red.service.persistence.service.v1.api.model.component;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import com.iqser.red.service.persistence.service.v1.api.shared.model.analysislog.componentlog.ComponentLogEntry;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
@ -19,5 +15,4 @@ import lombok.NoArgsConstructor;
public class ComponentsOverrides {
private Map<String, String> componentOverrides = new HashMap<>();
}

View File

@ -1,4 +1,4 @@
package com.iqser.red.service.persistence.service.v1.api.shared.model.component;
package com.iqser.red.service.persistence.service.v1.api.model.component;
import java.util.HashSet;
import java.util.Set;
@ -15,5 +15,4 @@ import lombok.NoArgsConstructor;
public class RevertOverrideRequest {
private Set<String> components = new HashSet<>();
}

View File

@ -1,6 +1,8 @@
package com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemplate;
package com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate;
import java.time.OffsetDateTime;
import java.util.HashSet;
import java.util.Set;
import lombok.AllArgsConstructor;
import lombok.Builder;
@ -18,5 +20,6 @@ public class CloneDossierTemplateRequest {
private OffsetDateTime validFrom;
private OffsetDateTime validTo;
private String cloningUserId;
private Set<DownloadFileType> downloadFileTypes = new HashSet<>();
}

View File

@ -1,11 +1,9 @@
package com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemplate;
package com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate;
import java.time.OffsetDateTime;
import java.util.HashSet;
import java.util.Set;
import com.knecon.fforesight.service.layoutparser.internal.api.queue.LayoutParsingType;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
@ -31,18 +29,4 @@ public class CreateOrUpdateDossierTemplateRequest {
private Set<DownloadFileType> downloadFileTypes = new HashSet<>();
private boolean keepImageMetadata;
private boolean keepHiddenText;
private boolean keepOverlappingObjects;
private boolean applyDictionaryUpdatesToAllDossiersByDefault;
private boolean ocrByDefault;
private boolean removeWatermark;
private LayoutParsingType layoutParsingType;
}

View File

@ -1,6 +1,6 @@
package com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemplate;
package com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate;
import com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemplate.dossier.DossierAttributeType;
import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier.DossierAttributeType;
import lombok.AllArgsConstructor;
import lombok.Builder;
@ -16,10 +16,7 @@ public class DossierAttributeConfig {
private String id;
private String label;
private boolean editable;
private boolean filterable;
private boolean displayedInDossierList;
private String placeholder;
@Builder.Default
private DossierAttributeType type = DossierAttributeType.TEXT;
private String dossierTemplateId;

View File

@ -1,11 +1,10 @@
package com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemplate;
package com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate;
import java.time.OffsetDateTime;
import java.util.HashSet;
import java.util.Set;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.knecon.fforesight.service.layoutparser.internal.api.queue.LayoutParsingType;
import lombok.AllArgsConstructor;
import lombok.Builder;
@ -31,12 +30,5 @@ public class DossierTemplate {
private boolean deleted;
private Set<DownloadFileType> downloadFileTypes = new HashSet<>();
private DossierTemplateStatus dossierTemplateStatus;
private boolean keepImageMetadata;
private boolean keepHiddenText;
private boolean keepOverlappingObjects;
private boolean applyDictionaryUpdatesToAllDossiersByDefault;
private boolean ocrByDefault;
private boolean removeWatermark;
private LayoutParsingType layoutParsingType;
}

View File

@ -0,0 +1,23 @@
package com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate;
import java.util.ArrayList;
import java.util.List;
import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.type.DictionarySummary;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class DossierTemplateDictionaryStats {
private String dossierTemplateId;
private int numberOfDictionaries; // number of Types for the dossierTemplate
private List<DictionarySummary> dictionarySummaryList = new ArrayList<>();
}

View File

@ -1,10 +1,10 @@
package com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemplate;
package com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate;
import java.util.ArrayList;
import java.util.List;
import com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemplate.dossier.file.ProcessingStatus;
import com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemplate.dossier.file.WorkflowStatus;
import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier.file.ProcessingStatus;
import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier.file.WorkflowStatus;
import lombok.AllArgsConstructor;
import lombok.Builder;

View File

@ -0,0 +1,7 @@
package com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate;
public enum DossierTemplateStatus {
INCOMPLETE,
INACTIVE,
ACTIVE
}

View File

@ -0,0 +1,10 @@
package com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate;
public enum DownloadFileType {
ORIGINAL,
PREVIEW,
REDACTED,
ANNOTATED,
FLATTEN,
DELTA_PREVIEW
}

View File

@ -1,4 +1,4 @@
package com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemplate;
package com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate;
import lombok.AllArgsConstructor;
import lombok.Builder;

View File

@ -1,4 +1,4 @@
package com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemplate;
package com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate;
import lombok.AllArgsConstructor;
import lombok.Builder;

View File

@ -1,4 +1,4 @@
package com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemplate;
package com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate;
import java.util.HashSet;
import java.util.Set;

View File

@ -1,4 +1,4 @@
package com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemplate;
package com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate;
import java.time.OffsetDateTime;

View File

@ -1,4 +1,4 @@
package com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemplate;
package com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate;
import lombok.AllArgsConstructor;
import lombok.Builder;

View File

@ -0,0 +1,22 @@
package com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate;
import lombok.AccessLevel;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.NonNull;
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor(access = AccessLevel.PRIVATE)
public class ReportTemplateUpdateRequest {
@NonNull
private String fileName;
private boolean multiFileReport;
private boolean activeByDefault;
}

View File

@ -1,4 +1,4 @@
package com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemplate;
package com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate;
import lombok.AccessLevel;
import lombok.AllArgsConstructor;

View File

@ -1,7 +1,5 @@
package com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemplate.configuration;
package com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.configuration;
import jakarta.annotation.Nullable;
import jakarta.validation.constraints.Min;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
@ -13,14 +11,8 @@ import lombok.NoArgsConstructor;
@AllArgsConstructor
public class ApplicationConfig {
@Min(1)
private int downloadCleanupDownloadFilesHours;
@Min(1)
private int downloadCleanupNotDownloadFilesHours;
@Min(1)
private int softDeleteCleanupTime;
@Min(1)
@Nullable
private Integer hardDeleteCleanupRetryTime;
}

View File

@ -1,4 +1,4 @@
package com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemplate.configuration;
package com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.configuration;
import lombok.AllArgsConstructor;
import lombok.Builder;
@ -16,14 +16,19 @@ public class Colors {
private String requestAddColor;
private String requestRemoveColor;
private String dictionaryRequestColor;
private String previewColor;
private String analysisColor;
private String updatedColor;
private String recommendationColor;
private String hintColor;
private String redactionColor;
private String ignoredHintColor;
private String skippedColor;
private String appliedRedactionColor;
}

View File

@ -1,16 +1,14 @@
package com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemplate.configuration;
package com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.configuration;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString;
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@ToString
public class DigitalSignature {
private String id;
@ -19,7 +17,6 @@ public class DigitalSignature {
private String contactInfo;
private String certificateName;
private String password;
private String base64EncodedPrivateKey;
private byte[] privateKey;
}

View File

@ -1,6 +1,5 @@
package com.iqser.red.service.persistence.service.v1.api.shared.model;
package com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.configuration;
import lombok.AccessLevel;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
@ -26,6 +25,6 @@ public class DigitalSignatureKms {
@NonNull
private String kmsSecretKey;
@NonNull
private String certificate;
private byte[] certificate;
}

View File

@ -0,0 +1,7 @@
package com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.configuration;
public enum DigitalSignatureType {
CERTIFICATE,
KMS,
HSM;
}

View File

@ -1,4 +1,4 @@
package com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemplate.configuration;
package com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.configuration;
import lombok.AccessLevel;
import lombok.AllArgsConstructor;

View File

@ -1,4 +1,4 @@
package com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemplate.configuration;
package com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.configuration;
import lombok.AllArgsConstructor;
import lombok.Data;

View File

@ -1,4 +1,4 @@
package com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemplate.configuration;
package com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.configuration;
import lombok.AllArgsConstructor;
import lombok.Builder;

View File

@ -0,0 +1,30 @@
package com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.configuration;
import java.time.OffsetDateTime;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class Watermark {
private Long id;
private String name;
private boolean enabled;
private String dossierTemplateId;
private String text;
private String hexColor;
private int opacity;
private int fontSize;
private String fontType;
private String createdBy;
private OffsetDateTime dateAdded;
private OffsetDateTime dateModified;
private WatermarkOrientation orientation;
}

View File

@ -0,0 +1,7 @@
package com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.configuration;
public enum WatermarkOrientation {
VERTICAL,
HORIZONTAL,
DIAGONAL
}

View File

@ -1,4 +1,4 @@
package com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemplate.dossier;
package com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier;
import java.time.OffsetDateTime;
import java.util.ArrayList;
@ -6,7 +6,7 @@ import java.util.HashSet;
import java.util.List;
import java.util.Set;
import com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemplate.DownloadFileType;
import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.DownloadFileType;
import lombok.AllArgsConstructor;
import lombok.Builder;

View File

@ -1,4 +1,4 @@
package com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemplate.dossier;
package com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier;
import lombok.AllArgsConstructor;
import lombok.Builder;

View File

@ -1,4 +1,4 @@
package com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemplate.dossier;
package com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier;
import java.time.OffsetDateTime;

View File

@ -1,12 +1,11 @@
package com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemplate.dossier;
package com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier;
import java.time.OffsetDateTime;
import java.util.HashSet;
import java.util.Set;
import com.fasterxml.jackson.annotation.JsonAlias;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemplate.DownloadFileType;
import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.DownloadFileType;
import lombok.AllArgsConstructor;
import lombok.Builder;
@ -19,8 +18,9 @@ import lombok.NoArgsConstructor;
@AllArgsConstructor
public class Dossier {
@JsonProperty("dossierId")
private String id;
private String name;
private String dossierName;
private OffsetDateTime date;
private String description;
private String ownerId;
@ -35,33 +35,8 @@ public class Dossier {
private OffsetDateTime startDate;
private OffsetDateTime dueDate;
private OffsetDateTime archivedTime;
private OffsetDateTime lastUpdated;
private String dossierTemplateId;
private String dossierStatusId;
private DossierVisibility visibility;
private DossierAttributes dossierAttributes;
// TODO: The following getters and setter ensure backwards compatibility. Remove them as soon as UI does not use them anymore
@Deprecated
public String getDossierId() {
return id;
}
@Deprecated
public String getDossierName() {
return name;
}
@Deprecated
public void setDossierName(String name) {
this.name = name;
}
}

View File

@ -1,4 +1,4 @@
package com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemplate.dossier;
package com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier;
import lombok.AllArgsConstructor;
import lombok.Builder;

View File

@ -0,0 +1,8 @@
package com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier;
public enum DossierAttributeType {
TEXT,
NUMBER,
DATE,
IMAGE
}

View File

@ -1,4 +1,4 @@
package com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemplate.dossier;
package com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier;
import lombok.AllArgsConstructor;
import lombok.Builder;

View File

@ -0,0 +1,13 @@
package com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier;
import lombok.Data;
@Data
public class DossierInformation {
private int numberOfActiveDossiers;
private int numberOfArchivedDossiers;
private int numberOfSoftDeletedDossiers;
private int numberOfHardDeletedDossiers;
}

View File

@ -0,0 +1,37 @@
package com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier;
import java.time.OffsetDateTime;
import java.util.Map;
import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier.file.ProcessingStatus;
import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier.file.WorkflowStatus;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(of = {"dossierId"})
public class DossierStats {
private String dossierId;
private int numberOfFiles;
private int numberOfSoftDeletedFiles;
private int numberOfPages; // sum of pages
private int numberOfExcludedPages; // sum of excludedPages
private boolean hasRedactionsFilePresent; // true if at least one file in the dossier has redactions
private boolean hasHintsNoRedactionsFilePresent; // true if at least one file in the dossier has hints but doesn't have redactions
private boolean hasSuggestionsFilePresent; // true if at least one file in the dossier has suggestions
private boolean hasUpdatesFilePresent; //true if at least one file in the dossier has updates
private boolean hasNoFlagsFilePresent; // true if at least one file in the dossier has none of the other flags
private Map<ProcessingStatus, Integer> fileCountPerProcessingStatus;
private Map<WorkflowStatus, Integer> fileCountPerWorkflowStatus;
private OffsetDateTime lastFileUpdateDate;
private OffsetDateTime fileManipulationDate;
}

View File

@ -1,4 +1,6 @@
package com.iqser.red.service.persistence.service.v2.api.external.model;
package com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
@ -7,15 +9,17 @@ import lombok.NoArgsConstructor;
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class DossierStatusDefinition {
@NoArgsConstructor
public class DossierStatusInfo {
@JsonProperty("dossierStatusId")
private String id;
private String name;
private String description;
private int rank;
private String color;
private long dossierCount;
private String dossierTemplateId;
private int rank;
private Long dossierCount;
}

View File

@ -0,0 +1,7 @@
package com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier;
public enum DossierVisibility {
PRIVATE,
PUBLIC;
}

View File

@ -1,4 +1,4 @@
package com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemplate.dossier.file;
package com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier.file;
import lombok.AccessLevel;
import lombok.AllArgsConstructor;

View File

@ -1,4 +1,4 @@
package com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemplate.dossier.file;
package com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier.file;
import lombok.Data;

View File

@ -1,6 +1,5 @@
package com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemplate.dossier.file;
package com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier.file;
import jakarta.validation.constraints.Size;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
@ -13,19 +12,14 @@ import lombok.NoArgsConstructor;
public class FileAttributeConfig {
private String id;
@Size(max = 254)
private String csvColumnHeader;
@Size(max = 254)
private String label;
private boolean primaryAttribute;
private boolean editable;
private boolean filterable;
private boolean displayedInFileList;
private String placeholder;
@Builder.Default
private FileAttributeType type = FileAttributeType.TEXT;
private String dossierTemplateId;
private boolean includeInCsvExport;
}

View File

@ -0,0 +1,7 @@
package com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier.file;
public enum FileAttributeType {
TEXT,
NUMBER,
DATE
}

View File

@ -1,4 +1,4 @@
package com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemplate.dossier.file;
package com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier.file;
import java.time.OffsetDateTime;
import java.util.HashMap;
@ -31,8 +31,6 @@ public class FileModel {
private OffsetDateTime deleted;
private OffsetDateTime lastProcessed;
private OffsetDateTime lastIndexed;
private OffsetDateTime lastLayoutProcessed;
private String layoutParserVersion;
private OffsetDateTime lastManualChangeDate;
private int numberOfAnalyses;
private String assignee;
@ -45,13 +43,9 @@ public class FileModel {
private boolean hasUpdates;
private boolean reanalysisRequired;
private boolean fullAnalysisRequired;
private boolean componentReanalysisRequired;
private String uploader;
private long dictionaryVersion;
private long aiCreationVersion;
private long rulesVersion;
private long componentRulesVersion;
private long dateFormatsVersion;
private long dossierDictionaryVersion;
private long legalBasisVersion;
private OffsetDateTime approvalDate;
@ -71,26 +65,16 @@ public class FileModel {
private Map<String, String> fileAttributes = new HashMap<>();
private String dossierId;
private boolean dossierArchived;
private boolean dossierDeleted;
private String dossierTemplateId;
private String dossierStatusId;
private OffsetDateTime redactionModificationDate;
private OffsetDateTime fileManipulationDate;
private boolean hasHighlights;
private FileErrorInfo fileErrorInfo;
private Map<String, Integer> componentMappingVersions = new HashMap<>();
private OffsetDateTime lastDownloadDate;
public long getFileSize() {
return this.fileSize != null ? this.fileSize : 0L;
}
public boolean isAnalysisRequired() {
return this.fullAnalysisRequired || this.reanalysisRequired || this.componentReanalysisRequired;
return this.fullAnalysisRequired || this.reanalysisRequired;
}

View File

@ -0,0 +1,30 @@
package com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier.file;
import lombok.Getter;
public enum FileType {
UNTOUCHED(".pdf"),
ORIGIN(".pdf"),
REDACTION_LOG(".json"),
SIMPLIFIED_TEXT(".json"),
SECTION_GRID(".json"),
TEXT(".json"),
NER_ENTITIES(".json"),
IMAGE_INFO(".json"),
IMPORTED_REDACTIONS(".json"),
TEXT_HIGHLIGHTS(".json"),
FIGURE(".json"),
TABLES(".json"),
COMPONENTS(".json");
@Getter
private final String extension;
FileType(String extension) {
this.extension = extension;
}
}

View File

@ -1,4 +1,4 @@
package com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemplate.dossier.file;
package com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier.file;
public enum ProcessingStatus {
ANALYSE,
@ -12,13 +12,13 @@ public enum ProcessingStatus {
PROCESSED,
PROCESSING,
REPROCESS,
SURROUNDING_TEXT_PROCESSING,
UNPROCESSED,
FULL_PROCESSING,
PRE_PROCESSING_QUEUED,
PRE_PROCESSING,
PRE_PROCESSED,
FIGURE_DETECTION_ANALYZING,
TABLE_PARSING_ANALYZING,
VISUAL_LAYOUT_PARSING_ANALYZING,
BULK_LOCAL_REDACTIONS_PROCESSING
TABLE_PARSING_ANALYZING
}

View File

@ -0,0 +1,8 @@
package com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier.file;
public enum WorkflowStatus {
NEW,
UNDER_REVIEW,
UNDER_APPROVAL,
APPROVED
}

View File

@ -1,4 +1,4 @@
package com.iqser.red.service.persistence.management.v1.processor.dataexchange.models;
package com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.importexport;
import lombok.AccessLevel;
import lombok.AllArgsConstructor;

View File

@ -1,4 +1,4 @@
package com.iqser.red.service.persistence.management.v1.processor.dataexchange;
package com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.importexport;
import lombok.Getter;
@ -13,20 +13,12 @@ public enum ExportFilename {
FILE_ATTRIBUTE_GENERAL_CONFIG("fileAttributeGeneralConfigList"),
LEGAL_BASIS("legalBasisMappingList"),
RULES("rules"),
COMPONENT_RULES("componentRules"),
DATE_FORMATS("dateFormats"),
REPORT_TEMPLATE("reportTemplateList"),
REPORT_TEMPLATE_MULTI_FILE(" (Multi-file)"),
DOSSIER_TYPE("dossierType"),
ENTRIES("entries"),
FALSE_POSITIVES("falsePositives"),
FALSE_RECOMMENDATION("falseRecommendations"),
DELETED_ENTRIES("deletedEntries"),
DELETED_FALSE_POSITIVES("deletedFalsePositives"),
DELETED_FALSE_RECOMMENDATION("deletedFalseRecommendations"),
COMPONENT_MAPPINGS_FOLDER("mappings"),
COMPONENT_MAPPINGS_FILE("componentMappingsList"),
COMPONENTS("components");
FALSE_RECOMMENDATION("falseRecommendations");
@Getter
private final String filename;

View File

@ -1,5 +1,6 @@
package com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemplate.importexport;
package com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.importexport;
import lombok.AccessLevel;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
@ -9,7 +10,7 @@ import lombok.NonNull;
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@NoArgsConstructor(access = AccessLevel.PRIVATE)
public class ImportDossierTemplateRequest {
@NonNull

View File

@ -0,0 +1,73 @@
package com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.importexport;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.DossierAttributeConfig;
import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.DossierTemplate;
import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.FileAttributesGeneralConfiguration;
import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.ReportTemplateUploadRequest;
import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.configuration.Colors;
import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.configuration.Watermark;
import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier.DossierStatusInfo;
import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier.file.FileAttributeConfig;
import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.legalbasis.LegalBasis;
import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.type.Type;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class ImportTemplateResult {
public String dossierTemplateId;
public String userId;
public boolean updateExistingTemplate;
public DossierTemplate dossierTemplate;
@Builder.Default
public List<Watermark> watermarks = new ArrayList<>();
public Colors colors;
@Builder.Default
public List<DossierStatusInfo> dossierStatusInfos = new ArrayList<>();
@Builder.Default
public List<DossierAttributeConfig> dossierAttributesConfigs = new ArrayList<>();
public FileAttributesGeneralConfiguration fileAttributesGeneralConfiguration;
@Builder.Default
public List<FileAttributeConfig> fileAttributesConfigs = new ArrayList<>();
@Builder.Default
public List<LegalBasis> legalBases = new ArrayList<>();
public String ruleSet;
@Builder.Default
public List<ReportTemplateUploadRequest> reportTemplateUploadRequests = new ArrayList<>();
@Builder.Default
public List<Type> types = new ArrayList<>();
@Builder.Default
public Map<String, List<String>> entries = new HashMap<>();
@Builder.Default
public Map<String, List<String>> falsePositives = new HashMap<>();
@Builder.Default
public Map<String, List<String>> falseRecommendations = new HashMap<>();
}

View File

@ -1,4 +1,4 @@
package com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemplate.legalbasis;
package com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.legalbasis;
import lombok.AllArgsConstructor;
import lombok.Builder;
@ -14,6 +14,5 @@ public class LegalBasis {
private String name;
private String description;
private String reason;
private String technicalName;
}

View File

@ -1,4 +1,4 @@
package com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemplate.legalbasis;
package com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.legalbasis;
import java.util.ArrayList;
import java.util.List;

View File

@ -0,0 +1,22 @@
package com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.type;
import java.io.Serializable;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class DictionaryEntry implements Serializable {
private long entryId;
private String value;
private long version;
private boolean deleted;
private String typeId;
}

View File

@ -0,0 +1,7 @@
package com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.type;
public enum DictionaryEntryType {
ENTRY,
FALSE_POSITIVE,
FALSE_RECOMMENDATION
}

View File

@ -0,0 +1,19 @@
package com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.type;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class DictionarySummary {
private String id; // type id
private String type; // type
private String name; // label
private long entriesCount; // entries size
}

View File

@ -1,4 +1,4 @@
package com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemplate.type;
package com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.type;
import lombok.AllArgsConstructor;
import lombok.Builder;

View File

@ -1,11 +1,10 @@
package com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemplate.type;
package com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.type;
import java.time.OffsetDateTime;
import java.util.ArrayList;
import java.util.List;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.iqser.red.service.dictionarymerge.commons.DictionaryEntry;
import lombok.AllArgsConstructor;
import lombok.Builder;
@ -16,7 +15,6 @@ import lombok.NoArgsConstructor;
@Builder
@NoArgsConstructor
@AllArgsConstructor
@SuppressWarnings("PMD.AvoidFieldNameMatchingTypeName")
public class Type {
private String id;
@ -30,12 +28,8 @@ public class Type {
private boolean isCaseInsensitive;
private boolean isRecommendation;
private String description;
private boolean aiCreationEnabled;
private String aiDescription;
private long version;
private long aiCreationVersion;
private boolean addToDictionaryAction;
private boolean dossierDictionaryOnly;
private String dossierTemplateId;
private String dossierId;
private List<DictionaryEntry> entries = new ArrayList<>();
@ -45,7 +39,6 @@ public class Type {
private boolean systemManaged;
private boolean autoHideSkipped;
private OffsetDateTime softDeletedTime;
private boolean experimental;
// For auto-mappers

View File

@ -1,4 +1,4 @@
package com.iqser.red.service.persistence.service.v1.api.shared.model.download;
package com.iqser.red.service.persistence.service.v1.api.model.download;
import java.util.ArrayList;
import java.util.List;
@ -17,7 +17,6 @@ public class DownloadRequest {
private String userId;
private String dossierId;
private Boolean includeUnprocessed;
@Builder.Default
private List<String> fileIds = new ArrayList<>();

Some files were not shown because too many files have changed in this diff Show More