diff --git a/persistence-service-v1/persistence-service-internal-api-impl-v1/src/main/java/com/iqser/red/service/persistence/v1/internal/api/controller/DictionaryInternalController.java b/persistence-service-v1/persistence-service-internal-api-impl-v1/src/main/java/com/iqser/red/service/persistence/v1/internal/api/controller/DictionaryInternalController.java index 028be7654..03129d70e 100644 --- a/persistence-service-v1/persistence-service-internal-api-impl-v1/src/main/java/com/iqser/red/service/persistence/v1/internal/api/controller/DictionaryInternalController.java +++ b/persistence-service-v1/persistence-service-internal-api-impl-v1/src/main/java/com/iqser/red/service/persistence/v1/internal/api/controller/DictionaryInternalController.java @@ -49,7 +49,7 @@ public class DictionaryInternalController implements DictionaryResource { @Override public Type getDictionaryForType(@PathVariable(TYPE_PARAMETER_NAME) String typeId, @RequestParam(value = FROM_VERSION_PARAM, required = false) Long fromVersion) { - var entity = dictionaryPersistenceService.getType(typeId); + var entity = dictionaryPersistenceService.getType(typeId, true); var target = convert(entity, Type.class); target.setEntries(convert(entryPersistenceService.getEntries(typeId, DictionaryEntryType.ENTRY, fromVersion), DictionaryEntry.class)); target.setFalsePositiveEntries(convert(entryPersistenceService.getEntries(typeId, DictionaryEntryType.FALSE_POSITIVE, fromVersion), DictionaryEntry.class)); diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/DictionaryPersistenceService.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/DictionaryPersistenceService.java index 28d6c7904..5ae268f8c 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/DictionaryPersistenceService.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/DictionaryPersistenceService.java @@ -7,8 +7,6 @@ import java.util.Optional; import java.util.Set; import java.util.stream.Collectors; -import jakarta.transaction.Transactional; - import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; @@ -21,6 +19,7 @@ import com.iqser.red.service.persistence.management.v1.processor.service.persist import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.dictionaryentry.EntryRepository; import com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemplate.type.DictionarySummaryResponse; +import jakarta.transaction.Transactional; import lombok.RequiredArgsConstructor; @Service @@ -52,7 +51,8 @@ public class DictionaryPersistenceService { String dossierId, boolean hasDictionary, boolean systemManaged, - boolean autoHideSkipped, boolean dossierDictionaryOnly) { + boolean autoHideSkipped, + boolean dossierDictionaryOnly) { checkRankAlreadyExists(type, dossierTemplateId, rank, dossierId); @@ -168,6 +168,7 @@ public class DictionaryPersistenceService { return filterDeleted(types, includeDeleted); } + public List getAllDossierTypesForDossierTemplateAndType(String dossierTemplateId, String type, boolean includeDeleted) { var types = typeRepository.getAllDossierTypesForDossierTemplateAndType(dossierTemplateId, type); @@ -189,9 +190,18 @@ public class DictionaryPersistenceService { } + public TypeEntity getType(String typeId, boolean includeDeleted) { + + if (includeDeleted) { + return typeRepository.findById(typeId).orElseThrow(() -> new NotFoundException("Type: " + typeId + " not found")); + } + return typeRepository.findByIdAndNotDeleted(typeId).orElseThrow(() -> new NotFoundException("Type: " + typeId + " not found")); + } + + public TypeEntity getType(String typeId) { - return typeRepository.findByIdAndNotDeleted(typeId).orElseThrow(() -> new NotFoundException("Type: " + typeId + " not found")); + return getType(typeId, false); }