Pull request #106: fixes

Merge in RED/persistence-service from bugfixes-3 to master

* commit 'f2b4d175c27d1f9773f14a10b20c484465a7a095':
  fixed hard delete and dossier template
  fixes
This commit is contained in:
Timo Bejan 2021-11-08 13:32:52 +01:00
commit 952a61cb21
5 changed files with 29 additions and 8 deletions

View File

@ -64,13 +64,13 @@ public class DossierTemplatePersistenceService {
public void deleteDossierTemplate(String dossierTemplateId, String deletingUserId) {
dossierTemplateRepository.findById(dossierTemplateId).ifPresentOrElse((dossierTemplate) -> {
if (dossierTemplate.getDossiers().isEmpty()) {
var hasNonDeletedDossiers = dossierTemplate.getDossiers().stream().anyMatch(template -> template.getHardDeletedTime() == null);
if (hasNonDeletedDossiers) {
throw new BadRequestException("Cannot delete dossier template with active dossiers!");
} else {
dossierTemplate.setModifiedBy(deletingUserId);
dossierTemplate.setDateModified(OffsetDateTime.now().truncatedTo(ChronoUnit.MILLIS));
dossierTemplate.setSoftDeleteTime(OffsetDateTime.now().truncatedTo(ChronoUnit.MILLIS));
} else {
throw new BadRequestException("Cannot delete dossier template with active dossiers!");
}
}, () -> {
throw new NotFoundException(String.format(DOSSIER_TEMPLATE_NOT_FOUND_MESSAGE, dossierTemplateId));

View File

@ -144,7 +144,6 @@ public class DictionaryController implements DictionaryResource {
.collect(toList()), currentVersion + 1);
}
dictionaryPersistenceService.incrementVersion(typeId);
}

View File

@ -35,8 +35,6 @@ public class ReanalysisController implements ReanalysisResource {
private final FileStatusService fileStatusService;
private final DossierPersistenceService dossierPersistenceService;
private final DictionaryController dictionaryClient;
private final RulesController rulesClient;
private final IndexingService indexingService;
private final ReanalysisRequiredStatusService reanalysisRequiredStatusService;

View File

@ -50,7 +50,8 @@ public class ReportTemplateController implements ReportTemplateResource {
String storageId = StorageIdUtils.getReportStorageId(reportTemplateUploadRequest.getDossierTemplateId(), reportTemplateUploadRequest.getFileName());
storageService.storeObject(storageId, reportTemplateUploadRequest.getTemplate());
String templateId = UUID.randomUUID().toString();
reportTemplatePersistenceService.insert(reportTemplateUploadRequest.getDossierTemplateId(), templateId, storageId, reportTemplateUploadRequest.getFileName(), reportTemplateUploadRequest.isActiveByDefault(), reportTemplateUploadRequest.isMultiFileReport());
reportTemplatePersistenceService.insert(reportTemplateUploadRequest.getDossierTemplateId(), templateId, storageId,
reportTemplateUploadRequest.getFileName(), reportTemplateUploadRequest.isActiveByDefault(), reportTemplateUploadRequest.isMultiFileReport());
return convert(reportTemplatePersistenceService.find(templateId), ReportTemplate.class);

View File

@ -1,7 +1,9 @@
package com.iqser.red.service.peristence.v1.server.integration.tests;
import com.iqser.red.service.peristence.v1.server.integration.client.DossierClient;
import com.iqser.red.service.peristence.v1.server.integration.client.DossierTemplateClient;
import com.iqser.red.service.peristence.v1.server.integration.service.DossierTemplateTesterAndProvider;
import com.iqser.red.service.peristence.v1.server.integration.service.DossierTesterAndProvider;
import com.iqser.red.service.peristence.v1.server.integration.utils.AbstractPersistenceServerServiceTest;
import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.CreateOrUpdateDossierTemplateRequest;
import feign.FeignException;
@ -9,16 +11,24 @@ import org.junit.Test;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import java.util.Collections;
import static org.assertj.core.api.Assertions.assertThat;
public class DossierTemplateTest extends AbstractPersistenceServerServiceTest {
@Autowired
private DossierTesterAndProvider dossierTesterAndProvider;
@Autowired
private DossierTemplateTesterAndProvider dossierTemplateTesterAndProvider;
@Autowired
private DossierTemplateClient dossierTemplateClient;
@Autowired
private DossierClient dossierClient;
@Test
public void testDossierTemplate() {
@ -50,5 +60,18 @@ public class DossierTemplateTest extends AbstractPersistenceServerServiceTest {
updated = dossierTemplateClient.createOrUpdateDossierTemplate(cru);
assertThat(updated.getName()).isEqualTo("Template 1 Update");
var testDossier = dossierTesterAndProvider.provideTestDossier(updated);
try{
dossierTemplateClient.deleteDossierTemplate(updated.getId(), "1");
}catch (FeignException e){
assertThat(e.status()).isEqualTo(400);
}
dossierClient.hardDeleteDossiers(Collections.singleton(testDossier.getId()));
dossierTemplateClient.deleteDossierTemplate(updated.getId(), "1");
assertThat(dossierTemplateClient.getAllDossierTemplates().isEmpty()).isTrue();
}
}