Skip to content

Commit

Permalink
Merge branch 'main' into feature/added-tag-internal-v1-to-api
Browse files Browse the repository at this point in the history
  • Loading branch information
gianmarcoplutino committed Dec 18, 2024
2 parents ef045c9 + d4b9c77 commit 2c80cea
Show file tree
Hide file tree
Showing 6 changed files with 62 additions and 57 deletions.
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package it.pagopa.selfcare.onboarding.utils;

import it.pagopa.selfcare.onboarding.common.Origin;
import it.pagopa.selfcare.onboarding.common.PricingPlan;
import it.pagopa.selfcare.onboarding.common.ProductId;
import it.pagopa.selfcare.onboarding.config.NotificationConfig;
Expand All @@ -21,56 +22,60 @@
import java.util.UUID;

public class SapNotificationBuilder extends BaseNotificationBuilder
implements NotificationUserBuilder {
implements NotificationUserBuilder {
private final UoApi proxyRegistryUoApi;
private final AooApi proxyRegistryAooApi;

public SapNotificationBuilder(
String alternativeEmail,
NotificationConfig.Consumer consumer,
InstitutionApi proxyRegistryInstitutionApi,
GeographicTaxonomiesApi geographicTaxonomiesApi,
org.openapi.quarkus.core_json.api.InstitutionApi coreInstitutionApi,
UoApi proxyRegistryUoApi,
AooApi proxyRegistryAooApi) {
String alternativeEmail,
NotificationConfig.Consumer consumer,
InstitutionApi proxyRegistryInstitutionApi,
GeographicTaxonomiesApi geographicTaxonomiesApi,
org.openapi.quarkus.core_json.api.InstitutionApi coreInstitutionApi,
UoApi proxyRegistryUoApi,
AooApi proxyRegistryAooApi) {
super(
alternativeEmail,
consumer,
proxyRegistryInstitutionApi,
geographicTaxonomiesApi,
coreInstitutionApi);
alternativeEmail,
consumer,
proxyRegistryInstitutionApi,
geographicTaxonomiesApi,
coreInstitutionApi);
this.proxyRegistryUoApi = proxyRegistryUoApi;
this.proxyRegistryAooApi = proxyRegistryAooApi;
}

@Override
public NotificationToSend buildNotificationToSend(
Onboarding onboarding, Token token, InstitutionResponse institution, QueueEvent queueEvent) {
Onboarding onboarding, Token token, InstitutionResponse institution, QueueEvent queueEvent) {
NotificationToSend notificationToSend =
super.buildNotificationToSend(onboarding, token, institution, queueEvent);
super.buildNotificationToSend(onboarding, token, institution, queueEvent);
notificationToSend.setId(UUID.randomUUID().toString());
notificationToSend.setInstitutionId(institution.getId());
notificationToSend.setType(NotificationType.getNotificationTypeFromQueueEvent(queueEvent));
setNotificationToSendInstitutionDescription(notificationToSend);
notificationToSend.getInstitution().setFileName(notificationToSend.getFileName());
notificationToSend.getInstitution().setContentType(notificationToSend.getContentType());
if (Objects.nonNull(onboarding.getBilling())
&& Objects.nonNull(onboarding.getBilling().getTaxCodeInvoicing())) {
&& Objects.nonNull(onboarding.getBilling().getTaxCodeInvoicing())) {
// If there is tax code invoicing in billing, set it as taxCode in the institution
notificationToSend.getInstitution().setTaxCode(onboarding.getBilling().getTaxCodeInvoicing());
}
// set Origin = SELC if not IPA
if (!notificationToSend.getInstitution().getOrigin().equals(Origin.IPA.getValue())) {
notificationToSend.getInstitution().setOrigin(Origin.SELC.getValue());
}
return notificationToSend;
}

private static void setNotificationToSendInstitutionDescription(
NotificationToSend notificationToSend) {
NotificationToSend notificationToSend) {
if (notificationToSend.getInstitution().getRootParent() != null) {
notificationToSend
.getInstitution()
.setDescription(
notificationToSend.getInstitution().getRootParent().getDescription()
+ " - "
+ notificationToSend.getInstitution().getDescription());
.getInstitution()
.setDescription(
notificationToSend.getInstitution().getRootParent().getDescription()
+ " - "
+ notificationToSend.getInstitution().getDescription());
}
}

Expand All @@ -87,7 +92,7 @@ public BillingToSend retrieveBilling(Onboarding onboarding) {

@Override
public InstitutionToNotify retrieveInstitution(
InstitutionResponse institution, Onboarding onboarding) {
InstitutionResponse institution, Onboarding onboarding) {
InstitutionToNotify institutionToNotify = super.retrieveInstitution(institution, onboarding);

// Field not allowed in SAP schema
Expand All @@ -102,51 +107,51 @@ public void retrieveAndSetGeographicData(InstitutionToNotify institutionToNotify
switch (Objects.requireNonNull(institutionToNotify.getSubUnitType())) {
case "UO" -> {
UOResource organizationUnit =
proxyRegistryUoApi.findByUnicodeUsingGET1(institutionToNotify.getSubUnitCode(), null);
proxyRegistryUoApi.findByUnicodeUsingGET1(institutionToNotify.getSubUnitCode(), null);
institutionToNotify.setIstatCode(organizationUnit.getCodiceComuneISTAT());
geographicTaxonomies =
geographicTaxonomiesApi.retrieveGeoTaxonomiesByCodeUsingGET(
organizationUnit.getCodiceComuneISTAT());
geographicTaxonomiesApi.retrieveGeoTaxonomiesByCodeUsingGET(
organizationUnit.getCodiceComuneISTAT());
}
case "AOO" -> {
AOOResource homogeneousOrganizationalArea =
proxyRegistryAooApi.findByUnicodeUsingGET(institutionToNotify.getSubUnitCode(), null);
proxyRegistryAooApi.findByUnicodeUsingGET(institutionToNotify.getSubUnitCode(), null);
institutionToNotify.setIstatCode(homogeneousOrganizationalArea.getCodiceComuneISTAT());
geographicTaxonomies =
geographicTaxonomiesApi.retrieveGeoTaxonomiesByCodeUsingGET(
homogeneousOrganizationalArea.getCodiceComuneISTAT());
geographicTaxonomiesApi.retrieveGeoTaxonomiesByCodeUsingGET(
homogeneousOrganizationalArea.getCodiceComuneISTAT());
}
default -> {
InstitutionResource proxyInfo =
proxyRegistryInstitutionApi.findInstitutionUsingGET(
institutionToNotify.getTaxCode(), null, null);
proxyRegistryInstitutionApi.findInstitutionUsingGET(
institutionToNotify.getTaxCode(), null, null);
institutionToNotify.setIstatCode(proxyInfo.getIstatCode());
geographicTaxonomies =
geographicTaxonomiesApi.retrieveGeoTaxonomiesByCodeUsingGET(proxyInfo.getIstatCode());
geographicTaxonomiesApi.retrieveGeoTaxonomiesByCodeUsingGET(proxyInfo.getIstatCode());
}
}
} else {
InstitutionResource proxyInfo =
proxyRegistryInstitutionApi.findInstitutionUsingGET(
institutionToNotify.getTaxCode(), null, null);
proxyRegistryInstitutionApi.findInstitutionUsingGET(
institutionToNotify.getTaxCode(), null, null);
institutionToNotify.setIstatCode(proxyInfo.getIstatCode());
geographicTaxonomies =
geographicTaxonomiesApi.retrieveGeoTaxonomiesByCodeUsingGET(proxyInfo.getIstatCode());
geographicTaxonomiesApi.retrieveGeoTaxonomiesByCodeUsingGET(proxyInfo.getIstatCode());
}

if (geographicTaxonomies != null) {
institutionToNotify.setCounty(geographicTaxonomies.getProvinceAbbreviation());
institutionToNotify.setCountry(geographicTaxonomies.getCountryAbbreviation());
institutionToNotify.setCity(
geographicTaxonomies.getDesc().replace(DESCRIPTION_TO_REPLACE_REGEX, ""));
geographicTaxonomies.getDesc().replace(DESCRIPTION_TO_REPLACE_REGEX, ""));
}
}

@Override
public boolean shouldSendNotification(Onboarding onboarding, InstitutionResponse institution) {
return isProductAllowed(onboarding)
&& isAllowedInstitutionType(institution)
&& isAllowedOrigin(institution.getOrigin());
&& isAllowedInstitutionType(institution)
&& isAllowedOrigin(institution.getOrigin());
}

private boolean isProductAllowed(Onboarding onboarding) {
Expand All @@ -158,7 +163,7 @@ private boolean isProductAllowed(Onboarding onboarding) {

private boolean isAllowedInstitutionType(InstitutionResponse institution) {
return isNullOrEmpty(consumer.allowedInstitutionTypes())
|| consumer.allowedInstitutionTypes().contains(institution.getInstitutionType());
|| consumer.allowedInstitutionTypes().contains(institution.getInstitutionType());
}

private boolean isAllowedOrigin(String origin) {
Expand All @@ -171,15 +176,15 @@ private boolean isNullOrEmpty(Set<String> set) {

@Override
public NotificationUserToSend buildUserNotificationToSend(
Onboarding onboarding,
Token token,
InstitutionResponse institution,
String createdAt,
String updatedAt,
String status,
String userId,
String partyRole,
String productRole) {
Onboarding onboarding,
Token token,
InstitutionResponse institution,
String createdAt,
String updatedAt,
String status,
String userId,
String partyRole,
String productRole) {
return null;
}
}
2 changes: 1 addition & 1 deletion apps/onboarding-functions/src/main/openapi/openapi.json
Original file line number Diff line number Diff line change
Expand Up @@ -123,7 +123,7 @@
"name": "productId",
"in": "path",
"description": "Product's unique identifier",
"required": true,
"required": false,
"style": "simple",
"schema": {
"type": "string"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ function_always_on = false

app_service_plan_info = {
kind = "Linux"
sku_size = "P1v3"
sku_size = "B2"
maximum_elastic_worker_count = 1
worker_count = 1
zone_balancing_enabled = false
Expand Down
4 changes: 2 additions & 2 deletions infra/functions/onboarding-functions/env/dev/terraform.tfvars
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ function_always_on = false

app_service_plan_info = {
kind = "Linux"
sku_size = "P1v3"
sku_size = "B2"
maximum_elastic_worker_count = 1
worker_count = 1
zone_balancing_enabled = false
Expand Down Expand Up @@ -102,7 +102,7 @@ app_settings = {
"EMAIL_SERVICE_AVAILABLE" = "true"
"JWT_TOKEN_ISSUER" = "SPID"
"JWT_TOKEN_PRIVATE_KEY" = "@Microsoft.KeyVault(SecretUri=https://selc-d-kv.vault.azure.net/secrets/jwt-private-key/)"
"JWT_TOKEN_KID" = "@Microsoft.KeyVault(SecretUri=https://selc-d-kv.vault.azure.net/secrets/jwt-kid/)"
"JWT_TOKEN_KID" = "@Microsoft.KeyVault(SecretUri=https://selc-d-kv.vault.azure.net/secrets/jwt-kid/)"

##NAMIRIAL SIGNATURE
"PAGOPA_SIGNATURE_SOURCE" = "disabled",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ function_always_on = true

app_service_plan_info = {
kind = "Linux"
sku_size = "P1v3"
sku_size = "B2"
maximum_elastic_worker_count = 1
worker_count = 1
zone_balancing_enabled = false
Expand Down Expand Up @@ -79,7 +79,7 @@ app_settings = {
"FD_TOPIC_NAME" = "Selfcare-FD"
"SAP_ALLOWED_INSTITUTION_TYPE" = "PA,GSP,SA,AS,SCP"
"SAP_ALLOWED_ORIGINS" = "IPA,SELC"
"MINUTES_THRESHOLD_FOR_UPDATE_NOTIFICATION" = "5"
"MINUTES_THRESHOLD_FOR_UPDATE_NOTIFICATION" = "5"

## IGNORE VALUES

Expand Down
6 changes: 3 additions & 3 deletions infra/functions/onboarding-functions/env/uat/terraform.tfvars
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ function_always_on = true

app_service_plan_info = {
kind = "Linux"
sku_size = "P1v3"
sku_size = "B2"
maximum_elastic_worker_count = 1
worker_count = 1
zone_balancing_enabled = false
Expand Down Expand Up @@ -97,7 +97,7 @@ app_settings = {
"PROD_FD_URL" = "https://fid00001fe.siachain.ti.sia.eu:30008"
"FD_TOKEN_GRANT_TYPE" = "@Microsoft.KeyVault(SecretUri=https://selc-u-kv.vault.azure.net/secrets/prod-fd-grant-type/)"
"FD_TOKEN_CLIENT_ID" = "@Microsoft.KeyVault(SecretUri=https://selc-u-kv.vault.azure.net/secrets/prod-fd-client-id/)"
"FD_TOKEN_CLIENT_SECRET" = "@Microsoft.KeyVault(SecretUri=https://selc-u-kv.vault.azure.net/secrets/prod-fd-client-secret/)"
"FD_TOKEN_CLIENT_SECRET" = "@Microsoft.KeyVault(SecretUri=https://selc-u-kv.vault.azure.net/secrets/prod-fd-client-secret/)"


##ARUBA SIGNATURE
Expand All @@ -114,7 +114,7 @@ app_settings = {
"EMAIL_SERVICE_AVAILABLE" = "true",
"JWT_TOKEN_ISSUER" = "SPID"
"JWT_TOKEN_PRIVATE_KEY" = "@Microsoft.KeyVault(SecretUri=https://selc-u-kv.vault.azure.net/secrets/jwt-private-key/)"
"JWT_TOKEN_KID" = "@Microsoft.KeyVault(SecretUri=https://selc-u-kv.vault.azure.net/secrets/jwt-kid/)"
"JWT_TOKEN_KID" = "@Microsoft.KeyVault(SecretUri=https://selc-u-kv.vault.azure.net/secrets/jwt-kid/)"

##NAMIRIAL SIGNATURE
"NAMIRIAL_BASE_URL" = "http://10.1.154.4:8080",
Expand Down

0 comments on commit 2c80cea

Please sign in to comment.