diff --git a/apps/onboarding-functions/pom.xml b/apps/onboarding-functions/pom.xml
index e74e78f0e..1e558b9a5 100644
--- a/apps/onboarding-functions/pom.xml
+++ b/apps/onboarding-functions/pom.xml
@@ -192,12 +192,17 @@
quarkus-jacoco
test
-
- org.apache.commons
- commons-collections4
- 4.4
- compile
-
+
+ org.apache.commons
+ commons-collections4
+ 4.4
+ compile
+
+
+ com.microsoft.azure
+ applicationinsights-web
+ 2.6.4
+
diff --git a/apps/onboarding-functions/src/main/java/it/pagopa/selfcare/onboarding/client/auth/EventhubSasTokenAuthorization.java b/apps/onboarding-functions/src/main/java/it/pagopa/selfcare/onboarding/client/auth/EventhubSasTokenAuthorization.java
index 2a16c2acd..b99091386 100644
--- a/apps/onboarding-functions/src/main/java/it/pagopa/selfcare/onboarding/client/auth/EventhubSasTokenAuthorization.java
+++ b/apps/onboarding-functions/src/main/java/it/pagopa/selfcare/onboarding/client/auth/EventhubSasTokenAuthorization.java
@@ -35,8 +35,9 @@ public void filter(ClientRequestContext clientRequestContext) {
NotificationConfig.Consumer consumerConfiguration = notificationConfig.consumers().values().stream()
.filter(consumer -> consumer.topic().equals(topic))
.findFirst().orElse(null);
- if(Objects.nonNull(consumerConfiguration))
+ if (Objects.nonNull(consumerConfiguration)) {
clientRequestContext.getHeaders().add("Authorization", getSASToken(resourceUri.toString(), consumerConfiguration.name(), consumerConfiguration.key()));
+ }
}
private static String getSASToken(String resourceUri, String keyName, String key) {
diff --git a/apps/onboarding-functions/src/main/java/it/pagopa/selfcare/onboarding/client/eventhub/EventHubRestClient.java b/apps/onboarding-functions/src/main/java/it/pagopa/selfcare/onboarding/client/eventhub/EventHubRestClient.java
index 964694d7f..d85fc4345 100644
--- a/apps/onboarding-functions/src/main/java/it/pagopa/selfcare/onboarding/client/eventhub/EventHubRestClient.java
+++ b/apps/onboarding-functions/src/main/java/it/pagopa/selfcare/onboarding/client/eventhub/EventHubRestClient.java
@@ -8,6 +8,8 @@
import org.eclipse.microprofile.rest.client.annotation.RegisterProvider;
import org.eclipse.microprofile.rest.client.inject.RegisterRestClient;
+import java.util.concurrent.CompletionStage;
+
@RegisterRestClient(configKey = "event-hub")
@ApplicationScoped
@Path("/")
@@ -16,7 +18,7 @@ public interface EventHubRestClient {
@POST
@Path("{hubName}/messages")
- void sendMessage(@PathParam("hubName") String topicName, String notification);
+ Void sendMessage(@PathParam("hubName") String topicName, String notification);
}
diff --git a/apps/onboarding-functions/src/main/java/it/pagopa/selfcare/onboarding/config/OnboardingFunctionConfig.java b/apps/onboarding-functions/src/main/java/it/pagopa/selfcare/onboarding/config/OnboardingFunctionConfig.java
index 5f4438450..26ecb43ba 100644
--- a/apps/onboarding-functions/src/main/java/it/pagopa/selfcare/onboarding/config/OnboardingFunctionConfig.java
+++ b/apps/onboarding-functions/src/main/java/it/pagopa/selfcare/onboarding/config/OnboardingFunctionConfig.java
@@ -84,5 +84,4 @@ public PadesSignService padesSignService(@ConfigProperty(name = "onboarding-func
default -> new PadesSignServiceImpl(pkcs7HashSignService());
};
}
-
}
diff --git a/apps/onboarding-functions/src/main/java/it/pagopa/selfcare/onboarding/entity/Institution.java b/apps/onboarding-functions/src/main/java/it/pagopa/selfcare/onboarding/entity/Institution.java
index 46a5844fb..310777acb 100644
--- a/apps/onboarding-functions/src/main/java/it/pagopa/selfcare/onboarding/entity/Institution.java
+++ b/apps/onboarding-functions/src/main/java/it/pagopa/selfcare/onboarding/entity/Institution.java
@@ -232,4 +232,16 @@ public String getParentDescription() {
public void setParentDescription(String parentDescription) {
this.parentDescription = parentDescription;
}
+
+ @Override
+ public String toString() {
+ return "Institution{" +
+ "id='" + id + '\'' +
+ ", taxCode='" + taxCode + '\'' +
+ ", description=" + description +
+ ", digitalAddress=" + digitalAddress +
+ ", origin=" + origin +
+ ", originId=" + originId +
+ '}';
+ }
}
diff --git a/apps/onboarding-functions/src/main/java/it/pagopa/selfcare/onboarding/functions/NotificationFunctions.java b/apps/onboarding-functions/src/main/java/it/pagopa/selfcare/onboarding/functions/NotificationFunctions.java
index d89284465..dd658fe0d 100644
--- a/apps/onboarding-functions/src/main/java/it/pagopa/selfcare/onboarding/functions/NotificationFunctions.java
+++ b/apps/onboarding-functions/src/main/java/it/pagopa/selfcare/onboarding/functions/NotificationFunctions.java
@@ -37,9 +37,11 @@ public class NotificationFunctions {
private final NotificationEventResenderService notificationEventResenderService;
private final ObjectMapper objectMapper;
+
public NotificationFunctions(ObjectMapper objectMapper,
NotificationEventService notificationEventService,
- OnboardingService onboardingService, NotificationEventResenderService notificationEventResenderService) {
+ OnboardingService onboardingService,
+ NotificationEventResenderService notificationEventResenderService) {
this.objectMapper = objectMapper;
this.notificationEventService = notificationEventService;
this.onboardingService = onboardingService;
diff --git a/apps/onboarding-functions/src/main/java/it/pagopa/selfcare/onboarding/functions/OnboardingFunctions.java b/apps/onboarding-functions/src/main/java/it/pagopa/selfcare/onboarding/functions/OnboardingFunctions.java
index d88560457..331642445 100644
--- a/apps/onboarding-functions/src/main/java/it/pagopa/selfcare/onboarding/functions/OnboardingFunctions.java
+++ b/apps/onboarding-functions/src/main/java/it/pagopa/selfcare/onboarding/functions/OnboardingFunctions.java
@@ -34,7 +34,6 @@
public class OnboardingFunctions {
public static final String CREATED_NEW_ONBOARDING_ORCHESTRATION_WITH_INSTANCE_ID_MSG = "Created new Onboarding orchestration with instance ID = ";
-
private final OnboardingService service;
private final CompletionService completionService;
private final ObjectMapper objectMapper;
diff --git a/apps/onboarding-functions/src/main/java/it/pagopa/selfcare/onboarding/service/CompletionServiceDefault.java b/apps/onboarding-functions/src/main/java/it/pagopa/selfcare/onboarding/service/CompletionServiceDefault.java
index 0154de941..2e12ee99d 100644
--- a/apps/onboarding-functions/src/main/java/it/pagopa/selfcare/onboarding/service/CompletionServiceDefault.java
+++ b/apps/onboarding-functions/src/main/java/it/pagopa/selfcare/onboarding/service/CompletionServiceDefault.java
@@ -94,7 +94,7 @@ public class CompletionServiceDefault implements CompletionService {
@ConfigProperty(name = "onboarding-functions.persist-users.send-mail")
private boolean hasToSendEmail;
- @ConfigProperty(name = "onboarding-function.force-institution-persist")
+ @ConfigProperty(name = "onboarding-functions.force-institution-persist")
private boolean forceInstitutionCreation;
@Override
diff --git a/apps/onboarding-functions/src/main/java/it/pagopa/selfcare/onboarding/service/NotificationEventServiceDefault.java b/apps/onboarding-functions/src/main/java/it/pagopa/selfcare/onboarding/service/NotificationEventServiceDefault.java
index dd10c34ba..4946c3b60 100644
--- a/apps/onboarding-functions/src/main/java/it/pagopa/selfcare/onboarding/service/NotificationEventServiceDefault.java
+++ b/apps/onboarding-functions/src/main/java/it/pagopa/selfcare/onboarding/service/NotificationEventServiceDefault.java
@@ -4,6 +4,8 @@
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
+import com.microsoft.applicationinsights.TelemetryClient;
+import com.microsoft.applicationinsights.TelemetryConfiguration;
import com.microsoft.azure.functions.ExecutionContext;
import it.pagopa.selfcare.onboarding.client.eventhub.EventHubRestClient;
import it.pagopa.selfcare.onboarding.config.NotificationConfig;
@@ -20,19 +22,24 @@
import it.pagopa.selfcare.product.service.ProductService;
import jakarta.enterprise.context.ApplicationScoped;
import jakarta.inject.Inject;
+import jakarta.ws.rs.core.Context;
+import org.eclipse.microprofile.config.inject.ConfigProperty;
import org.eclipse.microprofile.rest.client.inject.RestClient;
import org.openapi.quarkus.core_json.api.InstitutionApi;
import org.openapi.quarkus.core_json.model.InstitutionResponse;
-import java.util.Objects;
-import java.util.Optional;
-import java.util.UUID;
+import java.util.*;
import static it.pagopa.selfcare.onboarding.utils.Utils.isNotInstitutionOnboarding;
@ApplicationScoped
public class NotificationEventServiceDefault implements NotificationEventService {
+ public static final String EVENT_ONBOARDING_FN_NAME = "ONBOARDING-FN";
+ public static final String EVENT_ONBOARDING_INSTTITUTION_FN_FAILURE = "EventsOnboardingInstitution_failures";
+ public static final String EVENT_ONBOARDING_INSTTITUTION_FN_SUCCESS = "EventsOnboardingInstitution_success";
+ private static final String OPERATION_NAME = "ONBOARDING-FN";
+ private final TelemetryClient telemetryClient;
@RestClient
@Inject
EventHubRestClient eventHubRestClient;
@@ -52,12 +59,17 @@ public NotificationEventServiceDefault(ProductService productService,
NotificationConfig notificationConfig,
NotificationBuilderFactory notificationBuilderFactory,
TokenRepository tokenRepository,
- QueueEventExaminer queueEventExaminer) {
+ QueueEventExaminer queueEventExaminer,
+ @Context @ConfigProperty(name = "onboarding-functions.appinsights.connection-string") String appInsightsConnectionString) {
this.productService = productService;
this.notificationConfig = notificationConfig;
this.notificationBuilderFactory = notificationBuilderFactory;
this.tokenRepository = tokenRepository;
this.queueEventExaminer = queueEventExaminer;
+ TelemetryConfiguration telemetryConfiguration = TelemetryConfiguration.createDefault();
+ telemetryConfiguration.setConnectionString(appInsightsConnectionString);
+ this.telemetryClient = new TelemetryClient(telemetryConfiguration);
+ this.telemetryClient.getContext().getOperation().setName(OPERATION_NAME);
mapper = new ObjectMapper();
mapper.registerModule(new JavaTimeModule());
}
@@ -79,9 +91,8 @@ public void send(ExecutionContext context, Onboarding onboarding, QueueEvent que
queueEvent = queueEventExaminer.determineEventType(onboarding);
}
- Optional token = tokenRepository.findByOnboardingId(onboarding.getId());
InstitutionResponse institution = institutionApi.retrieveInstitutionByIdUsingGET(onboarding.getInstitution().getId());
-
+ Optional token = tokenRepository.findByOnboardingId(onboarding.getId());
for (String consumer : product.getConsumers()) {
NotificationConfig.Consumer consumerConfig = notificationConfig.consumers().get(consumer.toLowerCase());
prepareAndSendNotification(context, product, consumerConfig, onboarding, token.orElse(null), institution, queueEvent);
@@ -105,7 +116,14 @@ private void prepareAndSendNotification(ExecutionContext context, Product produc
private void sendNotification(ExecutionContext context, String topic, NotificationToSend notificationToSend) throws JsonProcessingException {
String message = mapper.writeValueAsString(notificationToSend);
context.getLogger().info(() -> String.format("Sending notification on topic: %s with message: %s", topic, message));
- eventHubRestClient.sendMessage(topic, message);
+
+ try {
+ eventHubRestClient.sendMessage(topic, message);
+ telemetryClient.trackEvent(EVENT_ONBOARDING_FN_NAME, notificationEventMap(notificationToSend), Map.of(EVENT_ONBOARDING_INSTTITUTION_FN_SUCCESS, 1D));
+ } catch (Exception e) {
+ telemetryClient.trackEvent(EVENT_ONBOARDING_FN_NAME, notificationEventMap(notificationToSend), Map.of(EVENT_ONBOARDING_INSTTITUTION_FN_FAILURE, 1D));
+ throw new NotificationException(e.getMessage());
+ }
}
private void sendTestEnvProductsNotification(ExecutionContext context, Product product, String topic, NotificationToSend notificationToSend) throws JsonProcessingException {
@@ -119,4 +137,48 @@ private void sendTestEnvProductsNotification(ExecutionContext context, Product p
}
}
+ public static Map notificationEventMap(NotificationToSend notificationToSend) {
+ Map propertiesMap = new HashMap<>();
+ Optional.ofNullable(notificationToSend.getId()).ifPresent(value -> propertiesMap.put("id", value));
+ Optional.ofNullable(notificationToSend.getInternalIstitutionID()).ifPresent(value -> propertiesMap.put("internalIstitutionID", value));
+ Optional.ofNullable(notificationToSend.getInstitutionId()).ifPresent(value -> propertiesMap.put("institutionId", value));
+ Optional.ofNullable(notificationToSend.getProduct()).ifPresent(value -> propertiesMap.put("product", value));
+ Optional.ofNullable(notificationToSend.getState()).ifPresent(value -> propertiesMap.put("state", value));
+ Optional.ofNullable(notificationToSend.getFilePath()).ifPresent(value -> propertiesMap.put("filePath", value));
+ Optional.ofNullable(notificationToSend.getFileName()).ifPresent(value -> propertiesMap.put("fileName", value));
+ Optional.ofNullable(notificationToSend.getContentType()).ifPresent(value -> propertiesMap.put("contentType", value));
+ Optional.ofNullable(notificationToSend.getOnboardingTokenId()).ifPresent(value -> propertiesMap.put("onboardingTokenId", value));
+ Optional.ofNullable(notificationToSend.getPricingPlan()).ifPresent(value -> propertiesMap.put("pricingPlan", value));
+
+ if (Optional.ofNullable(notificationToSend.getInstitution()).isPresent()) {
+ Optional.ofNullable(notificationToSend.getInstitution().getDescription()).ifPresent(value -> propertiesMap.put("description", value));
+ Optional.ofNullable(notificationToSend.getInstitution().getInstitutionType()).ifPresent(value -> propertiesMap.put("institutionType", value.name()));
+ Optional.ofNullable(notificationToSend.getInstitution().getDigitalAddress()).ifPresent(value -> propertiesMap.put("digitalAddress", value));
+ Optional.ofNullable(notificationToSend.getInstitution().getAddress()).ifPresent(value -> propertiesMap.put("address", value));
+ Optional.ofNullable(notificationToSend.getInstitution().getTaxCode()).ifPresent(value -> propertiesMap.put("taxCode", value));
+ Optional.ofNullable(notificationToSend.getInstitution().getOrigin()).ifPresent(value -> propertiesMap.put("origin", value));
+ Optional.ofNullable(notificationToSend.getInstitution().getOriginId()).ifPresent(value -> propertiesMap.put("originId", value));
+ Optional.ofNullable(notificationToSend.getInstitution().getIstatCode()).ifPresent(value -> propertiesMap.put("istatCode", value));
+ Optional.ofNullable(notificationToSend.getInstitution().getCity()).ifPresent(value -> propertiesMap.put("city", value));
+ Optional.ofNullable(notificationToSend.getInstitution().getCountry()).ifPresent(value -> propertiesMap.put("country", value));
+ Optional.ofNullable(notificationToSend.getInstitution().getCounty()).ifPresent(value -> propertiesMap.put("county", value));
+ Optional.ofNullable(notificationToSend.getInstitution().getSubUnitCode()).ifPresent(value -> propertiesMap.put("subUnitCode", value));
+ Optional.ofNullable(notificationToSend.getInstitution().getCategory()).ifPresent(value -> propertiesMap.put("category", value));
+ Optional.ofNullable(notificationToSend.getInstitution().getSubUnitType()).ifPresent(value -> propertiesMap.put("subUnitType", value));
+ if (Optional.ofNullable(notificationToSend.getInstitution().getRootParent()).isPresent()) {
+ Optional.ofNullable(notificationToSend.getInstitution().getRootParent().getId()).ifPresent(value -> propertiesMap.put("root.parentId", value));
+ Optional.ofNullable(notificationToSend.getInstitution().getRootParent().getDescription()).ifPresent(value -> propertiesMap.put("root.parentDescription", value));
+ Optional.ofNullable(notificationToSend.getInstitution().getRootParent().getOriginId()).ifPresent(value -> propertiesMap.put("root.parentOriginId", value));
+ }
+ }
+
+ if (Optional.ofNullable(notificationToSend.getBilling()).isPresent()) {
+ Optional.ofNullable(notificationToSend.getBilling().getRecipientCode()).ifPresent(value -> propertiesMap.put("billing.recipientCode", value));
+ Optional.ofNullable(notificationToSend.getBilling().getTaxCodeInvoicing()).ifPresent(value -> propertiesMap.put("billing.TaxCodeInvoicing", value));
+ Optional.ofNullable(notificationToSend.getBilling().getVatNumber()).ifPresent(value -> propertiesMap.put("billing.VatNumber", value));
+ Optional.ofNullable(notificationToSend.getBilling().isPublicService()).ifPresent(value -> propertiesMap.put("billing.isPublicService", value ? "true" : "false"));
+ }
+
+ return propertiesMap;
+ }
}
diff --git a/apps/onboarding-functions/src/main/resources/application.properties b/apps/onboarding-functions/src/main/resources/application.properties
index 3f866a8b1..615f4c65a 100644
--- a/apps/onboarding-functions/src/main/resources/application.properties
+++ b/apps/onboarding-functions/src/main/resources/application.properties
@@ -25,8 +25,12 @@ onboarding-functions.purge.all-from = 150
onboarding-functions.purge.all-to = 120
#property to invoke or not the user microservice
onboarding-functions.persist-users.send-mail = ${USER_MS_SEND_MAIL:true}
+onboarding-functions.appinsights.connection-string=${APPLICATIONINSIGHTS_CONNECTION_STRING:InstrumentationKey=00000000-0000-0000-0000-000000000000}
+
#property to force the institution creation when a new onboarding to pnpg is performed only in pnpg environment
-onboarding-function.force-institution-persist= ${FORCE_INSTITUTION_PERSIST:false}
+onboarding-functions.force-institution-persist= ${FORCE_INSTITUTION_PERSIST:false}
+
+
## REST CLIENT #
quarkus.openapi-generator.user_registry_json.auth.api_key.api-key = ${USER_REGISTRY_API_KEY:example-api-key}
diff --git a/apps/onboarding-functions/src/test/java/it/pagopa/selfcare/onboarding/service/CompletionServiceDefaultTest2.java b/apps/onboarding-functions/src/test/java/it/pagopa/selfcare/onboarding/service/CompletionServiceDefaultTest2.java
index 641382437..345f9b651 100644
--- a/apps/onboarding-functions/src/test/java/it/pagopa/selfcare/onboarding/service/CompletionServiceDefaultTest2.java
+++ b/apps/onboarding-functions/src/test/java/it/pagopa/selfcare/onboarding/service/CompletionServiceDefaultTest2.java
@@ -34,7 +34,7 @@ public class CompletionServiceDefaultTest2 {
public static class ForceCreationProfile implements QuarkusTestProfile {
@Override
public Map getConfigOverrides() {
- return Map.of("onboarding-function.force-institution-persist", "true");
+ return Map.of("onboarding-functions.force-institution-persist", "true");
}
}
diff --git a/apps/onboarding-functions/src/test/java/it/pagopa/selfcare/onboarding/service/NotificationEventServiceDefaultTest.java b/apps/onboarding-functions/src/test/java/it/pagopa/selfcare/onboarding/service/NotificationEventServiceDefaultTest.java
index f2842636a..d2e4d6a8f 100644
--- a/apps/onboarding-functions/src/test/java/it/pagopa/selfcare/onboarding/service/NotificationEventServiceDefaultTest.java
+++ b/apps/onboarding-functions/src/test/java/it/pagopa/selfcare/onboarding/service/NotificationEventServiceDefaultTest.java
@@ -4,9 +4,9 @@
import io.quarkus.test.InjectMock;
import io.quarkus.test.junit.QuarkusTest;
import it.pagopa.selfcare.onboarding.client.eventhub.EventHubRestClient;
+import it.pagopa.selfcare.onboarding.common.InstitutionType;
import it.pagopa.selfcare.onboarding.common.WorkflowType;
-import it.pagopa.selfcare.onboarding.dto.NotificationToSend;
-import it.pagopa.selfcare.onboarding.dto.QueueEvent;
+import it.pagopa.selfcare.onboarding.dto.*;
import it.pagopa.selfcare.onboarding.entity.Billing;
import it.pagopa.selfcare.onboarding.entity.Institution;
import it.pagopa.selfcare.onboarding.entity.Onboarding;
@@ -25,10 +25,11 @@
import org.openapi.quarkus.core_json.model.InstitutionResponse;
import java.util.List;
+import java.util.Map;
import java.util.Optional;
import java.util.logging.Logger;
-import static org.junit.jupiter.api.Assertions.assertThrows;
+import static org.junit.jupiter.api.Assertions.*;
import static org.mockito.Mockito.*;
@QuarkusTest
@@ -101,6 +102,7 @@ private void mockNotificationMapper(boolean shouldSendNotification) {
@Test
void sendMessageWithoutToken() {
final Onboarding onboarding = createOnboarding();
+ onboarding.setId("123");
final Product product = createProduct();
when(productService.getProduct(any())).thenReturn(product);
when(tokenRepository.findByOnboardingId(any())).thenReturn(Optional.empty());
@@ -190,6 +192,98 @@ void sendMessageWontProceedsWhenOnboardingIsNotReferredToInstitution() {
verifyNoInteractions(eventHubRestClient);
}
+ @Test
+ void notificationEventMapTest() {
+ NotificationToSend notificationToSend = new NotificationToSend();
+ notificationToSend.setId("id");
+ notificationToSend.setInternalIstitutionID("internal");
+ notificationToSend.setProduct("prod");
+ notificationToSend.setState("state");
+ notificationToSend.setFileName("fileName");
+ notificationToSend.setFilePath("filePath");
+ notificationToSend.setContentType("contentType");
+
+ InstitutionToNotify institution = new InstitutionToNotify();
+ institution.setDescription("description");
+ institution.setInstitutionType(InstitutionType.SA);
+ institution.setDigitalAddress("mail");
+ notificationToSend.setInstitution(institution);
+
+ BillingToSend billing = new BillingToSend();
+ billing.setRecipientCode("12345");
+ billing.setPublicService(false);
+ notificationToSend.setBilling(billing);
+
+ Map properties = NotificationEventServiceDefault.notificationEventMap(notificationToSend);
+ assertNotNull(properties);
+ assertEquals(properties.get("id"), "id");
+ assertEquals(properties.get("internalIstitutionID"), "internal");
+ assertEquals(properties.get("product"), "prod");
+ assertEquals(properties.get("state"), "state");
+ assertEquals(properties.get("fileName"), "fileName");
+ assertEquals(properties.get("filePath"), "filePath");
+ assertEquals(properties.get("contentType"), "application/octet-stream");
+
+ assertEquals(properties.get("description"), "description");
+ assertEquals(properties.get("digitalAddress"), "mail");
+ assertEquals(properties.get("institutionType"), "SA");
+
+ assertEquals(properties.get("billing.recipientCode"), "12345");
+ assertEquals(properties.get("billing.isPublicService"), "false");
+ }
+
+ @Test
+ void notificationEventMapRootParentTest() {
+ NotificationToSend notificationToSend = new NotificationToSend();
+ notificationToSend.setId("id");
+ notificationToSend.setInternalIstitutionID("internal");
+ notificationToSend.setProduct("prod");
+ notificationToSend.setState("state");
+ notificationToSend.setFileName("fileName");
+ notificationToSend.setFilePath("filePath");
+ notificationToSend.setContentType("contentType");
+
+ InstitutionToNotify institution = new InstitutionToNotify();
+ institution.setDescription("description");
+ institution.setInstitutionType(InstitutionType.SA);
+ institution.setDigitalAddress("mail");
+ RootParent rootParent = new RootParent();
+ rootParent.setDescription("RootDescription");
+ rootParent.setId("RootId");
+ rootParent.setOriginId("RootOriginId");
+ institution.setRootParent(rootParent);
+ notificationToSend.setInstitution(institution);
+
+ BillingToSend billing = new BillingToSend();
+ billing.setRecipientCode("12345");
+ billing.setPublicService(true);
+ billing.setVatNumber("123");
+ billing.setTaxCodeInvoicing("456");
+ notificationToSend.setBilling(billing);
+
+ Map properties = NotificationEventServiceDefault.notificationEventMap(notificationToSend);
+ assertNotNull(properties);
+ assertEquals(properties.get("id"), "id");
+ assertEquals(properties.get("internalIstitutionID"), "internal");
+ assertEquals(properties.get("product"), "prod");
+ assertEquals(properties.get("state"), "state");
+ assertEquals(properties.get("fileName"), "fileName");
+ assertEquals(properties.get("filePath"), "filePath");
+ assertEquals(properties.get("contentType"), "application/octet-stream");
+
+ assertEquals(properties.get("description"), "description");
+ assertEquals(properties.get("digitalAddress"), "mail");
+ assertEquals(properties.get("institutionType"), "SA");
+ assertEquals(properties.get("root.parentId"), "RootId");
+ assertEquals(properties.get("root.parentDescription"), "RootDescription");
+ assertEquals(properties.get("root.parentOriginId"), "RootOriginId");
+
+ assertEquals(properties.get("billing.recipientCode"), "12345");
+ assertEquals(properties.get("billing.isPublicService"), "true");
+ assertEquals(properties.get("billing.VatNumber"), "123");
+ assertEquals(properties.get("billing.TaxCodeInvoicing"), "456");
+ }
+
private Onboarding createOnboarding() {
Onboarding onboarding = new Onboarding();
onboarding.setWorkflowType(WorkflowType.CONTRACT_REGISTRATION);
@@ -216,4 +310,4 @@ private Product createProduct() {
return product;
}
-}
+}
\ No newline at end of file
diff --git a/apps/onboarding-functions/src/test/resources/application.properties b/apps/onboarding-functions/src/test/resources/application.properties
index 445a91d28..70563b7be 100644
--- a/apps/onboarding-functions/src/test/resources/application.properties
+++ b/apps/onboarding-functions/src/test/resources/application.properties
@@ -8,6 +8,7 @@ quarkus.azure-functions.app-service-plan-name=example
## MAIL AND MAIL TEMPLATE ##
onboarding-functions.sender-mail = ${MAIL_SENDER_ADDRESS:test@test.it}
onboarding-functions.notification-admin-email = default
+onboarding-functions.appinsights.connection-string=${APPLICATIONINSIGHTS_CONNECTION_STRING:InstrumentationKey=00000000-0000-0000-0000-000000000000}
## MAIL TEMPLATE
onboarding-functions.mail-template.path.onboarding.complete-path = default
diff --git a/infra/container_apps/hub_spid_login/container_app.tf b/infra/container_apps/hub_spid_login/container_app.tf
index 4bc8281b1..801a0b2bc 100644
--- a/infra/container_apps/hub_spid_login/container_app.tf
+++ b/infra/container_apps/hub_spid_login/container_app.tf
@@ -20,9 +20,9 @@ module "container_app_hub_spid_login" {
port = 8080
scheme = "HTTP"
}
- timeoutSeconds = 5
- type = "Liveness"
- failureThreshold = 5
+ timeoutSeconds = 5
+ type = "Liveness"
+ failureThreshold = 5
initialDelaySeconds = 1
},
{
@@ -31,9 +31,9 @@ module "container_app_hub_spid_login" {
port = 8080
scheme = "HTTP"
}
- timeoutSeconds = 5
- type = "Readiness"
- failureThreshold = 3
+ timeoutSeconds = 5
+ type = "Readiness"
+ failureThreshold = 3
initialDelaySeconds = 3
},
{
@@ -42,9 +42,9 @@ module "container_app_hub_spid_login" {
port = 8080
scheme = "HTTP"
}
- timeoutSeconds = 5
- failureThreshold = 30
- type = "Startup"
+ timeoutSeconds = 5
+ failureThreshold = 30
+ type = "Startup"
initialDelaySeconds = 30
}
]
diff --git a/infra/container_apps/hub_spid_login/env/dev/terraform.tfvars b/infra/container_apps/hub_spid_login/env/dev/terraform.tfvars
index 4ae281ea8..0f2e2c967 100644
--- a/infra/container_apps/hub_spid_login/env/dev/terraform.tfvars
+++ b/infra/container_apps/hub_spid_login/env/dev/terraform.tfvars
@@ -1,7 +1,7 @@
-prefix = "selc"
-env_short = "d"
+prefix = "selc"
+env_short = "d"
suffix_increment = "-002"
-cae_name = "cae-002"
+cae_name = "cae-002"
tags = {
CreatedBy = "Terraform"
diff --git a/infra/container_apps/onboarding-cdc/env/dev/terraform.tfvars b/infra/container_apps/onboarding-cdc/env/dev/terraform.tfvars
index 996182f12..a56ace110 100644
--- a/infra/container_apps/onboarding-cdc/env/dev/terraform.tfvars
+++ b/infra/container_apps/onboarding-cdc/env/dev/terraform.tfvars
@@ -1,7 +1,7 @@
-prefix = "selc"
-env_short = "d"
+prefix = "selc"
+env_short = "d"
suffix_increment = "-002"
-cae_name = "cae-002"
+cae_name = "cae-002"
tags = {
CreatedBy = "Terraform"
@@ -50,7 +50,7 @@ app_settings = [
value = "true"
},
{
- name = "ONBOARDING-CDC-MINUTES-THRESHOLD-FOR-UPDATE-NOTIFICATION"
+ name = "ONBOARDING-CDC-MINUTES-THRESHOLD-FOR-UPDATE-NOTIFICATION"
value = "5"
}
]
diff --git a/infra/container_apps/onboarding-cdc/env/prod-pnpg/terraform.tfvars b/infra/container_apps/onboarding-cdc/env/prod-pnpg/terraform.tfvars
index 55fe0132e..cb62fc601 100644
--- a/infra/container_apps/onboarding-cdc/env/prod-pnpg/terraform.tfvars
+++ b/infra/container_apps/onboarding-cdc/env/prod-pnpg/terraform.tfvars
@@ -1,6 +1,6 @@
prefix = "selc"
env_short = "p"
-is_pnpg = true
+is_pnpg = true
tags = {
CreatedBy = "Terraform"
diff --git a/infra/container_apps/onboarding-cdc/env/prod/terraform.tfvars b/infra/container_apps/onboarding-cdc/env/prod/terraform.tfvars
index 8a4247a82..fb423df9e 100644
--- a/infra/container_apps/onboarding-cdc/env/prod/terraform.tfvars
+++ b/infra/container_apps/onboarding-cdc/env/prod/terraform.tfvars
@@ -35,7 +35,7 @@ app_settings = [
value = "https://selc-p-onboarding-fn.azurewebsites.net"
},
{
- name = "ONBOARDING-CDC-MINUTES-THRESHOLD-FOR-UPDATE-NOTIFICATION"
+ name = "ONBOARDING-CDC-MINUTES-THRESHOLD-FOR-UPDATE-NOTIFICATION"
value = "5"
}
]
diff --git a/infra/container_apps/onboarding-cdc/env/uat/terraform.tfvars b/infra/container_apps/onboarding-cdc/env/uat/terraform.tfvars
index 93545da60..0f508486a 100644
--- a/infra/container_apps/onboarding-cdc/env/uat/terraform.tfvars
+++ b/infra/container_apps/onboarding-cdc/env/uat/terraform.tfvars
@@ -37,7 +37,7 @@ app_settings = [
value = "https://selc-u-onboarding-fn.azurewebsites.net"
},
{
- name = "ONBOARDING-CDC-MINUTES-THRESHOLD-FOR-UPDATE-NOTIFICATION"
+ name = "ONBOARDING-CDC-MINUTES-THRESHOLD-FOR-UPDATE-NOTIFICATION"
value = "5"
}
]
diff --git a/infra/container_apps/onboarding-cdc/main.tf b/infra/container_apps/onboarding-cdc/main.tf
index 88e44445b..064aa1465 100644
--- a/infra/container_apps/onboarding-cdc/main.tf
+++ b/infra/container_apps/onboarding-cdc/main.tf
@@ -31,9 +31,9 @@ module "container_app_onboarding_cdc" {
port = 8080
scheme = "HTTP"
}
- timeoutSeconds = 5
- type = "Liveness"
- failureThreshold = 3
+ timeoutSeconds = 5
+ type = "Liveness"
+ failureThreshold = 3
initialDelaySeconds = 1
},
{
@@ -42,9 +42,9 @@ module "container_app_onboarding_cdc" {
port = 8080
scheme = "HTTP"
}
- timeoutSeconds = 5
- type = "Readiness"
- failureThreshold = 30
+ timeoutSeconds = 5
+ type = "Readiness"
+ failureThreshold = 30
initialDelaySeconds = 3
},
{
@@ -53,9 +53,9 @@ module "container_app_onboarding_cdc" {
port = 8080
scheme = "HTTP"
}
- timeoutSeconds = 5
- failureThreshold = 5
- type = "Startup"
+ timeoutSeconds = 5
+ failureThreshold = 5
+ type = "Startup"
initialDelaySeconds = 5
}
]
diff --git a/infra/container_apps/onboarding-ms/container_app.tf b/infra/container_apps/onboarding-ms/container_app.tf
index 0c6b99b21..289cb7a16 100644
--- a/infra/container_apps/onboarding-ms/container_app.tf
+++ b/infra/container_apps/onboarding-ms/container_app.tf
@@ -21,9 +21,9 @@ module "container_app_onboarding_ms" {
port = 8080
scheme = "HTTP"
}
- timeoutSeconds = 5
- type = "Liveness"
- failureThreshold = 3
+ timeoutSeconds = 5
+ type = "Liveness"
+ failureThreshold = 3
initialDelaySeconds = 1
},
{
@@ -32,9 +32,9 @@ module "container_app_onboarding_ms" {
port = 8080
scheme = "HTTP"
}
- timeoutSeconds = 5
- type = "Readiness"
- failureThreshold = 30
+ timeoutSeconds = 5
+ type = "Readiness"
+ failureThreshold = 30
initialDelaySeconds = 3
},
{
@@ -43,9 +43,9 @@ module "container_app_onboarding_ms" {
port = 8080
scheme = "HTTP"
}
- timeoutSeconds = 5
- failureThreshold = 5
- type = "Startup"
+ timeoutSeconds = 5
+ failureThreshold = 5
+ type = "Startup"
initialDelaySeconds = 5
}
]
diff --git a/infra/container_apps/onboarding-ms/env/dev/terraform.tfvars b/infra/container_apps/onboarding-ms/env/dev/terraform.tfvars
index 04c42e423..75ebe9fe3 100644
--- a/infra/container_apps/onboarding-ms/env/dev/terraform.tfvars
+++ b/infra/container_apps/onboarding-ms/env/dev/terraform.tfvars
@@ -1,7 +1,7 @@
-prefix = "selc"
-env_short = "d"
+prefix = "selc"
+env_short = "d"
suffix_increment = "-002"
-cae_name = "cae-002"
+cae_name = "cae-002"
tags = {
CreatedBy = "Terraform"
diff --git a/infra/functions/onboarding-functions/env/dev-pnpg/terraform.tfvars b/infra/functions/onboarding-functions/env/dev-pnpg/terraform.tfvars
index 915c6869d..f578015a5 100644
--- a/infra/functions/onboarding-functions/env/dev-pnpg/terraform.tfvars
+++ b/infra/functions/onboarding-functions/env/dev-pnpg/terraform.tfvars
@@ -39,6 +39,7 @@ storage_account_info = {
}
app_settings = {
+ "APPLICATIONINSIGHTS_CONNECTION_STRING" = "@Microsoft.KeyVault(SecretUri=https://selc-d-pnpg-kv.vault.azure.net/secrets/appinsights-connection-string/)",
"USER_REGISTRY_URL" = "https://api.uat.pdv.pagopa.it/user-registry/v1",
"MONGODB_CONNECTION_URI" = "@Microsoft.KeyVault(SecretUri=https://selc-d-pnpg-kv.vault.azure.net/secrets/mongodb-connection-string/)",
"USER_REGISTRY_API_KEY" = "@Microsoft.KeyVault(SecretUri=https://selc-d-pnpg-kv.vault.azure.net/secrets/user-registry-api-key/)",
diff --git a/infra/functions/onboarding-functions/env/dev/terraform.tfvars b/infra/functions/onboarding-functions/env/dev/terraform.tfvars
index 4fc7cee1a..0de68e5ff 100644
--- a/infra/functions/onboarding-functions/env/dev/terraform.tfvars
+++ b/infra/functions/onboarding-functions/env/dev/terraform.tfvars
@@ -38,6 +38,7 @@ storage_account_info = {
}
app_settings = {
+ "APPLICATIONINSIGHTS_CONNECTION_STRING" = "@Microsoft.KeyVault(SecretUri=https://selc-d-kv.vault.azure.net/secrets/appinsights-connection-string/)",
"USER_REGISTRY_URL" = "https://api.uat.pdv.pagopa.it/user-registry/v1",
"MONGODB_CONNECTION_URI" = "@Microsoft.KeyVault(SecretUri=https://selc-d-kv.vault.azure.net/secrets/mongodb-connection-string/)",
"USER_REGISTRY_API_KEY" = "@Microsoft.KeyVault(SecretUri=https://selc-d-kv.vault.azure.net/secrets/user-registry-api-key/)",
@@ -93,7 +94,7 @@ app_settings = {
"MINUTES_THRESHOLD_FOR_UPDATE_NOTIFICATION" = "5"
"BYPASS_CHECK_ORGANIZATION" = "false"
"PROD_FD_URL" = "https://fid00001fe.siachain.sv.sia.eu:30008"
- "FD_TOKEN_GRANT_TYPE" = "@Microsoft.KeyVault(SecretUri=https://selc-d-kv.vault.azure.net/secrets/prod-fd-grant-type/)"
- "FD_TOKEN_CLIENT_ID" = "@Microsoft.KeyVault(SecretUri=https://selc-d-kv.vault.azure.net/secrets/prod-fd-client-id/)"
- "FD_TOKEN_CLIENT_SECRET" = "@Microsoft.KeyVault(SecretUri=https://selc-d-kv.vault.azure.net/secrets/prod-fd-client-secret/)"
+ "FD_TOKEN_GRANT_TYPE" = "@Microsoft.KeyVault(SecretUri=https://selc-d-kv.vault.azure.net/secrets/prod-fd-grant-type/)"
+ "FD_TOKEN_CLIENT_ID" = "@Microsoft.KeyVault(SecretUri=https://selc-d-kv.vault.azure.net/secrets/prod-fd-client-id/)"
+ "FD_TOKEN_CLIENT_SECRET" = "@Microsoft.KeyVault(SecretUri=https://selc-d-kv.vault.azure.net/secrets/prod-fd-client-secret/)"
}
\ No newline at end of file
diff --git a/infra/functions/onboarding-functions/env/prod-pnpg/terraform.tfvars b/infra/functions/onboarding-functions/env/prod-pnpg/terraform.tfvars
index 4b079e601..bffa08c47 100644
--- a/infra/functions/onboarding-functions/env/prod-pnpg/terraform.tfvars
+++ b/infra/functions/onboarding-functions/env/prod-pnpg/terraform.tfvars
@@ -39,11 +39,12 @@ storage_account_info = {
}
app_settings = {
- "USER_REGISTRY_URL" = "https://api.pdv.pagopa.it/user-registry/v1",
- "MONGODB_CONNECTION_URI" = "@Microsoft.KeyVault(SecretUri=https://selc-p-pnpg-kv.vault.azure.net/secrets/mongodb-connection-string/)",
- "USER_REGISTRY_API_KEY" = "@Microsoft.KeyVault(SecretUri=https://selc-p-pnpg-kv.vault.azure.net/secrets/user-registry-api-key/)",
- "BLOB_STORAGE_CONN_STRING_PRODUCT" = "@Microsoft.KeyVault(SecretUri=https://selc-p-pnpg-kv.vault.azure.net/secrets/blob-storage-product-connection-string/)",
- "STORAGE_CONTAINER_PRODUCT" = "selc-p-product",
+ "APPLICATIONINSIGHTS_CONNECTION_STRING" = "@Microsoft.KeyVault(SecretUri=https://selc-p-pnpg-kv.vault.azure.net/secrets/appinsights-connection-string/)",
+ "USER_REGISTRY_URL" = "https://api.pdv.pagopa.it/user-registry/v1",
+ "MONGODB_CONNECTION_URI" = "@Microsoft.KeyVault(SecretUri=https://selc-p-pnpg-kv.vault.azure.net/secrets/mongodb-connection-string/)",
+ "USER_REGISTRY_API_KEY" = "@Microsoft.KeyVault(SecretUri=https://selc-p-pnpg-kv.vault.azure.net/secrets/user-registry-api-key/)",
+ "BLOB_STORAGE_CONN_STRING_PRODUCT" = "@Microsoft.KeyVault(SecretUri=https://selc-p-pnpg-kv.vault.azure.net/secrets/blob-storage-product-connection-string/)",
+ "STORAGE_CONTAINER_PRODUCT" = "selc-p-product",
## PNPG contains template mail in checkout storage
"BLOB_STORAGE_CONN_STRING_CONTRACT" = "@Microsoft.KeyVault(SecretUri=https://selc-p-pnpg-kv.vault.azure.net/secrets/blob-storage-contract-connection-string/)",
@@ -58,27 +59,27 @@ app_settings = {
"MAIL_SERVER_PORT" = "465",
"MAIL_TEMPLATE_COMPLETE_PATH" = "resources/templates/email/onboarding_1.0.0.json",
- "MS_USER_URL" = "https://selc-p-pnpg-user-ms-ca.calmmoss-0be48755.westeurope.azurecontainerapps.io",
- "MS_CORE_URL" = "https://selc-p-pnpg-ms-core-ca.calmmoss-0be48755.westeurope.azurecontainerapps.io",
- "JWT_BEARER_TOKEN" = "@Microsoft.KeyVault(SecretUri=https://selc-p-pnpg-kv.vault.azure.net/secrets/jwt-bearer-token-functions/)",
- "MS_PARTY_REGISTRY_URL" = "https://selc-p-pnpg-party-reg-proxy-ca.calmmoss-0be48755.westeurope.azurecontainerapps.io",
- "PAGOPA_LOGO_ENABLE" = "false"
- "RETRY_MAX_ATTEMPTS" = "3"
- "FIRST_RETRY_INTERVAL" = "5"
- "BACKOFF_COEFFICIENT" = "1"
- "EVENT_HUB_BASE_PATH" = "https://selc-p-eventhub-ns.servicebus.windows.net",
- "STANDARD_SHARED_ACCESS_KEY_NAME" = "selfcare-wo"
- "EVENTHUB_SC_CONTRACTS_SELFCARE_WO_KEY_LC" = "string"
- "STANDARD_TOPIC_NAME" = "SC-Contracts"
- "SAP_SHARED_ACCESS_KEY_NAME" = "external-interceptor-wo"
- "EVENTHUB_SC_CONTRACTS_SAP_SELFCARE_WO_KEY_LC" = "string"
- "SAP_TOPIC_NAME" = "SC-Contracts-SAP"
- "FD_SHARED_ACCESS_KEY_NAME" = "external-interceptor-wo"
- "EVENTHUB_SC_CONTRACTS_FD_SELFCARE_WO_KEY_LC" = "string"
- "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"
+ "MS_USER_URL" = "https://selc-p-pnpg-user-ms-ca.calmmoss-0be48755.westeurope.azurecontainerapps.io",
+ "MS_CORE_URL" = "https://selc-p-pnpg-ms-core-ca.calmmoss-0be48755.westeurope.azurecontainerapps.io",
+ "JWT_BEARER_TOKEN" = "@Microsoft.KeyVault(SecretUri=https://selc-p-pnpg-kv.vault.azure.net/secrets/jwt-bearer-token-functions/)",
+ "MS_PARTY_REGISTRY_URL" = "https://selc-p-pnpg-party-reg-proxy-ca.calmmoss-0be48755.westeurope.azurecontainerapps.io",
+ "PAGOPA_LOGO_ENABLE" = "false"
+ "RETRY_MAX_ATTEMPTS" = "3"
+ "FIRST_RETRY_INTERVAL" = "5"
+ "BACKOFF_COEFFICIENT" = "1"
+ "EVENT_HUB_BASE_PATH" = "https://selc-p-eventhub-ns.servicebus.windows.net",
+ "STANDARD_SHARED_ACCESS_KEY_NAME" = "selfcare-wo"
+ "EVENTHUB_SC_CONTRACTS_SELFCARE_WO_KEY_LC" = "string"
+ "STANDARD_TOPIC_NAME" = "SC-Contracts"
+ "SAP_SHARED_ACCESS_KEY_NAME" = "external-interceptor-wo"
+ "EVENTHUB_SC_CONTRACTS_SAP_SELFCARE_WO_KEY_LC" = "string"
+ "SAP_TOPIC_NAME" = "SC-Contracts-SAP"
+ "FD_SHARED_ACCESS_KEY_NAME" = "external-interceptor-wo"
+ "EVENTHUB_SC_CONTRACTS_FD_SELFCARE_WO_KEY_LC" = "string"
+ "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"
## IGNORE VALUES
diff --git a/infra/functions/onboarding-functions/env/prod/terraform.tfvars b/infra/functions/onboarding-functions/env/prod/terraform.tfvars
index 908972fea..f1851ec69 100644
--- a/infra/functions/onboarding-functions/env/prod/terraform.tfvars
+++ b/infra/functions/onboarding-functions/env/prod/terraform.tfvars
@@ -38,6 +38,7 @@ storage_account_info = {
}
app_settings = {
+ "APPLICATIONINSIGHTS_CONNECTION_STRING" = "@Microsoft.KeyVault(SecretUri=https://selc-p-kv.vault.azure.net/secrets/appinsights-connection-string/)",
"USER_REGISTRY_URL" = "https://api.pdv.pagopa.it/user-registry/v1",
"MONGODB_CONNECTION_URI" = "@Microsoft.KeyVault(SecretUri=https://selc-p-kv.vault.azure.net/secrets/mongodb-connection-string/)",
"USER_REGISTRY_API_KEY" = "@Microsoft.KeyVault(SecretUri=https://selc-p-kv.vault.azure.net/secrets/user-registry-api-key/)",
diff --git a/infra/functions/onboarding-functions/env/uat-pnpg/terraform.tfvars b/infra/functions/onboarding-functions/env/uat-pnpg/terraform.tfvars
index 75a1fd300..10d17b38f 100644
--- a/infra/functions/onboarding-functions/env/uat-pnpg/terraform.tfvars
+++ b/infra/functions/onboarding-functions/env/uat-pnpg/terraform.tfvars
@@ -39,11 +39,12 @@ storage_account_info = {
}
app_settings = {
- "USER_REGISTRY_URL" = "https://api.uat.pdv.pagopa.it/user-registry/v1",
- "MONGODB_CONNECTION_URI" = "@Microsoft.KeyVault(SecretUri=https://selc-u-pnpg-kv.vault.azure.net/secrets/mongodb-connection-string/)",
- "USER_REGISTRY_API_KEY" = "@Microsoft.KeyVault(SecretUri=https://selc-u-pnpg-kv.vault.azure.net/secrets/user-registry-api-key/)",
- "BLOB_STORAGE_CONN_STRING_PRODUCT" = "@Microsoft.KeyVault(SecretUri=https://selc-u-pnpg-kv.vault.azure.net/secrets/blob-storage-product-connection-string/)",
- "STORAGE_CONTAINER_PRODUCT" = "selc-u-product",
+ "APPLICATIONINSIGHTS_CONNECTION_STRING" = "@Microsoft.KeyVault(SecretUri=https://selc-u-pnpg-kv.vault.azure.net/secrets/appinsights-connection-string/)",
+ "USER_REGISTRY_URL" = "https://api.uat.pdv.pagopa.it/user-registry/v1",
+ "MONGODB_CONNECTION_URI" = "@Microsoft.KeyVault(SecretUri=https://selc-u-pnpg-kv.vault.azure.net/secrets/mongodb-connection-string/)",
+ "USER_REGISTRY_API_KEY" = "@Microsoft.KeyVault(SecretUri=https://selc-u-pnpg-kv.vault.azure.net/secrets/user-registry-api-key/)",
+ "BLOB_STORAGE_CONN_STRING_PRODUCT" = "@Microsoft.KeyVault(SecretUri=https://selc-u-pnpg-kv.vault.azure.net/secrets/blob-storage-product-connection-string/)",
+ "STORAGE_CONTAINER_PRODUCT" = "selc-u-product",
## PNPG contains template mail in checkout storage
"BLOB_STORAGE_CONN_STRING_CONTRACT" = "@Microsoft.KeyVault(SecretUri=https://selc-u-pnpg-kv.vault.azure.net/secrets/blob-storage-product-connection-string/)",
@@ -57,27 +58,27 @@ app_settings = {
"MAIL_SERVER_PORT" = "465",
"MAIL_TEMPLATE_COMPLETE_PATH" = "resources/templates/email/onboarding_1.0.0.json",
- "MS_USER_URL" = "https://selc-u-pnpg-user-ms-ca.orangeground-0bd2d4dc.westeurope.azurecontainerapps.io",
- "MS_CORE_URL" = "https://selc-u-pnpg-ms-core-ca.orangeground-0bd2d4dc.westeurope.azurecontainerapps.io",
- "JWT_BEARER_TOKEN" = "@Microsoft.KeyVault(SecretUri=https://selc-u-pnpg-kv.vault.azure.net/secrets/jwt-bearer-token-functions/)",
- "MS_PARTY_REGISTRY_URL" = "https://selc-u-pnpg-party-reg-proxy-ca.orangeground-0bd2d4dc.westeurope.azurecontainerapps.io",
- "PAGOPA_LOGO_ENABLE" = "false",
- "RETRY_MAX_ATTEMPTS" = "3"
- "FIRST_RETRY_INTERVAL" = "5"
- "BACKOFF_COEFFICIENT" = "1"
- "EVENT_HUB_BASE_PATH" = "https://selc-u-eventhub-ns.servicebus.windows.net",
- "STANDARD_SHARED_ACCESS_KEY_NAME" = "selfcare-wo"
- "EVENTHUB-SC-CONTRACTS-SELFCARE-WO-KEY-LC" = "string"
- "STANDARD_TOPIC_NAME" = "SC-Contracts"
- "SAP_SHARED_ACCESS_KEY_NAME" = "external-interceptor-wo"
- "EVENTHUB-SC-CONTRACTS-SAP-SELFCARE-WO-KEY-LC" = "string"
- "SAP_TOPIC_NAME" = "SC-Contracts-SAP"
- "FD_SHARED_ACCESS_KEY_NAME" = "external-interceptor-wo"
- "EVENTHUB-SC-CONTRACTS-FD-SELFCARE-WO-KEY-LC" = "string"
- "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"
+ "MS_USER_URL" = "https://selc-u-pnpg-user-ms-ca.orangeground-0bd2d4dc.westeurope.azurecontainerapps.io",
+ "MS_CORE_URL" = "https://selc-u-pnpg-ms-core-ca.orangeground-0bd2d4dc.westeurope.azurecontainerapps.io",
+ "JWT_BEARER_TOKEN" = "@Microsoft.KeyVault(SecretUri=https://selc-u-pnpg-kv.vault.azure.net/secrets/jwt-bearer-token-functions/)",
+ "MS_PARTY_REGISTRY_URL" = "https://selc-u-pnpg-party-reg-proxy-ca.orangeground-0bd2d4dc.westeurope.azurecontainerapps.io",
+ "PAGOPA_LOGO_ENABLE" = "false",
+ "RETRY_MAX_ATTEMPTS" = "3"
+ "FIRST_RETRY_INTERVAL" = "5"
+ "BACKOFF_COEFFICIENT" = "1"
+ "EVENT_HUB_BASE_PATH" = "https://selc-u-eventhub-ns.servicebus.windows.net",
+ "STANDARD_SHARED_ACCESS_KEY_NAME" = "selfcare-wo"
+ "EVENTHUB-SC-CONTRACTS-SELFCARE-WO-KEY-LC" = "string"
+ "STANDARD_TOPIC_NAME" = "SC-Contracts"
+ "SAP_SHARED_ACCESS_KEY_NAME" = "external-interceptor-wo"
+ "EVENTHUB-SC-CONTRACTS-SAP-SELFCARE-WO-KEY-LC" = "string"
+ "SAP_TOPIC_NAME" = "SC-Contracts-SAP"
+ "FD_SHARED_ACCESS_KEY_NAME" = "external-interceptor-wo"
+ "EVENTHUB-SC-CONTRACTS-FD-SELFCARE-WO-KEY-LC" = "string"
+ "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"
## IGNORE VALUES
diff --git a/infra/functions/onboarding-functions/env/uat/terraform.tfvars b/infra/functions/onboarding-functions/env/uat/terraform.tfvars
index 9e0ea604b..1a16bae5d 100644
--- a/infra/functions/onboarding-functions/env/uat/terraform.tfvars
+++ b/infra/functions/onboarding-functions/env/uat/terraform.tfvars
@@ -38,6 +38,7 @@ storage_account_info = {
}
app_settings = {
+ "APPLICATIONINSIGHTS_CONNECTION_STRING" = "@Microsoft.KeyVault(SecretUri=https://selc-u-kv.vault.azure.net/secrets/appinsights-connection-string/)",
"USER_REGISTRY_URL" = "https://api.uat.pdv.pagopa.it/user-registry/v1",
"MONGODB_CONNECTION_URI" = "@Microsoft.KeyVault(SecretUri=https://selc-u-kv.vault.azure.net/secrets/mongodb-connection-string/)",
"USER_REGISTRY_API_KEY" = "@Microsoft.KeyVault(SecretUri=https://selc-u-kv.vault.azure.net/secrets/user-registry-api-key/)",
diff --git a/infra/functions/onboarding-functions/functions.tf b/infra/functions/onboarding-functions/functions.tf
index f4b0f6667..3036af8b0 100644
--- a/infra/functions/onboarding-functions/functions.tf
+++ b/infra/functions/onboarding-functions/functions.tf
@@ -63,11 +63,11 @@ resource "azurerm_key_vault_access_policy" "keyvault_functions_access_policy" {
}
data "azurerm_resource_group" "nat_rg" {
- name = "${local.base_domain_name}-nat-rg"
+ name = "${local.base_domain_name}-nat-rg"
}
data "azurerm_resource_group" "vnet_rg" {
- name = "${local.base_domain_vnet_name}-vnet-rg"
+ name = "${local.base_domain_vnet_name}-vnet-rg"
}
data "azurerm_public_ip" "pip_outbound" {