Merge branch 'RED-10071_fix' into 'master'

RED-10071 - Create system-managed entities automatically - fix component definitions

Closes RED-10071

See merge request redactmanager/persistence-service!810
This commit is contained in:
Corina Olariu 2024-10-30 09:25:38 +01:00
commit 0f8e78a1aa
3 changed files with 21 additions and 0 deletions

View File

@ -627,6 +627,9 @@ public class DossierTemplateImportService {
private void updateComponents(ImportTemplateResult request, String dossierTemplateId) {
List<ComponentDefinitionEntity> existingComponentDefinitions = componentDefinitionPersistenceService.findComponentsByDossierTemplateId(dossierTemplateId);
existingComponentDefinitions.forEach(componentDefinition -> componentDefinitionPersistenceService.delete(componentDefinition.getId()));
request.getComponentDefinitions()
.forEach(componentDefinition -> {
componentDefinition.setDossierTemplateId(dossierTemplateId);

View File

@ -149,6 +149,24 @@ public class DossierTemplateImportTest extends AbstractPersistenceServerServiceT
assertThat(systemManagedTypes.size()).isEqualTo(8);
}
@SneakyThrows
@Test
public void testDossierTemplateImportAsUpdateDM() {
TenantContext.setTenantId("redaction");
var archive = loadFileFromClasspath("dm.zip");
var request = ImportDossierTemplateRequest.builder().archive(archive).updateExistingDossierTemplate(false).userId("system").build();
DossierTemplate dossierTemplate = dossierTemplateManagementService.importDossierTemplate(request);
TypeResponse types = dictionaryClient.getAllTypes(dossierTemplate.getId(), null, true);
List<TypeValue> systemManagedTypes = types.getTypes().stream().filter(TypeValue::isSystemManaged).collect(Collectors.toList());
assertThat(systemManagedTypes.size()).isEqualTo(8);
var request1 = ImportDossierTemplateRequest.builder().archive(archive).dossierTemplateId(dossierTemplate.getId()).updateExistingDossierTemplate(true).userId("system").build();
dossierTemplateManagementService.importDossierTemplate(request1);
}
@SneakyThrows
@Test
public void testDossierTemplateImportWithTheSameName() {