deletion of dossier template on failed import

This commit is contained in:
Kilian Schuettler 2024-08-06 10:37:52 +02:00
parent 64a6b07bef
commit 8d70c557b1
5 changed files with 31 additions and 0 deletions

View File

@ -446,4 +446,10 @@ public class DictionaryManagementService {
return dictionaryPersistenceService.getTypeRankSummaryList(dossierTemplateId);
}
public void hardDeleteByDossierId(String dossierId) {
dictionaryPersistenceService.hardDeleteTypesByDossierId(dossierId);
}
}

View File

@ -14,6 +14,7 @@ public class DossierDeletionService {
private final FileDeletionService fileDeletionService;
private final DossierService dossierService;
private final DictionaryManagementService dictionaryManagementService;
@Transactional
@ -48,6 +49,7 @@ public class DossierDeletionService {
public void deleteAllDossiersInTemplate(String dossierId) {
fileDeletionService.hardDeleteFilesAndDataByDossierId(dossierId);
dictionaryManagementService.hardDeleteByDossierId(dossierId);
dossierService.hardDeleteDossier(dossierId);
}

View File

@ -9,6 +9,7 @@ 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.DossierTemplatePersistenceService;
import com.iqser.red.service.persistence.management.v1.processor.service.persistence.FileAttributeConfigPersistenceService;
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;
@ -26,6 +27,7 @@ public class DossierTemplateManagementService {
private final DossierDeletionService dossierDeletionService;
private final DictionaryManagementService dictionaryManagementService;
private final ComponentMappingService componentMappingService;
private final FileAttributeConfigPersistenceService fileAttributeConfigPersistenceService;
public DossierTemplate createOrUpdateDossierTemplate(CreateOrUpdateDossierTemplateRequest dossierTemplate) {
@ -48,6 +50,7 @@ public class DossierTemplateManagementService {
public void deleteDossierTemplateCompletely(String dossierTemplateId) {
fileAttributeConfigPersistenceService.deleteByDossierTemplateId(dossierTemplateId);
dictionaryManagementService.hardDeleteByDossierTemplateId(dossierTemplateId);
componentMappingService.deleteByDossierTemplateId(dossierTemplateId);
dossierDeletionService.deleteAllDossiersInTemplate(dossierTemplateId);

View File

@ -348,4 +348,15 @@ public class DictionaryPersistenceService {
}
}
public void hardDeleteTypesByDossierId(String dossierId) {
for (TypeEntity typeEntity : typeRepository.findByDossierId(dossierId)) {
entryRepository.deleteAllByTypeId(typeEntity.getType());
falsePositiveEntryRepository.deleteAllByTypeId(typeEntity.getType());
falseRecommendationEntryRepository.deleteAllByTypeId(typeEntity.getType());
typeRepository.deleteById(typeEntity.getId());
}
}
}

View File

@ -174,6 +174,15 @@ public class FileAttributeConfigPersistenceService {
}
@Transactional
public void deleteByDossierTemplateId(String dossierTemplateId) {
for (FileAttributeConfigEntity fileAttribute : getFileAttributes(dossierTemplateId)) {
deleteFileAttribute(fileAttribute.getId());
}
}
@Transactional
public void deleteFileAttribute(String fileAttributeId) {