diff --git a/web/src/main/java/it/pagopa/selfcare/dashboard/web/model/mapper/InstitutionResourceMapper.java b/web/src/main/java/it/pagopa/selfcare/dashboard/web/model/mapper/InstitutionResourceMapper.java index 443cd189..28b59e16 100644 --- a/web/src/main/java/it/pagopa/selfcare/dashboard/web/model/mapper/InstitutionResourceMapper.java +++ b/web/src/main/java/it/pagopa/selfcare/dashboard/web/model/mapper/InstitutionResourceMapper.java @@ -1,5 +1,6 @@ package it.pagopa.selfcare.dashboard.web.model.mapper; +import it.pagopa.selfcare.commons.base.security.PartyRole; import it.pagopa.selfcare.commons.base.security.SelfCareAuthority; import it.pagopa.selfcare.commons.base.security.SelfCareGrantedAuthority; import it.pagopa.selfcare.dashboard.connector.model.institution.*; @@ -12,6 +13,7 @@ import org.springframework.security.core.Authentication; import org.springframework.security.core.context.SecurityContextHolder; import org.springframework.util.CollectionUtils; +import org.springframework.util.StringUtils; import java.util.List; import java.util.Optional; @@ -26,6 +28,7 @@ public interface InstitutionResourceMapper { @Mapping(target = "userRole", expression = "java(toUserRole(model.getId(), model.getStatus()))") InstitutionBaseResource toResource(InstitutionInfo model); + @Mapping(target = "userRole", expression = "java(toUserRole(model.getUserRole()))") InstitutionBaseResource toResource(InstitutionBase model); @Mapping(target = "name", source = "description") @@ -71,4 +74,12 @@ default String toUserRole(String institutionId, RelationshipState status) { return userRole; } + @Named("toUserRole") + default String toUserRole(String userRole) { + if(StringUtils.hasText(userRole)){ + return PartyRole.valueOf(userRole).getSelfCareAuthority().toString(); + } + return null; + } + } diff --git a/web/src/test/java/it/pagopa/selfcare/dashboard/web/controller/InstitutionV2ControllerTest.java b/web/src/test/java/it/pagopa/selfcare/dashboard/web/controller/InstitutionV2ControllerTest.java index 0da32789..b9446a9e 100644 --- a/web/src/test/java/it/pagopa/selfcare/dashboard/web/controller/InstitutionV2ControllerTest.java +++ b/web/src/test/java/it/pagopa/selfcare/dashboard/web/controller/InstitutionV2ControllerTest.java @@ -98,6 +98,7 @@ void getInstitutions_institutionInfoNotNull() throws Exception { when(authentication.getPrincipal()).thenReturn(SelfCareUser.builder(userId).build()); InstitutionBase expectedInstitution = mockInstance(new InstitutionBase()); + expectedInstitution.setUserRole("MANAGER"); List expectedInstitutionInfos = new ArrayList<>(); expectedInstitutionInfos.add(expectedInstitution); when(userServiceMock.getInstitutions(userId)).thenReturn(expectedInstitutionInfos);