From 50d4900971bff85df7c513bee539e3579fc9bd6b Mon Sep 17 00:00:00 2001 From: devplant Date: Wed, 3 May 2023 11:00:18 +0300 Subject: [PATCH 1/4] RED-5787 - As an admin for Japan, I want to configure the horizontal and vertical alignment of watermarks to be able to adjust the placement - add 2 properties: vertical and horizontal alignment to watermark configuration --- .../entity/configuration/WatermarkEntity.java | 8 ++++++++ .../db/changelog/db.changelog-tenant.yaml | 2 ++ .../tenant/48-add-watermark-text-alignment.yaml | 16 ++++++++++++++++ .../v1/api/shared/model/WatermarkModel.java | 6 ++++++ .../configuration/HorizontalTextAlignment.java | 7 +++++++ .../configuration/VerticalTextAlignment.java | 7 +++++++ 6 files changed, 46 insertions(+) create mode 100644 persistence-service-v1/persistence-service-processor-v1/src/main/resources/db/changelog/tenant/48-add-watermark-text-alignment.yaml create mode 100644 persistence-service-v1/persistence-service-shared-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/shared/model/dossiertemplate/configuration/HorizontalTextAlignment.java create mode 100644 persistence-service-v1/persistence-service-shared-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/shared/model/dossiertemplate/configuration/VerticalTextAlignment.java diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/entity/configuration/WatermarkEntity.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/entity/configuration/WatermarkEntity.java index 9d18cb238..a68aa1624 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/entity/configuration/WatermarkEntity.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/entity/configuration/WatermarkEntity.java @@ -15,6 +15,8 @@ import javax.persistence.ManyToOne; import javax.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; @@ -58,6 +60,12 @@ public class WatermarkEntity { @Column @Enumerated(EnumType.STRING) private WatermarkOrientation orientation; + @Column + @Enumerated(EnumType.STRING) + private HorizontalTextAlignment horizontalTextAlignment; + @Column + @Enumerated(EnumType.STRING) + private VerticalTextAlignment verticalTextAlignment; @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "dossier_template_id") diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/resources/db/changelog/db.changelog-tenant.yaml b/persistence-service-v1/persistence-service-processor-v1/src/main/resources/db/changelog/db.changelog-tenant.yaml index 3ecf94e31..5d0e4d390 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/resources/db/changelog/db.changelog-tenant.yaml +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/resources/db/changelog/db.changelog-tenant.yaml @@ -129,3 +129,5 @@ databaseChangeLog: file: db/changelog/tenant/sql/203-acl-duplicate-cleanup.sql - include: file: db/changelog/tenant/sql/203-spring-acl-constraints.changelog.sql + - include: + file: db/changelog/tenant/48-add-watermark-text-alignment.yaml diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/resources/db/changelog/tenant/48-add-watermark-text-alignment.yaml b/persistence-service-v1/persistence-service-processor-v1/src/main/resources/db/changelog/tenant/48-add-watermark-text-alignment.yaml new file mode 100644 index 000000000..d1f8c7543 --- /dev/null +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/resources/db/changelog/tenant/48-add-watermark-text-alignment.yaml @@ -0,0 +1,16 @@ +databaseChangeLog: + - changeSet: + id: add-watermark-text-alignment + author: corinaolariu + changes: + - addColumn: + columns: + - column: + name: vertical_text_alignment + type: VARCHAR(20) + defaultValue: PUBLIC + - column: + name: horizontal_text_alignment + type: VARCHAR(20) + defaultValue: PUBLIC + tableName: watermark_configuration \ No newline at end of file diff --git a/persistence-service-v1/persistence-service-shared-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/shared/model/WatermarkModel.java b/persistence-service-v1/persistence-service-shared-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/shared/model/WatermarkModel.java index eee36c5b4..aad15ed77 100644 --- a/persistence-service-v1/persistence-service-shared-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/shared/model/WatermarkModel.java +++ b/persistence-service-v1/persistence-service-shared-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/shared/model/WatermarkModel.java @@ -2,6 +2,8 @@ package com.iqser.red.service.persistence.service.v1.api.shared.model; import java.time.OffsetDateTime; +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 io.swagger.v3.oas.annotations.media.Schema; @@ -43,5 +45,9 @@ public class WatermarkModel { private OffsetDateTime dateAdded; @Schema(description = "The date when this watermark was last modified. Set by System on create.") private OffsetDateTime dateModified; + @Schema(description = "The watermark horizontal text alignment") + private HorizontalTextAlignment horizontalTextAlignment; + @Schema(description = "The watermark vertical text alignment") + private VerticalTextAlignment verticalTextAlignment; } diff --git a/persistence-service-v1/persistence-service-shared-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/shared/model/dossiertemplate/configuration/HorizontalTextAlignment.java b/persistence-service-v1/persistence-service-shared-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/shared/model/dossiertemplate/configuration/HorizontalTextAlignment.java new file mode 100644 index 000000000..5851e0a75 --- /dev/null +++ b/persistence-service-v1/persistence-service-shared-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/shared/model/dossiertemplate/configuration/HorizontalTextAlignment.java @@ -0,0 +1,7 @@ +package com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemplate.configuration; + +public enum HorizontalTextAlignment { + LEFT, + CENTER, + RIGHT +} diff --git a/persistence-service-v1/persistence-service-shared-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/shared/model/dossiertemplate/configuration/VerticalTextAlignment.java b/persistence-service-v1/persistence-service-shared-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/shared/model/dossiertemplate/configuration/VerticalTextAlignment.java new file mode 100644 index 000000000..59c22b1ba --- /dev/null +++ b/persistence-service-v1/persistence-service-shared-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/shared/model/dossiertemplate/configuration/VerticalTextAlignment.java @@ -0,0 +1,7 @@ +package com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemplate.configuration; + +public enum VerticalTextAlignment { + TOP, + CENTER, + BOTTOM +} From d09da8ea78d14bbca15521ab82413217c26fb3be Mon Sep 17 00:00:00 2001 From: devplant Date: Thu, 4 May 2023 09:44:57 +0300 Subject: [PATCH 2/4] RED-6034 - Possible to assign a file to unauthorized users - change status from 403 to 400 --- .../management/v1/processor/service/AccessControlService.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/AccessControlService.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/AccessControlService.java index cd75b6e65..4a8e2a394 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/AccessControlService.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/AccessControlService.java @@ -6,6 +6,7 @@ import org.springframework.stereotype.Service; import com.iqser.red.keycloak.commons.KeycloakSecurity; import com.iqser.red.service.persistence.management.v1.processor.acl.custom.dossier.DossierACLService; +import com.iqser.red.service.persistence.management.v1.processor.exception.BadRequestException; import com.iqser.red.service.persistence.management.v1.processor.exception.NotAllowedException; import com.iqser.red.service.persistence.management.v1.processor.exception.NotFoundException; import com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemplate.dossier.file.WorkflowStatus; @@ -69,7 +70,7 @@ public class AccessControlService { var isMember = dossier.getMemberIds().contains(userId); var isApprover = dossier.getApproverIds().contains(userId); if (!isMember && !isApprover) { - throw new NotAllowedException("User must be dossier member or approver."); + throw new BadRequestException("User must be dossier member or approver."); } } From 113947d2165821ab778eacfe537918f52fd9c082 Mon Sep 17 00:00:00 2001 From: devplant Date: Thu, 4 May 2023 10:29:15 +0300 Subject: [PATCH 3/4] RED-6034 - Possible to assign a file to unauthorized users - update junit test --- .../peristence/v1/server/integration/tests/FileTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/FileTest.java b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/FileTest.java index a9c57a057..658d471d6 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/FileTest.java +++ b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/FileTest.java @@ -548,7 +548,7 @@ public class FileTest extends AbstractPersistenceServerServiceTest { assertThat(actualMessage).contains(expectedMessage); - exception = Assertions.assertThrows(FeignException.Forbidden.class, () -> { + exception = Assertions.assertThrows(FeignException.BadRequest.class, () -> { fileClient.setStatusUnderReview(dossier.getId(), file.getId(), user2); }); From 55bca9f7d0b1afba9111159a801c6160ed12ee35 Mon Sep 17 00:00:00 2001 From: devplant Date: Thu, 4 May 2023 12:57:58 +0300 Subject: [PATCH 4/4] RED-5787 - As an admin for Japan, I want to configure the horizontal and vertical alignment of watermarks to be able to adjust the placement - remove default value --- .../db/changelog/tenant/48-add-watermark-text-alignment.yaml | 2 -- 1 file changed, 2 deletions(-) diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/resources/db/changelog/tenant/48-add-watermark-text-alignment.yaml b/persistence-service-v1/persistence-service-processor-v1/src/main/resources/db/changelog/tenant/48-add-watermark-text-alignment.yaml index d1f8c7543..9a1896c22 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/resources/db/changelog/tenant/48-add-watermark-text-alignment.yaml +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/resources/db/changelog/tenant/48-add-watermark-text-alignment.yaml @@ -8,9 +8,7 @@ databaseChangeLog: - column: name: vertical_text_alignment type: VARCHAR(20) - defaultValue: PUBLIC - column: name: horizontal_text_alignment type: VARCHAR(20) - defaultValue: PUBLIC tableName: watermark_configuration \ No newline at end of file