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:
commit
952a61cb21
@ -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));
|
||||
|
||||
@ -144,7 +144,6 @@ public class DictionaryController implements DictionaryResource {
|
||||
.collect(toList()), currentVersion + 1);
|
||||
}
|
||||
|
||||
dictionaryPersistenceService.incrementVersion(typeId);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -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;
|
||||
|
||||
|
||||
@ -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);
|
||||
|
||||
|
||||
@ -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();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user