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/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."); } } 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..9a1896c22 --- /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,14 @@ +databaseChangeLog: + - changeSet: + id: add-watermark-text-alignment + author: corinaolariu + changes: + - addColumn: + columns: + - column: + name: vertical_text_alignment + type: VARCHAR(20) + - column: + name: horizontal_text_alignment + type: VARCHAR(20) + tableName: watermark_configuration \ No newline at end of file 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); }); 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 +}