diff --git a/src/main/java/de/ozgcloud/admin/setting/AlfaSettingDTO.java b/src/main/java/de/ozgcloud/admin/setting/AlfaSettingDTO.java index 0e6e6fed08fee3d9a87e10a57461901bfea7f531..1bb671267c26463067b72f3925dc86778ac72e97 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 f0f1ba6273a836a1a3fc94af1bd73a4fa3e2b1c0..11c57f0cc55bb20b7d9a8d6f44f2766fd93524af 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 3c5ceb01cc06ab50359c0c97233e023192f11e2d..cdb43369e4de9900ad78f4c21d2f8e24c01a1726 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 0a36b7696e1a46f76bd99817b23ccf20ed71603b..5ab2519d95d923eae3a38dc9b13e28009980b87a 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 b00c52b64f139c94e90a101aba3bdb8c66df6313..280bdd528e6e31c0684d86d526a4efdfa6827e6e 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 2e4d90d105fe79a27e69499f6314e396aeb6bbd7..14a44a1da09e8546d35ca38f510af5c78f6690d0 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); } }