Skip to content

Commit

Permalink
[SELC-3964] (#313)
Browse files Browse the repository at this point in the history
* [SELC-3407] Feat: API for token/exchange/fatturazione (#292)

* added first implementation of exchange/fatturazione

* remove duplication and fix tests

* [SELC-3464] Removed null and empty objects from REST response in exchange/fatturazione and {productId}/back-office (#296)

* [SELC-3485] Set resource request and limits - DEV (#300)

* Added tag external-v2 for automatic generation of open-api (#303)

Co-authored-by: [email protected] <Aiap1955?^@#>

* Change path for backoffice pagopa client (#304)

Co-authored-by: [email protected] <Aiap1955?^@#>

* Update github action with new tool to check breaking changes (#306)

Co-authored-by: [email protected] <Aiap1955?^@#>

* [SELC-3607] Increase replicas - DEV (#310)

* [SELC-3964] - Mapped fields of institution from token's Institution data (#312)

* feature: mapped some fields of institution data from InstitutionUpdate object persisted in token.

* fix: sonar issue.

---------

Co-authored-by: Manuel Rafeli <[email protected]>
Co-authored-by: Andrea Grillo <[email protected]>
Co-authored-by: pierpaolodidato89 <[email protected]>
Co-authored-by: [email protected] <Aiap1955?^@#>
Co-authored-by: empassaro <[email protected]>
Co-authored-by: andrea-putzu <[email protected]>
  • Loading branch information
7 people authored Jan 12, 2024
1 parent 69c848c commit 51cff67
Show file tree
Hide file tree
Showing 6 changed files with 27 additions and 34 deletions.
20 changes: 4 additions & 16 deletions .github/workflows/release_open_api.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ on:
pull_request:
branches:
- release-dev
types: [ opened ]
types: [ opened, synchronize, reopened ]
workflow_dispatch: #allow to run github action manually
permissions:
contents: write
Expand Down Expand Up @@ -33,22 +33,10 @@ jobs:
- name: Build with Maven
run: mvn test -Dtest=SwaggerConfigTest#swaggerSpringPlugin -DfailIfNoTests=false
- name: Run OpenAPI Diff (from HEAD revision)
uses: LimeFlight/openapi-diff-action@master
uses: mvegter/openapi-diff-action@72cde50f8d3a75f770f08e23b815d5ebe69ff757
with:
head_spec: head/app/src/main/resources/swagger/api-docs.json
base_spec: base/app/src/main/resources/swagger/api-docs.json
output_path: ./output
github_token: ${{ github.token }}
- name: Check report diff
run: |
cd output
result=$(sed -n '/<span class="badge badge-Incompatible">/,/<\/span>/p' api-docs.html)
echo $result;
if [[ "$result" == *"Incompatible"* ]]; then
exit 1;
else
echo 'No incompatible differences between the two api docs';
fi
head-spec: head/app/src/main/resources/swagger/api-docs.json
base-spec: base/app/src/main/resources/swagger/api-docs.json
- name: Commit api-docs
run: |
git ls-files ./app** | grep 'api-docs*' | xargs git add
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,7 @@
import it.pagopa.selfcare.dashboard.connector.onboarding.OnboardingRequestInfo;
import it.pagopa.selfcare.dashboard.connector.rest.client.PartyManagementRestClient;
import it.pagopa.selfcare.dashboard.connector.rest.client.PartyProcessRestClient;
import it.pagopa.selfcare.dashboard.connector.rest.model.InstitutionPut;
import it.pagopa.selfcare.dashboard.connector.rest.model.ProductState;
import it.pagopa.selfcare.dashboard.connector.rest.model.RelationshipInfo;
import it.pagopa.selfcare.dashboard.connector.rest.model.RelationshipsResponse;
import it.pagopa.selfcare.dashboard.connector.rest.model.*;
import it.pagopa.selfcare.dashboard.connector.rest.model.onboarding.OnBoardingInfo;
import it.pagopa.selfcare.dashboard.connector.rest.model.onboarding.OnboardingData;
import it.pagopa.selfcare.dashboard.connector.rest.model.onboarding.OnboardingUsersRequest;
Expand All @@ -36,6 +33,7 @@

import javax.validation.ValidationException;
import java.util.*;
import java.util.function.BiFunction;
import java.util.function.BinaryOperator;
import java.util.function.Function;
import java.util.stream.Collectors;
Expand Down Expand Up @@ -82,18 +80,18 @@ class PartyConnectorImpl implements PartyConnector {
return institutionInfo;
};

protected static final Function<Institution, InstitutionInfo> INSTITUTION_TO_INSTITUTION_INFO_FUNCTION = institution -> {
protected static final BiFunction<Institution, InstitutionUpdate, InstitutionInfo> INSTITUTION_TO_INSTITUTION_INFO_FUNCTION = (institution, institutionUpdate) -> {
InstitutionInfo institutionInfo = new InstitutionInfo();
institutionInfo.setId(institution.getId());
institutionInfo.setInstitutionType(institution.getInstitutionType());
institutionInfo.setDescription(institution.getDescription());
institutionInfo.setTaxCode(institution.getTaxCode());
institutionInfo.setDigitalAddress(institution.getDigitalAddress());
institutionInfo.setAddress(institution.getAddress());
institutionInfo.setDescription(institutionUpdate.getDescription());
institutionInfo.setTaxCode(institutionUpdate.getTaxCode());
institutionInfo.setDigitalAddress(institutionUpdate.getDigitalAddress());
institutionInfo.setAddress(institutionUpdate.getAddress());
institutionInfo.setCity(institution.getCity());
institutionInfo.setCountry(institution.getCountry());
institutionInfo.setCounty(institution.getCounty());
institutionInfo.setZipCode(institution.getZipCode());
institutionInfo.setZipCode(institutionUpdate.getZipCode());
institutionInfo.setPaymentServiceProvider(institution.getPaymentServiceProvider());
institutionInfo.setDataProtectionOfficer(institution.getDataProtectionOfficer());
institutionInfo.setBilling(institution.getBilling());
Expand Down Expand Up @@ -372,7 +370,7 @@ public void checkExistingRelationshipRoles(String institutionId, String productI
RelationshipsResponse institutionRelationships = partyProcessRestClient.getUserInstitutionRelationships(institutionId, EnumSet.allOf(PartyRole.class), userInfoFilter.getAllowedStates().orElse(null), userInfoFilter.getProductId().map(Set::of).orElse(null), userInfoFilter.getProductRoles().orElse(null), userInfoFilter.getUserId().orElse(null));
if (!institutionRelationships.isEmpty()) {
Set<PartyRole> roles = partyRoleToUsersMap.keySet();
List<PartyRole> partyRoles = institutionRelationships.stream().map(RelationshipInfo::getRole).collect(Collectors.toList());
List<PartyRole> partyRoles = institutionRelationships.stream().map(RelationshipInfo::getRole).toList();

if(checkUserRole(userDto, institutionRelationships)){
throw new ValidationException("User role conflict");
Expand Down Expand Up @@ -487,7 +485,7 @@ public OnboardingRequestInfo getOnboardingRequestInfo(String tokenId) {
}
});
Institution institution = partyProcessRestClient.getInstitution(tokenInfo.getInstitutionId());
InstitutionInfo institutionInfo = INSTITUTION_TO_INSTITUTION_INFO_FUNCTION.apply(institution);
InstitutionInfo institutionInfo = INSTITUTION_TO_INSTITUTION_INFO_FUNCTION.apply(institution, tokenInfo.getInstitutionUpdate());
institutionInfo.setStatus(tokenInfo.getStatus());
OnboardedProduct onboardedProduct = institution.getOnboarding().stream()
.filter(onboarding -> onboarding.getProductId().equals(tokenInfo.getProductId()))
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package it.pagopa.selfcare.dashboard.connector.rest.model.token;

import it.pagopa.selfcare.dashboard.connector.model.institution.RelationshipState;
import it.pagopa.selfcare.dashboard.connector.rest.model.InstitutionUpdate;
import it.pagopa.selfcare.dashboard.connector.rest.model.relationship.RelationshipBinding;
import lombok.Data;

Expand All @@ -16,5 +17,6 @@ public class TokenInfo {
private RelationshipState status;
private String institutionId;
private String productId;
private InstitutionUpdate institutionUpdate;

}
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@
import it.pagopa.selfcare.dashboard.connector.rest.client.MsCoreDelegationApiRestClient;
import it.pagopa.selfcare.dashboard.connector.rest.client.MsCoreRestClient;
import it.pagopa.selfcare.dashboard.connector.rest.client.MsCoreUserApiRestClient;
import it.pagopa.selfcare.dashboard.connector.rest.model.InstitutionUpdate;
import it.pagopa.selfcare.dashboard.connector.rest.model.ProductState;
import it.pagopa.selfcare.dashboard.connector.rest.model.RelationshipInfo;
import it.pagopa.selfcare.dashboard.connector.rest.model.RelationshipsResponse;
Expand Down Expand Up @@ -820,8 +821,9 @@ void getInstitution() {
void institutionToInstitutionInfoFunction() {
// given
Institution institutionMock = mockInstance(new Institution());
InstitutionUpdate institutionUpdateMock = mockInstance(new InstitutionUpdate());
// when
final InstitutionInfo result = PartyConnectorImpl.INSTITUTION_TO_INSTITUTION_INFO_FUNCTION.apply(institutionMock);
final InstitutionInfo result = PartyConnectorImpl.INSTITUTION_TO_INSTITUTION_INFO_FUNCTION.apply(institutionMock, institutionUpdateMock);
// then
assertEquals(institutionMock.getInstitutionType(), result.getInstitutionType());
assertEquals(institutionMock.getDescription(), result.getDescription());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,10 +20,7 @@
import it.pagopa.selfcare.dashboard.connector.onboarding.OnboardingRequestInfo;
import it.pagopa.selfcare.dashboard.connector.rest.client.PartyManagementRestClient;
import it.pagopa.selfcare.dashboard.connector.rest.client.PartyProcessRestClient;
import it.pagopa.selfcare.dashboard.connector.rest.model.InstitutionPut;
import it.pagopa.selfcare.dashboard.connector.rest.model.ProductState;
import it.pagopa.selfcare.dashboard.connector.rest.model.RelationshipInfo;
import it.pagopa.selfcare.dashboard.connector.rest.model.RelationshipsResponse;
import it.pagopa.selfcare.dashboard.connector.rest.model.*;
import it.pagopa.selfcare.dashboard.connector.rest.model.onboarding.OnBoardingInfo;
import it.pagopa.selfcare.dashboard.connector.rest.model.onboarding.OnboardingData;
import it.pagopa.selfcare.dashboard.connector.rest.model.onboarding.OnboardingUsersRequest;
Expand Down Expand Up @@ -1448,8 +1445,9 @@ void getOnboardingRequestInfo() {
void institutionToInstitutionInfoFunction() {
// given
Institution institutionMock = mockInstance(new Institution());
InstitutionUpdate institutionUpdateMock = mockInstance(new InstitutionUpdate());
// when
final InstitutionInfo result = PartyConnectorImpl.INSTITUTION_TO_INSTITUTION_INFO_FUNCTION.apply(institutionMock);
final InstitutionInfo result = PartyConnectorImpl.INSTITUTION_TO_INSTITUTION_INFO_FUNCTION.apply(institutionMock, institutionUpdateMock);
// then
assertEquals(institutionMock.getInstitutionType(), result.getInstitutionType());
assertEquals(institutionMock.getDescription(), result.getDescription());
Expand Down
5 changes: 5 additions & 0 deletions helm/values-dev.yaml
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
replicaCount: 2

image:
repository: selcdacr.azurecr.io/selfcaredashboardbackend

Expand Down Expand Up @@ -29,6 +31,9 @@ autoscaling:
targetCPUUtilizationPercentage: 80
# targetMemoryUtilizationPercentage: 80

pdb:
enabled: true

configEnvSpecific:
JAVA_TOOL_OPTIONS: "-javaagent:/applicationinsights-agent.jar"
APPLICATIONINSIGHTS_INSTRUMENTATION_LOGGING_LEVEL: "OFF"
Expand Down

0 comments on commit 51cff67

Please sign in to comment.