deletion of dossier template on failed import
This commit is contained in:
parent
8d70c557b1
commit
6342b1b4f6
@ -109,7 +109,9 @@ public class DossierTemplateImportService {
|
||||
|
||||
ImportTemplateResult archiveResult = readDossierTemplateImportArchive(request);
|
||||
|
||||
return importDossierTemplate(archiveResult).getDossierTemplateId();
|
||||
TemplateImportInfo templateImportInfo = importDossierTemplate(archiveResult);
|
||||
|
||||
return templateImportInfo.getDossierTemplateId();
|
||||
}
|
||||
|
||||
|
||||
@ -165,7 +167,6 @@ public class DossierTemplateImportService {
|
||||
}
|
||||
throw e;
|
||||
}
|
||||
|
||||
return templateImportInfo;
|
||||
}
|
||||
|
||||
|
||||
@ -17,6 +17,7 @@ import java.util.List;
|
||||
import java.util.UUID;
|
||||
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import com.iqser.red.service.persistence.management.v1.processor.entity.ComponentMappingEntity;
|
||||
import com.iqser.red.service.persistence.management.v1.processor.exception.BadRequestException;
|
||||
@ -229,7 +230,7 @@ public class ComponentMappingService {
|
||||
return dossierTemplateId + "/" + id + "_" + name + "_" + fileName;
|
||||
}
|
||||
|
||||
|
||||
@Transactional
|
||||
public void deleteByDossierTemplateId(String dossierTemplateId) {
|
||||
|
||||
componentMappingPersistenceService.getByDossierTemplateId(dossierTemplateId)
|
||||
|
||||
@ -405,6 +405,7 @@ public class DictionaryManagementService {
|
||||
}
|
||||
|
||||
|
||||
@Transactional
|
||||
public void hardDeleteByDossierTemplateId(String dossierTemplateId) {
|
||||
|
||||
dictionaryPersistenceService.hardDeleteTypesByDossierTemplateId(dossierTemplateId);
|
||||
|
||||
@ -5,6 +5,10 @@ import java.util.List;
|
||||
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import com.iqser.red.service.persistence.management.v1.processor.service.persistence.DossierAttributeConfigPersistenceService;
|
||||
import com.iqser.red.service.persistence.management.v1.processor.service.persistence.DossierAttributePersistenceService;
|
||||
import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.DossierAttributeConfigRepository;
|
||||
|
||||
import jakarta.transaction.Transactional;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
|
||||
@ -15,6 +19,9 @@ public class DossierDeletionService {
|
||||
private final FileDeletionService fileDeletionService;
|
||||
private final DossierService dossierService;
|
||||
private final DictionaryManagementService dictionaryManagementService;
|
||||
private final DossierAttributePersistenceService dossierAttributePersistenceService;
|
||||
private final DossierAttributeConfigRepository dossierAttributeConfigRepository;
|
||||
private final DossierAttributeConfigPersistenceService dossierAttributeConfigPersistenceService;
|
||||
|
||||
|
||||
@Transactional
|
||||
@ -45,12 +52,16 @@ public class DossierDeletionService {
|
||||
}
|
||||
|
||||
|
||||
@Transactional
|
||||
public void deleteAllDossiersInTemplate(String dossierId) {
|
||||
public void deleteAllDossiersInTemplate(String dossierTemplateId) {
|
||||
|
||||
for (String dossierId : dossierService.getAllDossierIdsForDossierTemplateId(dossierTemplateId)) {
|
||||
|
||||
fileDeletionService.hardDeleteFilesAndDataByDossierId(dossierId);
|
||||
dictionaryManagementService.hardDeleteByDossierId(dossierId);
|
||||
dossierAttributePersistenceService.deleteDossierAttribute(dossierId);
|
||||
dossierService.hardDeleteDossier(dossierId);
|
||||
}
|
||||
|
||||
fileDeletionService.hardDeleteFilesAndDataByDossierId(dossierId);
|
||||
dictionaryManagementService.hardDeleteByDossierId(dossierId);
|
||||
dossierService.hardDeleteDossier(dossierId);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -119,6 +119,7 @@ public class DossierService {
|
||||
}
|
||||
|
||||
|
||||
@Transactional
|
||||
public void hardDeleteDossier(String dossierId) {
|
||||
|
||||
dossierPersistenceService.hardDelete(dossierId);
|
||||
|
||||
@ -8,8 +8,11 @@ import java.util.stream.Collectors;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import com.iqser.red.service.persistence.management.v1.processor.exception.BadRequestException;
|
||||
import com.iqser.red.service.persistence.management.v1.processor.service.persistence.DossierAttributeConfigPersistenceService;
|
||||
import com.iqser.red.service.persistence.management.v1.processor.service.persistence.DossierAttributePersistenceService;
|
||||
import com.iqser.red.service.persistence.management.v1.processor.service.persistence.DossierTemplatePersistenceService;
|
||||
import com.iqser.red.service.persistence.management.v1.processor.service.persistence.FileAttributeConfigPersistenceService;
|
||||
import com.iqser.red.service.persistence.management.v1.processor.service.persistence.ReportTemplatePersistenceService;
|
||||
import com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemplate.CloneDossierTemplateRequest;
|
||||
import com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemplate.CreateOrUpdateDossierTemplateRequest;
|
||||
import com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemplate.DossierTemplate;
|
||||
@ -28,6 +31,10 @@ public class DossierTemplateManagementService {
|
||||
private final DictionaryManagementService dictionaryManagementService;
|
||||
private final ComponentMappingService componentMappingService;
|
||||
private final FileAttributeConfigPersistenceService fileAttributeConfigPersistenceService;
|
||||
private final DossierAttributePersistenceService dossierAttributePersistenceService;
|
||||
private final DossierAttributeConfigPersistenceService dossierAttributeConfigPersistenceService;
|
||||
private final ReportTemplatePersistenceService reportTemplatePersistenceService;
|
||||
private final WatermarkService watermarkService;
|
||||
|
||||
|
||||
public DossierTemplate createOrUpdateDossierTemplate(CreateOrUpdateDossierTemplateRequest dossierTemplate) {
|
||||
@ -50,10 +57,13 @@ public class DossierTemplateManagementService {
|
||||
|
||||
public void deleteDossierTemplateCompletely(String dossierTemplateId) {
|
||||
|
||||
watermarkService.deleteByDossierTemplateId(dossierTemplateId);
|
||||
reportTemplatePersistenceService.deleteAllByDossierTemplateId(dossierTemplateId);
|
||||
fileAttributeConfigPersistenceService.deleteByDossierTemplateId(dossierTemplateId);
|
||||
dictionaryManagementService.hardDeleteByDossierTemplateId(dossierTemplateId);
|
||||
componentMappingService.deleteByDossierTemplateId(dossierTemplateId);
|
||||
dossierDeletionService.deleteAllDossiersInTemplate(dossierTemplateId);
|
||||
dossierAttributeConfigPersistenceService.deleteAllDossierAttributeConfigsInTemplate(dossierTemplateId);
|
||||
dossierTemplatePersistenceService.deleteDossierTemplate(dossierTemplateId);
|
||||
}
|
||||
|
||||
|
||||
@ -70,7 +70,8 @@ public class WatermarkService {
|
||||
validateWatermarkNameIsUnique(watermark.getName(), loadedWatermark.get().getDossierTemplateId(), loadedWatermark.get().getId());
|
||||
BeanUtils.copyProperties(watermark, loadedWatermark.get(), "dossierTemplateId", "createdBy", "dateAdded", "dateModified");
|
||||
loadedWatermark.get().setDateModified(OffsetDateTime.now().truncatedTo(ChronoUnit.MILLIS));
|
||||
var dossierTemplate = dossierTemplateRepository.findById(watermark.getDossierTemplateId()).orElseThrow(() -> new NotFoundException("Dossier Template not found"));
|
||||
var dossierTemplate = dossierTemplateRepository.findById(watermark.getDossierTemplateId())
|
||||
.orElseThrow(() -> new NotFoundException("Dossier Template not found"));
|
||||
loadedWatermark.get().setDossierTemplate(dossierTemplate);
|
||||
return loadedWatermark.get();
|
||||
} else { // if not found by id -> add it as a new watermark
|
||||
@ -79,7 +80,8 @@ public class WatermarkService {
|
||||
WatermarkEntity watermarkEntity = new WatermarkEntity();
|
||||
BeanUtils.copyProperties(watermark, watermarkEntity, "id", "dateAdded", "dateModified");
|
||||
watermarkEntity.setDateAdded(OffsetDateTime.now().truncatedTo(ChronoUnit.MILLIS));
|
||||
var dossierTemplate = dossierTemplateRepository.findById(watermark.getDossierTemplateId()).orElseThrow(() -> new NotFoundException("Dossier Template not found"));
|
||||
var dossierTemplate = dossierTemplateRepository.findById(watermark.getDossierTemplateId())
|
||||
.orElseThrow(() -> new NotFoundException("Dossier Template not found"));
|
||||
watermarkEntity.setDossierTemplate(dossierTemplate);
|
||||
return watermarkRepository.save(watermarkEntity);
|
||||
}
|
||||
@ -89,7 +91,8 @@ public class WatermarkService {
|
||||
WatermarkEntity watermarkEntity = new WatermarkEntity();
|
||||
BeanUtils.copyProperties(watermark, watermarkEntity, "id", "dateAdded", "dateModified");
|
||||
watermarkEntity.setDateAdded(OffsetDateTime.now().truncatedTo(ChronoUnit.MILLIS));
|
||||
var dossierTemplate = dossierTemplateRepository.findById(watermark.getDossierTemplateId()).orElseThrow(() -> new NotFoundException("Dossier Template not found"));
|
||||
var dossierTemplate = dossierTemplateRepository.findById(watermark.getDossierTemplateId())
|
||||
.orElseThrow(() -> new NotFoundException("Dossier Template not found"));
|
||||
watermarkEntity.setDossierTemplate(dossierTemplate);
|
||||
return watermarkRepository.save(watermarkEntity);
|
||||
}
|
||||
@ -168,4 +171,11 @@ public class WatermarkService {
|
||||
return count != 0;
|
||||
}
|
||||
|
||||
|
||||
@Transactional
|
||||
public void deleteByDossierTemplateId(String dossierTemplateId) {
|
||||
|
||||
watermarkRepository.deleteByDossierTemplateId(dossierTemplateId);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -341,20 +341,21 @@ public class DictionaryPersistenceService {
|
||||
public void hardDeleteTypesByDossierTemplateId(String dossierTemplateId) {
|
||||
|
||||
for (TypeEntity typeEntity : typeRepository.findAllByDossierTemplateId(dossierTemplateId)) {
|
||||
entryRepository.deleteAllByTypeId(typeEntity.getType());
|
||||
falsePositiveEntryRepository.deleteAllByTypeId(typeEntity.getType());
|
||||
falseRecommendationEntryRepository.deleteAllByTypeId(typeEntity.getType());
|
||||
entryRepository.deleteAllByTypeId(typeEntity.getId());
|
||||
falsePositiveEntryRepository.deleteAllByTypeId(typeEntity.getId());
|
||||
falseRecommendationEntryRepository.deleteAllByTypeId(typeEntity.getId());
|
||||
typeRepository.deleteById(typeEntity.getId());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@Transactional
|
||||
public void hardDeleteTypesByDossierId(String dossierId) {
|
||||
|
||||
for (TypeEntity typeEntity : typeRepository.findByDossierId(dossierId)) {
|
||||
entryRepository.deleteAllByTypeId(typeEntity.getType());
|
||||
falsePositiveEntryRepository.deleteAllByTypeId(typeEntity.getType());
|
||||
falseRecommendationEntryRepository.deleteAllByTypeId(typeEntity.getType());
|
||||
entryRepository.deleteAllByTypeId(typeEntity.getId());
|
||||
falsePositiveEntryRepository.deleteAllByTypeId(typeEntity.getId());
|
||||
falseRecommendationEntryRepository.deleteAllByTypeId(typeEntity.getId());
|
||||
typeRepository.deleteById(typeEntity.getId());
|
||||
}
|
||||
}
|
||||
|
||||
@ -135,4 +135,11 @@ public class DossierAttributeConfigPersistenceService {
|
||||
return result.isPresent() ? result.get().getId() : null;
|
||||
}
|
||||
|
||||
|
||||
@Transactional
|
||||
public void deleteAllDossierAttributeConfigsInTemplate(String dossierTemplateId) {
|
||||
|
||||
dossierAttributeConfigRepository.deleteAllByDossierTemplateId(dossierTemplateId);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -5,7 +5,6 @@ import java.time.temporal.ChronoUnit;
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
import java.util.UUID;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
@ -17,8 +16,6 @@ import com.iqser.red.service.persistence.management.v1.processor.entity.dossier.
|
||||
import com.iqser.red.service.persistence.management.v1.processor.exception.BadRequestException;
|
||||
import com.iqser.red.service.persistence.management.v1.processor.exception.ConflictException;
|
||||
import com.iqser.red.service.persistence.management.v1.processor.exception.NotFoundException;
|
||||
import com.iqser.red.service.persistence.management.v1.processor.service.ComponentMappingService;
|
||||
import com.iqser.red.service.persistence.management.v1.processor.service.DictionaryManagementService;
|
||||
import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.DossierTemplateRepository;
|
||||
import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.TypeRepository;
|
||||
import com.iqser.red.service.persistence.service.v1.api.shared.model.RuleFileType;
|
||||
@ -29,7 +26,9 @@ import jakarta.transaction.Transactional;
|
||||
import lombok.AccessLevel;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.experimental.FieldDefaults;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
|
||||
@Slf4j
|
||||
@Service
|
||||
@RequiredArgsConstructor
|
||||
@FieldDefaults(level = AccessLevel.PRIVATE)
|
||||
@ -167,7 +166,6 @@ public class DossierTemplatePersistenceService {
|
||||
}
|
||||
|
||||
|
||||
@Transactional
|
||||
public List<DossierTemplateEntity> getAllDossierTemplates() {
|
||||
|
||||
var allDossierTemplates = dossierTemplateRepository.findAllWhereDeletedIsFalse();
|
||||
@ -177,7 +175,6 @@ public class DossierTemplatePersistenceService {
|
||||
}
|
||||
|
||||
|
||||
@Transactional
|
||||
public DossierTemplateEntity getDossierTemplate(String dossierTemplateId) {
|
||||
|
||||
var dossierTemplate = dossierTemplateRepository.findByIdAndNotDeleted(dossierTemplateId)
|
||||
@ -242,6 +239,4 @@ public class DossierTemplatePersistenceService {
|
||||
dossierTemplateRepository.saveAndFlush(dossierTemplate);
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@ -180,6 +180,7 @@ public class FileAttributeConfigPersistenceService {
|
||||
for (FileAttributeConfigEntity fileAttribute : getFileAttributes(dossierTemplateId)) {
|
||||
deleteFileAttribute(fileAttribute.getId());
|
||||
}
|
||||
fileAttributesGeneralConfigurationRepository.deleteByDossierTemplateId(dossierTemplateId);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -77,4 +77,14 @@ public class ReportTemplatePersistenceService {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@Transactional
|
||||
public void deleteAllByDossierTemplateId(String dossierTemplateId) {
|
||||
|
||||
for (ReportTemplateEntity reportTemplateEntity : findByDossierTemplateId(dossierTemplateId)) {
|
||||
delete(reportTemplateEntity.getTemplateId());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -19,4 +19,6 @@ public interface DossierAttributeConfigRepository extends JpaRepository<DossierA
|
||||
@Param("dossierAttributeId") String dossierAttributeId,
|
||||
@Param("label") String label);
|
||||
|
||||
void deleteAllByDossierTemplateId(String dossierTemplateId);
|
||||
|
||||
}
|
||||
|
||||
@ -6,4 +6,6 @@ import com.iqser.red.service.persistence.management.v1.processor.entity.configur
|
||||
|
||||
public interface FileAttributesGeneralConfigurationRepository extends JpaRepository<FileAttributesGeneralConfigurationEntity, String> {
|
||||
|
||||
void deleteByDossierTemplateId(String dossierTemplateId);
|
||||
|
||||
}
|
||||
|
||||
@ -10,4 +10,7 @@ public interface WatermarkRepository extends JpaRepository<WatermarkEntity, Long
|
||||
|
||||
List<WatermarkEntity> findByDossierTemplateId(String dossierTemplateId);
|
||||
|
||||
|
||||
void deleteByDossierTemplateId(String dossierTemplateId);
|
||||
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user