package de.ozgcloud.admin.setting; 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 class SettingService { private static final String POSTFACH_SETTING_ITEM_NAME = "Postfach"; private final SettingRepository repository; private final SettingMapper mapper; private final OrganisationsEinheitSettingsService oeService; public AlfaSettingDTO getAlfaSettingDTO() { var postfachData = getSettingWithPostfachFromDb(); Map<String, OrganisationsEinheitSettings> settings = oeService.getSettings(); return AlfaSettingDTO.builder() .signatur(postfachData.getSignatur()) .organisationsEinheitSettingsMap(settings) .build(); } public VorgangManagerSettingDTO getVorgangManagerSettingDTO() { var postfachData = getSettingWithPostfachFromDb(); Map<String, OrganisationsEinheitSettings> settings = oeService.getSettings(); return VorgangManagerSettingDTO.builder() .absender(mapper.mapAbsenderToAbsenderVorgangManager(postfachData.getAbsender())) .signatur(postfachData.getSignatur()) .organisationsEinheitSettingsMap(settings) .build(); } PostfachSettingBody getSettingWithPostfachFromDb() { var postfach = repository.findOneByName(POSTFACH_SETTING_ITEM_NAME); return postfach.isPresent() ? (PostfachSettingBody) postfach.get().getSettingBody() : PostfachSettingBody.builder().build(); } }