From 93a4a072c94b53560eb9e776ef289b1f6f8a3873 Mon Sep 17 00:00:00 2001 From: OZGCloud <ozgcloud@mgm-tp.com> Date: Mon, 28 Oct 2024 15:52:27 +0100 Subject: [PATCH] OZG-6721: OZG-6914: First set of changes --- .../admin/setting/AlfaSettingDTO.java | 9 +++++++- .../ozgcloud/admin/setting/SettingMapper.java | 2 ++ .../admin/setting/SettingService.java | 23 +++++++++++++++---- .../setting/VorgangManagerSettingDTO.java | 7 ++++++ .../setting/AlfaSettingDTOTestFactory.java | 11 ++++++++- .../VorgangManagerSettingDTOTestFactory.java | 5 +++- 6 files changed, 50 insertions(+), 7 deletions(-) diff --git a/src/main/java/de/ozgcloud/admin/setting/AlfaSettingDTO.java b/src/main/java/de/ozgcloud/admin/setting/AlfaSettingDTO.java index 0e6e6fed..1bb67126 100644 --- a/src/main/java/de/ozgcloud/admin/setting/AlfaSettingDTO.java +++ b/src/main/java/de/ozgcloud/admin/setting/AlfaSettingDTO.java @@ -1,14 +1,21 @@ package de.ozgcloud.admin.setting; import com.fasterxml.jackson.annotation.JsonProperty; - +import de.ozgcloud.admin.organisationseinheit.OrganisationsEinheitSettings; +import java.util.HashMap; +import java.util.Map; import lombok.Builder; import lombok.Getter; @Builder @Getter class AlfaSettingDTO implements ApplicationSettingDTO { + @JsonProperty("ozgcloud.postfach.signatur") @Builder.Default private String signatur = ""; + + @JsonProperty("ozgcloud.postfach.organisationsEinheitSettings") + @Builder.Default + private Map<String, OrganisationsEinheitSettings> organisationsEinheitSettingsMap = new HashMap<>(); } diff --git a/src/main/java/de/ozgcloud/admin/setting/SettingMapper.java b/src/main/java/de/ozgcloud/admin/setting/SettingMapper.java index f0f1ba62..11c57f0c 100644 --- a/src/main/java/de/ozgcloud/admin/setting/SettingMapper.java +++ b/src/main/java/de/ozgcloud/admin/setting/SettingMapper.java @@ -11,9 +11,11 @@ import de.ozgcloud.admin.setting.postfach.PostfachSettingBody; @Mapper(unmappedTargetPolicy = ReportingPolicy.WARN) interface SettingMapper { + @Deprecated AlfaSettingDTO.AlfaSettingDTOBuilder mapAlfaPostfach(@MappingTarget AlfaSettingDTO.AlfaSettingDTOBuilder builder, PostfachSettingBody postfachData); + @Deprecated VorgangManagerSettingDTO.VorgangManagerSettingDTOBuilder mapVorgangManagerPostfach( @MappingTarget VorgangManagerSettingDTO.VorgangManagerSettingDTOBuilder builder, PostfachSettingBody postfachData); diff --git a/src/main/java/de/ozgcloud/admin/setting/SettingService.java b/src/main/java/de/ozgcloud/admin/setting/SettingService.java index 3c5ceb01..cdb43369 100644 --- a/src/main/java/de/ozgcloud/admin/setting/SettingService.java +++ b/src/main/java/de/ozgcloud/admin/setting/SettingService.java @@ -1,9 +1,11 @@ package de.ozgcloud.admin.setting; -import org.springframework.stereotype.Service; - +import de.ozgcloud.admin.common.organisationseinheit.OrganisationsEinheitSettingsService; +import de.ozgcloud.admin.organisationseinheit.OrganisationsEinheitSettings; import de.ozgcloud.admin.setting.postfach.PostfachSettingBody; +import java.util.Map; import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; @Service @RequiredArgsConstructor @@ -13,14 +15,27 @@ class SettingService { private final SettingRepository repository; private final SettingMapper mapper; + private final OrganisationsEinheitSettingsService oeService; + public AlfaSettingDTO getAlfaSettingDTO() { var postfachData = getSettingWithPostfachFromDb(); - return mapper.mapAlfaPostfach(AlfaSettingDTO.builder(), postfachData).build(); + Map<String, OrganisationsEinheitSettings> settings = oeService.getSettings(); + + return AlfaSettingDTO.builder() + .signatur(postfachData.getSignatur()) + .organisationsEinheitSettingsMap(settings) + .build(); } public VorgangManagerSettingDTO getVorgangManagerSettingDTO() { var postfachData = getSettingWithPostfachFromDb(); - return mapper.mapVorgangManagerPostfach(VorgangManagerSettingDTO.builder(), postfachData).build(); + Map<String, OrganisationsEinheitSettings> settings = oeService.getSettings(); + + return VorgangManagerSettingDTO.builder() + .absender(mapper.mapAbsenderToAbsenderVorgangManager(postfachData.getAbsender())) + .signatur(postfachData.getSignatur()) + .organisationsEinheitSettingsMap(settings) + .build(); } PostfachSettingBody getSettingWithPostfachFromDb() { diff --git a/src/main/java/de/ozgcloud/admin/setting/VorgangManagerSettingDTO.java b/src/main/java/de/ozgcloud/admin/setting/VorgangManagerSettingDTO.java index 0a36b769..5ab2519d 100644 --- a/src/main/java/de/ozgcloud/admin/setting/VorgangManagerSettingDTO.java +++ b/src/main/java/de/ozgcloud/admin/setting/VorgangManagerSettingDTO.java @@ -3,7 +3,10 @@ package de.ozgcloud.admin.setting; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonUnwrapped; +import de.ozgcloud.admin.organisationseinheit.OrganisationsEinheitSettings; import de.ozgcloud.admin.setting.postfach.AbsenderVorgangManager; +import java.util.HashMap; +import java.util.Map; import lombok.Builder; import lombok.Getter; @@ -17,4 +20,8 @@ class VorgangManagerSettingDTO implements ApplicationSettingDTO { @JsonProperty("ozgcloud.postfach.signatur") @Builder.Default private String signatur = ""; + + @JsonProperty("ozgcloud.postfach.organisationsEinheitSettings") + @Builder.Default + private Map<String, OrganisationsEinheitSettings> organisationsEinheitSettingsMap = new HashMap<>(); } diff --git a/src/test/java/de/ozgcloud/admin/setting/AlfaSettingDTOTestFactory.java b/src/test/java/de/ozgcloud/admin/setting/AlfaSettingDTOTestFactory.java index b00c52b6..280bdd52 100644 --- a/src/test/java/de/ozgcloud/admin/setting/AlfaSettingDTOTestFactory.java +++ b/src/test/java/de/ozgcloud/admin/setting/AlfaSettingDTOTestFactory.java @@ -1,13 +1,22 @@ package de.ozgcloud.admin.setting; +import de.ozgcloud.admin.organisationseinheit.OrganisationsEinheitSettings; +import de.ozgcloud.admin.organisationseinheit.OrganisationsEinheitSettingsTestFactory; +import de.ozgcloud.admin.organisationseinheit.OrganisationsEinheitTestFactory; import de.ozgcloud.admin.setting.postfach.PostfachSettingBodyTestFactory; +import java.util.Map; public class AlfaSettingDTOTestFactory { public static AlfaSettingDTO create() { return createBuilder().build(); } + public static Map<String, OrganisationsEinheitSettings> organisationsEinheitSettingsMap = Map.of(OrganisationsEinheitTestFactory.ORGANISATIONS_EINHEIT_ID, + OrganisationsEinheitSettingsTestFactory.create()); + public static AlfaSettingDTO.AlfaSettingDTOBuilder createBuilder() { - return AlfaSettingDTO.builder().signatur(PostfachSettingBodyTestFactory.SIGNATUR); + return AlfaSettingDTO.builder() + .signatur(PostfachSettingBodyTestFactory.SIGNATUR) + .organisationsEinheitSettingsMap(organisationsEinheitSettingsMap); } } diff --git a/src/test/java/de/ozgcloud/admin/setting/VorgangManagerSettingDTOTestFactory.java b/src/test/java/de/ozgcloud/admin/setting/VorgangManagerSettingDTOTestFactory.java index 2e4d90d1..14a44a1d 100644 --- a/src/test/java/de/ozgcloud/admin/setting/VorgangManagerSettingDTOTestFactory.java +++ b/src/test/java/de/ozgcloud/admin/setting/VorgangManagerSettingDTOTestFactory.java @@ -1,5 +1,7 @@ package de.ozgcloud.admin.setting; +import static de.ozgcloud.admin.setting.AlfaSettingDTOTestFactory.organisationsEinheitSettingsMap; + import de.ozgcloud.admin.setting.postfach.AbsenderVorgangManager; import de.ozgcloud.admin.setting.postfach.AbsenderVorgangManagerTestFactory; import de.ozgcloud.admin.setting.postfach.PostfachSettingBodyTestFactory; @@ -15,6 +17,7 @@ public class VorgangManagerSettingDTOTestFactory { public static VorgangManagerSettingDTO.VorgangManagerSettingDTOBuilder createBuilder() { return VorgangManagerSettingDTO.builder() .absender(ABSENDER) - .signatur(SIGNATUR); + .signatur(SIGNATUR) + .organisationsEinheitSettingsMap(organisationsEinheitSettingsMap); } } -- GitLab