diff --git a/codegen/config.json b/codegen/config.json index 1c347be36..f2dd677c1 100644 --- a/codegen/config.json +++ b/codegen/config.json @@ -19,8 +19,8 @@ "openapiFiles": [ "api-internal-b2b-pa.yaml", "api-internal-b2b-pa-older-versions.yaml", - { "url": "https://raw.githubusercontent.com/pagopa/pn-delivery-push/cb915f62157ae160b59dd964b2c975edd453c985/docs/openapi/api-external-pn-delivery-push-bundle.yaml", "mergeDescription": false }, - { "url": "https://raw.githubusercontent.com/pagopa/pn-delivery-push/cb915f62157ae160b59dd964b2c975edd453c985/docs/openapi/api-external-b2b-webhook-bundle.yaml", "mergeDescription": true } + { "url": "https://raw.githubusercontent.com/pagopa/pn-delivery-push/2612946985a1d9fe628213bfdbbc031585d5e83e/docs/openapi/api-external-pn-delivery-push-bundle.yaml", "mergeDescription": false }, + { "url": "https://raw.githubusercontent.com/pagopa/pn-stream/c48f8a58c8852b770005922e3b92d7e44dcd5aed/docs/openapi/pn-stream-api-external-bundle.yaml", "mergeDescription": true } ], "servicePath": "delivery", "generateBundle": true, @@ -34,7 +34,7 @@ ], "openapiFiles": [ "pn-delivery-b2b-pg-internal.yaml", - { "url": "https://raw.githubusercontent.com/pagopa/pn-delivery-push/cb915f62157ae160b59dd964b2c975edd453c985/docs/openapi/api-external-pn-delivery-push-b2b-pg-bundle.yaml", "mergeDescription": false } + { "url": "https://raw.githubusercontent.com/pagopa/pn-delivery-push/ec4748debb71e3c1c94f4e759ae1c7f80ca2d1c9/docs/openapi/api-external-pn-delivery-push-b2b-pg-bundle.yaml", "mergeDescription": false } ], "servicePath": "delivery", "generateBundle": true, diff --git a/docs/openapi/api-external-b2b-bundle_yaml.patch b/docs/openapi/api-external-b2b-bundle_yaml.patch index c2d651061..85d2ebfed 100644 --- a/docs/openapi/api-external-b2b-bundle_yaml.patch +++ b/docs/openapi/api-external-b2b-bundle_yaml.patch @@ -1,7 +1,14 @@ +Subject: [PATCH] patch +--- +Index: docs/openapi/api-external-b2b-pa-bundle.yaml +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== diff --git a/docs/openapi/api-external-b2b-pa-bundle.yaml b/docs/openapi/api-external-b2b-pa-bundle.yaml ---- a/docs/openapi/api-external-b2b-pa-bundle.yaml (revision 4f084016b2151ce54e6c7792b916e11a17f065ab) -+++ b/docs/openapi/api-external-b2b-pa-bundle.yaml (date 1743781377098) -@@ -997,8 +997,6 @@ +--- a/docs/openapi/api-external-b2b-pa-bundle.yaml (revision 73ce6077b4e91d401c4cc33e6a285cd5012de4cf) ++++ b/docs/openapi/api-external-b2b-pa-bundle.yaml (date 1753374082463) +@@ -999,8 +999,6 @@ tags: - NewNotification operationId: sendNewNotification @@ -10,7 +17,7 @@ diff --git a/docs/openapi/api-external-b2b-pa-bundle.yaml b/docs/openapi/api-ext requestBody: content: application/json: -@@ -1033,8 +1031,6 @@ +@@ -1035,8 +1033,6 @@ get: deprecated: true operationId: retrieveNotificationRequestStatus @@ -19,7 +26,7 @@ diff --git a/docs/openapi/api-external-b2b-pa-bundle.yaml b/docs/openapi/api-ext tags: - SenderReadB2B summary: Verifica accettazione richiesta notifica -@@ -1094,8 +1090,6 @@ +@@ -1096,8 +1092,6 @@ tags: - NewNotification operationId: sendNewNotificationV21 @@ -28,7 +35,7 @@ diff --git a/docs/openapi/api-external-b2b-pa-bundle.yaml b/docs/openapi/api-ext requestBody: content: application/json: -@@ -1130,8 +1124,6 @@ +@@ -1132,8 +1126,6 @@ get: deprecated: true operationId: retrieveNotificationRequestStatusV21 @@ -37,7 +44,7 @@ diff --git a/docs/openapi/api-external-b2b-pa-bundle.yaml b/docs/openapi/api-ext tags: - SenderReadB2B summary: Verifica accettazione richiesta notifica -@@ -1191,8 +1183,6 @@ +@@ -1193,8 +1185,6 @@ tags: - NewNotification operationId: sendNewNotificationV23 @@ -46,7 +53,7 @@ diff --git a/docs/openapi/api-external-b2b-pa-bundle.yaml b/docs/openapi/api-ext requestBody: content: application/json: -@@ -1227,8 +1217,6 @@ +@@ -1229,8 +1219,6 @@ get: deprecated: true operationId: retrieveNotificationRequestStatusV23 @@ -109,7 +116,7 @@ diff --git a/docs/openapi/api-external-b2b-pa-bundle.yaml b/docs/openapi/api-ext parameters: - $ref: '#/components/parameters/pathIun' responses: -@@ -1598,8 +1574,6 @@ +@@ -1633,8 +1609,6 @@ get: deprecated: true operationId: retrieveNotificationPrice @@ -118,15 +125,15 @@ diff --git a/docs/openapi/api-external-b2b-pa-bundle.yaml b/docs/openapi/api-ext summary: Retrieve notification price and effective date description: |- Usata dalla PA per recuperare il costo di notificazione tramite -@@ -1693,7 +1667,6 @@ - operationId: retrieveNotificationLegalFactsV20 +@@ -1728,7 +1702,6 @@ + operationId: retrieveNotificationLegalFactsV28 parameters: - $ref: '#/components/parameters/pathIun' - - $ref: '#/components/parameters/legalFactsSearchMandateId' responses: '200': description: OK -@@ -1731,7 +1704,6 @@ +@@ -1766,7 +1739,6 @@ - $ref: '#/components/parameters/pathIun' - $ref: '#/components/parameters/pathLegalFactType' - $ref: '#/components/parameters/pathLegalFactId' @@ -134,7 +141,7 @@ diff --git a/docs/openapi/api-external-b2b-pa-bundle.yaml b/docs/openapi/api-ext responses: '200': description: OK -@@ -1767,7 +1739,6 @@ +@@ -1802,7 +1774,6 @@ parameters: - $ref: '#/components/parameters/pathIun' - $ref: '#/components/parameters/pathLegalFactId' @@ -142,7 +149,7 @@ diff --git a/docs/openapi/api-external-b2b-pa-bundle.yaml b/docs/openapi/api-ext responses: '200': description: OK -@@ -1775,43 +1746,6 @@ +@@ -1810,43 +1781,6 @@ application/json: schema: $ref: '#/components/schemas/LegalFactDownloadMetadataResponse' @@ -186,7 +193,7 @@ diff --git a/docs/openapi/api-external-b2b-pa-bundle.yaml b/docs/openapi/api-ext '400': description: Invalid input content: -@@ -1840,11 +1774,8 @@ +@@ -1875,11 +1809,8 @@ tags: - LegalFacts operationId: retrieveNotificationLegalFacts @@ -198,183 +205,3 @@ diff --git a/docs/openapi/api-external-b2b-pa-bundle.yaml b/docs/openapi/api-ext responses: '200': description: OK -@@ -2202,8 +2133,6 @@ - tags: - - Streams - operationId: createEventStream -- x-pagopa-lambda-name: pn-versioningV1V2WebhookLambda:live -- x-pagopa-lambda-account: core - requestBody: - required: true - content: -@@ -2236,8 +2165,6 @@ - tags: - - Streams - operationId: listEventStreams -- x-pagopa-lambda-name: pn-versioningV1V2WebhookLambda:live -- x-pagopa-lambda-account: core - responses: - '200': - description: OK -@@ -2267,8 +2194,6 @@ - tags: - - Streams - operationId: retrieveEventStream -- x-pagopa-lambda-name: pn-versioningV1V2WebhookLambda:live -- x-pagopa-lambda-account: core - responses: - '200': - description: OK -@@ -2297,8 +2222,6 @@ - tags: - - Streams - operationId: updateEventStream -- x-pagopa-lambda-name: pn-versioningV1V2WebhookLambda:live -- x-pagopa-lambda-account: core - requestBody: - required: true - content: -@@ -2333,8 +2256,6 @@ - tags: - - Streams - operationId: removeEventStream -- x-pagopa-lambda-name: pn-versioningV1V2WebhookLambda:live -- x-pagopa-lambda-account: core - responses: - '204': - description: OK -@@ -2362,8 +2283,6 @@ - tags: - - Events - operationId: consumeEventStream -- x-pagopa-lambda-name: pn-versioningV1V2WebhookLambda:live -- x-pagopa-lambda-account: core - parameters: - - $ref: '#/components/parameters/pathStreamId' - - $ref: '#/components/parameters/queryLastEventId' -@@ -2422,8 +2341,6 @@ - tags: - - Streams - operationId: createEventStreamV23 -- x-pagopa-lambda-name: pn-versioningV1V2WebhookLambda:live -- x-pagopa-lambda-account: core - requestBody: - required: true - content: -@@ -2468,8 +2385,6 @@ - tags: - - Streams - operationId: listEventStreamsV23 -- x-pagopa-lambda-name: pn-versioningV1V2WebhookLambda:live -- x-pagopa-lambda-account: core - responses: - '200': - description: OK -@@ -2499,8 +2414,6 @@ - tags: - - Streams - operationId: retrieveEventStreamV23 -- x-pagopa-lambda-name: pn-versioningV1V2WebhookLambda:live -- x-pagopa-lambda-account: core - responses: - '200': - description: OK -@@ -2541,8 +2454,6 @@ - tags: - - Streams - operationId: updateEventStreamV23 -- x-pagopa-lambda-name: pn-versioningV1V2WebhookLambda:live -- x-pagopa-lambda-account: core - requestBody: - required: true - content: -@@ -2589,8 +2500,6 @@ - tags: - - Streams - operationId: removeEventStreamV23 -- x-pagopa-lambda-name: pn-versioningV1V2WebhookLambda:live -- x-pagopa-lambda-account: core - responses: - '204': - description: OK -@@ -2640,8 +2549,6 @@ - tags: - - Streams - operationId: disableEventStreamV23 -- x-pagopa-lambda-name: pn-versioningV1V2WebhookLambda:live -- x-pagopa-lambda-account: core - parameters: - - $ref: '#/components/parameters/pathStreamId' - responses: -@@ -2687,8 +2594,6 @@ - tags: - - Events - operationId: consumeEventStreamV23 -- x-pagopa-lambda-name: pn-versioningV1V2WebhookLambda:live -- x-pagopa-lambda-account: core - parameters: - - $ref: '#/components/parameters/pathStreamId' - - $ref: '#/components/parameters/queryLastEventId' -@@ -2762,8 +2667,6 @@ - tags: - - Streams - operationId: createEventStreamV24 -- x-pagopa-lambda-name: pn-versioningV1V2WebhookLambda:live -- x-pagopa-lambda-account: core - requestBody: - required: true - content: -@@ -2808,8 +2711,6 @@ - tags: - - Streams - operationId: listEventStreamsV24 -- x-pagopa-lambda-name: pn-versioningV1V2WebhookLambda:live -- x-pagopa-lambda-account: core - responses: - '200': - description: OK -@@ -2839,8 +2740,6 @@ - tags: - - Streams - operationId: retrieveEventStreamV24 -- x-pagopa-lambda-name: pn-versioningV1V2WebhookLambda:live -- x-pagopa-lambda-account: core - responses: - '200': - description: OK -@@ -2881,8 +2780,6 @@ - tags: - - Streams - operationId: updateEventStreamV24 -- x-pagopa-lambda-name: pn-versioningV1V2WebhookLambda:live -- x-pagopa-lambda-account: core - requestBody: - required: true - content: -@@ -2929,8 +2826,6 @@ - tags: - - Streams - operationId: removeEventStreamV24 -- x-pagopa-lambda-name: pn-versioningV1V2WebhookLambda:live -- x-pagopa-lambda-account: core - responses: - '204': - description: OK -@@ -2980,8 +2875,6 @@ - tags: - - Streams - operationId: disableEventStreamV24 -- x-pagopa-lambda-name: pn-versioningV1V2WebhookLambda:live -- x-pagopa-lambda-account: core - parameters: - - $ref: '#/components/parameters/pathStreamId' - responses: -@@ -3027,8 +2920,6 @@ - tags: - - Events - operationId: consumeEventStreamV24 -- x-pagopa-lambda-name: pn-versioningV1V2WebhookLambda:live -- x-pagopa-lambda-account: core - parameters: - - $ref: '#/components/parameters/pathStreamId' - - $ref: '#/components/parameters/queryLastEventId' diff --git a/docs/openapi/api-external-b2b-pa-bundle.yaml b/docs/openapi/api-external-b2b-pa-bundle.yaml index c7881d294..cedabe106 100644 --- a/docs/openapi/api-external-b2b-pa-bundle.yaml +++ b/docs/openapi/api-external-b2b-pa-bundle.yaml @@ -751,17 +751,15 @@ paths: application/problem+json: schema: $ref: '#/components/schemas/Problem' - /delivery/v2.7/notifications/sent/{iun}: + /delivery/v2.8/notifications/sent/{iun}: get: - summary: 'EXPERIMENTAL - Mittente: lettura dettagli notifica versione 2' + summary: 'Mittente: lettura dettagli notifica versione 2' description: >- - (EXPERIMENTAL) - Questa operazione permette di leggere tutti i dettagli di una notifica accettata.
tags: - SenderReadB2B - operationId: retrieveSentNotificationV27 + operationId: retrieveSentNotificationV28 parameters: - $ref: '#/components/parameters/pathIun' responses: @@ -770,7 +768,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/FullSentNotificationV27' + $ref: '#/components/schemas/FullSentNotificationV28' '400': description: Bad request content: @@ -1541,6 +1539,7 @@ paths: $ref: '#/components/schemas/Problem' /delivery/v2.6/notifications/sent/{iun}: get: + deprecated: true summary: 'Mittente: lettura dettagli notifica versione 2' description: >- Questa operazione permette di leggere tutti i dettagli di una notifica @@ -1571,6 +1570,41 @@ paths: application/problem+json: schema: $ref: '#/components/schemas/Problem' + /delivery/v2.7/notifications/sent/{iun}: + get: + deprecated: true + summary: 'EXPERIMENTAL - Mittente: lettura dettagli notifica versione 2' + description: >- + (EXPERIMENTAL) + + Questa operazione permette di leggere tutti i dettagli di una notifica + accettata.
+ tags: + - SenderReadB2B + operationId: retrieveSentNotificationV27 + x-pagopa-lambda-name: pn-delivery-versioning-v1v2-getnotification-lambda:live + x-pagopa-lambda-account: core + parameters: + - $ref: '#/components/parameters/pathIun' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/FullSentNotificationV27' + '400': + description: Bad request + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Problem' + '500': + description: Internal error + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Problem' /delivery/price/{paTaxId}/{noticeCode}: get: deprecated: true @@ -1657,7 +1691,7 @@ paths: application/problem+json: schema: $ref: '#/components/schemas/Problem' - /delivery-push/v2.0/{iun}/legal-facts: + /delivery-push/v2.8/{iun}/legal-facts: get: summary: Elenco atti opponibili a terzi description: >- @@ -1665,7 +1699,7 @@ paths: a terzi registrati durante il processo di notifica.
tags: - LegalFacts - operationId: retrieveNotificationLegalFactsV20 + operationId: retrieveNotificationLegalFactsV28 parameters: - $ref: '#/components/parameters/pathIun' responses: @@ -1674,7 +1708,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/LegalFactListV20' + $ref: '#/components/schemas/LegalFactListV28' '400': description: Invalid input content: @@ -1802,12 +1836,52 @@ paths: application/problem+json: schema: $ref: '#/components/schemas/Problem' - /delivery-progresses/v2.8/streams: + /delivery-push/v2.0/{iun}/legal-facts: + get: + deprecated: true + summary: Elenco atti opponibili a terzi + description: >- + Elenca le informazione di categorizzazione di tutti gli atti opponibili + a terzi registrati durante il processo di notifica.
+ tags: + - LegalFacts + operationId: retrieveNotificationLegalFactsV20 + x-pagopa-lambda-name: pn-versioningGetNotificationLegalFactsLambda:live + x-pagopa-lambda-account: core + parameters: + - $ref: '#/components/parameters/pathIun' + - $ref: '#/components/parameters/legalFactsSearchMandateId' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/LegalFactListV20' + '400': + description: Invalid input + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Problem' + '404': + description: Not found + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Problem' + '500': + description: Internal Server Error + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Problem' + /delivery-progresses/v2.9/streams: post: - summary: EXPERIMENTAL - Crea nuovo stream di eventi + summary: Crea nuovo stream di eventi description: >- - (EXPERIMENTAL) Creazione di un flusso di eventi specificando se gli - eventi saranno relativi ai cambi di stato o agli eventi di timeline. + Creazione di un flusso di eventi specificando se gli eventi saranno + relativi ai cambi di stato o agli eventi di timeline. In risposta, Piattaforma Notifiche, comunicherà un identificativo dello @@ -1815,20 +1889,20 @@ paths: pochi secondi dopo che è stata invocata l'operazione. tags: - Streams - operationId: createEventStreamV28 + operationId: createEventStreamV29 requestBody: required: true content: application/json: schema: - $ref: '#/components/schemas/StreamCreationRequestV28' + $ref: '#/components/schemas/StreamCreationRequestV29' responses: '200': description: OK content: application/json: schema: - $ref: '#/components/schemas/StreamMetadataResponseV28' + $ref: '#/components/schemas/StreamMetadataResponseV29' '400': description: Invalid input content: @@ -1854,11 +1928,11 @@ paths: schema: $ref: '#/components/schemas/Problem' get: - summary: EXPERIMENTAL - Elenca stream di eventi - description: (EXPERIMENTAL) Elenca gli stream di eventi + summary: Elenca stream di eventi + description: Elenca gli stream di eventi tags: - Streams - operationId: listEventStreamsV28 + operationId: listEventStreamsV29 responses: '200': description: OK @@ -1878,22 +1952,21 @@ paths: application/problem+json: schema: $ref: '#/components/schemas/Problem' - /delivery-progresses/v2.8/streams/{streamId}: + /delivery-progresses/v2.9/streams/{streamId}: parameters: - $ref: '#/components/parameters/pathStreamId' get: - summary: EXPERIMENTAL - Leggi metadata dello stream - description: (EXPERIMENTAL) Lettura delle configurazioni di uno stream di eventi. + summary: Leggi metadata dello stream + description: Lettura delle configurazioni di uno stream di eventi. tags: - Streams - operationId: retrieveEventStreamV28 responses: '200': description: OK content: application/json: schema: - $ref: '#/components/schemas/StreamMetadataResponseV28' + $ref: '#/components/schemas/StreamMetadataResponseV29' '400': description: Invalid input content: @@ -1919,26 +1992,26 @@ paths: schema: $ref: '#/components/schemas/Problem' put: - summary: EXPERIMENTAL - Update Stream metadata + summary: Update Stream metadata description: >- - (EXPERIMENTAL) Modifica delle configurazioni dei filtri associati a uno - stream di eventi + Modifica delle configurazioni dei filtri associati a uno stream di + eventi, non è possibile cambiare il valore del flag waitForAccepted. tags: - Streams - operationId: updateEventStreamV28 + operationId: updateEventStreamV29 requestBody: required: true content: application/json: schema: - $ref: '#/components/schemas/StreamRequestV28' + $ref: '#/components/schemas/StreamRequestV29' responses: '200': description: OK content: application/json: schema: - $ref: '#/components/schemas/StreamMetadataResponseV28' + $ref: '#/components/schemas/StreamMetadataResponseV29' '400': description: Invalid input content: @@ -1964,14 +2037,12 @@ paths: schema: $ref: '#/components/schemas/Problem' delete: - summary: EXPERIMENTAL - Remove Event Stream + summary: Remove Event Stream description: >- - (EXPERIMENTAL) Cancellazione dello steam di eventi: elimina sia le - configurazioni sia tutti gli eventi associati allo stream e non ancora - consumati. + Cancellazione dello steam di eventi: elimina sia le configurazioni sia + tutti gli eventi associati allo stream e non ancora consumati. tags: - Streams - operationId: removeEventStreamV28 responses: '204': description: OK @@ -1999,11 +2070,11 @@ paths: application/problem+json: schema: $ref: '#/components/schemas/Problem' - /delivery-progresses/v2.8/streams/{streamId}/action/disable: + /delivery-progresses/v2.9/streams/{streamId}/action/disable: post: - summary: EXPERIMENTAL - Disabilita uno stream + summary: Disabilita uno stream description: >- - (EXPERIMENTAL) Disabilita uno stream. + Disabilita uno stream. Da uno stream disabilitato è possibile leggere gli eventi presenti nello @@ -2019,7 +2090,7 @@ paths: id="webhookTtlDisabled">14 giorni. tags: - Streams - operationId: disableEventStreamV28 + operationId: disableEventStreamV29 parameters: - $ref: '#/components/parameters/pathStreamId' responses: @@ -2028,7 +2099,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/StreamMetadataResponseV28' + $ref: '#/components/schemas/StreamMetadataResponseV29' '400': description: Invalid input content: @@ -2053,7 +2124,7 @@ paths: application/problem+json: schema: $ref: '#/components/schemas/Problem' - /delivery-progresses/v2.8/streams/{streamId}/events: + /delivery-progresses/v2.9/streams/{streamId}/events: get: summary: EXPERIMENTAL - Leggi progressi notifiche description: >- @@ -2063,7 +2134,7 @@ paths: precedenti. Tali eventi potranno essere cancellati dallo stream. tags: - Events - operationId: consumeEventStreamV28 + operationId: consumeEventStreamV29 parameters: - $ref: '#/components/parameters/pathStreamId' - $ref: '#/components/parameters/queryLastEventId' @@ -2087,7 +2158,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/ProgressResponseV28' + $ref: '#/components/schemas/ProgressResponseV29' '400': description: Invalid input content: @@ -2135,6 +2206,8 @@ paths: tags: - Streams operationId: createEventStream + x-pagopa-lambda-name: pn-versioningV1V2StreamLambda:live + x-pagopa-lambda-account: core requestBody: required: true content: @@ -2167,6 +2240,8 @@ paths: tags: - Streams operationId: listEventStreams + x-pagopa-lambda-name: pn-versioningV1V2StreamLambda:live + x-pagopa-lambda-account: core responses: '200': description: OK @@ -2196,6 +2271,8 @@ paths: tags: - Streams operationId: retrieveEventStream + x-pagopa-lambda-name: pn-versioningV1V2StreamLambda:live + x-pagopa-lambda-account: core responses: '200': description: OK @@ -2224,6 +2301,8 @@ paths: tags: - Streams operationId: updateEventStream + x-pagopa-lambda-name: pn-versioningV1V2StreamLambda:live + x-pagopa-lambda-account: core requestBody: required: true content: @@ -2258,6 +2337,8 @@ paths: tags: - Streams operationId: removeEventStream + x-pagopa-lambda-name: pn-versioningV1V2StreamLambda:live + x-pagopa-lambda-account: core responses: '204': description: OK @@ -2285,6 +2366,8 @@ paths: tags: - Events operationId: consumeEventStream + x-pagopa-lambda-name: pn-versioningV1V2StreamLambda:live + x-pagopa-lambda-account: core parameters: - $ref: '#/components/parameters/pathStreamId' - $ref: '#/components/parameters/queryLastEventId' @@ -2343,6 +2426,8 @@ paths: tags: - Streams operationId: createEventStreamV23 + x-pagopa-lambda-name: pn-versioningV1V2StreamLambda:live + x-pagopa-lambda-account: core requestBody: required: true content: @@ -2387,6 +2472,8 @@ paths: tags: - Streams operationId: listEventStreamsV23 + x-pagopa-lambda-name: pn-versioningV1V2StreamLambda:live + x-pagopa-lambda-account: core responses: '200': description: OK @@ -2416,6 +2503,8 @@ paths: tags: - Streams operationId: retrieveEventStreamV23 + x-pagopa-lambda-name: pn-versioningV1V2StreamLambda:live + x-pagopa-lambda-account: core responses: '200': description: OK @@ -2456,6 +2545,8 @@ paths: tags: - Streams operationId: updateEventStreamV23 + x-pagopa-lambda-name: pn-versioningV1V2StreamLambda:live + x-pagopa-lambda-account: core requestBody: required: true content: @@ -2502,6 +2593,8 @@ paths: tags: - Streams operationId: removeEventStreamV23 + x-pagopa-lambda-name: pn-versioningV1V2StreamLambda:live + x-pagopa-lambda-account: core responses: '204': description: OK @@ -2551,6 +2644,8 @@ paths: tags: - Streams operationId: disableEventStreamV23 + x-pagopa-lambda-name: pn-versioningV1V2StreamLambda:live + x-pagopa-lambda-account: core parameters: - $ref: '#/components/parameters/pathStreamId' responses: @@ -2596,6 +2691,8 @@ paths: tags: - Events operationId: consumeEventStreamV23 + x-pagopa-lambda-name: pn-versioningV1V2StreamLambda:live + x-pagopa-lambda-account: core parameters: - $ref: '#/components/parameters/pathStreamId' - $ref: '#/components/parameters/queryLastEventId' @@ -2669,6 +2766,8 @@ paths: tags: - Streams operationId: createEventStreamV24 + x-pagopa-lambda-name: pn-versioningV1V2StreamLambda:live + x-pagopa-lambda-account: core requestBody: required: true content: @@ -2713,6 +2812,8 @@ paths: tags: - Streams operationId: listEventStreamsV24 + x-pagopa-lambda-name: pn-versioningV1V2StreamLambda:live + x-pagopa-lambda-account: core responses: '200': description: OK @@ -2742,6 +2843,8 @@ paths: tags: - Streams operationId: retrieveEventStreamV24 + x-pagopa-lambda-name: pn-versioningV1V2StreamLambda:live + x-pagopa-lambda-account: core responses: '200': description: OK @@ -2782,6 +2885,8 @@ paths: tags: - Streams operationId: updateEventStreamV24 + x-pagopa-lambda-name: pn-versioningV1V2StreamLambda:live + x-pagopa-lambda-account: core requestBody: required: true content: @@ -2828,6 +2933,8 @@ paths: tags: - Streams operationId: removeEventStreamV24 + x-pagopa-lambda-name: pn-versioningV1V2StreamLambda:live + x-pagopa-lambda-account: core responses: '204': description: OK @@ -2877,6 +2984,8 @@ paths: tags: - Streams operationId: disableEventStreamV24 + x-pagopa-lambda-name: pn-versioningV1V2StreamLambda:live + x-pagopa-lambda-account: core parameters: - $ref: '#/components/parameters/pathStreamId' responses: @@ -2922,6 +3031,8 @@ paths: tags: - Events operationId: consumeEventStreamV24 + x-pagopa-lambda-name: pn-versioningV1V2StreamLambda:live + x-pagopa-lambda-account: core parameters: - $ref: '#/components/parameters/pathStreamId' - $ref: '#/components/parameters/queryLastEventId' @@ -2995,7 +3106,7 @@ paths: tags: - Streams operationId: createEventStreamV25 - x-pagopa-lambda-name: pn-versioningV1V2WebhookLambda:live + x-pagopa-lambda-name: pn-versioningV1V2StreamLambda:live x-pagopa-lambda-account: core requestBody: required: true @@ -3041,7 +3152,7 @@ paths: tags: - Streams operationId: listEventStreamsV25 - x-pagopa-lambda-name: pn-versioningV1V2WebhookLambda:live + x-pagopa-lambda-name: pn-versioningV1V2StreamLambda:live x-pagopa-lambda-account: core responses: '200': @@ -3071,8 +3182,7 @@ paths: description: Lettura delle configurazioni di uno stream di eventi. tags: - Streams - operationId: retrieveEventStreamV25 - x-pagopa-lambda-name: pn-versioningV1V2WebhookLambda:live + x-pagopa-lambda-name: pn-versioningV1V2StreamLambda:live x-pagopa-lambda-account: core responses: '200': @@ -3114,7 +3224,7 @@ paths: tags: - Streams operationId: updateEventStreamV25 - x-pagopa-lambda-name: pn-versioningV1V2WebhookLambda:live + x-pagopa-lambda-name: pn-versioningV1V2StreamLambda:live x-pagopa-lambda-account: core requestBody: required: true @@ -3161,8 +3271,7 @@ paths: tutti gli eventi associati allo stream e non ancora consumati. tags: - Streams - operationId: removeEventStreamV25 - x-pagopa-lambda-name: pn-versioningV1V2WebhookLambda:live + x-pagopa-lambda-name: pn-versioningV1V2StreamLambda:live x-pagopa-lambda-account: core responses: '204': @@ -3213,7 +3322,7 @@ paths: tags: - Streams operationId: disableEventStreamV25 - x-pagopa-lambda-name: pn-versioningV1V2WebhookLambda:live + x-pagopa-lambda-name: pn-versioningV1V2StreamLambda:live x-pagopa-lambda-account: core parameters: - $ref: '#/components/parameters/pathStreamId' @@ -3260,7 +3369,7 @@ paths: tags: - Events operationId: consumeEventStreamV25 - x-pagopa-lambda-name: pn-versioningV1V2WebhookLambda:live + x-pagopa-lambda-name: pn-versioningV1V2StreamLambda:live x-pagopa-lambda-account: core parameters: - $ref: '#/components/parameters/pathStreamId' @@ -3335,7 +3444,7 @@ paths: tags: - Streams operationId: createEventStreamV26 - x-pagopa-lambda-name: pn-versioningV1V2WebhookLambda:live + x-pagopa-lambda-name: pn-versioningV1V2StreamLambda:live x-pagopa-lambda-account: core requestBody: required: true @@ -3381,7 +3490,7 @@ paths: tags: - Streams operationId: listEventStreamsV26 - x-pagopa-lambda-name: pn-versioningV1V2WebhookLambda:live + x-pagopa-lambda-name: pn-versioningV1V2StreamLambda:live x-pagopa-lambda-account: core responses: '200': @@ -3411,8 +3520,7 @@ paths: description: Lettura delle configurazioni di uno stream di eventi. tags: - Streams - operationId: retrieveEventStreamV26 - x-pagopa-lambda-name: pn-versioningV1V2WebhookLambda:live + x-pagopa-lambda-name: pn-versioningV1V2StreamLambda:live x-pagopa-lambda-account: core responses: '200': @@ -3454,7 +3562,7 @@ paths: tags: - Streams operationId: updateEventStreamV26 - x-pagopa-lambda-name: pn-versioningV1V2WebhookLambda:live + x-pagopa-lambda-name: pn-versioningV1V2StreamLambda:live x-pagopa-lambda-account: core requestBody: required: true @@ -3501,8 +3609,7 @@ paths: tutti gli eventi associati allo stream e non ancora consumati. tags: - Streams - operationId: removeEventStreamV26 - x-pagopa-lambda-name: pn-versioningV1V2WebhookLambda:live + x-pagopa-lambda-name: pn-versioningV1V2StreamLambda:live x-pagopa-lambda-account: core responses: '204': @@ -3553,7 +3660,7 @@ paths: tags: - Streams operationId: disableEventStreamV26 - x-pagopa-lambda-name: pn-versioningV1V2WebhookLambda:live + x-pagopa-lambda-name: pn-versioningV1V2StreamLambda:live x-pagopa-lambda-account: core parameters: - $ref: '#/components/parameters/pathStreamId' @@ -3600,7 +3707,7 @@ paths: tags: - Events operationId: consumeEventStreamV26 - x-pagopa-lambda-name: pn-versioningV1V2WebhookLambda:live + x-pagopa-lambda-name: pn-versioningV1V2StreamLambda:live x-pagopa-lambda-account: core parameters: - $ref: '#/components/parameters/pathStreamId' @@ -3662,17 +3769,20 @@ paths: $ref: '#/components/schemas/Problem' /delivery-progresses/v2.7/streams: post: + deprecated: true summary: Crea nuovo stream di eventi description: >- Creazione di un flusso di eventi specificando se gli eventi saranno - relativi ai cambi di stato o agli eventi di timeline. In risposta, - Piattaforma Notifiche, comunicherà un identificativo dello stream e il - timestamp di effettiva attivazione del flusso, tipicamente pochi secondi - dopo che è stata invocata l'operazione. + relativi ai cambi di stato o agli eventi di timeline. + + + In risposta, Piattaforma Notifiche, comunicherà un identificativo dello + stream e il timestamp di effettiva attivazione del flusso, tipicamente + pochi secondi dopo che è stata invocata l'operazione. tags: - Streams operationId: createEventStreamV27 - x-pagopa-lambda-name: pn-versioningV1V2WebhookLambda:live + x-pagopa-lambda-name: pn-versioningV1V2StreamLambda:live x-pagopa-lambda-account: core requestBody: required: true @@ -3712,12 +3822,13 @@ paths: schema: $ref: '#/components/schemas/Problem' get: + deprecated: true summary: Elenca stream di eventi description: Elenca gli stream di eventi tags: - Streams operationId: listEventStreamsV27 - x-pagopa-lambda-name: pn-versioningV1V2WebhookLambda:live + x-pagopa-lambda-name: pn-versioningV1V2StreamLambda:live x-pagopa-lambda-account: core responses: '200': @@ -3742,12 +3853,12 @@ paths: parameters: - $ref: '#/components/parameters/pathStreamId' get: + deprecated: true summary: Leggi metadata dello stream description: Lettura delle configurazioni di uno stream di eventi. tags: - Streams - operationId: retrieveEventStreamV27 - x-pagopa-lambda-name: pn-versioningV1V2WebhookLambda:live + x-pagopa-lambda-name: pn-versioningV1V2StreamLambda:live x-pagopa-lambda-account: core responses: '200': @@ -3781,14 +3892,15 @@ paths: schema: $ref: '#/components/schemas/Problem' put: + deprecated: true summary: Update Stream metadata description: >- Modifica delle configurazioni dei filtri associati a uno stream di - eventi + eventi, non è possibile cambiare il valore del flag waitForAccepted. tags: - Streams operationId: updateEventStreamV27 - x-pagopa-lambda-name: pn-versioningV1V2WebhookLambda:live + x-pagopa-lambda-name: pn-versioningV1V2StreamLambda:live x-pagopa-lambda-account: core requestBody: required: true @@ -3828,14 +3940,14 @@ paths: schema: $ref: '#/components/schemas/Problem' delete: + deprecated: true summary: Remove Event Stream description: >- Cancellazione dello steam di eventi: elimina sia le configurazioni sia tutti gli eventi associati allo stream e non ancora consumati. tags: - Streams - operationId: removeEventStreamV27 - x-pagopa-lambda-name: pn-versioningV1V2WebhookLambda:live + x-pagopa-lambda-name: pn-versioningV1V2StreamLambda:live x-pagopa-lambda-account: core responses: '204': @@ -3866,19 +3978,27 @@ paths: $ref: '#/components/schemas/Problem' /delivery-progresses/v2.7/streams/{streamId}/action/disable: post: + deprecated: true summary: Disabilita uno stream description: >- - Disabilita uno stream. Da uno stream disabilitato è possibile leggere - gli eventi presenti nello stream salvati prima della disabilitazione, ma - non ne saranno aggiunti di nuovi. Non è possibile modificare o - riabilitare uno stream disabilitato. Uno stream disabilitato non rientra - nel conteggio degli stream massimi, non può essere riabilitato e verrà - eliminato automaticamente dopo 14 - giorni. + Disabilita uno stream. + + + Da uno stream disabilitato è possibile leggere gli eventi presenti nello + stream salvati prima della disabilitazione, ma non ne saranno aggiunti + di nuovi. + + + Non è possibile modificare o riabilitare uno stream disabilitato. + + + Uno stream disabilitato non rientra nel conteggio degli stream massimi, + non può essere riabilitato e verrà eliminato automaticamente dopo 14 giorni. tags: - Streams operationId: disableEventStreamV27 - x-pagopa-lambda-name: pn-versioningV1V2WebhookLambda:live + x-pagopa-lambda-name: pn-versioningV1V2StreamLambda:live x-pagopa-lambda-account: core parameters: - $ref: '#/components/parameters/pathStreamId' @@ -3915,6 +4035,7 @@ paths: $ref: '#/components/schemas/Problem' /delivery-progresses/v2.7/streams/{streamId}/events: get: + deprecated: true summary: Leggi progressi notifiche description: >- Lettura degli eventi presenti nello stream di aggiornamenti con @@ -3924,7 +4045,7 @@ paths: tags: - Events operationId: consumeEventStreamV27 - x-pagopa-lambda-name: pn-versioningV1V2WebhookLambda:live + x-pagopa-lambda-name: pn-versioningV1V2StreamLambda:live x-pagopa-lambda-account: core parameters: - $ref: '#/components/parameters/pathStreamId' @@ -3984,82 +4105,422 @@ paths: application/problem+json: schema: $ref: '#/components/schemas/Problem' -components: - parameters: - notificationRequestId: - in: query - required: false - name: notificationRequestId - description: identificativo della richiesta di notifica - schema: - type: string - maxLength: 36 - pattern: ^[A-Za-z0-9+/=]{36}$ - paProtocolNumber: - name: paProtocolNumber - in: query - required: false - description: >- - Numero di protocollo associato alla notifica, può essere riutilizzato - per rettifiche. - schema: - type: string - pattern: ^.*$ - maxLength: 256 - idempotenceToken: - name: idempotenceToken - description: >- - token usato per disambiguare "richieste di notificazione" effettuate con - lo stesso numero di protocollo. - in: query - required: false - schema: - type: string - pattern: ^[ -~]*$ - maxLength: 256 - pathDocumentIdx: - name: docIdx - description: indice del documento nella lista partendo da 0. - in: path - required: true - schema: - type: integer - format: int32 - pathRecipientIdx: - name: recipientIdx - description: indice del destinatario nella lista partendo da 0. - in: path - required: true - schema: - type: integer - format: int32 - pathAttachmentName: - name: attachmentName + /delivery-progresses/v2.8/streams: + post: + deprecated: true + summary: EXPERIMENTAL - Crea nuovo stream di eventi description: >- - Tipologia del pagamento allegato alla notifica. Valori possibili - PAGOPA|F24 - in: path - required: true - schema: - type: string - minLength: 3 - maxLength: 6 - pattern: PAGOPA|F24 - attachmentIdx: - in: query - name: attachmentIdx - description: indice del documento di pagamento partendo da 0 - required: false - schema: - type: integer - format: int32 - pathIun: - description: Identificativo Univoco Notifica - name: iun - in: path - required: true - schema: - type: string + (EXPERIMENTAL) Creazione di un flusso di eventi specificando se gli + eventi saranno relativi ai cambi di stato o agli eventi di timeline. + + + In risposta, Piattaforma Notifiche, comunicherà un identificativo dello + stream e il timestamp di effettiva attivazione del flusso, tipicamente + pochi secondi dopo che è stata invocata l'operazione. + tags: + - Streams + operationId: createEventStreamV28 + x-pagopa-lambda-name: pn-versioningV1V2StreamLambda:live + x-pagopa-lambda-account: core + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/StreamCreationRequestV28' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/StreamMetadataResponseV28' + '400': + description: Invalid input + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Problem' + '403': + description: Forbidden + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Problem' + '404': + description: ReplacedId Stream not found + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Problem' + '500': + description: Internal Server Error + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Problem' + get: + deprecated: true + summary: EXPERIMENTAL - Elenca stream di eventi + description: (EXPERIMENTAL) Elenca gli stream di eventi + tags: + - Streams + operationId: listEventStreamsV28 + x-pagopa-lambda-name: pn-versioningV1V2StreamLambda:live + x-pagopa-lambda-account: core + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/StreamListResponse' + '400': + description: Invalid input + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Problem' + '500': + description: Internal Server Error + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Problem' + /delivery-progresses/v2.8/streams/{streamId}: + parameters: + - $ref: '#/components/parameters/pathStreamId' + get: + deprecated: true + summary: EXPERIMENTAL - Leggi metadata dello stream + description: (EXPERIMENTAL) Lettura delle configurazioni di uno stream di eventi. + tags: + - Streams + x-pagopa-lambda-name: pn-versioningV1V2StreamLambda:live + x-pagopa-lambda-account: core + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/StreamMetadataResponseV28' + '400': + description: Invalid input + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Problem' + '403': + description: Forbidden + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Problem' + '404': + description: Stream not found + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Problem' + '500': + description: Internal Server Error + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Problem' + put: + deprecated: true + summary: EXPERIMENTAL - Update Stream metadata + description: >- + (EXPERIMENTAL) Modifica delle configurazioni dei filtri associati a uno + stream di eventi, non è possibile cambiare il valore del flag + waitForAccepted. + tags: + - Streams + operationId: updateEventStreamV28 + x-pagopa-lambda-name: pn-versioningV1V2StreamLambda:live + x-pagopa-lambda-account: core + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/StreamRequestV28' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/StreamMetadataResponseV28' + '400': + description: Invalid input + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Problem' + '403': + description: Forbidden + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Problem' + '404': + description: Stream not found + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Problem' + '500': + description: Internal Server Error + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Problem' + delete: + deprecated: true + summary: EXPERIMENTAL - Remove Event Stream + description: >- + (EXPERIMENTAL) Cancellazione dello steam di eventi: elimina sia le + configurazioni sia tutti gli eventi associati allo stream e non ancora + consumati. + tags: + - Streams + x-pagopa-lambda-name: pn-versioningV1V2StreamLambda:live + x-pagopa-lambda-account: core + responses: + '204': + description: OK + '400': + description: Bad request + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Problem' + '403': + description: Forbidden + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Problem' + '404': + description: Stream not found + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Problem' + '500': + description: Internal Server Error + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Problem' + /delivery-progresses/v2.8/streams/{streamId}/action/disable: + post: + deprecated: true + summary: EXPERIMENTAL - Disabilita uno stream + description: >- + (EXPERIMENTAL) Disabilita uno stream. + + + Da uno stream disabilitato è possibile leggere gli eventi presenti nello + stream salvati prima della disabilitazione, ma non ne saranno aggiunti + di nuovi. + + + Non è possibile modificare o riabilitare uno stream disabilitato. + + + Uno stream disabilitato non rientra nel conteggio degli stream massimi, + non può essere riabilitato e verrà eliminato automaticamente dopo 14 giorni. + tags: + - Streams + operationId: disableEventStreamV28 + x-pagopa-lambda-name: pn-versioningV1V2StreamLambda:live + x-pagopa-lambda-account: core + parameters: + - $ref: '#/components/parameters/pathStreamId' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/StreamMetadataResponseV28' + '400': + description: Invalid input + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Problem' + '403': + description: Forbidden + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Problem' + '404': + description: Stream not found + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Problem' + '500': + description: Internal Server Error + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Problem' + /delivery-progresses/v2.8/streams/{streamId}/events: + get: + deprecated: true + summary: EXPERIMENTAL - Leggi progressi notifiche + description: >- + (EXPERIMENTAL) Lettura degli eventi presenti nello stream di + aggiornamenti con indicazione che il mittente ha ricevuto e memorizzato + l'evento identificato dal parametro _lastEventId_ e tutti gli eventi + precedenti. Tali eventi potranno essere cancellati dallo stream. + tags: + - Events + operationId: consumeEventStreamV28 + x-pagopa-lambda-name: pn-versioningV1V2StreamLambda:live + x-pagopa-lambda-account: core + parameters: + - $ref: '#/components/parameters/pathStreamId' + - $ref: '#/components/parameters/queryLastEventId' + responses: + '200': + description: OK + headers: + retry-after: + schema: + type: integer + format: int32 + description: >- + Numero di millisecondi di attesa prima di effettuare una nuova + lettura di eventi. + + Sarà valorizzato a zero se ci sono eventi in coda che non sono + stati forniti per raggiunta dimensione massima della risposta. + + Sarà maggiore di zero se gli eventi in coda sono stati tutti + inviati. + content: + application/json: + schema: + $ref: '#/components/schemas/ProgressResponseV28' + '400': + description: Invalid input + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Problem' + '403': + description: Not allowed to consume details + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Problem' + '404': + description: Stream not found + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Problem' + '429': + description: Too Many Requests + headers: + retry-after: + schema: + type: integer + format: int32 + description: >- + Numero di millisecondi di attesa prima di effettuare una nuova + lettura di eventi. + '500': + description: Internal Server Error + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Problem' +components: + parameters: + notificationRequestId: + in: query + required: false + name: notificationRequestId + description: identificativo della richiesta di notifica + schema: + type: string + maxLength: 36 + pattern: ^[A-Za-z0-9+/=]{36}$ + paProtocolNumber: + name: paProtocolNumber + in: query + required: false + description: >- + Numero di protocollo associato alla notifica, può essere riutilizzato + per rettifiche. + schema: + type: string + pattern: ^.*$ + maxLength: 256 + idempotenceToken: + name: idempotenceToken + description: >- + token usato per disambiguare "richieste di notificazione" effettuate con + lo stesso numero di protocollo. + in: query + required: false + schema: + type: string + pattern: ^[ -~]*$ + maxLength: 256 + pathDocumentIdx: + name: docIdx + description: indice del documento nella lista partendo da 0. + in: path + required: true + schema: + type: integer + format: int32 + pathRecipientIdx: + name: recipientIdx + description: indice del destinatario nella lista partendo da 0. + in: path + required: true + schema: + type: integer + format: int32 + pathAttachmentName: + name: attachmentName + description: >- + Tipologia del pagamento allegato alla notifica. Valori possibili + PAGOPA|F24 + in: path + required: true + schema: + type: string + minLength: 3 + maxLength: 6 + pattern: PAGOPA|F24 + attachmentIdx: + in: query + name: attachmentIdx + description: indice del documento di pagamento partendo da 0 + required: false + schema: + type: integer + format: int32 + pathIun: + description: Identificativo Univoco Notifica + name: iun + in: path + required: true + schema: + type: string minLength: 25 maxLength: 25 pattern: ^[A-Z]{4}-[A-Z]{4}-[A-Z]{4}-[0-9]{6}-[A-Z]{1}-[0-9]{1}$ @@ -4456,7 +4917,7 @@ components: type: string required: - code - FullSentNotificationV27: + FullSentNotificationV28: description: >- Le informazioni riguardanti una notifica (richiesta di notifica accettata) e il processo di inoltro della notifica verso il cittadino. @@ -4469,16 +4930,16 @@ components: - timeline properties: notificationStatus: - $ref: '#/components/schemas/NotificationStatusV26' + $ref: '#/components/schemas/NotificationStatusV28' notificationStatusHistory: - $ref: '#/components/schemas/NotificationStatusHistoryV26' + $ref: '#/components/schemas/NotificationStatusHistoryV28' timeline: description: >- elenco dettagliato di tutto ciò che è accaduto durrante il processo di notifica type: array items: - $ref: '#/components/schemas/TimelineElementV27' + $ref: '#/components/schemas/TimelineElementV28' PaymentEventsRequestPagoPa: title: Invio eventi di pagamento da PA a PN description: >- @@ -4569,7 +5030,7 @@ components: amount: type: integer format: int32 - TimelineElementV27: + TimelineElementV28: type: object additionalProperties: false properties: @@ -4605,15 +5066,15 @@ components: legalFactsIds: type: array items: - $ref: '#/components/schemas/LegalFactsIdV20' + $ref: '#/components/schemas/LegalFactsIdV28' description: >- Chiavi dei documenti che provano l'effettivo accadimento dell'evento descritto in timeline. Questo elemento category: - $ref: '#/components/schemas/TimelineElementCategoryV27' + $ref: '#/components/schemas/TimelineElementCategoryV28' details: - $ref: '#/components/schemas/TimelineElementDetailsV27' - NotificationStatusV26: + $ref: '#/components/schemas/TimelineElementDetailsV28' + NotificationStatusV28: type: string description: | stato di avanzamento del processo di notifica: @@ -4628,6 +5089,7 @@ components: * `CANCELLED` - L'ente ha annullato l'invio della notifica * `PAID` - [DEPRECATO] Uno dei destinatari ha pagato la notifica * `RETURNED_TO_SENDER` - La notifica è stata restituita al mittente + * `DELIVERY_TIMEOUT` - La notifica non è stata consegnata entro il termine stabilito enum: - IN_VALIDATION - ACCEPTED @@ -4640,11 +5102,12 @@ components: - UNREACHABLE - CANCELLED - RETURNED_TO_SENDER - NotificationStatusHistoryV26: + - DELIVERY_TIMEOUT + NotificationStatusHistoryV28: description: elenco degli avanzamenti effettuati dal processo di notifica type: array items: - $ref: '#/components/schemas/NotificationStatusHistoryElementV26' + $ref: '#/components/schemas/NotificationStatusHistoryElementV28' F24Metadata: type: object description: >- @@ -5536,6 +5999,29 @@ components: type: array items: $ref: '#/components/schemas/TimelineElementV26' + FullSentNotificationV27: + description: >- + Le informazioni riguardanti una notifica (richiesta di notifica + accettata) e il processo di inoltro della notifica verso il cittadino. + allOf: + - $ref: '#/components/schemas/SentNotificationV25' + - type: object + required: + - notificationStatus + - notificationStatusHistory + - timeline + properties: + notificationStatus: + $ref: '#/components/schemas/NotificationStatusV26' + notificationStatusHistory: + $ref: '#/components/schemas/NotificationStatusHistoryV26' + timeline: + description: >- + elenco dettagliato di tutto ciò che è accaduto durrante il + processo di notifica + type: array + items: + $ref: '#/components/schemas/TimelineElementV27' PaFeeV21: type: integer description: >- @@ -5882,7 +6368,7 @@ components: controllo, ovvero la seguente regexp: ^[ -{}~\u00A0-ÿ]*$ type: string minLength: 1 - maxLength: 44 + maxLength: 88 pattern: ^.*$ NotificationDigitalAddress: description: Indirizzo di invio della notifica @@ -6358,7 +6844,7 @@ components: $ref: '#/components/schemas/UsedServices' TimelineElementId: type: string - NotificationStatusHistoryElementV26: + NotificationStatusHistoryElementV28: description: elenco degli avanzamenti effettuati dal processo di notifica type: object required: @@ -6367,7 +6853,7 @@ components: - relatedTimelineElements properties: status: - $ref: '#/components/schemas/NotificationStatusV26' + $ref: '#/components/schemas/NotificationStatusV28' activeFrom: type: string description: data e ora di raggiungimento dello stato di avanzamento @@ -6377,7 +6863,7 @@ components: description: Eventi avvenuti nello stato items: $ref: '#/components/schemas/TimelineElementId' - LegalFactCategoryV20: + LegalFactCategoryV28: title: Tipi di atti opponibili a terzi description: >- Tipi di atti opponibili a terzi che Piattaforma Notifiche mette a @@ -6389,8 +6875,9 @@ components: - PEC_RECEIPT
- ANALOG_FAILURE_DELIVERY
- NOTIFICATION_CANCELLED
+ - ANALOG_DELIVERY_TIMEOUT
type: string - LegalFactsIdV20: + LegalFactsIdV28: description: Chiavi dei documenti generati durante il processo di consegna cartacea type: object required: @@ -6405,8 +6892,8 @@ components: pattern: ^(safestorage:\/\/)?[A-Za-z0-9._-]+$ maxLength: 512 category: - $ref: '#/components/schemas/LegalFactCategoryV20' - TimelineElementCategoryV27: + $ref: '#/components/schemas/LegalFactCategoryV28' + TimelineElementCategoryV28: type: string description: | stato di avanzamento del processo di notifica:` @@ -6455,6 +6942,8 @@ components: * `ANALOG_WORKFLOW_RECIPIENT_DECEASED` - Destinatario deceduto * `PUBLIC_REGISTRY_VALIDATION_CALL` - Ricerca dell'indirizzo di spedizione in fase di validazione notifica * `PUBLIC_REGISTRY_VALIDATION_RESPONSE` - Recupero dell'indirizzo di spedizione dai registri nazionali + * `SEND_ANALOG_TIMEOUT` - Mancata ricezione di un esito per il tentativo di consegna analogico nell'intervallo temporale stabilito + * `ANALOG_FAILURE_WORKFLOW_TIMEOUT` - Completato con fallimento il workflow di invio cartaceo per l'assenza di esiti per ogni tentativo di spedizione nell'intervallo temporale stabilito enum: - SENDER_ACK_CREATION_REQUEST - VALIDATE_NORMALIZE_ADDRESSES_REQUEST @@ -6501,6 +6990,8 @@ components: - ANALOG_WORKFLOW_RECIPIENT_DECEASED - PUBLIC_REGISTRY_VALIDATION_CALL - PUBLIC_REGISTRY_VALIDATION_RESPONSE + - SEND_ANALOG_TIMEOUT + - ANALOG_FAILURE_WORKFLOW_TIMEOUT SenderAckCreationRequestDetails: type: object properties: @@ -7725,7 +8216,55 @@ components: - ANPR - REGISTRO_IMPRESE maxLength: 128 - TimelineElementDetailsV27: + SendAnalogTimeoutDetails: + type: object + required: + - recIndex + - physicalAddress + - serviceLevel + - sentAttemptMade + properties: + recIndex: + type: integer + description: Index destinatario notifica digitale + format: int32 + physicalAddress: + $ref: '#/components/schemas/PhysicalAddress' + serviceLevel: + $ref: '#/components/schemas/ServiceLevel' + sentAttemptMade: + type: integer + description: numero dei tentativi effettuati + format: int32 + relatedRequestId: + type: string + description: Id relativo alla eventuale precedente richiesta di invio cartaceo + maxLength: 512 + timeoutDate: + type: string + description: >- + Data in cui si è chiusa la finestra di ricezione esiti per il flusso + analogico + format: date-time + AnalogFailureWorkflowTimeoutDetails: + type: object + required: + - recIndex + properties: + recIndex: + type: integer + description: Index destinatario notifica digitale + format: int32 + generatedAarUrl: + type: string + maxLength: 128 + description: Chiave per recupero da safe-storage del documento aar + notificationCost: + description: costo notifica in euro cents + example: 1220 + type: integer + format: int64 + TimelineElementDetailsV28: description: The raw event payload that will be different based on the event. oneOf: - $ref: '#/components/schemas/SenderAckCreationRequestDetails' @@ -7772,6 +8311,8 @@ components: - $ref: '#/components/schemas/AnalogWorkflowRecipientDeceasedDetailsV26' - $ref: '#/components/schemas/PublicRegistryValidationCallDetails' - $ref: '#/components/schemas/PublicRegistryValidationResponseDetails' + - $ref: '#/components/schemas/SendAnalogTimeoutDetails' + - $ref: '#/components/schemas/AnalogFailureWorkflowTimeoutDetails' NotificationAttachmentDownloadMetadataResponse: title: Url e metadati per il download di un allegato di una notifica description: |- @@ -8698,6 +9239,35 @@ components: - $ref: '#/components/schemas/NotificationCancellationRequestDetails' - $ref: '#/components/schemas/NotificationCancelledDetails' - $ref: '#/components/schemas/PrepareAnalogDomicileFailureDetails' + LegalFactCategoryV20: + title: Tipi di atti opponibili a terzi + description: >- + Tipi di atti opponibili a terzi che Piattaforma Notifiche mette a + disposizione dei suoi utenti.
+ - SENDER_ACK
+ - DIGITAL_DELIVERY
+ - ANALOG_DELIVERY
+ - RECIPIENT_ACCESS
+ - PEC_RECEIPT
+ - ANALOG_FAILURE_DELIVERY
+ - NOTIFICATION_CANCELLED
+ type: string + LegalFactsIdV20: + description: Chiavi dei documenti generati durante il processo di consegna cartacea + type: object + required: + - key + - category + properties: + key: + description: >- + Chiave dell'atto opponibile a terzi generato durante il processo di + consegna + type: string + pattern: ^(safestorage:\/\/)?[A-Za-z0-9._-]+$ + maxLength: 512 + category: + $ref: '#/components/schemas/LegalFactCategoryV20' NotificationRefusedErrorV25: type: object properties: @@ -8773,7 +9343,238 @@ components: - $ref: '#/components/schemas/NotificationCancellationRequestDetails' - $ref: '#/components/schemas/NotificationCancelledDetails' - $ref: '#/components/schemas/PrepareAnalogDomicileFailureDetails' - TimelineElementCategoryV26: + NotificationStatusV26: + type: string + description: | + stato di avanzamento del processo di notifica: + * `IN_VALIDATION` - notifica depositata in attesa di validazione + * `ACCEPTED` - L'ente ha depositato la notifica con successo + * `REFUSED` - Notifica rifiutata a seguito della validazione + * `DELIVERING` - L'invio della notifica è in corso + * `DELIVERED` - La notifica è stata consegnata a tutti i destinatari + * `VIEWED` - Il destinatario ha letto la notifica entro il termine stabilito + * `EFFECTIVE_DATE` - Il destinatario non ha letto la notifica entro il termine stabilito + * `UNREACHABLE` - Il destinatario non è reperibile + * `CANCELLED` - L'ente ha annullato l'invio della notifica + * `PAID` - [DEPRECATO] Uno dei destinatari ha pagato la notifica + * `RETURNED_TO_SENDER` - La notifica è stata restituita al mittente + enum: + - IN_VALIDATION + - ACCEPTED + - REFUSED + - DELIVERING + - DELIVERED + - VIEWED + - EFFECTIVE_DATE + - PAID + - UNREACHABLE + - CANCELLED + - RETURNED_TO_SENDER + NotificationStatusHistoryElementV26: + description: elenco degli avanzamenti effettuati dal processo di notifica + type: object + required: + - status + - activeFrom + - relatedTimelineElements + properties: + status: + $ref: '#/components/schemas/NotificationStatusV26' + activeFrom: + type: string + description: data e ora di raggiungimento dello stato di avanzamento + format: date-time + relatedTimelineElements: + type: array + description: Eventi avvenuti nello stato + items: + $ref: '#/components/schemas/TimelineElementId' + NotificationStatusHistoryV26: + description: elenco degli avanzamenti effettuati dal processo di notifica + type: array + items: + $ref: '#/components/schemas/NotificationStatusHistoryElementV26' + TimelineElementCategoryV26: + type: string + description: | + stato di avanzamento del processo di notifica:` + * `SENDER_ACK_CREATION_REQUEST` - Invio della richiesta di creazione, firma e marca dell'atto opponibile a terzi di presa in carico per il mittente a safe storage + * `VALIDATE_NORMALIZE_ADDRESSES_REQUEST` - Invio della richiesta di validazione e normalizzazione indirizzi fisici presenti nella richiesta di notifica + * `NORMALIZED_ADDRESS` - Salvataggio indirizzi normalizzati + * `REQUEST_ACCEPTED` - Richiesta di notifica accettata a seguito dei controlli di validazione + * `REQUEST_REFUSED` - Richiesta di notifica rifiutata per fallimento di validazione + * `SEND_COURTESY_MESSAGE` - Invio di un messaggio di cortesia + * `GET_ADDRESS` - Disponibilità dell’indirizzo specifico (domicilio digitale di piattaforma, domicilio digitale speciale, domicilio digitale generale, indirizzo fisico sulla notifica o sui registri nazionali) + * `PUBLIC_REGISTRY_CALL` - Richiesta ai registri pubblici per ottenere domicilio digitale generale o per ottenere indirizzo fisico da ANPR, da registro della imprese, da anagrafe tributaria. + * `PUBLIC_REGISTRY_RESPONSE` - Ricevuta la risposta dei registri pubblici + * `SCHEDULE_ANALOG_WORKFLOW` - Pianificazione del workflow per invio cartaceo + * `SCHEDULE_DIGITAL_WORKFLOW` -Pianificazione del workflow per invio digitale (PEC) del secondo tentativo in caso di fallimento del primo. + * `PREPARE_DIGITAL_DOMICILE` - Preparazione per l’invio dell’avviso digitale.Va a valutare la timeline per capire quale sarà il prossimo indirizzo da usare. + * `SEND_DIGITAL_DOMICILE` - Invio digitale dell’avviso di notifica + * `SEND_DIGITAL_PROGRESS` - Tentativo di Invio PEC ad un determinato indirizzo. + * `SEND_DIGITAL_FEEDBACK` - Ottenuto esito ad un invio digitale + * `SCHEDULE_REFINEMENT` - Pianificato il perfezionamento per decorrenza termini + * `REFINEMENT` - Perfezionamento per decorrenza termini + * `DIGITAL_DELIVERY_CREATION_REQUEST` - Invio della richiesta di creazione, firma e marca dell'atto opponibile a terzi di chiusura del workflow digitale a safe storage + * `DIGITAL_SUCCESS_WORKFLOW` - Completato con successo il workflow di invio digitale + * `DIGITAL_FAILURE_WORKFLOW` - Completato con fallimento il workflow di invio digitale: tutti i tentativi di invio ai domicili digitali sono falliti. + * `ANALOG_SUCCESS_WORKFLOW` - Completato con successo il workflow di invio cartaceo + * `ANALOG_FAILURE_WORKFLOW` - Completato con fallimento il workflow di invio cartaceo NOTA: se per tutti i destinatari si conclude il workflow con fallimento verrà scatenato l’evento COMPLETELY_UNREACHABLE + * `PREPARE_SIMPLE_REGISTERED_LETTER` - Invio richiesta di prepare (preparazione ad invio) raccomandata semplice a paperChannel + * `SEND_SIMPLE_REGISTERED_LETTER` - Invio di raccomandata semplice + * `SEND_SIMPLE_REGISTERED_LETTER_PROGRESS` - Ricezione informazioni intermedia relative ad una notificazione cartacea semplice + * `NOTIFICATION_VIEWED_CREATION_REQUEST` - Invio della richiesta di creazione, firma e marca dell'atto opponibile a terzi di presa visione a safe storage + * `NOTIFICATION_VIEWED` - Visualizzazione della notifica (perfeziona la notifica se non già perfezionata per decorrenza termini o da altro destinatario) + * `PREPARE_ANALOG_DOMICILE` - Invio richiesta di prepare (preparazione ad invio) cartaceo a paperChannel + * `SEND_ANALOG_DOMICILE` - Invio cartaceo dell’avviso di notifica + * `SEND_ANALOG_PROGRESS` - Ricezione informazioni intermedia relative ad una notificazione cartacea + * `SEND_ANALOG_FEEDBACK` - Ricezione esito dell'invio cartaceo + * `COMPLETELY_UNREACHABLE_CREATION_REQUEST` - Invio della richiesta di creazione, firma e marca dell'atto (simile a opponibile a terzi) di completamento con fallimento del workflow di invio cartaceo + * `COMPLETELY_UNREACHABLE` - Tutti i destinatari risultano irraggiungibili + * `AAR_CREATION_REQUEST` - Invio della richiesta di creazione, firma e marca dell'AAR (Avviso di Avvenuta Ricezione) a safe storage + * `AAR_GENERATION` - Generazione dell’AAR (Avviso di Avvenuta Ricezione) + * `PAYMENT` - Evento di ricezione __dal mittente__ dell'informazione di chiusura di uno o più pagamenti di tipo pagoPA (vedi #/components/schemas/PagoPaPayment). La presenza di questo evento inibisce l'invio di eventuali comunicazioni analogiche future ma non perfeziona la notifica. + * `NOT_HANDLED` - [DEPRECATO] Per la sperimentazione l'invio analogico non è previsto, viene inserito tale elemento di timeline + * `PROBABLE_SCHEDULING_ANALOG_DATE` - Data probabile di inizio del flusso analogico + * `NOTIFICATION_CANCELLATION_REQUEST` - Richiesta di annullamento di una notifica + * `NOTIFICATION_CANCELLED` - Notifica annullata + * `PREPARE_ANALOG_DOMICILE_FAILURE` - Fallimento della richiesta di prepare (preparazione ad invio) cartaceo a paperChannel + * `NOTIFICATION_RADD_RETRIEVED` - Accesso alla notifica tramite la rete RADD. Non perfeziona la notifica. + * `ANALOG_WORKFLOW_RECIPIENT_DECEASED` - Destinatario deceduto + enum: + - SENDER_ACK_CREATION_REQUEST + - VALIDATE_NORMALIZE_ADDRESSES_REQUEST + - NORMALIZED_ADDRESS + - REQUEST_ACCEPTED + - SEND_COURTESY_MESSAGE + - GET_ADDRESS + - PUBLIC_REGISTRY_CALL + - PUBLIC_REGISTRY_RESPONSE + - SCHEDULE_ANALOG_WORKFLOW + - SCHEDULE_DIGITAL_WORKFLOW + - PREPARE_DIGITAL_DOMICILE + - SEND_DIGITAL_DOMICILE + - SEND_DIGITAL_PROGRESS + - SEND_DIGITAL_FEEDBACK + - REFINEMENT + - SCHEDULE_REFINEMENT + - DIGITAL_DELIVERY_CREATION_REQUEST + - DIGITAL_SUCCESS_WORKFLOW + - DIGITAL_FAILURE_WORKFLOW + - ANALOG_SUCCESS_WORKFLOW + - ANALOG_FAILURE_WORKFLOW + - PREPARE_SIMPLE_REGISTERED_LETTER + - SEND_SIMPLE_REGISTERED_LETTER + - SEND_SIMPLE_REGISTERED_LETTER_PROGRESS + - NOTIFICATION_VIEWED_CREATION_REQUEST + - NOTIFICATION_VIEWED + - PREPARE_ANALOG_DOMICILE + - SEND_ANALOG_DOMICILE + - SEND_ANALOG_PROGRESS + - SEND_ANALOG_FEEDBACK + - PAYMENT + - COMPLETELY_UNREACHABLE + - COMPLETELY_UNREACHABLE_CREATION_REQUEST + - REQUEST_REFUSED + - AAR_CREATION_REQUEST + - AAR_GENERATION + - NOT_HANDLED + - PROBABLE_SCHEDULING_ANALOG_DATE + - NOTIFICATION_CANCELLATION_REQUEST + - NOTIFICATION_CANCELLED + - PREPARE_ANALOG_DOMICILE_FAILURE + - NOTIFICATION_RADD_RETRIEVED + - ANALOG_WORKFLOW_RECIPIENT_DECEASED + TimelineElementDetailsV26: + description: The raw event payload that will be different based on the event. + oneOf: + - $ref: '#/components/schemas/SenderAckCreationRequestDetails' + - $ref: '#/components/schemas/NormalizedAddressDetails' + - $ref: '#/components/schemas/NotificationRequestAcceptedDetails' + - $ref: '#/components/schemas/AnalogFailureWorkflowDetails' + - $ref: '#/components/schemas/AnalogSuccessWorkflowDetails' + - $ref: '#/components/schemas/CompletelyUnreachableCreationRequestDetails' + - $ref: '#/components/schemas/CompletelyUnreachableDetails' + - $ref: '#/components/schemas/DigitalDeliveryCreationRequestDetails' + - $ref: '#/components/schemas/DigitalFailureWorkflowDetails' + - $ref: '#/components/schemas/DigitalSuccessWorkflowDetails' + - $ref: '#/components/schemas/GetAddressInfoDetails' + - $ref: '#/components/schemas/NotificationViewedCreationRequestDetailsV23' + - $ref: '#/components/schemas/NotificationViewedDetailsV23' + - $ref: '#/components/schemas/NotificationRADDRetrievedDetails' + - $ref: '#/components/schemas/PublicRegistryCallDetails' + - $ref: '#/components/schemas/PublicRegistryResponseDetails' + - $ref: '#/components/schemas/RefinementDetailsV23' + - $ref: '#/components/schemas/RequestRefusedDetailsV25' + - $ref: '#/components/schemas/ScheduleAnalogWorkflowDetailsV23' + - $ref: '#/components/schemas/ScheduleDigitalWorkflowDetailsV23' + - $ref: '#/components/schemas/ScheduleRefinementDetails' + - $ref: '#/components/schemas/SendCourtesyMessageDetails' + - $ref: '#/components/schemas/PrepareDigitalDetails' + - $ref: '#/components/schemas/SendDigitalDetails' + - $ref: '#/components/schemas/SendDigitalFeedbackDetails' + - $ref: '#/components/schemas/SendDigitalProgressDetailsV23' + - $ref: '#/components/schemas/BaseAnalogDetails' + - $ref: '#/components/schemas/SendAnalogDetails' + - $ref: '#/components/schemas/SendAnalogFeedbackDetailsV25' + - $ref: '#/components/schemas/BaseRegisteredLetterDetails' + - $ref: '#/components/schemas/SimpleRegisteredLetterDetails' + - $ref: '#/components/schemas/AarCreationRequestDetails' + - $ref: '#/components/schemas/AarGenerationDetails' + - $ref: '#/components/schemas/NotHandledDetails' + - $ref: '#/components/schemas/NotificationPaidDetailsV23' + - $ref: '#/components/schemas/SendAnalogProgressDetailsV23' + - $ref: '#/components/schemas/SimpleRegisteredLetterProgressDetails' + - $ref: '#/components/schemas/ProbableDateAnalogWorkflowDetails' + - $ref: '#/components/schemas/NotificationCancellationRequestDetails' + - $ref: '#/components/schemas/NotificationCancelledDetails' + - $ref: '#/components/schemas/PrepareAnalogDomicileFailureDetails' + - $ref: '#/components/schemas/AnalogWorkflowRecipientDeceasedDetailsV26' + TimelineElementV26: + type: object + additionalProperties: false + properties: + elementId: + type: string + maxLength: 512 + description: >- + Identificativo dell'elemento di timeline: insieme allo IUN della + notifica definisce in maniera univoca l'elemento di timeline + timestamp: + type: string + deprecated: true + description: >- + Istante in cui avviene l'evento descritto in questo elemento di + timeline (deprecato, fare riferimento al campo eventTimestamp) + format: date-time + ingestionTimestamp: + type: string + description: >- + Istante in cui l'evento descritto in questo elemento di timeline è + gestito da SEND + format: date-time + eventTimestamp: + type: string + description: >- + Istante in cui avviene l'evento descritto in questo elemento di + timeline + format: date-time + notificationSentAt: + type: string + description: Momento di ricezione della richiesta di notifica da parte di SEND + format: date-time + legalFactsIds: + type: array + items: + $ref: '#/components/schemas/LegalFactsIdV20' + description: >- + Chiavi dei documenti che provano l'effettivo accadimento dell'evento + descritto in timeline. Questo elemento + category: + $ref: '#/components/schemas/TimelineElementCategoryV26' + details: + $ref: '#/components/schemas/TimelineElementDetailsV26' + TimelineElementCategoryV27: type: string description: | stato di avanzamento del processo di notifica:` @@ -8820,6 +9621,8 @@ components: * `PREPARE_ANALOG_DOMICILE_FAILURE` - Fallimento della richiesta di prepare (preparazione ad invio) cartaceo a paperChannel * `NOTIFICATION_RADD_RETRIEVED` - Accesso alla notifica tramite la rete RADD. Non perfeziona la notifica. * `ANALOG_WORKFLOW_RECIPIENT_DECEASED` - Destinatario deceduto + * `PUBLIC_REGISTRY_VALIDATION_CALL` - Ricerca dell'indirizzo di spedizione in fase di validazione notifica + * `PUBLIC_REGISTRY_VALIDATION_RESPONSE` - Recupero dell'indirizzo di spedizione dai registri nazionali enum: - SENDER_ACK_CREATION_REQUEST - VALIDATE_NORMALIZE_ADDRESSES_REQUEST @@ -8864,12 +9667,14 @@ components: - PREPARE_ANALOG_DOMICILE_FAILURE - NOTIFICATION_RADD_RETRIEVED - ANALOG_WORKFLOW_RECIPIENT_DECEASED - TimelineElementDetailsV26: + - PUBLIC_REGISTRY_VALIDATION_CALL + - PUBLIC_REGISTRY_VALIDATION_RESPONSE + TimelineElementDetailsV27: description: The raw event payload that will be different based on the event. oneOf: - $ref: '#/components/schemas/SenderAckCreationRequestDetails' - $ref: '#/components/schemas/NormalizedAddressDetails' - - $ref: '#/components/schemas/NotificationRequestAcceptedDetails' + - $ref: '#/components/schemas/NotificationRequestAcceptedDetailsV27' - $ref: '#/components/schemas/AnalogFailureWorkflowDetails' - $ref: '#/components/schemas/AnalogSuccessWorkflowDetails' - $ref: '#/components/schemas/CompletelyUnreachableCreationRequestDetails' @@ -8884,7 +9689,7 @@ components: - $ref: '#/components/schemas/PublicRegistryCallDetails' - $ref: '#/components/schemas/PublicRegistryResponseDetails' - $ref: '#/components/schemas/RefinementDetailsV23' - - $ref: '#/components/schemas/RequestRefusedDetailsV25' + - $ref: '#/components/schemas/RequestRefusedDetailsV27' - $ref: '#/components/schemas/ScheduleAnalogWorkflowDetailsV23' - $ref: '#/components/schemas/ScheduleDigitalWorkflowDetailsV23' - $ref: '#/components/schemas/ScheduleRefinementDetails' @@ -8909,7 +9714,9 @@ components: - $ref: '#/components/schemas/NotificationCancelledDetails' - $ref: '#/components/schemas/PrepareAnalogDomicileFailureDetails' - $ref: '#/components/schemas/AnalogWorkflowRecipientDeceasedDetailsV26' - TimelineElementV26: + - $ref: '#/components/schemas/PublicRegistryValidationCallDetails' + - $ref: '#/components/schemas/PublicRegistryValidationResponseDetails' + TimelineElementV27: type: object additionalProperties: false properties: @@ -8950,9 +9757,9 @@ components: Chiavi dei documenti che provano l'effettivo accadimento dell'evento descritto in timeline. Questo elemento category: - $ref: '#/components/schemas/TimelineElementCategoryV26' + $ref: '#/components/schemas/TimelineElementCategoryV27' details: - $ref: '#/components/schemas/TimelineElementDetailsV26' + $ref: '#/components/schemas/TimelineElementDetailsV27' PersonalData: type: object properties: @@ -9584,7 +10391,7 @@ components: problem. example: Parameter not valid type: string - LegalFactListElementV20: + LegalFactListElementV28: description: Informazioni relative ad un atto opponibile a terzi type: object required: @@ -9604,13 +10411,13 @@ components: maxLength: 25 pattern: ^[A-Z]{4}-[A-Z]{4}-[A-Z]{4}-[0-9]{6}-[A-Z]{1}-[0-9]{1}$ legalFactsId: - $ref: '#/components/schemas/LegalFactsIdV20' - LegalFactListV20: + $ref: '#/components/schemas/LegalFactsIdV28' + LegalFactListV28: title: Elenco atti opponibili description: Elenco degli atti opponibili a terzi correlati a una notifica type: array items: - $ref: '#/components/schemas/LegalFactListElementV20' + $ref: '#/components/schemas/LegalFactListElementV28' LegalFactDownloadMetadataResponse: title: Url e metadati per il download di un allegato di una notifica description: |- @@ -9706,13 +10513,40 @@ components: type: array items: $ref: '#/components/schemas/LegalFactListElement' - StreamCreationRequestV28: + LegalFactListElementV20: + description: Informazioni relative ad un atto opponibile a terzi + type: object + required: + - iun + - legalFactsId + properties: + taxId: + description: Valorizzato se l'atto si riferisce a uno specifico destinatario + type: string + minLength: 11 + maxLength: 16 + pattern: >- + ^([A-Z]{6}[0-9LMNPQRSTUV]{2}[A-Z]{1}[0-9LMNPQRSTUV]{2}[A-Z]{1}[0-9LMNPQRSTUV]{3}[A-Z]{1})|([0-9]{11})$ + iun: + description: Identificativo Univoco Notifica a cui l'atto è associato + type: string + maxLength: 25 + pattern: ^[A-Z]{4}-[A-Z]{4}-[A-Z]{4}-[0-9]{6}-[A-Z]{1}-[0-9]{1}$ + legalFactsId: + $ref: '#/components/schemas/LegalFactsIdV20' + LegalFactListV20: + title: Elenco atti opponibili + description: Elenco degli atti opponibili a terzi correlati a una notifica + type: array + items: + $ref: '#/components/schemas/LegalFactListElementV20' + StreamCreationRequestV29: description: >- Richiesta di creazione di uno stream di eventi di avanzamento delle notifiche. Lo stream verrà creato nello stato abilitato type: object allOf: - - $ref: '#/components/schemas/StreamRequestV28' + - $ref: '#/components/schemas/StreamRequestV29' - type: object properties: replacedStreamId: @@ -9729,7 +10563,7 @@ components: autorizzazione dell'apiKey sui gruppi del precedente stream. type: string format: uuid - StreamRequestV28: + StreamRequestV29: description: >- Struttura comune per eventi di creazione/aggiornamento di uno stream di eventi di avanzamento delle notifiche. L'aggiornamento delle proprietà @@ -9799,10 +10633,10 @@ components: StreamGroup: type: string description: Identificativo del gruppo. - StreamMetadataResponseV28: + StreamMetadataResponseV29: description: Configurazioni di un flusso di eventi allOf: - - $ref: '#/components/schemas/StreamRequestV28' + - $ref: '#/components/schemas/StreamRequestV29' - type: object required: - streamId @@ -9842,11 +10676,11 @@ components: type: string maxLength: 256 pattern: ^.*$ - ProgressResponseV28: + ProgressResponseV29: type: array items: - $ref: '#/components/schemas/ProgressResponseElementV28' - ProgressResponseElementV28: + $ref: '#/components/schemas/ProgressResponseElementV29' + ProgressResponseElementV29: type: object required: - eventId @@ -9866,9 +10700,9 @@ components: maxLength: 25 pattern: ^[A-Z]{4}-[A-Z]{4}-[A-Z]{4}-[0-9]{6}-[A-Z]{1}-[0-9]{1}$ newStatus: - $ref: '#/components/schemas/NotificationStatusV26' + $ref: '#/components/schemas/NotificationStatusV28' element: - $ref: '#/components/schemas/TimelineElementV27' + $ref: '#/components/schemas/TimelineElementV28' ProgressResponse: type: array items: @@ -10625,6 +11459,148 @@ components: $ref: '#/components/schemas/NotificationStatusV26' element: $ref: '#/components/schemas/TimelineElementV26' + StreamCreationRequestV28: + description: >- + Richiesta di creazione di uno stream di eventi di avanzamento delle + notifiche. Lo stream verrà creato nello stato abilitato + type: object + allOf: + - $ref: '#/components/schemas/StreamRequestV28' + - type: object + properties: + replacedStreamId: + description: >- + opzionale, eventuale streamId che viene sostituito da questo. Se + specificato, lo stream indicato sarà disabilitato + contestualmente alla creazione del nuovo stream, permettendo di + consumare tutti gli eventi del vecchio stream senza che ne + vengano aggiunti di nuovi. Inoltre, il nuovo stream partirà da + un eventId successivo rispetto al vecchio stream (anche se non + "esattamente" successivo per evitare sovrapposizioni con + eventuali eventi salvati durante il cambio di configurazione). + La creazione del nuovo stream è soggetta al controllo di + autorizzazione dell'apiKey sui gruppi del precedente stream. + type: string + format: uuid + StreamRequestV28: + description: >- + Struttura comune per eventi di creazione/aggiornamento di uno stream di + eventi di avanzamento delle notifiche. L'aggiornamento delle proprietà + dello stream è soggetta al controllo di autorizzazione dell'apiKey sui + gruppi. + type: object + required: + - title + - eventType + - groups + properties: + title: + description: Nome sintetico dello stream + type: string + maxLength: 256 + pattern: ^.*$ + eventType: + description: |- + Tipo di eventi presenti nel flusso: + - _STATUS_: cambiamenti di stato delle notifiche + - _TIMELINE_: eventi a granularità fine + type: string + enum: + - STATUS + - TIMELINE + groups: + description: >- + rappresenta l'elenco degli id gruppi abilitati a richiedere i + dettagli. Una apiKey può consumare o modificare uno stream solo se + non ha gruppi o se tutti i gruppi dello stream sono presenti nella + apiKey. Se viene specificato array vuoto, si noti che solo apiKey + senza gruppi potranno consumare o modificare lo stream. Inoltre, nel + caso di updateEventStream, la lista dei gruppi presente nello stream + deve essere un sottoinsieme dei gruppi passati nella richiesta (in + pratica si possono solo aggiungere gruppi a quelli esistenti) oppure + entrambi array vuoti. + type: array + items: + allOf: + - $ref: '#/components/schemas/StreamGroup' + minLength: 0 + filterValues: + description: >- + rappresenta l'elenco degli stati o elementi di timeline che si + vogliono filtrare; inserendo un array vuoto [] si riceveranno solo + gli elementi relativi alla versione con cui è stato creato lo + stream. Se specificati invece, avranno priorità rispetto agli eventi + della versione (quindi se sono un sottoinsieme, si riceveranno solo + quelli. Se si specificano eventi introdotti in versioni più recenti, + questi saranno inviati) Infine, è possibile utilizzare il + placeholder "DEFAULT" per specificare l'insieme di eventi più + rilevanti di una notifica. + type: array + items: + type: string + minLength: 4 + maxLength: 256 + pattern: ^[A-Z_]+$ + waitForAccepted: + description: >- + Stream di tipo TIMELINE: se true pubblica gli eventi sullo stream + solo dopo la pubblicazione dell'evento di accettazione/rifiuto della + notifica. Tutti gli eventi dello stato IN_VALIDATION vengono + pubblicati senza ritardo. Stream di tipo STATUS: se true pubblica + gli stati garantendo che il primo stato sia l'ACCEPTED o il REFUSED + type: boolean + StreamMetadataResponseV28: + description: Configurazioni di un flusso di eventi + allOf: + - $ref: '#/components/schemas/StreamRequestV28' + - type: object + required: + - streamId + - activationDate + properties: + streamId: + description: Identificativo del flusso di eventi + type: string + format: uuid + activationDate: + description: Timestamp in cui il flusso di eventi è stato attivato + type: string + format: date-time + disabledDate: + description: Timestamp in cui il flusso di eventi è stato disabilitato + type: string + format: date-time + version: + description: versione di base dello stream. + type: string + pattern: ^v\d\d\d?$ + ProgressResponseV28: + type: array + items: + $ref: '#/components/schemas/ProgressResponseElementV28' + ProgressResponseElementV28: + type: object + required: + - eventId + - element + properties: + eventId: + description: Elemento che garantisce univocità all'interno dello stream + type: string + notificationRequestId: + description: Identificativo della richiesta di notifica + type: string + iun: + description: >- + Identificativo della notifica, presente solo se la richiesta di + notifica è stata accettata. + type: string + maxLength: 25 + pattern: ^[A-Z]{4}-[A-Z]{4}-[A-Z]{4}-[0-9]{6}-[A-Z]{1}-[0-9]{1}$ + newStatus: + $ref: '#/components/schemas/NotificationStatusV26' + element: + $ref: '#/components/schemas/TimelineElementV27' StreamMetadataResponse: description: Configurazioni di un flusso di eventi allOf: diff --git a/docs/openapi/api-external-b2b-pa-merged.yaml b/docs/openapi/api-external-b2b-pa-merged.yaml index f13958d0f..c7abe7394 100644 --- a/docs/openapi/api-external-b2b-pa-merged.yaml +++ b/docs/openapi/api-external-b2b-pa-merged.yaml @@ -410,17 +410,15 @@ paths: application/problem+json: schema: $ref: '#/components/schemas/Problem' - /delivery/v2.7/notifications/sent/{iun}: + /delivery/v2.8/notifications/sent/{iun}: get: - summary: 'EXPERIMENTAL - Mittente: lettura dettagli notifica versione 2' + summary: 'Mittente: lettura dettagli notifica versione 2' description: >- - (EXPERIMENTAL) - Questa operazione permette di leggere tutti i dettagli di una notifica accettata.
tags: - SenderReadB2B - operationId: retrieveSentNotificationV27 + operationId: retrieveSentNotificationV28 parameters: - $ref: ./parameters-notification-search.yaml#/components/parameters/pathIun responses: @@ -429,7 +427,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/FullSentNotificationV27' + $ref: '#/components/schemas/FullSentNotificationV28' '400': description: Bad request content: @@ -1224,6 +1222,7 @@ paths: $ref: '#/components/schemas/Problem' /delivery/v2.6/notifications/sent/{iun}: get: + deprecated: true summary: 'Mittente: lettura dettagli notifica versione 2' description: >- Questa operazione permette di leggere tutti i dettagli di una notifica @@ -1254,6 +1253,41 @@ paths: application/problem+json: schema: $ref: '#/components/schemas/Problem' + /delivery/v2.7/notifications/sent/{iun}: + get: + deprecated: true + summary: 'EXPERIMENTAL - Mittente: lettura dettagli notifica versione 2' + description: >- + (EXPERIMENTAL) + + Questa operazione permette di leggere tutti i dettagli di una notifica + accettata.
+ tags: + - SenderReadB2B + operationId: retrieveSentNotificationV27 + x-pagopa-lambda-name: pn-delivery-versioning-v1v2-getnotification-lambda:live + x-pagopa-lambda-account: core + parameters: + - $ref: ./parameters-notification-search.yaml#/components/parameters/pathIun + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/FullSentNotificationV27' + '400': + description: Bad request + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Problem' + '500': + description: Internal error + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Problem' /delivery/price/{paTaxId}/{noticeCode}: get: deprecated: true @@ -1599,7 +1633,7 @@ components: $ref: ./remote-refs.yaml#/components/schemas/Problem ProblemError: $ref: ./remote-refs.yaml#/components/schemas/ProblemError - FullSentNotificationV27: + FullSentNotificationV28: description: >- Le informazioni riguardanti una notifica (richiesta di notifica accettata) e il processo di inoltro della notifica verso il cittadino. @@ -1613,16 +1647,16 @@ components: - timeline properties: notificationStatus: - $ref: '#/components/schemas/NotificationStatusV26' + $ref: '#/components/schemas/NotificationStatusV28' notificationStatusHistory: - $ref: '#/components/schemas/NotificationStatusHistoryV26' + $ref: '#/components/schemas/NotificationStatusHistoryV28' timeline: description: >- elenco dettagliato di tutto ciò che è accaduto durrante il processo di notifica type: array items: - $ref: '#/components/schemas/TimelineElementV27' + $ref: '#/components/schemas/TimelineElementV28' PaymentEventsRequestPagoPa: title: Invio eventi di pagamento da PA a PN description: >- @@ -1713,12 +1747,12 @@ components: amount: type: integer format: int32 - TimelineElementV27: - $ref: ./remote-refs.yaml#/components/schemas/TimelineElementV27 - NotificationStatusV26: - $ref: ./remote-refs.yaml#/components/schemas/NotificationStatusV26 - NotificationStatusHistoryV26: - $ref: ./remote-refs.yaml#/components/schemas/NotificationStatusHistoryV26 + TimelineElementV28: + $ref: ./remote-refs.yaml#/components/schemas/TimelineElementV28 + NotificationStatusV28: + $ref: ./remote-refs.yaml#/components/schemas/NotificationStatusV28 + NotificationStatusHistoryV28: + $ref: ./remote-refs.yaml#/components/schemas/NotificationStatusHistoryV28 F24Metadata: $ref: ./remote-refs.yaml#/components/schemas/F24Metadata RequestStatus: @@ -2387,6 +2421,9 @@ components: FullSentNotificationV26: $ref: >- ./schemas-pn-notification-older-version.yaml#/components/schemas/FullSentNotificationV26 + FullSentNotificationV27: + $ref: >- + ./schemas-pn-notification-older-version.yaml#/components/schemas/FullSentNotificationV27 PaFeeV21: type: integer description: >- diff --git a/docs/openapi/api-external-b2b-pa-older-versions.yaml b/docs/openapi/api-external-b2b-pa-older-versions.yaml index 50572568c..dad3f6459 100644 --- a/docs/openapi/api-external-b2b-pa-older-versions.yaml +++ b/docs/openapi/api-external-b2b-pa-older-versions.yaml @@ -598,6 +598,7 @@ paths: "/delivery/v2.6/notifications/sent/{iun}": get: + deprecated: true summary: 'Mittente: lettura dettagli notifica versione 2' description: |- Questa operazione permette di leggere tutti i dettagli di una notifica accettata.
@@ -629,6 +630,41 @@ paths: schema: $ref: '#/components/schemas/Problem' + "/delivery/v2.7/notifications/sent/{iun}": + get: + deprecated: true + summary: 'EXPERIMENTAL - Mittente: lettura dettagli notifica versione 2' + description: |- + (EXPERIMENTAL) + Questa operazione permette di leggere tutti i dettagli di una notifica accettata.
+ + tags: + - SenderReadB2B + operationId: retrieveSentNotificationV27 # ONLY EXTERNAL + x-pagopa-lambda-name: 'pn-delivery-versioning-v1v2-getnotification-lambda:live' + x-pagopa-lambda-account: core + parameters: + - $ref: './parameters-notification-search.yaml#/components/parameters/pathIun' + responses: + '200': + description: OK + content: + "application/json": + schema: + $ref: "#/components/schemas/FullSentNotificationV27" + '400': + description: Bad request + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Problem' + '500': + description: Internal error + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Problem' + '/delivery/price/{paTaxId}/{noticeCode}': get: deprecated: true @@ -1504,6 +1540,8 @@ components: $ref: './schemas-pn-notification-older-version.yaml#/components/schemas/SentNotificationV24' FullSentNotificationV26: $ref: './schemas-pn-notification-older-version.yaml#/components/schemas/FullSentNotificationV26' + FullSentNotificationV27: + $ref: './schemas-pn-notification-older-version.yaml#/components/schemas/FullSentNotificationV27' PaFeeV21: type: integer diff --git a/docs/openapi/api-external-b2b-pa.yaml b/docs/openapi/api-external-b2b-pa.yaml index ffa408fbf..eb03ba74b 100644 --- a/docs/openapi/api-external-b2b-pa.yaml +++ b/docs/openapi/api-external-b2b-pa.yaml @@ -424,16 +424,15 @@ paths: ### RICERCA NOTIFICHE ACCETTATE ### ########################################################################################### - "/delivery/v2.7/notifications/sent/{iun}": + "/delivery/v2.8/notifications/sent/{iun}": get: - summary: 'EXPERIMENTAL - Mittente: lettura dettagli notifica versione 2' + summary: 'Mittente: lettura dettagli notifica versione 2' description: |- - (EXPERIMENTAL) Questa operazione permette di leggere tutti i dettagli di una notifica accettata.
tags: - SenderReadB2B - operationId: retrieveSentNotificationV27 # ONLY EXTERNAL + operationId: retrieveSentNotificationV28 # ONLY EXTERNAL parameters: - $ref: './parameters-notification-search.yaml#/components/parameters/pathIun' responses: @@ -442,7 +441,7 @@ paths: content: "application/json": schema: - $ref: "#/components/schemas/FullSentNotificationV27" + $ref: "#/components/schemas/FullSentNotificationV28" '400': description: Bad request content: @@ -982,7 +981,7 @@ components: ### DTO NOTIFICA CON DETTAGLI ### ########################################################################################### - FullSentNotificationV27: + FullSentNotificationV28: description: >- Le informazioni riguardanti una notifica (richiesta di notifica accettata) e il processo di inoltro della notifica verso il cittadino. @@ -995,15 +994,15 @@ components: - timeline properties: notificationStatus: - $ref: '#/components/schemas/NotificationStatusV26' + $ref: '#/components/schemas/NotificationStatusV28' notificationStatusHistory: - $ref: '#/components/schemas/NotificationStatusHistoryV26' + $ref: '#/components/schemas/NotificationStatusHistoryV28' timeline: description: >- elenco dettagliato di tutto ciò che è accaduto durrante il processo di notifica type: array items: - $ref: '#/components/schemas/TimelineElementV27' + $ref: '#/components/schemas/TimelineElementV28' ########################################################################################### ### DTO EVENTO DI PAGAMENTO ### @@ -1108,12 +1107,12 @@ components: type: integer format: int32 - TimelineElementV27: - $ref: './remote-refs.yaml#/components/schemas/TimelineElementV27' - NotificationStatusV26: - $ref: './remote-refs.yaml#/components/schemas/NotificationStatusV26' - NotificationStatusHistoryV26: - $ref: './remote-refs.yaml#/components/schemas/NotificationStatusHistoryV26' + TimelineElementV28: + $ref: './remote-refs.yaml#/components/schemas/TimelineElementV28' + NotificationStatusV28: + $ref: './remote-refs.yaml#/components/schemas/NotificationStatusV28' + NotificationStatusHistoryV28: + $ref: './remote-refs.yaml#/components/schemas/NotificationStatusHistoryV28' F24Metadata: $ref: './remote-refs.yaml#/components/schemas/F24Metadata' RequestStatus: diff --git a/docs/openapi/api-internal-b2b-pa-older-versions.yaml b/docs/openapi/api-internal-b2b-pa-older-versions.yaml index 20c5e6435..84fae798e 100644 --- a/docs/openapi/api-internal-b2b-pa-older-versions.yaml +++ b/docs/openapi/api-internal-b2b-pa-older-versions.yaml @@ -789,6 +789,7 @@ paths: "/delivery/v2.6/notifications/sent/{iun}": get: + deprecated: true summary: 'Mittente: lettura dettagli notifica versione 2' description: |- Questa operazione permette di leggere tutti i dettagli di una notifica accettata.
@@ -836,6 +837,57 @@ paths: schema: $ref: '#/components/schemas/Problem' + "/delivery/v2.7/notifications/sent/{iun}": + get: + deprecated: true + summary: 'EXPERIMENTAL - Mittente: lettura dettagli notifica versione 2' + description: |- + (EXPERIMENTAL) + Questa operazione permette di leggere tutti i dettagli di una notifica accettata.
+ +
+ Attributi progettazione di alto livello + | Proprietà | Valore | + | -----------------------: | :----------------- | + | __Intended usage__ | B2B, WEB | + | __Modalità interazione__ | Sincrona | + | __TPS (stimato)__ | | + | __Idempotenza__ | Si | + | __Read/Write intensive__ | Read | + | __Cachable__ | No | +
+ tags: + - SenderReadB2B + operationId: getSentNotificationV27 # NO EXTERNAL +# operationId: retrieveSentNotificationV27 # ONLY EXTERNAL + x-pagopa-lambda-name: 'pn-delivery-versioning-v1v2-getnotification-lambda:live' + x-pagopa-lambda-account: core + parameters: + - $ref: '#/components/parameters/uidAuthFleet' # NO EXTERNAL + - $ref: '#/components/parameters/cxTypeAuthFleet' # NO EXTERNAL + - $ref: '#/components/parameters/cxIdAuthFleet' # NO EXTERNAL + - $ref: '#/components/parameters/cxGroupsAuthFleet' # NO EXTERNAL + - $ref: './parameters-notification-search.yaml#/components/parameters/pathIun' + responses: + '200': + description: OK + content: + "application/json": + schema: + $ref: "#/components/schemas/FullSentNotificationV27" + '400': + description: Bad request + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Problem' + '500': + description: Internal error + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Problem' + '/delivery/price/{paTaxId}/{noticeCode}': get: deprecated: true @@ -1812,6 +1864,8 @@ components: $ref: './schemas-pn-notification-older-version.yaml#/components/schemas/SentNotificationV24' FullSentNotificationV26: $ref: './schemas-pn-notification-older-version.yaml#/components/schemas/FullSentNotificationV26' + FullSentNotificationV27: + $ref: './schemas-pn-notification-older-version.yaml#/components/schemas/FullSentNotificationV27' PaFeeV21: type: integer diff --git a/docs/openapi/api-internal-b2b-pa.yaml b/docs/openapi/api-internal-b2b-pa.yaml index 3d512b2ac..8f0198e02 100644 --- a/docs/openapi/api-internal-b2b-pa.yaml +++ b/docs/openapi/api-internal-b2b-pa.yaml @@ -464,11 +464,10 @@ paths: ### RICERCA NOTIFICHE ACCETTATE ### ########################################################################################### - "/delivery/v2.7/notifications/sent/{iun}": + "/delivery/v2.8/notifications/sent/{iun}": get: - summary: 'EXPERIMENTAL - Mittente: lettura dettagli notifica versione 2' + summary: 'Mittente: lettura dettagli notifica versione 2' description: |- - (EXPERIMENTAL) Questa operazione permette di leggere tutti i dettagli di una notifica accettata.
@@ -484,8 +483,8 @@ paths:
tags: - SenderReadB2B - operationId: getSentNotificationV27 # NO EXTERNAL -# operationId: retrieveSentNotificationV27 # ONLY EXTERNAL + operationId: getSentNotificationV28 # NO EXTERNAL +# operationId: retrieveSentNotificationV28 # ONLY EXTERNAL parameters: - $ref: '#/components/parameters/uidAuthFleet' # NO EXTERNAL - $ref: '#/components/parameters/cxTypeAuthFleet' # NO EXTERNAL @@ -498,7 +497,7 @@ paths: content: "application/json": schema: - $ref: "#/components/schemas/FullSentNotificationV27" + $ref: "#/components/schemas/FullSentNotificationV28" '400': description: Bad request content: @@ -1089,7 +1088,7 @@ components: ### DTO NOTIFICA CON DETTAGLI ### ########################################################################################### - FullSentNotificationV27: + FullSentNotificationV28: description: >- Le informazioni riguardanti una notifica (richiesta di notifica accettata) e il processo di inoltro della notifica verso il cittadino. @@ -1102,15 +1101,15 @@ components: - timeline properties: notificationStatus: - $ref: '#/components/schemas/NotificationStatusV26' + $ref: '#/components/schemas/NotificationStatusV28' notificationStatusHistory: - $ref: '#/components/schemas/NotificationStatusHistoryV26' + $ref: '#/components/schemas/NotificationStatusHistoryV28' timeline: description: >- elenco dettagliato di tutto ciò che è accaduto durrante il processo di notifica type: array items: - $ref: '#/components/schemas/TimelineElementV27' + $ref: '#/components/schemas/TimelineElementV28' recipientIds: # NO EXTERNAL description: Lista degli identificativi anonimizzati dei destinatari # NO EXTERNAL type: array # NO EXTERNAL @@ -1226,12 +1225,12 @@ components: type: integer format: int32 - TimelineElementV27: - $ref: './remote-refs.yaml#/components/schemas/TimelineElementV27' - NotificationStatusV26: - $ref: './remote-refs.yaml#/components/schemas/NotificationStatusV26' - NotificationStatusHistoryV26: - $ref: './remote-refs.yaml#/components/schemas/NotificationStatusHistoryV26' + TimelineElementV28: + $ref: './remote-refs.yaml#/components/schemas/TimelineElementV28' + NotificationStatusV28: + $ref: './remote-refs.yaml#/components/schemas/NotificationStatusV28' + NotificationStatusHistoryV28: + $ref: './remote-refs.yaml#/components/schemas/NotificationStatusHistoryV28' F24Metadata: $ref: './remote-refs.yaml#/components/schemas/F24Metadata' RequestStatus: diff --git a/docs/openapi/api-internal-web-recipient.yaml b/docs/openapi/api-internal-web-recipient.yaml index 8c9c27ebf..10480f256 100644 --- a/docs/openapi/api-internal-web-recipient.yaml +++ b/docs/openapi/api-internal-web-recipient.yaml @@ -132,7 +132,7 @@ paths: schema: $ref: '#/components/schemas/Problem' - "/delivery/v2.6/notifications/received/{iun}": + "/delivery/v2.7/notifications/received/{iun}": get: summary: Accesso notifiche ricevute description: >- @@ -140,7 +140,7 @@ paths: notifiche ricevute. tags: - RecipientRead - operationId: getReceivedNotificationV26 + operationId: getReceivedNotificationV27 # security: # ONLY EXTERNAL # - bearerAuth: [ ] # ONLY EXTERNAL parameters: @@ -158,7 +158,7 @@ paths: content: "application/json": schema: - $ref: "#/components/schemas/FullReceivedNotificationV26" + $ref: "#/components/schemas/FullReceivedNotificationV27" '400': description: Bad request content: @@ -373,7 +373,7 @@ components: UnauthorizedError: description: Access token is missing or invalid schemas: - FullReceivedNotificationV26: + FullReceivedNotificationV27: description: >- Le informazioni riguardanti una richiesta di notifica accettata e il processo di inoltro della notifica verso i destinatari (Persone Fisiche o Giuridiche). @@ -386,25 +386,25 @@ components: - timeline properties: notificationStatus: - $ref: '#/components/schemas/NotificationStatusV26' + $ref: '#/components/schemas/NotificationStatusV28' notificationStatusHistory: - $ref: '#/components/schemas/NotificationStatusHistoryV26' + $ref: '#/components/schemas/NotificationStatusHistoryV28' timeline: description: >- elenco dettagliato di tutto ciò che è accaduto durante il processo di notifica type: array items: - $ref: '#/components/schemas/TimelineElementV27' + $ref: '#/components/schemas/TimelineElementV28' Problem: $ref: './remote-refs.yaml#/components/schemas/Problem' - TimelineElementV27: - $ref: './remote-refs.yaml#/components/schemas/TimelineElementV27' - NotificationStatusV26: - $ref: './remote-refs.yaml#/components/schemas/NotificationStatusV26' - NotificationStatusHistoryV26: - $ref: './remote-refs.yaml#/components/schemas/NotificationStatusHistoryV26' + TimelineElementV28: + $ref: './remote-refs.yaml#/components/schemas/TimelineElementV28' + NotificationStatusV28: + $ref: './remote-refs.yaml#/components/schemas/NotificationStatusV28' + NotificationStatusHistoryV28: + $ref: './remote-refs.yaml#/components/schemas/NotificationStatusHistoryV28' RequestCheckAarMandateDto: description: Le informazioni fornite per verificare l'AAR-QR-CodeValue diff --git a/docs/openapi/aws/api-delivery-B2B-aws.yaml b/docs/openapi/aws/api-delivery-B2B-aws.yaml index 1f62e4a26..481494215 100644 --- a/docs/openapi/aws/api-delivery-B2B-aws.yaml +++ b/docs/openapi/aws/api-delivery-B2B-aws.yaml @@ -2,7 +2,7 @@ openapi: 3.0.1 info: title: >- ${stageVariables.ProjectName}-${stageVariables.MicroServiceUniqueName}-${stageVariables.IntendedUsage} - version: 0cUmu+r3nPfyDlW7pbAsHtWGVynSQNw492U3WNGXOUw= + version: Vopm9oP+7HeHv2FLctkVA1rxcxJidM9KJ/DPpGEppro= servers: - url: https://${stageVariables.DnsName}/{basePath} variables: @@ -234,17 +234,15 @@ paths: connectionType: VPC_LINK timeoutInMillis: 29000 type: http_proxy - /v2.7/notifications/sent/{iun}: + /v2.8/notifications/sent/{iun}: get: - summary: 'EXPERIMENTAL - Mittente: lettura dettagli notifica versione 2' + summary: 'Mittente: lettura dettagli notifica versione 2' description: >- - (EXPERIMENTAL) - Questa operazione permette di leggere tutti i dettagli di una notifica accettata.
tags: - SenderReadB2B - operationId: retrieveSentNotificationV27 + operationId: retrieveSentNotificationV28 parameters: - $ref: '#/components/parameters/pathIun' responses: @@ -253,7 +251,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/FullSentNotificationV27' + $ref: '#/components/schemas/FullSentNotificationV28' '400': description: Bad request content: @@ -271,7 +269,7 @@ paths: - api_key_openapi: [] x-amazon-apigateway-integration: uri: >- - http://${stageVariables.ApplicationLoadBalancerDomain}:8080/${stageVariables.ServiceApiPath}/v2.7/notifications/sent/{iun} + http://${stageVariables.ApplicationLoadBalancerDomain}:8080/${stageVariables.ServiceApiPath}/v2.8/notifications/sent/{iun} connectionId: ${stageVariables.NetworkLoadBalancerLink} httpMethod: ANY requestParameters: @@ -289,10 +287,10 @@ paths: timeoutInMillis: 29000 type: http_proxy options: - operationId: Options for /v2.7/notifications/sent/{iun} API CORS + operationId: Options for /v2.8/notifications/sent/{iun} API CORS x-amazon-apigateway-integration: uri: >- - http://${stageVariables.ApplicationLoadBalancerDomain}:8080/${stageVariables.ServiceApiPath}/v2.7/notifications/sent/{iun} + http://${stageVariables.ApplicationLoadBalancerDomain}:8080/${stageVariables.ServiceApiPath}/v2.8/notifications/sent/{iun} connectionId: ${stageVariables.NetworkLoadBalancerLink} httpMethod: ANY requestParameters: @@ -1559,6 +1557,7 @@ paths: type: aws_proxy /v2.6/notifications/sent/{iun}: get: + deprecated: true summary: 'Mittente: lettura dettagli notifica versione 2' description: >- Questa operazione permette di leggere tutti i dettagli di una notifica @@ -1610,6 +1609,62 @@ paths: contentHandling: CONVERT_TO_TEXT timeoutInMillis: 29000 type: aws_proxy + /v2.7/notifications/sent/{iun}: + get: + deprecated: true + summary: 'EXPERIMENTAL - Mittente: lettura dettagli notifica versione 2' + description: >- + (EXPERIMENTAL) + + Questa operazione permette di leggere tutti i dettagli di una notifica + accettata.
+ tags: + - SenderReadB2B + operationId: retrieveSentNotificationV27 + x-pagopa-lambda-name: pn-delivery-versioning-v1v2-getnotification-lambda:live + x-pagopa-lambda-account: core + parameters: + - $ref: '#/components/parameters/pathIun' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/FullSentNotificationV27' + '400': + description: Bad request + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Problem' + '500': + description: Internal error + content: + application/problem+json: + schema: + $ref: '#/components/schemas/Problem' + security: + - pn-auth-fleet_ApiKeyAuthorizerV2_openapi: [] + - api_key_openapi: [] + x-amazon-apigateway-integration: + uri: >- + arn:aws:apigateway:${AWS::Region}:lambda:path/2015-03-31/functions/arn:aws:lambda:${AWS::Region}:${AWS::AccountId}:function:pn-delivery-versioning-v1v2-getnotification-lambda:live/invocations + httpMethod: POST + requestParameters: + integration.request.header.x-pagopa-pn-cx-id: context.authorizer.cx_id + integration.request.header.x-pagopa-pn-cx-role: context.authorizer.cx_role + integration.request.header.x-pagopa-pn-uid: context.authorizer.uid + integration.request.header.x-pagopa-pn-jti: context.authorizer.cx_jti + integration.request.header.x-pagopa-pn-cx-type: context.authorizer.cx_type + integration.request.header.x-pagopa-pn-cx-groups: context.authorizer.cx_groups + integration.request.header.x-pagopa-pn-src-ch-details: context.authorizer.sourceChannelDetails + integration.request.header.x-pagopa-pn-src-ch: '''B2B''' + integration.request.path.iun: method.request.path.iun + passthroughBehavior: when_no_match + contentHandling: CONVERT_TO_TEXT + timeoutInMillis: 29000 + type: aws_proxy /price/{paTaxId}/{noticeCode}: get: deprecated: true @@ -2081,7 +2136,7 @@ components: type: string required: - code - FullSentNotificationV27: + FullSentNotificationV28: description: >- Le informazioni riguardanti una notifica (richiesta di notifica accettata) e il processo di inoltro della notifica verso il cittadino. @@ -2094,16 +2149,16 @@ components: - timeline properties: notificationStatus: - $ref: '#/components/schemas/NotificationStatusV26' + $ref: '#/components/schemas/NotificationStatusV28' notificationStatusHistory: - $ref: '#/components/schemas/NotificationStatusHistoryV26' + $ref: '#/components/schemas/NotificationStatusHistoryV28' timeline: description: >- elenco dettagliato di tutto ciò che è accaduto durrante il processo di notifica type: array items: - $ref: '#/components/schemas/TimelineElementV27' + $ref: '#/components/schemas/TimelineElementV28' PaymentEventsRequestPagoPa: title: Invio eventi di pagamento da PA a PN description: >- @@ -2192,7 +2247,7 @@ components: pattern: PF|PG amount: type: number - TimelineElementV27: + TimelineElementV28: type: object additionalProperties: false properties: @@ -2228,15 +2283,15 @@ components: legalFactsIds: type: array items: - $ref: '#/components/schemas/LegalFactsIdV20' + $ref: '#/components/schemas/LegalFactsIdV28' description: >- Chiavi dei documenti che provano l'effettivo accadimento dell'evento descritto in timeline. Questo elemento category: - $ref: '#/components/schemas/TimelineElementCategoryV27' + $ref: '#/components/schemas/TimelineElementCategoryV28' details: - $ref: '#/components/schemas/TimelineElementDetailsV27' - NotificationStatusV26: + $ref: '#/components/schemas/TimelineElementDetailsV28' + NotificationStatusV28: type: string description: | stato di avanzamento del processo di notifica: @@ -2251,6 +2306,7 @@ components: * `CANCELLED` - L'ente ha annullato l'invio della notifica * `PAID` - [DEPRECATO] Uno dei destinatari ha pagato la notifica * `RETURNED_TO_SENDER` - La notifica è stata restituita al mittente + * `DELIVERY_TIMEOUT` - La notifica non è stata consegnata entro il termine stabilito enum: - IN_VALIDATION - ACCEPTED @@ -2263,11 +2319,12 @@ components: - UNREACHABLE - CANCELLED - RETURNED_TO_SENDER - NotificationStatusHistoryV26: + - DELIVERY_TIMEOUT + NotificationStatusHistoryV28: description: elenco degli avanzamenti effettuati dal processo di notifica type: array items: - $ref: '#/components/schemas/NotificationStatusHistoryElementV26' + $ref: '#/components/schemas/NotificationStatusHistoryElementV28' F24Metadata: type: object description: >- @@ -2324,7 +2381,7 @@ components: controllo, ovvero la seguente regexp: ^[ -{}~\u00A0-ÿ]*$ type: string minLength: 1 - maxLength: 44 + maxLength: 88 pattern: ^.*$ NotificationDigitalAddress: description: Indirizzo di invio della notifica @@ -2797,7 +2854,7 @@ components: $ref: '#/components/schemas/UsedServices' TimelineElementId: type: string - NotificationStatusHistoryElementV26: + NotificationStatusHistoryElementV28: description: elenco degli avanzamenti effettuati dal processo di notifica type: object required: @@ -2806,7 +2863,7 @@ components: - relatedTimelineElements properties: status: - $ref: '#/components/schemas/NotificationStatusV26' + $ref: '#/components/schemas/NotificationStatusV28' activeFrom: type: string description: data e ora di raggiungimento dello stato di avanzamento @@ -2816,7 +2873,7 @@ components: description: Eventi avvenuti nello stato items: $ref: '#/components/schemas/TimelineElementId' - LegalFactCategoryV20: + LegalFactCategoryV28: title: Tipi di atti opponibili a terzi description: >- Tipi di atti opponibili a terzi che Piattaforma Notifiche mette a @@ -2828,8 +2885,9 @@ components: - PEC_RECEIPT
- ANALOG_FAILURE_DELIVERY
- NOTIFICATION_CANCELLED
+ - ANALOG_DELIVERY_TIMEOUT
type: string - LegalFactsIdV20: + LegalFactsIdV28: description: Chiavi dei documenti generati durante il processo di consegna cartacea type: object required: @@ -2844,8 +2902,8 @@ components: pattern: ^(safestorage:\/\/)?[A-Za-z0-9._-]+$ maxLength: 512 category: - $ref: '#/components/schemas/LegalFactCategoryV20' - TimelineElementCategoryV27: + $ref: '#/components/schemas/LegalFactCategoryV28' + TimelineElementCategoryV28: type: string description: | stato di avanzamento del processo di notifica:` @@ -2894,6 +2952,8 @@ components: * `ANALOG_WORKFLOW_RECIPIENT_DECEASED` - Destinatario deceduto * `PUBLIC_REGISTRY_VALIDATION_CALL` - Ricerca dell'indirizzo di spedizione in fase di validazione notifica * `PUBLIC_REGISTRY_VALIDATION_RESPONSE` - Recupero dell'indirizzo di spedizione dai registri nazionali + * `SEND_ANALOG_TIMEOUT` - Mancata ricezione di un esito per il tentativo di consegna analogico nell'intervallo temporale stabilito + * `ANALOG_FAILURE_WORKFLOW_TIMEOUT` - Completato con fallimento il workflow di invio cartaceo per l'assenza di esiti per ogni tentativo di spedizione nell'intervallo temporale stabilito enum: - SENDER_ACK_CREATION_REQUEST - VALIDATE_NORMALIZE_ADDRESSES_REQUEST @@ -2940,6 +3000,8 @@ components: - ANALOG_WORKFLOW_RECIPIENT_DECEASED - PUBLIC_REGISTRY_VALIDATION_CALL - PUBLIC_REGISTRY_VALIDATION_RESPONSE + - SEND_ANALOG_TIMEOUT + - ANALOG_FAILURE_WORKFLOW_TIMEOUT SenderAckCreationRequestDetails: type: object properties: @@ -4101,7 +4163,51 @@ components: - ANPR - REGISTRO_IMPRESE maxLength: 128 - TimelineElementDetailsV27: + SendAnalogTimeoutDetails: + type: object + required: + - recIndex + - physicalAddress + - serviceLevel + - sentAttemptMade + properties: + recIndex: + type: number + description: Index destinatario notifica digitale + physicalAddress: + $ref: '#/components/schemas/PhysicalAddress' + serviceLevel: + $ref: '#/components/schemas/ServiceLevel' + sentAttemptMade: + type: number + description: numero dei tentativi effettuati + relatedRequestId: + type: string + description: Id relativo alla eventuale precedente richiesta di invio cartaceo + maxLength: 512 + timeoutDate: + type: string + description: >- + Data in cui si è chiusa la finestra di ricezione esiti per il flusso + analogico + format: date-time + AnalogFailureWorkflowTimeoutDetails: + type: object + required: + - recIndex + properties: + recIndex: + type: number + description: Index destinatario notifica digitale + generatedAarUrl: + type: string + maxLength: 128 + description: Chiave per recupero da safe-storage del documento aar + notificationCost: + description: costo notifica in euro cents + example: 1220 + type: number + TimelineElementDetailsV28: description: The raw event payload that will be different based on the event. oneOf: - $ref: '#/components/schemas/SenderAckCreationRequestDetails' @@ -4148,6 +4254,8 @@ components: - $ref: '#/components/schemas/AnalogWorkflowRecipientDeceasedDetailsV26' - $ref: '#/components/schemas/PublicRegistryValidationCallDetails' - $ref: '#/components/schemas/PublicRegistryValidationResponseDetails' + - $ref: '#/components/schemas/SendAnalogTimeoutDetails' + - $ref: '#/components/schemas/AnalogFailureWorkflowTimeoutDetails' NotificationAttachmentDownloadMetadataResponse: title: Url e metadati per il download di un allegato di una notifica description: |- @@ -5718,6 +5826,29 @@ components: type: array items: $ref: '#/components/schemas/TimelineElementV26' + FullSentNotificationV27: + description: >- + Le informazioni riguardanti una notifica (richiesta di notifica + accettata) e il processo di inoltro della notifica verso il cittadino. + allOf: + - $ref: '#/components/schemas/SentNotificationV25' + - type: object + required: + - notificationStatus + - notificationStatusHistory + - timeline + properties: + notificationStatus: + $ref: '#/components/schemas/NotificationStatusV26' + notificationStatusHistory: + $ref: '#/components/schemas/NotificationStatusHistoryV26' + timeline: + description: >- + elenco dettagliato di tutto ciò che è accaduto durrante il + processo di notifica + type: array + items: + $ref: '#/components/schemas/TimelineElementV27' PaFeeV21: type: number description: >- @@ -6860,6 +6991,35 @@ components: - $ref: '#/components/schemas/NotificationCancellationRequestDetails' - $ref: '#/components/schemas/NotificationCancelledDetails' - $ref: '#/components/schemas/PrepareAnalogDomicileFailureDetails' + LegalFactCategoryV20: + title: Tipi di atti opponibili a terzi + description: >- + Tipi di atti opponibili a terzi che Piattaforma Notifiche mette a + disposizione dei suoi utenti.
+ - SENDER_ACK
+ - DIGITAL_DELIVERY
+ - ANALOG_DELIVERY
+ - RECIPIENT_ACCESS
+ - PEC_RECEIPT
+ - ANALOG_FAILURE_DELIVERY
+ - NOTIFICATION_CANCELLED
+ type: string + LegalFactsIdV20: + description: Chiavi dei documenti generati durante il processo di consegna cartacea + type: object + required: + - key + - category + properties: + key: + description: >- + Chiave dell'atto opponibile a terzi generato durante il processo di + consegna + type: string + pattern: ^(safestorage:\/\/)?[A-Za-z0-9._-]+$ + maxLength: 512 + category: + $ref: '#/components/schemas/LegalFactCategoryV20' NotificationRefusedErrorV25: type: object properties: @@ -6935,6 +7095,57 @@ components: - $ref: '#/components/schemas/NotificationCancellationRequestDetails' - $ref: '#/components/schemas/NotificationCancelledDetails' - $ref: '#/components/schemas/PrepareAnalogDomicileFailureDetails' + NotificationStatusV26: + type: string + description: | + stato di avanzamento del processo di notifica: + * `IN_VALIDATION` - notifica depositata in attesa di validazione + * `ACCEPTED` - L'ente ha depositato la notifica con successo + * `REFUSED` - Notifica rifiutata a seguito della validazione + * `DELIVERING` - L'invio della notifica è in corso + * `DELIVERED` - La notifica è stata consegnata a tutti i destinatari + * `VIEWED` - Il destinatario ha letto la notifica entro il termine stabilito + * `EFFECTIVE_DATE` - Il destinatario non ha letto la notifica entro il termine stabilito + * `UNREACHABLE` - Il destinatario non è reperibile + * `CANCELLED` - L'ente ha annullato l'invio della notifica + * `PAID` - [DEPRECATO] Uno dei destinatari ha pagato la notifica + * `RETURNED_TO_SENDER` - La notifica è stata restituita al mittente + enum: + - IN_VALIDATION + - ACCEPTED + - REFUSED + - DELIVERING + - DELIVERED + - VIEWED + - EFFECTIVE_DATE + - PAID + - UNREACHABLE + - CANCELLED + - RETURNED_TO_SENDER + NotificationStatusHistoryElementV26: + description: elenco degli avanzamenti effettuati dal processo di notifica + type: object + required: + - status + - activeFrom + - relatedTimelineElements + properties: + status: + $ref: '#/components/schemas/NotificationStatusV26' + activeFrom: + type: string + description: data e ora di raggiungimento dello stato di avanzamento + format: date-time + relatedTimelineElements: + type: array + description: Eventi avvenuti nello stato + items: + $ref: '#/components/schemas/TimelineElementId' + NotificationStatusHistoryV26: + description: elenco degli avanzamenti effettuati dal processo di notifica + type: array + items: + $ref: '#/components/schemas/NotificationStatusHistoryElementV26' TimelineElementCategoryV26: type: string description: | @@ -7115,6 +7326,192 @@ components: $ref: '#/components/schemas/TimelineElementCategoryV26' details: $ref: '#/components/schemas/TimelineElementDetailsV26' + TimelineElementCategoryV27: + type: string + description: | + stato di avanzamento del processo di notifica:` + * `SENDER_ACK_CREATION_REQUEST` - Invio della richiesta di creazione, firma e marca dell'atto opponibile a terzi di presa in carico per il mittente a safe storage + * `VALIDATE_NORMALIZE_ADDRESSES_REQUEST` - Invio della richiesta di validazione e normalizzazione indirizzi fisici presenti nella richiesta di notifica + * `NORMALIZED_ADDRESS` - Salvataggio indirizzi normalizzati + * `REQUEST_ACCEPTED` - Richiesta di notifica accettata a seguito dei controlli di validazione + * `REQUEST_REFUSED` - Richiesta di notifica rifiutata per fallimento di validazione + * `SEND_COURTESY_MESSAGE` - Invio di un messaggio di cortesia + * `GET_ADDRESS` - Disponibilità dell’indirizzo specifico (domicilio digitale di piattaforma, domicilio digitale speciale, domicilio digitale generale, indirizzo fisico sulla notifica o sui registri nazionali) + * `PUBLIC_REGISTRY_CALL` - Richiesta ai registri pubblici per ottenere domicilio digitale generale o per ottenere indirizzo fisico da ANPR, da registro della imprese, da anagrafe tributaria. + * `PUBLIC_REGISTRY_RESPONSE` - Ricevuta la risposta dei registri pubblici + * `SCHEDULE_ANALOG_WORKFLOW` - Pianificazione del workflow per invio cartaceo + * `SCHEDULE_DIGITAL_WORKFLOW` -Pianificazione del workflow per invio digitale (PEC) del secondo tentativo in caso di fallimento del primo. + * `PREPARE_DIGITAL_DOMICILE` - Preparazione per l’invio dell’avviso digitale.Va a valutare la timeline per capire quale sarà il prossimo indirizzo da usare. + * `SEND_DIGITAL_DOMICILE` - Invio digitale dell’avviso di notifica + * `SEND_DIGITAL_PROGRESS` - Tentativo di Invio PEC ad un determinato indirizzo. + * `SEND_DIGITAL_FEEDBACK` - Ottenuto esito ad un invio digitale + * `SCHEDULE_REFINEMENT` - Pianificato il perfezionamento per decorrenza termini + * `REFINEMENT` - Perfezionamento per decorrenza termini + * `DIGITAL_DELIVERY_CREATION_REQUEST` - Invio della richiesta di creazione, firma e marca dell'atto opponibile a terzi di chiusura del workflow digitale a safe storage + * `DIGITAL_SUCCESS_WORKFLOW` - Completato con successo il workflow di invio digitale + * `DIGITAL_FAILURE_WORKFLOW` - Completato con fallimento il workflow di invio digitale: tutti i tentativi di invio ai domicili digitali sono falliti. + * `ANALOG_SUCCESS_WORKFLOW` - Completato con successo il workflow di invio cartaceo + * `ANALOG_FAILURE_WORKFLOW` - Completato con fallimento il workflow di invio cartaceo NOTA: se per tutti i destinatari si conclude il workflow con fallimento verrà scatenato l’evento COMPLETELY_UNREACHABLE + * `PREPARE_SIMPLE_REGISTERED_LETTER` - Invio richiesta di prepare (preparazione ad invio) raccomandata semplice a paperChannel + * `SEND_SIMPLE_REGISTERED_LETTER` - Invio di raccomandata semplice + * `SEND_SIMPLE_REGISTERED_LETTER_PROGRESS` - Ricezione informazioni intermedia relative ad una notificazione cartacea semplice + * `NOTIFICATION_VIEWED_CREATION_REQUEST` - Invio della richiesta di creazione, firma e marca dell'atto opponibile a terzi di presa visione a safe storage + * `NOTIFICATION_VIEWED` - Visualizzazione della notifica (perfeziona la notifica se non già perfezionata per decorrenza termini o da altro destinatario) + * `PREPARE_ANALOG_DOMICILE` - Invio richiesta di prepare (preparazione ad invio) cartaceo a paperChannel + * `SEND_ANALOG_DOMICILE` - Invio cartaceo dell’avviso di notifica + * `SEND_ANALOG_PROGRESS` - Ricezione informazioni intermedia relative ad una notificazione cartacea + * `SEND_ANALOG_FEEDBACK` - Ricezione esito dell'invio cartaceo + * `COMPLETELY_UNREACHABLE_CREATION_REQUEST` - Invio della richiesta di creazione, firma e marca dell'atto (simile a opponibile a terzi) di completamento con fallimento del workflow di invio cartaceo + * `COMPLETELY_UNREACHABLE` - Tutti i destinatari risultano irraggiungibili + * `AAR_CREATION_REQUEST` - Invio della richiesta di creazione, firma e marca dell'AAR (Avviso di Avvenuta Ricezione) a safe storage + * `AAR_GENERATION` - Generazione dell’AAR (Avviso di Avvenuta Ricezione) + * `PAYMENT` - Evento di ricezione __dal mittente__ dell'informazione di chiusura di uno o più pagamenti di tipo pagoPA (vedi #/components/schemas/PagoPaPayment). La presenza di questo evento inibisce l'invio di eventuali comunicazioni analogiche future ma non perfeziona la notifica. + * `NOT_HANDLED` - [DEPRECATO] Per la sperimentazione l'invio analogico non è previsto, viene inserito tale elemento di timeline + * `PROBABLE_SCHEDULING_ANALOG_DATE` - Data probabile di inizio del flusso analogico + * `NOTIFICATION_CANCELLATION_REQUEST` - Richiesta di annullamento di una notifica + * `NOTIFICATION_CANCELLED` - Notifica annullata + * `PREPARE_ANALOG_DOMICILE_FAILURE` - Fallimento della richiesta di prepare (preparazione ad invio) cartaceo a paperChannel + * `NOTIFICATION_RADD_RETRIEVED` - Accesso alla notifica tramite la rete RADD. Non perfeziona la notifica. + * `ANALOG_WORKFLOW_RECIPIENT_DECEASED` - Destinatario deceduto + * `PUBLIC_REGISTRY_VALIDATION_CALL` - Ricerca dell'indirizzo di spedizione in fase di validazione notifica + * `PUBLIC_REGISTRY_VALIDATION_RESPONSE` - Recupero dell'indirizzo di spedizione dai registri nazionali + enum: + - SENDER_ACK_CREATION_REQUEST + - VALIDATE_NORMALIZE_ADDRESSES_REQUEST + - NORMALIZED_ADDRESS + - REQUEST_ACCEPTED + - SEND_COURTESY_MESSAGE + - GET_ADDRESS + - PUBLIC_REGISTRY_CALL + - PUBLIC_REGISTRY_RESPONSE + - SCHEDULE_ANALOG_WORKFLOW + - SCHEDULE_DIGITAL_WORKFLOW + - PREPARE_DIGITAL_DOMICILE + - SEND_DIGITAL_DOMICILE + - SEND_DIGITAL_PROGRESS + - SEND_DIGITAL_FEEDBACK + - REFINEMENT + - SCHEDULE_REFINEMENT + - DIGITAL_DELIVERY_CREATION_REQUEST + - DIGITAL_SUCCESS_WORKFLOW + - DIGITAL_FAILURE_WORKFLOW + - ANALOG_SUCCESS_WORKFLOW + - ANALOG_FAILURE_WORKFLOW + - PREPARE_SIMPLE_REGISTERED_LETTER + - SEND_SIMPLE_REGISTERED_LETTER + - SEND_SIMPLE_REGISTERED_LETTER_PROGRESS + - NOTIFICATION_VIEWED_CREATION_REQUEST + - NOTIFICATION_VIEWED + - PREPARE_ANALOG_DOMICILE + - SEND_ANALOG_DOMICILE + - SEND_ANALOG_PROGRESS + - SEND_ANALOG_FEEDBACK + - PAYMENT + - COMPLETELY_UNREACHABLE + - COMPLETELY_UNREACHABLE_CREATION_REQUEST + - REQUEST_REFUSED + - AAR_CREATION_REQUEST + - AAR_GENERATION + - NOT_HANDLED + - PROBABLE_SCHEDULING_ANALOG_DATE + - NOTIFICATION_CANCELLATION_REQUEST + - NOTIFICATION_CANCELLED + - PREPARE_ANALOG_DOMICILE_FAILURE + - NOTIFICATION_RADD_RETRIEVED + - ANALOG_WORKFLOW_RECIPIENT_DECEASED + - PUBLIC_REGISTRY_VALIDATION_CALL + - PUBLIC_REGISTRY_VALIDATION_RESPONSE + TimelineElementDetailsV27: + description: The raw event payload that will be different based on the event. + oneOf: + - $ref: '#/components/schemas/SenderAckCreationRequestDetails' + - $ref: '#/components/schemas/NormalizedAddressDetails' + - $ref: '#/components/schemas/NotificationRequestAcceptedDetailsV27' + - $ref: '#/components/schemas/AnalogFailureWorkflowDetails' + - $ref: '#/components/schemas/AnalogSuccessWorkflowDetails' + - $ref: '#/components/schemas/CompletelyUnreachableCreationRequestDetails' + - $ref: '#/components/schemas/CompletelyUnreachableDetails' + - $ref: '#/components/schemas/DigitalDeliveryCreationRequestDetails' + - $ref: '#/components/schemas/DigitalFailureWorkflowDetails' + - $ref: '#/components/schemas/DigitalSuccessWorkflowDetails' + - $ref: '#/components/schemas/GetAddressInfoDetails' + - $ref: '#/components/schemas/NotificationViewedCreationRequestDetailsV23' + - $ref: '#/components/schemas/NotificationViewedDetailsV23' + - $ref: '#/components/schemas/NotificationRADDRetrievedDetails' + - $ref: '#/components/schemas/PublicRegistryCallDetails' + - $ref: '#/components/schemas/PublicRegistryResponseDetails' + - $ref: '#/components/schemas/RefinementDetailsV23' + - $ref: '#/components/schemas/RequestRefusedDetailsV27' + - $ref: '#/components/schemas/ScheduleAnalogWorkflowDetailsV23' + - $ref: '#/components/schemas/ScheduleDigitalWorkflowDetailsV23' + - $ref: '#/components/schemas/ScheduleRefinementDetails' + - $ref: '#/components/schemas/SendCourtesyMessageDetails' + - $ref: '#/components/schemas/PrepareDigitalDetails' + - $ref: '#/components/schemas/SendDigitalDetails' + - $ref: '#/components/schemas/SendDigitalFeedbackDetails' + - $ref: '#/components/schemas/SendDigitalProgressDetailsV23' + - $ref: '#/components/schemas/BaseAnalogDetails' + - $ref: '#/components/schemas/SendAnalogDetails' + - $ref: '#/components/schemas/SendAnalogFeedbackDetailsV25' + - $ref: '#/components/schemas/BaseRegisteredLetterDetails' + - $ref: '#/components/schemas/SimpleRegisteredLetterDetails' + - $ref: '#/components/schemas/AarCreationRequestDetails' + - $ref: '#/components/schemas/AarGenerationDetails' + - $ref: '#/components/schemas/NotHandledDetails' + - $ref: '#/components/schemas/NotificationPaidDetailsV23' + - $ref: '#/components/schemas/SendAnalogProgressDetailsV23' + - $ref: '#/components/schemas/SimpleRegisteredLetterProgressDetails' + - $ref: '#/components/schemas/ProbableDateAnalogWorkflowDetails' + - $ref: '#/components/schemas/NotificationCancellationRequestDetails' + - $ref: '#/components/schemas/NotificationCancelledDetails' + - $ref: '#/components/schemas/PrepareAnalogDomicileFailureDetails' + - $ref: '#/components/schemas/AnalogWorkflowRecipientDeceasedDetailsV26' + - $ref: '#/components/schemas/PublicRegistryValidationCallDetails' + - $ref: '#/components/schemas/PublicRegistryValidationResponseDetails' + TimelineElementV27: + type: object + additionalProperties: false + properties: + elementId: + type: string + maxLength: 512 + description: >- + Identificativo dell'elemento di timeline: insieme allo IUN della + notifica definisce in maniera univoca l'elemento di timeline + timestamp: + type: string + deprecated: true + description: >- + Istante in cui avviene l'evento descritto in questo elemento di + timeline (deprecato, fare riferimento al campo eventTimestamp) + format: date-time + ingestionTimestamp: + type: string + description: >- + Istante in cui l'evento descritto in questo elemento di timeline è + gestito da SEND + format: date-time + eventTimestamp: + type: string + description: >- + Istante in cui avviene l'evento descritto in questo elemento di + timeline + format: date-time + notificationSentAt: + type: string + description: Momento di ricezione della richiesta di notifica da parte di SEND + format: date-time + legalFactsIds: + type: array + items: + $ref: '#/components/schemas/LegalFactsIdV20' + description: >- + Chiavi dei documenti che provano l'effettivo accadimento dell'evento + descritto in timeline. Questo elemento + category: + $ref: '#/components/schemas/TimelineElementCategoryV27' + details: + $ref: '#/components/schemas/TimelineElementDetailsV27' responses: {} securitySchemes: api_key_openapi: diff --git a/docs/openapi/aws/api-delivery-B2BPG-aws.yaml b/docs/openapi/aws/api-delivery-B2BPG-aws.yaml index ee438725c..7ce43142f 100644 --- a/docs/openapi/aws/api-delivery-B2BPG-aws.yaml +++ b/docs/openapi/aws/api-delivery-B2BPG-aws.yaml @@ -2,7 +2,7 @@ openapi: 3.0.1 info: title: >- ${stageVariables.ProjectName}-${stageVariables.MicroServiceUniqueName}-${stageVariables.IntendedUsage} - version: TTkj9+SMSupa5oKrlwPvJS2im1Ad4lGckNW+QeSwmMw= + version: T4mY5Yp/JIROJf7nATPqHwXkh1i8c8Wcoh1HnAL8KUY= servers: - url: https://${stageVariables.DnsName}/{basePath} variables: @@ -157,7 +157,7 @@ paths: connectionType: VPC_LINK timeoutInMillis: 29000 type: http_proxy - /v2.6/notifications/received/{iun}: + /v2.7/notifications/received/{iun}: get: summary: Dettaglio di una notifica ricevuta. description: >- @@ -171,7 +171,7 @@ paths: - eventuali documenti di pagamento (campo payments reperibile nel dettaglio del destinatario) tags: - RecipientReadB2B - operationId: getReceivedNotificationV26 + operationId: getReceivedNotificationV27 x-api-permissions: - REFINEMENT parameters: @@ -183,7 +183,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/FullReceivedNotificationV26' + $ref: '#/components/schemas/FullReceivedNotificationV27' '400': description: Bad request content: @@ -202,7 +202,7 @@ paths: - pn-auth-fleet_b2bAuthorizer_openapi: [] x-amazon-apigateway-integration: uri: >- - http://${stageVariables.ApplicationLoadBalancerDomain}:8080/${stageVariables.ServiceApiPath}/v2.6/notifications/received/{iun} + http://${stageVariables.ApplicationLoadBalancerDomain}:8080/${stageVariables.ServiceApiPath}/v2.7/notifications/received/{iun} connectionId: ${stageVariables.NetworkLoadBalancerLink} httpMethod: ANY requestParameters: @@ -220,10 +220,10 @@ paths: timeoutInMillis: 29000 type: http_proxy options: - operationId: Options for /v2.6/notifications/received/{iun} API CORS + operationId: Options for /v2.7/notifications/received/{iun} API CORS x-amazon-apigateway-integration: uri: >- - http://${stageVariables.ApplicationLoadBalancerDomain}:8080/${stageVariables.ServiceApiPath}/v2.6/notifications/received/{iun} + http://${stageVariables.ApplicationLoadBalancerDomain}:8080/${stageVariables.ServiceApiPath}/v2.7/notifications/received/{iun} connectionId: ${stageVariables.NetworkLoadBalancerLink} httpMethod: ANY requestParameters: @@ -465,7 +465,7 @@ components: required: false description: stato della notifica schema: - $ref: '#/components/schemas/NotificationStatusV26' + $ref: '#/components/schemas/NotificationStatusV28' notificationSearchSubject: name: subjectRegExp description: >- @@ -527,7 +527,7 @@ components: maxLength: 25 pattern: ^[A-Z]{4}-[A-Z]{4}-[A-Z]{4}-[0-9]{6}-[A-Z]{1}-[0-9]{1}$ schemas: - FullReceivedNotificationV26: + FullReceivedNotificationV27: description: >- Le informazioni riguardanti una richiesta di notifica accettata e il processo di inoltro della notifica verso i destinatari (Persone Fisiche @@ -541,16 +541,16 @@ components: - timeline properties: notificationStatus: - $ref: '#/components/schemas/NotificationStatusV26' + $ref: '#/components/schemas/NotificationStatusV28' notificationStatusHistory: - $ref: '#/components/schemas/NotificationStatusHistoryV26' + $ref: '#/components/schemas/NotificationStatusHistoryV28' timeline: description: >- elenco dettagliato di tutto ciò che è accaduto durante il processo di notifica type: array items: - $ref: '#/components/schemas/TimelineElementV27' + $ref: '#/components/schemas/TimelineElementV28' Problem: properties: type: @@ -596,7 +596,7 @@ components: required: - status - errors - TimelineElementV27: + TimelineElementV28: type: object additionalProperties: false properties: @@ -632,15 +632,15 @@ components: legalFactsIds: type: array items: - $ref: '#/components/schemas/LegalFactsIdV20' + $ref: '#/components/schemas/LegalFactsIdV28' description: >- Chiavi dei documenti che provano l'effettivo accadimento dell'evento descritto in timeline. Questo elemento category: - $ref: '#/components/schemas/TimelineElementCategoryV27' + $ref: '#/components/schemas/TimelineElementCategoryV28' details: - $ref: '#/components/schemas/TimelineElementDetailsV27' - NotificationStatusV26: + $ref: '#/components/schemas/TimelineElementDetailsV28' + NotificationStatusV28: type: string description: | stato di avanzamento del processo di notifica: @@ -655,6 +655,7 @@ components: * `CANCELLED` - L'ente ha annullato l'invio della notifica * `PAID` - [DEPRECATO] Uno dei destinatari ha pagato la notifica * `RETURNED_TO_SENDER` - La notifica è stata restituita al mittente + * `DELIVERY_TIMEOUT` - La notifica non è stata consegnata entro il termine stabilito enum: - IN_VALIDATION - ACCEPTED @@ -667,11 +668,12 @@ components: - UNREACHABLE - CANCELLED - RETURNED_TO_SENDER - NotificationStatusHistoryV26: + - DELIVERY_TIMEOUT + NotificationStatusHistoryV28: description: elenco degli avanzamenti effettuati dal processo di notifica type: array items: - $ref: '#/components/schemas/NotificationStatusHistoryElementV26' + $ref: '#/components/schemas/NotificationStatusHistoryElementV28' IUN: description: Identificativo Univoco Notifica type: string @@ -697,7 +699,7 @@ components: type: string description: Oggetto della notifica notificationStatus: - $ref: '#/components/schemas/NotificationStatusV26' + $ref: '#/components/schemas/NotificationStatusV28' recipients: description: >- Elenco delle denominazioni dei destinatari della notifica.
@@ -777,7 +779,7 @@ components: controllo, ovvero la seguente regexp: ^[ -{}~\u00A0-ÿ]*$ type: string minLength: 1 - maxLength: 44 + maxLength: 88 pattern: ^.*$ NotificationDigitalAddress: description: Indirizzo di invio della notifica @@ -1244,7 +1246,7 @@ components: $ref: '#/components/schemas/UsedServices' TimelineElementId: type: string - NotificationStatusHistoryElementV26: + NotificationStatusHistoryElementV28: description: elenco degli avanzamenti effettuati dal processo di notifica type: object required: @@ -1253,7 +1255,7 @@ components: - relatedTimelineElements properties: status: - $ref: '#/components/schemas/NotificationStatusV26' + $ref: '#/components/schemas/NotificationStatusV28' activeFrom: type: string description: data e ora di raggiungimento dello stato di avanzamento @@ -1263,7 +1265,7 @@ components: description: Eventi avvenuti nello stato items: $ref: '#/components/schemas/TimelineElementId' - LegalFactCategoryV20: + LegalFactCategoryV28: title: Tipi di atti opponibili a terzi description: >- Tipi di atti opponibili a terzi che Piattaforma Notifiche mette a @@ -1275,8 +1277,9 @@ components: - PEC_RECEIPT
- ANALOG_FAILURE_DELIVERY
- NOTIFICATION_CANCELLED
+ - ANALOG_DELIVERY_TIMEOUT
type: string - LegalFactsIdV20: + LegalFactsIdV28: description: Chiavi dei documenti generati durante il processo di consegna cartacea type: object required: @@ -1291,8 +1294,8 @@ components: pattern: ^(safestorage:\/\/)?[A-Za-z0-9._-]+$ maxLength: 512 category: - $ref: '#/components/schemas/LegalFactCategoryV20' - TimelineElementCategoryV27: + $ref: '#/components/schemas/LegalFactCategoryV28' + TimelineElementCategoryV28: type: string description: | stato di avanzamento del processo di notifica:` @@ -1341,6 +1344,8 @@ components: * `ANALOG_WORKFLOW_RECIPIENT_DECEASED` - Destinatario deceduto * `PUBLIC_REGISTRY_VALIDATION_CALL` - Ricerca dell'indirizzo di spedizione in fase di validazione notifica * `PUBLIC_REGISTRY_VALIDATION_RESPONSE` - Recupero dell'indirizzo di spedizione dai registri nazionali + * `SEND_ANALOG_TIMEOUT` - Mancata ricezione di un esito per il tentativo di consegna analogico nell'intervallo temporale stabilito + * `ANALOG_FAILURE_WORKFLOW_TIMEOUT` - Completato con fallimento il workflow di invio cartaceo per l'assenza di esiti per ogni tentativo di spedizione nell'intervallo temporale stabilito enum: - SENDER_ACK_CREATION_REQUEST - VALIDATE_NORMALIZE_ADDRESSES_REQUEST @@ -1387,6 +1392,8 @@ components: - ANALOG_WORKFLOW_RECIPIENT_DECEASED - PUBLIC_REGISTRY_VALIDATION_CALL - PUBLIC_REGISTRY_VALIDATION_RESPONSE + - SEND_ANALOG_TIMEOUT + - ANALOG_FAILURE_WORKFLOW_TIMEOUT SenderAckCreationRequestDetails: type: object properties: @@ -2548,7 +2555,51 @@ components: - ANPR - REGISTRO_IMPRESE maxLength: 128 - TimelineElementDetailsV27: + SendAnalogTimeoutDetails: + type: object + required: + - recIndex + - physicalAddress + - serviceLevel + - sentAttemptMade + properties: + recIndex: + type: number + description: Index destinatario notifica digitale + physicalAddress: + $ref: '#/components/schemas/PhysicalAddress' + serviceLevel: + $ref: '#/components/schemas/ServiceLevel' + sentAttemptMade: + type: number + description: numero dei tentativi effettuati + relatedRequestId: + type: string + description: Id relativo alla eventuale precedente richiesta di invio cartaceo + maxLength: 512 + timeoutDate: + type: string + description: >- + Data in cui si è chiusa la finestra di ricezione esiti per il flusso + analogico + format: date-time + AnalogFailureWorkflowTimeoutDetails: + type: object + required: + - recIndex + properties: + recIndex: + type: number + description: Index destinatario notifica digitale + generatedAarUrl: + type: string + maxLength: 128 + description: Chiave per recupero da safe-storage del documento aar + notificationCost: + description: costo notifica in euro cents + example: 1220 + type: number + TimelineElementDetailsV28: description: The raw event payload that will be different based on the event. oneOf: - $ref: '#/components/schemas/SenderAckCreationRequestDetails' @@ -2595,6 +2646,8 @@ components: - $ref: '#/components/schemas/AnalogWorkflowRecipientDeceasedDetailsV26' - $ref: '#/components/schemas/PublicRegistryValidationCallDetails' - $ref: '#/components/schemas/PublicRegistryValidationResponseDetails' + - $ref: '#/components/schemas/SendAnalogTimeoutDetails' + - $ref: '#/components/schemas/AnalogFailureWorkflowTimeoutDetails' NotificationAttachmentDownloadMetadataResponse: title: Url e metadati per il download di un allegato di una notifica description: |- diff --git a/docs/openapi/aws/api-delivery-IO-aws.yaml b/docs/openapi/aws/api-delivery-IO-aws.yaml index 942e13c02..cb1ed3075 100644 --- a/docs/openapi/aws/api-delivery-IO-aws.yaml +++ b/docs/openapi/aws/api-delivery-IO-aws.yaml @@ -2,7 +2,7 @@ openapi: 3.0.1 info: title: >- ${stageVariables.ProjectName}-${stageVariables.MicroServiceUniqueName}-${stageVariables.IntendedUsage} - version: +4hxcw7MrZHuAPOTYZv5v5Lmcs8OImk4qBFmPKKta8w= + version: ePwlAEOgc+5najL1kSSGiMr/p25rVsVhg9R0GIQLvMI= servers: - url: https://${stageVariables.DnsName}/{basePath} variables: @@ -512,7 +512,7 @@ components: controllo, ovvero la seguente regexp: ^[ -{}~\u00A0-ÿ]*$ type: string minLength: 1 - maxLength: 44 + maxLength: 88 pattern: ^.*$ noticeCode: description: Payment notice number numero avviso @@ -575,9 +575,11 @@ components: * `DELIVERED` - notifica ricevuta da tutti i destinatari * `VIEWED` - notifica presa visione per almeno un destinatario * `EFFECTIVE_DATE` - notifica perfezionata per un destinatario - * `PAID` - notifica pagata * `UNREACHABLE` - notifica non recapitabile * `CANCELLED` - notifica annullata dal mittente + * `PAID` - [DEPRECATO] Uno dei destinatari ha pagato la notifica + * `RETURNED_TO_SENDER` - La notifica è stata restituita al mittente + * `DELIVERY_TIMEOUT` - La notifica non è stata consegnata entro il termine stabilito TimelineElementId: type: string NotificationStatusHistoryElement: diff --git a/docs/openapi/parameters-notification-search.yaml b/docs/openapi/parameters-notification-search.yaml index f79de5e97..7a962b525 100644 --- a/docs/openapi/parameters-notification-search.yaml +++ b/docs/openapi/parameters-notification-search.yaml @@ -68,7 +68,7 @@ components: required: false description: stato della notifica schema: - $ref: './remote-refs.yaml#/components/schemas/NotificationStatusV26' + $ref: './remote-refs.yaml#/components/schemas/NotificationStatusV28' notificationSearchStatuses: name: status in: query @@ -77,7 +77,7 @@ components: schema: type: array items: - $ref: './remote-refs.yaml#/components/schemas/NotificationStatusV26' + $ref: './remote-refs.yaml#/components/schemas/NotificationStatusV28' notificationSearchSubject: name: subjectRegExp description: >- diff --git a/docs/openapi/pn-delivery-b2b-pg-external-bundle.yaml b/docs/openapi/pn-delivery-b2b-pg-external-bundle.yaml index 69b20c6bd..c156db8df 100644 --- a/docs/openapi/pn-delivery-b2b-pg-external-bundle.yaml +++ b/docs/openapi/pn-delivery-b2b-pg-external-bundle.yaml @@ -168,7 +168,7 @@ paths: application/problem+json: schema: $ref: '#/components/schemas/Problem' - /delivery/v2.6/notifications/received/{iun}: + /delivery/v2.7/notifications/received/{iun}: get: summary: Dettaglio di una notifica ricevuta. description: >- @@ -182,7 +182,7 @@ paths: - eventuali documenti di pagamento (campo payments reperibile nel dettaglio del destinatario) tags: - RecipientReadB2B - operationId: getReceivedNotificationV26 + operationId: getReceivedNotificationV27 x-api-permissions: - REFINEMENT parameters: @@ -194,7 +194,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/FullReceivedNotificationV26' + $ref: '#/components/schemas/FullReceivedNotificationV27' '400': description: Bad request content: @@ -403,7 +403,7 @@ components: required: false description: stato della notifica schema: - $ref: '#/components/schemas/NotificationStatusV26' + $ref: '#/components/schemas/NotificationStatusV28' notificationSearchSubject: name: subjectRegExp description: >- @@ -478,7 +478,7 @@ components: UnauthorizedError: description: Access token is missing or invalid schemas: - FullReceivedNotificationV26: + FullReceivedNotificationV27: description: >- Le informazioni riguardanti una richiesta di notifica accettata e il processo di inoltro della notifica verso i destinatari (Persone Fisiche @@ -492,16 +492,16 @@ components: - timeline properties: notificationStatus: - $ref: '#/components/schemas/NotificationStatusV26' + $ref: '#/components/schemas/NotificationStatusV28' notificationStatusHistory: - $ref: '#/components/schemas/NotificationStatusHistoryV26' + $ref: '#/components/schemas/NotificationStatusHistoryV28' timeline: description: >- elenco dettagliato di tutto ciò che è accaduto durante il processo di notifica type: array items: - $ref: '#/components/schemas/TimelineElementV27' + $ref: '#/components/schemas/TimelineElementV28' Problem: properties: type: @@ -548,7 +548,7 @@ components: required: - status - errors - TimelineElementV27: + TimelineElementV28: type: object additionalProperties: false properties: @@ -584,15 +584,15 @@ components: legalFactsIds: type: array items: - $ref: '#/components/schemas/LegalFactsIdV20' + $ref: '#/components/schemas/LegalFactsIdV28' description: >- Chiavi dei documenti che provano l'effettivo accadimento dell'evento descritto in timeline. Questo elemento category: - $ref: '#/components/schemas/TimelineElementCategoryV27' + $ref: '#/components/schemas/TimelineElementCategoryV28' details: - $ref: '#/components/schemas/TimelineElementDetailsV27' - NotificationStatusV26: + $ref: '#/components/schemas/TimelineElementDetailsV28' + NotificationStatusV28: type: string description: | stato di avanzamento del processo di notifica: @@ -607,6 +607,7 @@ components: * `CANCELLED` - L'ente ha annullato l'invio della notifica * `PAID` - [DEPRECATO] Uno dei destinatari ha pagato la notifica * `RETURNED_TO_SENDER` - La notifica è stata restituita al mittente + * `DELIVERY_TIMEOUT` - La notifica non è stata consegnata entro il termine stabilito enum: - IN_VALIDATION - ACCEPTED @@ -619,11 +620,12 @@ components: - UNREACHABLE - CANCELLED - RETURNED_TO_SENDER - NotificationStatusHistoryV26: + - DELIVERY_TIMEOUT + NotificationStatusHistoryV28: description: elenco degli avanzamenti effettuati dal processo di notifica type: array items: - $ref: '#/components/schemas/NotificationStatusHistoryElementV26' + $ref: '#/components/schemas/NotificationStatusHistoryElementV28' IUN: description: Identificativo Univoco Notifica type: string @@ -649,7 +651,7 @@ components: type: string description: Oggetto della notifica notificationStatus: - $ref: '#/components/schemas/NotificationStatusV26' + $ref: '#/components/schemas/NotificationStatusV28' recipients: description: >- Elenco delle denominazioni dei destinatari della notifica.
@@ -729,7 +731,7 @@ components: controllo, ovvero la seguente regexp: ^[ -{}~\u00A0-ÿ]*$ type: string minLength: 1 - maxLength: 44 + maxLength: 88 pattern: ^.*$ NotificationDigitalAddress: description: Indirizzo di invio della notifica @@ -1199,7 +1201,7 @@ components: $ref: '#/components/schemas/UsedServices' TimelineElementId: type: string - NotificationStatusHistoryElementV26: + NotificationStatusHistoryElementV28: description: elenco degli avanzamenti effettuati dal processo di notifica type: object required: @@ -1208,7 +1210,7 @@ components: - relatedTimelineElements properties: status: - $ref: '#/components/schemas/NotificationStatusV26' + $ref: '#/components/schemas/NotificationStatusV28' activeFrom: type: string description: data e ora di raggiungimento dello stato di avanzamento @@ -1218,7 +1220,7 @@ components: description: Eventi avvenuti nello stato items: $ref: '#/components/schemas/TimelineElementId' - LegalFactCategoryV20: + LegalFactCategoryV28: title: Tipi di atti opponibili a terzi description: >- Tipi di atti opponibili a terzi che Piattaforma Notifiche mette a @@ -1230,8 +1232,9 @@ components: - PEC_RECEIPT
- ANALOG_FAILURE_DELIVERY
- NOTIFICATION_CANCELLED
+ - ANALOG_DELIVERY_TIMEOUT
type: string - LegalFactsIdV20: + LegalFactsIdV28: description: Chiavi dei documenti generati durante il processo di consegna cartacea type: object required: @@ -1246,8 +1249,8 @@ components: pattern: ^(safestorage:\/\/)?[A-Za-z0-9._-]+$ maxLength: 512 category: - $ref: '#/components/schemas/LegalFactCategoryV20' - TimelineElementCategoryV27: + $ref: '#/components/schemas/LegalFactCategoryV28' + TimelineElementCategoryV28: type: string description: | stato di avanzamento del processo di notifica:` @@ -1296,6 +1299,8 @@ components: * `ANALOG_WORKFLOW_RECIPIENT_DECEASED` - Destinatario deceduto * `PUBLIC_REGISTRY_VALIDATION_CALL` - Ricerca dell'indirizzo di spedizione in fase di validazione notifica * `PUBLIC_REGISTRY_VALIDATION_RESPONSE` - Recupero dell'indirizzo di spedizione dai registri nazionali + * `SEND_ANALOG_TIMEOUT` - Mancata ricezione di un esito per il tentativo di consegna analogico nell'intervallo temporale stabilito + * `ANALOG_FAILURE_WORKFLOW_TIMEOUT` - Completato con fallimento il workflow di invio cartaceo per l'assenza di esiti per ogni tentativo di spedizione nell'intervallo temporale stabilito enum: - SENDER_ACK_CREATION_REQUEST - VALIDATE_NORMALIZE_ADDRESSES_REQUEST @@ -1342,6 +1347,8 @@ components: - ANALOG_WORKFLOW_RECIPIENT_DECEASED - PUBLIC_REGISTRY_VALIDATION_CALL - PUBLIC_REGISTRY_VALIDATION_RESPONSE + - SEND_ANALOG_TIMEOUT + - ANALOG_FAILURE_WORKFLOW_TIMEOUT SenderAckCreationRequestDetails: type: object properties: @@ -2566,7 +2573,55 @@ components: - ANPR - REGISTRO_IMPRESE maxLength: 128 - TimelineElementDetailsV27: + SendAnalogTimeoutDetails: + type: object + required: + - recIndex + - physicalAddress + - serviceLevel + - sentAttemptMade + properties: + recIndex: + type: integer + description: Index destinatario notifica digitale + format: int32 + physicalAddress: + $ref: '#/components/schemas/PhysicalAddress' + serviceLevel: + $ref: '#/components/schemas/ServiceLevel' + sentAttemptMade: + type: integer + description: numero dei tentativi effettuati + format: int32 + relatedRequestId: + type: string + description: Id relativo alla eventuale precedente richiesta di invio cartaceo + maxLength: 512 + timeoutDate: + type: string + description: >- + Data in cui si è chiusa la finestra di ricezione esiti per il flusso + analogico + format: date-time + AnalogFailureWorkflowTimeoutDetails: + type: object + required: + - recIndex + properties: + recIndex: + type: integer + description: Index destinatario notifica digitale + format: int32 + generatedAarUrl: + type: string + maxLength: 128 + description: Chiave per recupero da safe-storage del documento aar + notificationCost: + description: costo notifica in euro cents + example: 1220 + type: integer + format: int64 + TimelineElementDetailsV28: description: The raw event payload that will be different based on the event. oneOf: - $ref: '#/components/schemas/SenderAckCreationRequestDetails' @@ -2613,6 +2668,8 @@ components: - $ref: '#/components/schemas/AnalogWorkflowRecipientDeceasedDetailsV26' - $ref: '#/components/schemas/PublicRegistryValidationCallDetails' - $ref: '#/components/schemas/PublicRegistryValidationResponseDetails' + - $ref: '#/components/schemas/SendAnalogTimeoutDetails' + - $ref: '#/components/schemas/AnalogFailureWorkflowTimeoutDetails' NotificationAttachmentDownloadMetadataResponse: title: Url e metadati per il download di un allegato di una notifica description: |- diff --git a/docs/openapi/pn-delivery-b2b-pg-external-merged.yaml b/docs/openapi/pn-delivery-b2b-pg-external-merged.yaml index 54cc49189..9fd3981e6 100644 --- a/docs/openapi/pn-delivery-b2b-pg-external-merged.yaml +++ b/docs/openapi/pn-delivery-b2b-pg-external-merged.yaml @@ -165,7 +165,7 @@ paths: schema: $ref: '#/components/schemas/Problem' - "/delivery/v2.6/notifications/received/{iun}": + "/delivery/v2.7/notifications/received/{iun}": get: summary: Dettaglio di una notifica ricevuta. description: >- @@ -180,7 +180,7 @@ paths: - eventuali documenti di pagamento (campo payments reperibile nel dettaglio del destinatario) tags: - RecipientReadB2B - operationId: getReceivedNotificationV26 + operationId: getReceivedNotificationV27 # security: # ONLY EXTERNAL # - bearerAuth: [ ] # ONLY EXTERNAL x-api-permissions: @@ -194,7 +194,7 @@ paths: content: "application/json": schema: - $ref: "#/components/schemas/FullReceivedNotificationV26" + $ref: "#/components/schemas/FullReceivedNotificationV27" '400': description: Bad request content: @@ -356,7 +356,7 @@ components: UnauthorizedError: description: Access token is missing or invalid schemas: - FullReceivedNotificationV26: + FullReceivedNotificationV27: description: >- Le informazioni riguardanti una richiesta di notifica accettata e il processo di inoltro della notifica verso i destinatari (Persone Fisiche o Giuridiche). @@ -369,25 +369,25 @@ components: - timeline properties: notificationStatus: - $ref: '#/components/schemas/NotificationStatusV26' + $ref: '#/components/schemas/NotificationStatusV28' notificationStatusHistory: - $ref: '#/components/schemas/NotificationStatusHistoryV26' + $ref: '#/components/schemas/NotificationStatusHistoryV28' timeline: description: >- elenco dettagliato di tutto ciò che è accaduto durante il processo di notifica type: array items: - $ref: '#/components/schemas/TimelineElementV27' + $ref: '#/components/schemas/TimelineElementV28' Problem: $ref: './remote-refs.yaml#/components/schemas/Problem' - TimelineElementV27: - $ref: './remote-refs.yaml#/components/schemas/TimelineElementV27' - NotificationStatusV26: - $ref: './remote-refs.yaml#/components/schemas/NotificationStatusV26' - NotificationStatusHistoryV26: - $ref: "./remote-refs.yaml#/components/schemas/NotificationStatusHistoryV26" + TimelineElementV28: + $ref: './remote-refs.yaml#/components/schemas/TimelineElementV28' + NotificationStatusV28: + $ref: './remote-refs.yaml#/components/schemas/NotificationStatusV28' + NotificationStatusHistoryV28: + $ref: "./remote-refs.yaml#/components/schemas/NotificationStatusHistoryV28" securitySchemes: # ONLY EXTERNAL bearerAuth: # ONLY EXTERNAL diff --git a/docs/openapi/pn-delivery-b2b-pg-external.yaml b/docs/openapi/pn-delivery-b2b-pg-external.yaml index 54cc49189..9fd3981e6 100644 --- a/docs/openapi/pn-delivery-b2b-pg-external.yaml +++ b/docs/openapi/pn-delivery-b2b-pg-external.yaml @@ -165,7 +165,7 @@ paths: schema: $ref: '#/components/schemas/Problem' - "/delivery/v2.6/notifications/received/{iun}": + "/delivery/v2.7/notifications/received/{iun}": get: summary: Dettaglio di una notifica ricevuta. description: >- @@ -180,7 +180,7 @@ paths: - eventuali documenti di pagamento (campo payments reperibile nel dettaglio del destinatario) tags: - RecipientReadB2B - operationId: getReceivedNotificationV26 + operationId: getReceivedNotificationV27 # security: # ONLY EXTERNAL # - bearerAuth: [ ] # ONLY EXTERNAL x-api-permissions: @@ -194,7 +194,7 @@ paths: content: "application/json": schema: - $ref: "#/components/schemas/FullReceivedNotificationV26" + $ref: "#/components/schemas/FullReceivedNotificationV27" '400': description: Bad request content: @@ -356,7 +356,7 @@ components: UnauthorizedError: description: Access token is missing or invalid schemas: - FullReceivedNotificationV26: + FullReceivedNotificationV27: description: >- Le informazioni riguardanti una richiesta di notifica accettata e il processo di inoltro della notifica verso i destinatari (Persone Fisiche o Giuridiche). @@ -369,25 +369,25 @@ components: - timeline properties: notificationStatus: - $ref: '#/components/schemas/NotificationStatusV26' + $ref: '#/components/schemas/NotificationStatusV28' notificationStatusHistory: - $ref: '#/components/schemas/NotificationStatusHistoryV26' + $ref: '#/components/schemas/NotificationStatusHistoryV28' timeline: description: >- elenco dettagliato di tutto ciò che è accaduto durante il processo di notifica type: array items: - $ref: '#/components/schemas/TimelineElementV27' + $ref: '#/components/schemas/TimelineElementV28' Problem: $ref: './remote-refs.yaml#/components/schemas/Problem' - TimelineElementV27: - $ref: './remote-refs.yaml#/components/schemas/TimelineElementV27' - NotificationStatusV26: - $ref: './remote-refs.yaml#/components/schemas/NotificationStatusV26' - NotificationStatusHistoryV26: - $ref: "./remote-refs.yaml#/components/schemas/NotificationStatusHistoryV26" + TimelineElementV28: + $ref: './remote-refs.yaml#/components/schemas/TimelineElementV28' + NotificationStatusV28: + $ref: './remote-refs.yaml#/components/schemas/NotificationStatusV28' + NotificationStatusHistoryV28: + $ref: "./remote-refs.yaml#/components/schemas/NotificationStatusHistoryV28" securitySchemes: # ONLY EXTERNAL bearerAuth: # ONLY EXTERNAL diff --git a/docs/openapi/pn-delivery-b2b-pg-internal.yaml b/docs/openapi/pn-delivery-b2b-pg-internal.yaml index 2d9d1a7de..1fa180f0b 100644 --- a/docs/openapi/pn-delivery-b2b-pg-internal.yaml +++ b/docs/openapi/pn-delivery-b2b-pg-internal.yaml @@ -173,7 +173,7 @@ paths: schema: $ref: '#/components/schemas/Problem' - "/delivery/v2.6/notifications/received/{iun}": + "/delivery/v2.7/notifications/received/{iun}": get: summary: Dettaglio di una notifica ricevuta. description: >- @@ -188,7 +188,7 @@ paths: - eventuali documenti di pagamento (campo payments reperibile nel dettaglio del destinatario) tags: - RecipientReadB2B - operationId: getReceivedNotificationV26 + operationId: getReceivedNotificationV27 # security: # ONLY EXTERNAL # - bearerAuth: [ ] # ONLY EXTERNAL x-api-permissions: @@ -208,7 +208,7 @@ paths: content: "application/json": schema: - $ref: "#/components/schemas/FullReceivedNotificationV26" + $ref: "#/components/schemas/FullReceivedNotificationV27" '400': description: Bad request content: @@ -394,7 +394,7 @@ components: UnauthorizedError: description: Access token is missing or invalid schemas: - FullReceivedNotificationV26: + FullReceivedNotificationV27: description: >- Le informazioni riguardanti una richiesta di notifica accettata e il processo di inoltro della notifica verso i destinatari (Persone Fisiche o Giuridiche). @@ -407,25 +407,25 @@ components: - timeline properties: notificationStatus: - $ref: '#/components/schemas/NotificationStatusV26' + $ref: '#/components/schemas/NotificationStatusV28' notificationStatusHistory: - $ref: '#/components/schemas/NotificationStatusHistoryV26' + $ref: '#/components/schemas/NotificationStatusHistoryV28' timeline: description: >- elenco dettagliato di tutto ciò che è accaduto durante il processo di notifica type: array items: - $ref: '#/components/schemas/TimelineElementV27' + $ref: '#/components/schemas/TimelineElementV28' Problem: $ref: './remote-refs.yaml#/components/schemas/Problem' - TimelineElementV27: - $ref: './remote-refs.yaml#/components/schemas/TimelineElementV27' - NotificationStatusV26: - $ref: './remote-refs.yaml#/components/schemas/NotificationStatusV26' - NotificationStatusHistoryV26: - $ref: "./remote-refs.yaml#/components/schemas/NotificationStatusHistoryV26" + TimelineElementV28: + $ref: './remote-refs.yaml#/components/schemas/TimelineElementV28' + NotificationStatusV28: + $ref: './remote-refs.yaml#/components/schemas/NotificationStatusV28' + NotificationStatusHistoryV28: + $ref: "./remote-refs.yaml#/components/schemas/NotificationStatusHistoryV28" # securitySchemes: # ONLY EXTERNAL # bearerAuth: # ONLY EXTERNAL diff --git a/docs/openapi/remote-refs.yaml b/docs/openapi/remote-refs.yaml index 360ccaeaa..1808fb300 100644 --- a/docs/openapi/remote-refs.yaml +++ b/docs/openapi/remote-refs.yaml @@ -48,12 +48,12 @@ components: ############################################################################################ ### STRUTTURE DATI DI PN-DELIVERY_PUSH ### ############################################################################################ - TimelineElementV27: - $ref: 'https://raw.githubusercontent.com/pagopa/pn-delivery-push/cb915f62157ae160b59dd964b2c975edd453c985/docs/openapi/api-external-b2b-webhook-bundle.yaml#/components/schemas/TimelineElementV27' - NotificationStatusV26: - $ref: 'https://raw.githubusercontent.com/pagopa/pn-delivery-push/cb915f62157ae160b59dd964b2c975edd453c985/docs/openapi/schemas-pn-status.yaml#/components/schemas/NotificationStatusV26' - NotificationStatusHistoryV26: - $ref: 'https://raw.githubusercontent.com/pagopa/pn-delivery-push/cb915f62157ae160b59dd964b2c975edd453c985/docs/openapi/schemas-pn-status.yaml#/components/schemas/NotificationStatusHistoryV26' + TimelineElementV28: + $ref: 'https://raw.githubusercontent.com/pagopa/pn-stream/5be5822a5688c8d562367dc554d2e0ee96bf2690/docs/openapi/pn-stream-api-external-bundle.yaml#/components/schemas/TimelineElementV28' + NotificationStatusV28: + $ref: 'https://raw.githubusercontent.com/pagopa/pn-delivery-push/ec4748debb71e3c1c94f4e759ae1c7f80ca2d1c9/docs/openapi/schemas-pn-status.yaml#/components/schemas/NotificationStatusV28' + NotificationStatusHistoryV28: + $ref: 'https://raw.githubusercontent.com/pagopa/pn-delivery-push/ec4748debb71e3c1c94f4e759ae1c7f80ca2d1c9/docs/openapi/schemas-pn-status.yaml#/components/schemas/NotificationStatusHistoryV28' RequestStatus: $ref: 'https://raw.githubusercontent.com/pagopa/pn-delivery-push/cb915f62157ae160b59dd964b2c975edd453c985/docs/openapi/api-internal-pn-delivery-push.yaml#/components/schemas/RequestStatus' ############################################################################################ @@ -104,8 +104,18 @@ components: # DO NOT CHANGE: this is timeline V2.6 commit id. $ref: 'https://raw.githubusercontent.com/pagopa/pn-delivery-push/898b155966acda508abd4149e0efb5ce66c6e9b0/docs/openapi/api-external-b2b-webhook-bundle.yaml#/components/schemas/TimelineElementV26' + TimelineElementV27: + # DO NOT CHANGE: this is timeline V2.7 commit id. + $ref: 'https://raw.githubusercontent.com/pagopa/pn-delivery-push/cb915f62157ae160b59dd964b2c975edd453c985/docs/openapi/api-external-b2b-webhook-bundle.yaml#/components/schemas/TimelineElementV27' + NotificationStatus: $ref: 'https://raw.githubusercontent.com/pagopa/pn-delivery-push/d551b3605f9607686eccef0299a3e678ad7457ef/docs/openapi/schemas-pn-status.yaml#/components/schemas/NotificationStatus' NotificationStatusHistory: $ref: 'https://raw.githubusercontent.com/pagopa/pn-delivery-push/d551b3605f9607686eccef0299a3e678ad7457ef/docs/openapi/schemas-pn-status.yaml#/components/schemas/NotificationStatusHistory' + + NotificationStatusV26: + $ref: 'https://raw.githubusercontent.com/pagopa/pn-delivery-push/cb915f62157ae160b59dd964b2c975edd453c985/docs/openapi/schemas-pn-status.yaml#/components/schemas/NotificationStatusV26' + + NotificationStatusHistoryV26: + $ref: 'https://raw.githubusercontent.com/pagopa/pn-delivery-push/cb915f62157ae160b59dd964b2c975edd453c985/docs/openapi/schemas-pn-status.yaml#/components/schemas/NotificationStatusHistoryV26' \ No newline at end of file diff --git a/docs/openapi/schemas-pn-notification-older-version.yaml b/docs/openapi/schemas-pn-notification-older-version.yaml index b064caeb0..70a4c6826 100644 --- a/docs/openapi/schemas-pn-notification-older-version.yaml +++ b/docs/openapi/schemas-pn-notification-older-version.yaml @@ -235,6 +235,8 @@ components: ############################################################################################ TimelineElementV26: $ref: './remote-refs.yaml#/components/schemas/TimelineElementV26' + TimelineElementV27: + $ref: './remote-refs.yaml#/components/schemas/TimelineElementV27' NotificationStatusV26: $ref: './remote-refs.yaml#/components/schemas/NotificationStatusV26' NotificationStatusHistoryV26: @@ -274,6 +276,40 @@ components: sourceChannel: # NO EXTERNAL type: string # NO EXTERNAL description: Canale sorgente della richiesta di notifica # NO EXTERNAL + sourceChannelDetails: # NO EXTERNAL + type: string # NO EXTERNAL + description: Dettagli del canale sorgente della richiesta di notifica # NO EXTERNAL + + FullSentNotificationV27: + description: >- + Le informazioni riguardanti una notifica (richiesta di notifica accettata) e il + processo di inoltro della notifica verso il cittadino. + allOf: + - $ref: './schemas-pn-notification.yaml#/components/schemas/SentNotificationV25' + - type: object + required: + - notificationStatus + - notificationStatusHistory + - timeline + properties: + notificationStatus: + $ref: '#/components/schemas/NotificationStatusV26' + notificationStatusHistory: + $ref: '#/components/schemas/NotificationStatusHistoryV26' + timeline: + description: >- + elenco dettagliato di tutto ciò che è accaduto durrante il processo di notifica + type: array + items: + $ref: '#/components/schemas/TimelineElementV27' + recipientIds: # NO EXTERNAL + description: Lista degli identificativi anonimizzati dei destinatari # NO EXTERNAL + type: array # NO EXTERNAL + items: # NO EXTERNAL + type: string # NO EXTERNAL + sourceChannel: # NO EXTERNAL + type: string # NO EXTERNAL + description: Canale sorgente della richiesta di notifica # NO EXTERNAL sourceChannelDetails: # NO EXTERNAL type: string # NO EXTERNAL description: Dettagli del canale sorgente della richiesta di notifica # NO EXTERNAL \ No newline at end of file diff --git a/docs/openapi/schemas-pn-notification.yaml b/docs/openapi/schemas-pn-notification.yaml index 1cfc65a78..83a4b7a0b 100644 --- a/docs/openapi/schemas-pn-notification.yaml +++ b/docs/openapi/schemas-pn-notification.yaml @@ -25,7 +25,7 @@ components: type: string x-field-extra-annotation: "@lombok.ToString.Exclude" # NO EXTERNAL minLength: 1 -# maxLength: 44 # ONLY EXTERNAL +# maxLength: 88 # ONLY EXTERNAL pattern: ^.*$ @@ -634,7 +634,7 @@ components: type: string description: Oggetto della notifica notificationStatus: - $ref: './remote-refs.yaml#/components/schemas/NotificationStatusV26' + $ref: './remote-refs.yaml#/components/schemas/NotificationStatusV28' recipients: description: >- Elenco delle denominazioni dei destinatari della notifica.
diff --git a/docs/openapi/schemas-pn-timeline-appio.yaml b/docs/openapi/schemas-pn-timeline-appio.yaml index a3c0384db..ac475397e 100644 --- a/docs/openapi/schemas-pn-timeline-appio.yaml +++ b/docs/openapi/schemas-pn-timeline-appio.yaml @@ -12,9 +12,11 @@ components: * `DELIVERED` - notifica ricevuta da tutti i destinatari * `VIEWED` - notifica presa visione per almeno un destinatario * `EFFECTIVE_DATE` - notifica perfezionata per un destinatario - * `PAID` - notifica pagata * `UNREACHABLE` - notifica non recapitabile * `CANCELLED` - notifica annullata dal mittente + * `PAID` - [DEPRECATO] Uno dei destinatari ha pagato la notifica + * `RETURNED_TO_SENDER` - La notifica è stata restituita al mittente + * `DELIVERY_TIMEOUT` - La notifica non è stata consegnata entro il termine stabilito NotificationStatusHistory: description: elenco degli avanzamenti effettuati dal processo di notifica diff --git a/functions/versioningV1V2GetNotification/src/app/eventHandler.js b/functions/versioningV1V2GetNotification/src/app/eventHandler.js index b9079051b..5db68ba55 100644 --- a/functions/versioningV1V2GetNotification/src/app/eventHandler.js +++ b/functions/versioningV1V2GetNotification/src/app/eventHandler.js @@ -1,4 +1,5 @@ // converte la risposta V2.x a V1 +const { transformFromV28ToV27 } = require('./mapper/mapperV28ToV27.js'); const { transformFromV27ToV26 } = require('./mapper/mapperV27ToV26.js'); const { transformFromV26ToV25 } = require('./mapper/mapperV26ToV25.js'); const { transformFromV25ToV24 } = require('./mapper/mapperV25ToV24.js'); @@ -87,6 +88,10 @@ exports.versioning = async (event, context) => { version = 26; } + if (event["path"].startsWith("/delivery/v2.7/")) { + version = 27; + } + const headers = JSON.parse(JSON.stringify(event["headers"])); headers["x-pagopa-pn-src-ch"] = "B2B"; @@ -132,7 +137,8 @@ exports.versioning = async (event, context) => { "PAID", "UNREACHABLE", "CANCELLED", - "RETURNED_TO_SENDER" + "RETURNED_TO_SENDER", + "DELIVERY_TIMEOUT" ]; if (!notificationStatus_ENUM.includes(response.data.notificationStatus)) { @@ -217,7 +223,10 @@ function applyMappings(version, response) { transformedObject = transformFromV26ToV25(applyMappings(26, response)); break; case 26: - transformedObject = transformFromV27ToV26(response.data); + transformedObject = transformFromV27ToV26(applyMappings(27, response)); + break; + case 27: + transformedObject = transformFromV28ToV27(response.data); break; } return transformedObject; diff --git a/functions/versioningV1V2GetNotification/src/app/mapper/mapperV28ToV27.js b/functions/versioningV1V2GetNotification/src/app/mapper/mapperV28ToV27.js new file mode 100644 index 000000000..f04653541 --- /dev/null +++ b/functions/versioningV1V2GetNotification/src/app/mapper/mapperV28ToV27.js @@ -0,0 +1,26 @@ +const {adjustTimelineAndHistory} = require('./mapperUtils.js'); + +exports.transformFromV28ToV27 = function (responseV28) { + console.log("transformFromV28ToV27"); + + const CATEGORY_TO_EXCLUDE = ["SEND_ANALOG_TIMEOUT", "ANALOG_FAILURE_WORKFLOW_TIMEOUT"]; + + let responseV27 = responseV28; + + const adjustedTimelineAndHistory = adjustTimelineAndHistory(responseV27.timeline, responseV27.notificationStatusHistory, CATEGORY_TO_EXCLUDE, transformTimeline, transformHistory); + + responseV27.timeline = adjustedTimelineAndHistory.timeline; + responseV27.notificationStatusHistory = adjustedTimelineAndHistory.history; + // Settiamo l'ultimo stato della history come stato finale, necessario in caso i filtri applicati sulla history abbiano rimosso gli ultimi stati + responseV27.notificationStatus = adjustedTimelineAndHistory.history[adjustedTimelineAndHistory.history.length - 1].status; + + return responseV27; +} + +function transformTimeline(tl){ + return tl; +} + +function transformHistory(timelineIds, adjustedHistory){ + return adjustedHistory.filter(nsh => nsh.status !== "DELIVERY_TIMEOUT"); +} diff --git a/functions/versioningV1V2GetNotification/src/test/eventHandler.test.js b/functions/versioningV1V2GetNotification/src/test/eventHandler.test.js index 1a84133ca..aad90bc71 100644 --- a/functions/versioningV1V2GetNotification/src/test/eventHandler.test.js +++ b/functions/versioningV1V2GetNotification/src/test/eventHandler.test.js @@ -842,4 +842,115 @@ describe("eventHandler tests", function () { expect(res.statusCode).to.equal(400) }); + it("statusCode 200 v27 mono recipient", async () => { + const notificationJSON = fs.readFileSync("./src/test/notification_timeout_mono.json"); + let notification = JSON.parse(notificationJSON); + process.env = Object.assign(process.env, { + PN_DELIVERY_URL: "https://api.dev.notifichedigitali.it", + ATTEMPT_TIMEOUT_SEC: 5, + NUM_RETRY: 3 + }); + + const iunValue = "1234"; + let url = `${process.env.PN_DELIVERY_URL}/notifications/sent/${iunValue}`; + mock.onGet(url).reply(200, notification, { "Content-Type": "application/json" }); + const event = { + pathParameters: { iun: iunValue }, + headers: {}, + requestContext: { + authorizer: {}, + }, + resource: "/notifications/sent/{iun}", + path: "/delivery/v2.7/notifications/sent/MOCK_IUN", + httpMethod: "GET", + }; + const context = {}; + const response = await versioning(event, context); + expect(response.statusCode).to.equal(200); + let resJson = JSON.parse(response.body); + const notificationStatusHistory = resJson.notificationStatusHistory; + const lastTimeoutStatusElement = notificationStatusHistory[notificationStatusHistory.length - 1]; + expect(lastTimeoutStatusElement.status).to.be.equal("DELIVERING"); + const notificationStatus = resJson.notificationStatus; + expect(notificationStatus).to.be.equal("DELIVERING"); + let isSendAnalogTimeoutPresent = resJson.timeline.some(element => element.category === 'SEND_ANALOG_TIMEOUT'); + let isAnalogFailureWorkflowTimeoutPresent = resJson.timeline.some(element => element.category === 'ANALOG_FAILURE_WORKFLOW_TIMEOUT'); + expect(isSendAnalogTimeoutPresent).to.be.false; + expect(isAnalogFailureWorkflowTimeoutPresent).to.be.false; + }); + + it("statusCode 200 v27 multi recipient", async () => { + const notificationJSON = fs.readFileSync("./src/test/notification_timeout_multi.json"); + let notification = JSON.parse(notificationJSON); + process.env = Object.assign(process.env, { + PN_DELIVERY_URL: "https://api.dev.notifichedigitali.it", + ATTEMPT_TIMEOUT_SEC: 5, + NUM_RETRY: 3 + }); + + const iunValue = "1234"; + let url = `${process.env.PN_DELIVERY_URL}/notifications/sent/${iunValue}`; + mock.onGet(url).reply(200, notification, { "Content-Type": "application/json" }); + const event = { + pathParameters: { iun: iunValue }, + headers: {}, + requestContext: { + authorizer: {}, + }, + resource: "/notifications/sent/{iun}", + path: "/delivery/v2.7/notifications/sent/MOCK_IUN", + httpMethod: "GET", + }; + const context = {}; + const response = await versioning(event, context); + expect(response.statusCode).to.equal(200); + let resJson = JSON.parse(response.body); + const notificationStatusHistory = resJson.notificationStatusHistory; + const lastTimeoutStatusElement = notificationStatusHistory[notificationStatusHistory.length - 1]; + expect(lastTimeoutStatusElement.status).to.be.equal("EFFECTIVE_DATE"); + const notificationStatus = resJson.notificationStatus; + expect(notificationStatus).to.be.equal("EFFECTIVE_DATE"); + let isSendAnalogTimeoutPresent = resJson.timeline.some(element => element.category === 'SEND_ANALOG_TIMEOUT'); + let isAnalogFailureWorkflowTimeoutPresent = resJson.timeline.some(element => element.category === 'ANALOG_FAILURE_WORKFLOW_TIMEOUT'); + expect(isSendAnalogTimeoutPresent).to.be.false; + expect(isAnalogFailureWorkflowTimeoutPresent).to.be.false; + }); + + it("statusCode 200 v27 multi recipient with deceased", async () => { + const notificationJSON = fs.readFileSync("./src/test/notification_timeout_multi_with_deceased.json"); + let notification = JSON.parse(notificationJSON); + process.env = Object.assign(process.env, { + PN_DELIVERY_URL: "https://api.dev.notifichedigitali.it", + ATTEMPT_TIMEOUT_SEC: 5, + NUM_RETRY: 3 + }); + + const iunValue = "1234"; + let url = `${process.env.PN_DELIVERY_URL}/notifications/sent/${iunValue}`; + mock.onGet(url).reply(200, notification, { "Content-Type": "application/json" }); + const event = { + pathParameters: { iun: iunValue }, + headers: {}, + requestContext: { + authorizer: {}, + }, + resource: "/notifications/sent/{iun}", + path: "/delivery/v2.7/notifications/sent/MOCK_IUN", + httpMethod: "GET", + }; + const context = {}; + const response = await versioning(event, context); + expect(response.statusCode).to.equal(200); + let resJson = JSON.parse(response.body); + const notificationStatusHistory = resJson.notificationStatusHistory; + const lastTimeoutStatusElement = notificationStatusHistory[notificationStatusHistory.length - 1]; + expect(lastTimeoutStatusElement.status).to.be.equal("DELIVERING"); + const notificationStatus = resJson.notificationStatus; + expect(notificationStatus).to.be.equal("DELIVERING"); + let isSendAnalogTimeoutPresent = resJson.timeline.some(element => element.category === 'SEND_ANALOG_TIMEOUT'); + let isAnalogFailureWorkflowTimeoutPresent = resJson.timeline.some(element => element.category === 'ANALOG_FAILURE_WORKFLOW_TIMEOUT'); + expect(isSendAnalogTimeoutPresent).to.be.false; + expect(isAnalogFailureWorkflowTimeoutPresent).to.be.false; + }); + }); diff --git a/functions/versioningV1V2GetNotification/src/test/notification_timeout_mono.json b/functions/versioningV1V2GetNotification/src/test/notification_timeout_mono.json new file mode 100644 index 000000000..7ba572126 --- /dev/null +++ b/functions/versioningV1V2GetNotification/src/test/notification_timeout_mono.json @@ -0,0 +1,396 @@ +{ + "abstract": "Abstract della notifica", + "subject": "invio notifica con cucumber", + "senderPaId": "5b994d4a-0fa8-47ac-9c7b-354f1d44a1ce", + "iun": "EDXD-TUPX-LNWH-202309-Z-1", + "sentAt": "2023-09-14T10:48:52.338693292Z", + "paProtocolNumber": "302321694688513851", + "documentsAvailable": true, + "notificationStatus": "DELIVERY_TIMEOUT", + "paFee": 100, + "additionalLanguages": ["DE"], + "vat": 22, + "recipients": [ + { + "recipientType": "PF", + "taxId": "CLMCST42R12D969Z", + "denomination": "Mario Gherkin", + "payments": [ + { + "pagoPa": { + "noticeCode": "302011695374606354", + "creditorTaxId": "77777777777", + "applyCost": true, + "attachment": { + "digests": { + "sha256": "jezIVxlG1M1woCSUngM6KipUN3/p8cG5RMIPnuEanlE=" + }, + "contentType": "application/pdf", + "ref": { + "key": "PN_NOTIFICATION_ATTACHMENTS-7e5e2a329ead4a8aa57240cde190710a.pdf", + "versionToken": "v1" + } + } + } + }, + { + "pagoPa": { + "noticeCode": "302011695374606355", + "creditorTaxId": "77777777777", + "applyCost": true + } + } + ], + "physicalAddress": { + "at": "Presso", + "address": "VIA@OK_AR", + "addressDetails": "SCALA B", + "zip": "87100", + "municipality": "COSENZA", + "municipalityDetails": "COSENZA", + "province": "CS", + "foreignState": "ITALIA" + } + } + ], + "documents": [ + { + "contentType": "application/pdf", + "digests": { + "sha256": "jezIVxlG1M1woCSUngM6KipUN3/p8cG5RMIPnuEanlE=" + }, + "ref": { + "key": "PN_NOTIFICATION_ATTACHMENTS-42e254366cc846858852430b0c543eb8.pdf", + "versionToken": "v1" + }, + "docIdx": "0" + } + ], + "notificationFeePolicy": "FLAT_RATE", + "notificationStatusHistory": [ + { + "status": "ACCEPTED", + "activeFrom": "2023-09-14T10:48:52.338693292Z", + "relatedTimelineElements": [ + "REQUEST_ACCEPTED.IUN_EDXD-TUPX-LNWH-202309-Z-1", + "AAR_CREATION_REQUEST.IUN_EDXD-TUPX-LNWH-202309-Z-1.RECINDEX_0", + "AAR_GEN.IUN_EDXD-TUPX-LNWH-202309-Z-1.RECINDEX_0", + "GET_ADDRESS.IUN_EDXD-TUPX-LNWH-202309-Z-1.RECINDEX_0.SOURCE_PLATFORM.ATTEMPT_0", + "GET_ADDRESS.IUN_EDXD-TUPX-LNWH-202309-Z-1.RECINDEX_0.SOURCE_SPECIAL.ATTEMPT_0", + "NATIONAL_REGISTRY_CALL.IUN_EDXD-TUPX-LNWH-202309-Z-1.RECINDEX_0.DELIVERYMODE_DIGITAL.CONTACTPHASE_CHOOSE_DELIVERY.ATTEMPT_0", + "NATIONAL_REGISTRY_RESPONSE.CORRELATIONID_NATIONAL_REGISTRY_CALL.IUN_EDXD-TUPX-LNWH-202309-Z-1.RECINDEX_0.DELIVERYMODE_DIGITAL.CONTACTPHASE_CHOOSE_DELIVERY.ATTEMPT_0", + "GET_ADDRESS.IUN_EDXD-TUPX-LNWH-202309-Z-1.RECINDEX_0.SOURCE_GENERAL.ATTEMPT_0", + "SCHEDULE_ANALOG_WORKFLOW.IUN_EDXD-TUPX-LNWH-202309-Z-1.RECINDEX_0", + "PREPARE_ANALOG_DOMICILE.IUN_EDXD-TUPX-LNWH-202309-Z-1.RECINDEX_0.ATTEMPT_0" + ] + }, + { + "status": "DELIVERING", + "activeFrom": "2023-09-14T10:51:05.688688798Z", + "relatedTimelineElements": [ + "SEND_ANALOG_DOMICILE.IUN_EDXD-TUPX-LNWH-202309-Z-1.RECINDEX_0.ATTEMPT_0", + "SEND_ANALOG_PROGRESS.IUN_EDXD-TUPX-LNWH-202309-Z-1.RECINDEX_0.ATTEMPT_0.IDX_1", + "SEND_ANALOG_PROGRESS.IUN_EDXD-TUPX-LNWH-202309-Z-1.RECINDEX_0.ATTEMPT_0.IDX_2", + "SEND_ANALOG_TIMEOUT.IUN_EDXD-TUPX-LNWH-202309-Z-1.RECINDEX_0.ATTEMPT_0" + ] + }, + { + "status": "DELIVERY_TIMEOUT", + "activeFrom": "2023-09-14T10:55:32.508729612Z", + "relatedTimelineElements": [ + "ANALOG_FAILURE_WORKFLOW_TIMEOUT.IUN_EDXD-TUPX-LNWH-202309-Z-1.RECINDEX_0" + ] + } + ], + "timeline": [ + { + "elementId": "VALIDATE_NORMALIZE_ADDRESSES_REQUEST.IUN_EDXD-TUPX-LNWH-202309-Z-1", + "timestamp": "2023-09-14T10:49:10.12349562Z", + "legalFactsIds": [], + "category": "VALIDATE_NORMALIZE_ADDRESSES_REQUEST" + }, + { + "elementId": "NORMALIZED_ADDRESS.IUN_EDXD-TUPX-LNWH-202309-Z-1.RECINDEX_0", + "timestamp": "2023-09-14T10:49:11.825356697Z", + "legalFactsIds": [], + "category": "NORMALIZED_ADDRESS", + "details": { + "recIndex": 0, + "oldAddress": { + "at": "Presso", + "address": "Via@ok_AR", + "addressDetails": "scala b", + "zip": "87100", + "municipality": "Cosenza", + "municipalityDetails": "Cosenza", + "province": "CS", + "foreignState": "ITALIA" + }, + "normalizedAddress": { + "at": "Presso", + "address": "VIA@OK_AR", + "addressDetails": "SCALA B", + "zip": "87100", + "municipality": "COSENZA", + "municipalityDetails": "COSENZA", + "province": "CS", + "foreignState": "ITALIA" + }, + "notRefinedRecipientIndexes": [] + } + }, + { + "elementId": "SENDERACK_LEGALFACT_CREATION_REQUEST.IUN_EDXD-TUPX-LNWH-202309-Z-1", + "timestamp": "2023-09-14T10:49:22.070921709Z", + "legalFactsIds": [], + "category": "SENDER_ACK_CREATION_REQUEST", + "details": { + "legalFactId": "safestorage://PN_LEGAL_FACTS-4b16e925306b4e8db301a9e561703ca3.pdf", + "notRefinedRecipientIndexes": [] + } + }, + { + "elementId": "REQUEST_ACCEPTED.IUN_EDXD-TUPX-LNWH-202309-Z-1", + "timestamp": "2023-09-14T10:49:41.312990195Z", + "legalFactsIds": [ + { + "key": "safestorage://PN_LEGAL_FACTS-4b16e925306b4e8db301a9e561703ca3.pdf", + "category": "SENDER_ACK" + } + ], + "category": "REQUEST_ACCEPTED", + "details": { + "notRefinedRecipientIndexes": [] + } + }, + { + "elementId": "AAR_CREATION_REQUEST.IUN_EDXD-TUPX-LNWH-202309-Z-1.RECINDEX_0", + "timestamp": "2023-09-14T10:49:51.007004509Z", + "legalFactsIds": [], + "category": "AAR_CREATION_REQUEST", + "details": { + "recIndex": 0, + "numberOfPages": 1, + "aarKey": "safestorage://PN_AAR-1e432ccb59c44d41adb8d15bc755e61b.pdf", + "notRefinedRecipientIndexes": [] + } + }, + { + "elementId": "AAR_GEN.IUN_EDXD-TUPX-LNWH-202309-Z-1.RECINDEX_0", + "timestamp": "2023-09-14T10:50:11.290604707Z", + "legalFactsIds": [], + "category": "AAR_GENERATION", + "details": { + "recIndex": 0, + "generatedAarUrl": "safestorage://PN_AAR-1e432ccb59c44d41adb8d15bc755e61b.pdf", + "numberOfPages": 1, + "notRefinedRecipientIndexes": [] + } + }, + { + "elementId": "GET_ADDRESS.IUN_EDXD-TUPX-LNWH-202309-Z-1.RECINDEX_0.SOURCE_PLATFORM.ATTEMPT_0", + "timestamp": "2023-09-14T10:50:25.817503438Z", + "legalFactsIds": [], + "category": "GET_ADDRESS", + "details": { + "recIndex": 0, + "digitalAddressSource": "PLATFORM", + "isAvailable": false, + "attemptDate": "2023-09-14T10:50:25.8174986Z", + "notRefinedRecipientIndexes": [] + } + }, + { + "elementId": "GET_ADDRESS.IUN_EDXD-TUPX-LNWH-202309-Z-1.RECINDEX_0.SOURCE_SPECIAL.ATTEMPT_0", + "timestamp": "2023-09-14T10:50:25.850592471Z", + "legalFactsIds": [], + "category": "GET_ADDRESS", + "details": { + "recIndex": 0, + "digitalAddressSource": "SPECIAL", + "isAvailable": false, + "attemptDate": "2023-09-14T10:50:25.850588843Z", + "notRefinedRecipientIndexes": [] + } + }, + { + "elementId": "NATIONAL_REGISTRY_CALL.IUN_EDXD-TUPX-LNWH-202309-Z-1.RECINDEX_0.DELIVERYMODE_DIGITAL.CONTACTPHASE_CHOOSE_DELIVERY.ATTEMPT_0", + "timestamp": "2023-09-14T10:50:26.715922781Z", + "legalFactsIds": [], + "category": "PUBLIC_REGISTRY_CALL", + "details": { + "recIndex": 0, + "deliveryMode": "DIGITAL", + "contactPhase": "CHOOSE_DELIVERY", + "sentAttemptMade": 0, + "sendDate": "2023-09-14T10:50:26.715911568Z", + "notRefinedRecipientIndexes": [] + } + }, + { + "elementId": "NATIONAL_REGISTRY_RESPONSE.CORRELATIONID_NATIONAL_REGISTRY_CALL.IUN_EDXD-TUPX-LNWH-202309-Z-1.RECINDEX_0.DELIVERYMODE_DIGITAL.CONTACTPHASE_CHOOSE_DELIVERY.ATTEMPT_0", + "timestamp": "2023-09-14T10:50:52.364947422Z", + "legalFactsIds": [], + "category": "PUBLIC_REGISTRY_RESPONSE", + "details": { + "recIndex": 0, + "notRefinedRecipientIndexes": [] + } + }, + { + "elementId": "GET_ADDRESS.IUN_EDXD-TUPX-LNWH-202309-Z-1.RECINDEX_0.SOURCE_GENERAL.ATTEMPT_0", + "timestamp": "2023-09-14T10:50:52.402237063Z", + "legalFactsIds": [], + "category": "GET_ADDRESS", + "details": { + "recIndex": 0, + "digitalAddressSource": "GENERAL", + "isAvailable": false, + "attemptDate": "2023-09-14T10:50:52.402232342Z", + "notRefinedRecipientIndexes": [] + } + }, + { + "elementId": "SCHEDULE_ANALOG_WORKFLOW.IUN_EDXD-TUPX-LNWH-202309-Z-1.RECINDEX_0", + "timestamp": "2023-09-14T10:50:52.437118886Z", + "legalFactsIds": [], + "category": "SCHEDULE_ANALOG_WORKFLOW", + "details": { + "recIndex": 0, + "notRefinedRecipientIndexes": [] + } + }, + { + "elementId": "PREPARE_ANALOG_DOMICILE.IUN_EDXD-TUPX-LNWH-202309-Z-1.RECINDEX_0.ATTEMPT_0", + "timestamp": "2023-09-14T10:51:02.52717704Z", + "legalFactsIds": [], + "category": "PREPARE_ANALOG_DOMICILE", + "details": { + "recIndex": 0, + "physicalAddress": { + "at": "Presso", + "address": "VIA@OK_AR", + "addressDetails": "SCALA B", + "zip": "87100", + "municipality": "COSENZA", + "municipalityDetails": "COSENZA", + "province": "CS", + "foreignState": "ITALIA" + }, + "sentAttemptMade": 0, + "serviceLevel": "REGISTERED_LETTER_890", + "notRefinedRecipientIndexes": [] + } + }, + { + "elementId": "SEND_ANALOG_DOMICILE.IUN_EDXD-TUPX-LNWH-202309-Z-1.RECINDEX_0.ATTEMPT_0", + "timestamp": "2023-09-14T10:51:05.688688798Z", + "legalFactsIds": [], + "category": "SEND_ANALOG_DOMICILE", + "details": { + "recIndex": 0, + "physicalAddress": { + "at": "Presso", + "address": "VIA@OK_AR", + "addressDetails": "SCALA B", + "zip": "87100", + "municipality": "COSENZA", + "municipalityDetails": "COSENZA", + "province": "CS", + "foreignState": "ITALIA" + }, + "sentAttemptMade": 0, + "serviceLevel": "REGISTERED_LETTER_890", + "productType": "890", + "analogCost": 857, + "numberOfPages": 3, + "envelopeWeight": 20, + "prepareRequestId": "PREPARE_ANALOG_DOMICILE.IUN_EDXD-TUPX-LNWH-202309-Z-1.RECINDEX_0.ATTEMPT_0", + "notRefinedRecipientIndexes": [] + } + }, + { + "elementId": "SEND_ANALOG_PROGRESS.IUN_EDXD-TUPX-LNWH-202309-Z-1.RECINDEX_0.ATTEMPT_0.IDX_1", + "timestamp": "2023-09-14T10:55:08Z", + "legalFactsIds": [], + "category": "SEND_ANALOG_PROGRESS", + "details": { + "recIndex": 0, + "notificationDate": "2023-09-14T10:55:08Z", + "deliveryDetailCode": "CON080", + "sendRequestId": "SEND_ANALOG_DOMICILE.IUN_EDXD-TUPX-LNWH-202309-Z-1.RECINDEX_0.ATTEMPT_0", + "registeredLetterCode": "c2fedd028cc2449e90897d6530652c7a", + "notRefinedRecipientIndexes": [], + "serviceLevel": "REGISTERED_LETTER_890" + } + }, + { + "elementId": "SEND_ANALOG_PROGRESS.IUN_EDXD-TUPX-LNWH-202309-Z-1.RECINDEX_0.ATTEMPT_0.IDX_2", + "timestamp": "2023-09-14T10:55:17Z", + "legalFactsIds": [ + { + "key": "safestorage://PN_EXTERNAL_LEGAL_FACTS-c562b3e8d01048f2a8b051ec194b5a36.pdf", + "category": "ANALOG_DELIVERY" + } + ], + "category": "SEND_ANALOG_PROGRESS", + "details": { + "recIndex": 0, + "notificationDate": "2023-09-14T10:55:17Z", + "deliveryDetailCode": "RECRN001B", + "attachments": [ + { + "id": "0", + "documentType": "AR", + "url": "safestorage://PN_EXTERNAL_LEGAL_FACTS-c562b3e8d01048f2a8b051ec194b5a36.pdf", + "date": "2023-09-14T10:55:18.298191Z" + } + ], + "sendRequestId": "SEND_ANALOG_DOMICILE.IUN_EDXD-TUPX-LNWH-202309-Z-1.RECINDEX_0.ATTEMPT_0", + "registeredLetterCode": "c2fedd028cc2449e90897d6530652c7a", + "notRefinedRecipientIndexes": [] + } + }, + { + "elementId": "NOTIFICATION_VIEWED.IUN_EDXD-TUPX-LNWH-202309-Z-1.RECINDEX_0", + "timestamp": "2023-09-14T10:59:34.466420178Z", + "legalFactsIds": [], + "category": "NOTIFICATION_VIEWED", + "details": { + "recIndex": 0, + "notificationCost": 0, + "eventTimestamp": "2023-09-14T10:59:34.366420178Z" + } + }, + { + "elementId": "SEND_ANALOG_TIMEOUT.IUN_EDXD-TUPX-LNWH-202309-Z-1.RECINDEX_0", + "timestamp": "2023-09-14T10:55:32.630866286Z", + "legalFactsIds": [], + "notificationSentAt": "2023-09-14T10:48:52.338693292Z", + "category": "SEND_ANALOG_TIMEOUT", + "details": { + "recIndex": 0, + "schedulingDate": "2023-09-14T10:59:24Z", + "notRefinedRecipientIndexes": [] + } + }, + { + "elementId": "ANALOG_FAILURE_WORKFLOW_TIMEOUT.IUN_EDXD-TUPX-LNWH-202309-Z-1.RECINDEX_0", + "timestamp": "2023-09-14T10:55:32.630866286Z", + "legalFactsIds": [], + "notificationSentAt": "2023-09-14T10:48:52.338693292Z", + "category": "ANALOG_FAILURE_WORKFLOW_TIMEOUT", + "details": { + "recIndex": 0, + "schedulingDate": "2023-09-14T10:59:24Z", + "notRefinedRecipientIndexes": [] + } + } + ], + "physicalCommunicationType": "REGISTERED_LETTER_890", + "senderDenomination": "Comune di milano", + "senderTaxId": "80016350821", + "group": "000", + "taxonomyCode": "010202N", + "pagoPaIntMode": "NONE" +} \ No newline at end of file diff --git a/functions/versioningV1V2GetNotification/src/test/notification_timeout_multi.json b/functions/versioningV1V2GetNotification/src/test/notification_timeout_multi.json new file mode 100644 index 000000000..24a56736f --- /dev/null +++ b/functions/versioningV1V2GetNotification/src/test/notification_timeout_multi.json @@ -0,0 +1,494 @@ +{ + "abstract": "Abstract della notifica", + "subject": "invio notifica con cucumber", + "senderPaId": "5b994d4a-0fa8-47ac-9c7b-354f1d44a1ce", + "iun": "EDXD-TUPX-LNWH-202309-Z-1", + "sentAt": "2023-09-14T10:48:52.338693292Z", + "paProtocolNumber": "302321694688513851", + "documentsAvailable": true, + "notificationStatus": "DELIVERY_TIMEOUT", + "paFee": 100, + "additionalLanguages": ["DE"], + "vat": 22, + "recipients": [ + { + "recipientType": "PF", + "taxId": "CLMCST42R12D969Z", + "denomination": "Mario Gherkin", + "payments": [ + { + "pagoPa": { + "noticeCode": "302011695374606354", + "creditorTaxId": "77777777777", + "applyCost": true, + "attachment": { + "digests": { + "sha256": "jezIVxlG1M1woCSUngM6KipUN3/p8cG5RMIPnuEanlE=" + }, + "contentType": "application/pdf", + "ref": { + "key": "PN_NOTIFICATION_ATTACHMENTS-7e5e2a329ead4a8aa57240cde190710a.pdf", + "versionToken": "v1" + } + } + } + }, + { + "pagoPa": { + "noticeCode": "302011695374606355", + "creditorTaxId": "77777777777", + "applyCost": true + } + } + ], + "physicalAddress": { + "at": "Presso", + "address": "VIA@OK_AR", + "addressDetails": "SCALA B", + "zip": "87100", + "municipality": "COSENZA", + "municipalityDetails": "COSENZA", + "province": "CS", + "foreignState": "ITALIA" + } + }, + { + "recipientType": "PF", + "taxId": "CLMCKN42R12D969Z", + "denomination": "Clemente Gherkin", + "payments": [ + { + "pagoPa": { + "noticeCode": "302011695374606354", + "creditorTaxId": "77777777777", + "applyCost": true, + "attachment": { + "digests": { + "sha256": "jezIVxlG1M1woCSUngM6KipUN3/p8cG5RMIPnuEanlE=" + }, + "contentType": "application/pdf", + "ref": { + "key": "PN_NOTIFICATION_ATTACHMENTS-7e5e2a329ead4a8aa57240cde190710a.pdf", + "versionToken": "v1" + } + } + } + }, + { + "pagoPa": { + "noticeCode": "302011695374606355", + "creditorTaxId": "77777777777", + "applyCost": true + } + } + ], + "physicalAddress": { + "at": "Presso", + "address": "VIA@OK_AR", + "addressDetails": "SCALA B", + "zip": "87100", + "municipality": "COSENZA", + "municipalityDetails": "COSENZA", + "province": "CS", + "foreignState": "ITALIA" + } + } + ], + "documents": [ + { + "contentType": "application/pdf", + "digests": { + "sha256": "jezIVxlG1M1woCSUngM6KipUN3/p8cG5RMIPnuEanlE=" + }, + "ref": { + "key": "PN_NOTIFICATION_ATTACHMENTS-42e254366cc846858852430b0c543eb8.pdf", + "versionToken": "v1" + }, + "docIdx": "0" + } + ], + "notificationFeePolicy": "FLAT_RATE", + "notificationStatusHistory": [ + { + "status": "ACCEPTED", + "activeFrom": "2023-09-14T10:48:52.338693292Z", + "relatedTimelineElements": [ + "REQUEST_ACCEPTED.IUN_EDXD-TUPX-LNWH-202309-Z-1", + "AAR_CREATION_REQUEST.IUN_EDXD-TUPX-LNWH-202309-Z-1.RECINDEX_0", + "AAR_GEN.IUN_EDXD-TUPX-LNWH-202309-Z-1.RECINDEX_0", + "GET_ADDRESS.IUN_EDXD-TUPX-LNWH-202309-Z-1.RECINDEX_0.SOURCE_PLATFORM.ATTEMPT_0", + "GET_ADDRESS.IUN_EDXD-TUPX-LNWH-202309-Z-1.RECINDEX_0.SOURCE_SPECIAL.ATTEMPT_0", + "NATIONAL_REGISTRY_CALL.IUN_EDXD-TUPX-LNWH-202309-Z-1.RECINDEX_0.DELIVERYMODE_DIGITAL.CONTACTPHASE_CHOOSE_DELIVERY.ATTEMPT_0", + "NATIONAL_REGISTRY_RESPONSE.CORRELATIONID_NATIONAL_REGISTRY_CALL.IUN_EDXD-TUPX-LNWH-202309-Z-1.RECINDEX_0.DELIVERYMODE_DIGITAL.CONTACTPHASE_CHOOSE_DELIVERY.ATTEMPT_0", + "GET_ADDRESS.IUN_EDXD-TUPX-LNWH-202309-Z-1.RECINDEX_0.SOURCE_GENERAL.ATTEMPT_0", + "SCHEDULE_ANALOG_WORKFLOW.IUN_EDXD-TUPX-LNWH-202309-Z-1.RECINDEX_0", + "PREPARE_ANALOG_DOMICILE.IUN_EDXD-TUPX-LNWH-202309-Z-1.RECINDEX_0.ATTEMPT_0" + ] + }, + { + "status": "DELIVERING", + "activeFrom": "2023-09-14T10:51:05.688688798Z", + "relatedTimelineElements": [ + "SEND_ANALOG_DOMICILE.IUN_EDXD-TUPX-LNWH-202309-Z-1.RECINDEX_0.ATTEMPT_0", + "SEND_ANALOG_PROGRESS.IUN_EDXD-TUPX-LNWH-202309-Z-1.RECINDEX_0.ATTEMPT_0.IDX_1", + "SEND_ANALOG_PROGRESS.IUN_EDXD-TUPX-LNWH-202309-Z-1.RECINDEX_0.ATTEMPT_0.IDX_2", + "SEND_ANALOG_FEEDBACK.IUN_EDXD-TUPX-LNWH-202309-Z-1.RECINDEX_0.ATTEMPT_0" + ] + }, + { + "status": "DELIVERED", + "activeFrom": "2023-09-14T10:55:32.508729612Z", + "relatedTimelineElements": [ + "ANALOG_SUCCESS_WORKFLOW.IUN_EDXD-TUPX-LNWH-202309-Z-1.RECINDEX_0", + "SCHEDULE_REFINEMENT_WORKFLOW.IUN_EDXD-TUPX-LNWH-202309-Z-1.RECINDEX_0" + ] + }, + { + "status": "EFFECTIVE_DATE", + "activeFrom": "2023-09-14T10:59:34.366420178Z", + "relatedTimelineElements": [ + "REFINEMENT.IUN_EDXD-TUPX-LNWH-202309-Z-1.RECINDEX_0", + "SEND_ANALOG_TIMEOUT.IUN_EDXD-TUPX-LNWH-202309-Z-1.RECINDEX_1", + "ANALOG_FAILURE_WORKFLOW_TIMEOUT.IUN_EDXD-TUPX-LNWH-202309-Z-1.RECINDEX_1" + ] + } + ], + "timeline": [ + { + "elementId": "VALIDATE_NORMALIZE_ADDRESSES_REQUEST.IUN_EDXD-TUPX-LNWH-202309-Z-1", + "timestamp": "2023-09-14T10:49:10.12349562Z", + "legalFactsIds": [], + "category": "VALIDATE_NORMALIZE_ADDRESSES_REQUEST" + }, + { + "elementId": "NORMALIZED_ADDRESS.IUN_EDXD-TUPX-LNWH-202309-Z-1.RECINDEX_0", + "timestamp": "2023-09-14T10:49:11.825356697Z", + "legalFactsIds": [], + "category": "NORMALIZED_ADDRESS", + "details": { + "recIndex": 0, + "oldAddress": { + "at": "Presso", + "address": "Via@ok_AR", + "addressDetails": "scala b", + "zip": "87100", + "municipality": "Cosenza", + "municipalityDetails": "Cosenza", + "province": "CS", + "foreignState": "ITALIA" + }, + "normalizedAddress": { + "at": "Presso", + "address": "VIA@OK_AR", + "addressDetails": "SCALA B", + "zip": "87100", + "municipality": "COSENZA", + "municipalityDetails": "COSENZA", + "province": "CS", + "foreignState": "ITALIA" + }, + "notRefinedRecipientIndexes": [] + } + }, + { + "elementId": "SENDERACK_LEGALFACT_CREATION_REQUEST.IUN_EDXD-TUPX-LNWH-202309-Z-1", + "timestamp": "2023-09-14T10:49:22.070921709Z", + "legalFactsIds": [], + "category": "SENDER_ACK_CREATION_REQUEST", + "details": { + "legalFactId": "safestorage://PN_LEGAL_FACTS-4b16e925306b4e8db301a9e561703ca3.pdf", + "notRefinedRecipientIndexes": [] + } + }, + { + "elementId": "REQUEST_ACCEPTED.IUN_EDXD-TUPX-LNWH-202309-Z-1", + "timestamp": "2023-09-14T10:49:41.312990195Z", + "legalFactsIds": [ + { + "key": "safestorage://PN_LEGAL_FACTS-4b16e925306b4e8db301a9e561703ca3.pdf", + "category": "SENDER_ACK" + } + ], + "category": "REQUEST_ACCEPTED", + "details": { + "notRefinedRecipientIndexes": [] + } + }, + { + "elementId": "AAR_CREATION_REQUEST.IUN_EDXD-TUPX-LNWH-202309-Z-1.RECINDEX_0", + "timestamp": "2023-09-14T10:49:51.007004509Z", + "legalFactsIds": [], + "category": "AAR_CREATION_REQUEST", + "details": { + "recIndex": 0, + "numberOfPages": 1, + "aarKey": "safestorage://PN_AAR-1e432ccb59c44d41adb8d15bc755e61b.pdf", + "notRefinedRecipientIndexes": [] + } + }, + { + "elementId": "AAR_GEN.IUN_EDXD-TUPX-LNWH-202309-Z-1.RECINDEX_0", + "timestamp": "2023-09-14T10:50:11.290604707Z", + "legalFactsIds": [], + "category": "AAR_GENERATION", + "details": { + "recIndex": 0, + "generatedAarUrl": "safestorage://PN_AAR-1e432ccb59c44d41adb8d15bc755e61b.pdf", + "numberOfPages": 1, + "notRefinedRecipientIndexes": [] + } + }, + { + "elementId": "GET_ADDRESS.IUN_EDXD-TUPX-LNWH-202309-Z-1.RECINDEX_0.SOURCE_PLATFORM.ATTEMPT_0", + "timestamp": "2023-09-14T10:50:25.817503438Z", + "legalFactsIds": [], + "category": "GET_ADDRESS", + "details": { + "recIndex": 0, + "digitalAddressSource": "PLATFORM", + "isAvailable": false, + "attemptDate": "2023-09-14T10:50:25.8174986Z", + "notRefinedRecipientIndexes": [] + } + }, + { + "elementId": "GET_ADDRESS.IUN_EDXD-TUPX-LNWH-202309-Z-1.RECINDEX_0.SOURCE_SPECIAL.ATTEMPT_0", + "timestamp": "2023-09-14T10:50:25.850592471Z", + "legalFactsIds": [], + "category": "GET_ADDRESS", + "details": { + "recIndex": 0, + "digitalAddressSource": "SPECIAL", + "isAvailable": false, + "attemptDate": "2023-09-14T10:50:25.850588843Z", + "notRefinedRecipientIndexes": [] + } + }, + { + "elementId": "NATIONAL_REGISTRY_CALL.IUN_EDXD-TUPX-LNWH-202309-Z-1.RECINDEX_0.DELIVERYMODE_DIGITAL.CONTACTPHASE_CHOOSE_DELIVERY.ATTEMPT_0", + "timestamp": "2023-09-14T10:50:26.715922781Z", + "legalFactsIds": [], + "category": "PUBLIC_REGISTRY_CALL", + "details": { + "recIndex": 0, + "deliveryMode": "DIGITAL", + "contactPhase": "CHOOSE_DELIVERY", + "sentAttemptMade": 0, + "sendDate": "2023-09-14T10:50:26.715911568Z", + "notRefinedRecipientIndexes": [] + } + }, + { + "elementId": "NATIONAL_REGISTRY_RESPONSE.CORRELATIONID_NATIONAL_REGISTRY_CALL.IUN_EDXD-TUPX-LNWH-202309-Z-1.RECINDEX_0.DELIVERYMODE_DIGITAL.CONTACTPHASE_CHOOSE_DELIVERY.ATTEMPT_0", + "timestamp": "2023-09-14T10:50:52.364947422Z", + "legalFactsIds": [], + "category": "PUBLIC_REGISTRY_RESPONSE", + "details": { + "recIndex": 0, + "notRefinedRecipientIndexes": [] + } + }, + { + "elementId": "GET_ADDRESS.IUN_EDXD-TUPX-LNWH-202309-Z-1.RECINDEX_0.SOURCE_GENERAL.ATTEMPT_0", + "timestamp": "2023-09-14T10:50:52.402237063Z", + "legalFactsIds": [], + "category": "GET_ADDRESS", + "details": { + "recIndex": 0, + "digitalAddressSource": "GENERAL", + "isAvailable": false, + "attemptDate": "2023-09-14T10:50:52.402232342Z", + "notRefinedRecipientIndexes": [] + } + }, + { + "elementId": "SCHEDULE_ANALOG_WORKFLOW.IUN_EDXD-TUPX-LNWH-202309-Z-1.RECINDEX_0", + "timestamp": "2023-09-14T10:50:52.437118886Z", + "legalFactsIds": [], + "category": "SCHEDULE_ANALOG_WORKFLOW", + "details": { + "recIndex": 0, + "notRefinedRecipientIndexes": [] + } + }, + { + "elementId": "PREPARE_ANALOG_DOMICILE.IUN_EDXD-TUPX-LNWH-202309-Z-1.RECINDEX_0.ATTEMPT_0", + "timestamp": "2023-09-14T10:51:02.52717704Z", + "legalFactsIds": [], + "category": "PREPARE_ANALOG_DOMICILE", + "details": { + "recIndex": 0, + "physicalAddress": { + "at": "Presso", + "address": "VIA@OK_AR", + "addressDetails": "SCALA B", + "zip": "87100", + "municipality": "COSENZA", + "municipalityDetails": "COSENZA", + "province": "CS", + "foreignState": "ITALIA" + }, + "sentAttemptMade": 0, + "serviceLevel": "REGISTERED_LETTER_890", + "notRefinedRecipientIndexes": [] + } + }, + { + "elementId": "SEND_ANALOG_DOMICILE.IUN_EDXD-TUPX-LNWH-202309-Z-1.RECINDEX_0.ATTEMPT_0", + "timestamp": "2023-09-14T10:51:05.688688798Z", + "legalFactsIds": [], + "category": "SEND_ANALOG_DOMICILE", + "details": { + "recIndex": 0, + "physicalAddress": { + "at": "Presso", + "address": "VIA@OK_AR", + "addressDetails": "SCALA B", + "zip": "87100", + "municipality": "COSENZA", + "municipalityDetails": "COSENZA", + "province": "CS", + "foreignState": "ITALIA" + }, + "sentAttemptMade": 0, + "serviceLevel": "REGISTERED_LETTER_890", + "productType": "890", + "analogCost": 857, + "numberOfPages": 3, + "envelopeWeight": 20, + "prepareRequestId": "PREPARE_ANALOG_DOMICILE.IUN_EDXD-TUPX-LNWH-202309-Z-1.RECINDEX_0.ATTEMPT_0", + "notRefinedRecipientIndexes": [] + } + }, + { + "elementId": "SEND_ANALOG_PROGRESS.IUN_EDXD-TUPX-LNWH-202309-Z-1.RECINDEX_0.ATTEMPT_0.IDX_1", + "timestamp": "2023-09-14T10:55:08Z", + "legalFactsIds": [], + "category": "SEND_ANALOG_PROGRESS", + "details": { + "recIndex": 0, + "notificationDate": "2023-09-14T10:55:08Z", + "deliveryDetailCode": "CON080", + "sendRequestId": "SEND_ANALOG_DOMICILE.IUN_EDXD-TUPX-LNWH-202309-Z-1.RECINDEX_0.ATTEMPT_0", + "registeredLetterCode": "c2fedd028cc2449e90897d6530652c7a", + "notRefinedRecipientIndexes": [], + "serviceLevel": "REGISTERED_LETTER_890" + } + }, + { + "elementId": "SEND_ANALOG_PROGRESS.IUN_EDXD-TUPX-LNWH-202309-Z-1.RECINDEX_0.ATTEMPT_0.IDX_2", + "timestamp": "2023-09-14T10:55:17Z", + "legalFactsIds": [ + { + "key": "safestorage://PN_EXTERNAL_LEGAL_FACTS-c562b3e8d01048f2a8b051ec194b5a36.pdf", + "category": "ANALOG_DELIVERY" + } + ], + "category": "SEND_ANALOG_PROGRESS", + "details": { + "recIndex": 0, + "notificationDate": "2023-09-14T10:55:17Z", + "deliveryDetailCode": "RECRN001B", + "attachments": [ + { + "id": "0", + "documentType": "AR", + "url": "safestorage://PN_EXTERNAL_LEGAL_FACTS-c562b3e8d01048f2a8b051ec194b5a36.pdf", + "date": "2023-09-14T10:55:18.298191Z" + } + ], + "sendRequestId": "SEND_ANALOG_DOMICILE.IUN_EDXD-TUPX-LNWH-202309-Z-1.RECINDEX_0.ATTEMPT_0", + "registeredLetterCode": "c2fedd028cc2449e90897d6530652c7a", + "notRefinedRecipientIndexes": [] + } + }, + { + "elementId": "NOTIFICATION_VIEWED.IUN_EDXD-TUPX-LNWH-202309-Z-1.RECINDEX_0", + "timestamp": "2023-09-14T10:59:34.466420178Z", + "legalFactsIds": [], + "category": "NOTIFICATION_VIEWED", + "details": { + "recIndex": 0, + "notificationCost": 0, + "eventTimestamp": "2023-09-14T10:59:34.366420178Z" + } + }, + { + "elementId": "ANALOG_SUCCESS_WORKFLOW.IUN_EDXD-TUPX-LNWH-202309-Z-1.RECINDEX_0", + "timestamp": "2023-09-14T10:55:32.508729612Z", + "legalFactsIds": [], + "category": "ANALOG_SUCCESS_WORKFLOW", + "ingestionTimestamp": "2023-09-14T10:55:32.508729612Z", + "details": { + "recIndex": 0, + "physicalAddress": { + "at": "Presso", + "address": "VIA@OK_AR", + "addressDetails": "SCALA B", + "zip": "87100", + "municipality": "COSENZA", + "municipalityDetails": "COSENZA", + "province": "CS", + "foreignState": "ITALIA" + }, + "notRefinedRecipientIndexes": [] + } + }, + { + "elementId": "SCHEDULE_REFINEMENT_WORKFLOW.IUN_EDXD-TUPX-LNWH-202309-Z-1.RECINDEX_0", + "timestamp": "2023-09-14T10:55:32.630866286Z", + "legalFactsIds": [], + "notificationSentAt": "2023-09-14T10:48:52.338693292Z", + "category": "SCHEDULE_REFINEMENT", + "details": { + "recIndex": 0, + "schedulingDate": "2023-09-14T10:59:24Z", + "notRefinedRecipientIndexes": [] + } + }, + { + "elementId": "REFINEMENT.IUN_EDXD-TUPX-LNWH-202309-Z-1.RECINDEX_0", + "timestamp": "2023-09-14T10:59:34.366420178Z", + "legalFactsIds": [], + "category": "REFINEMENT", + "ingestionTimestamp": "2023-09-14T10:55:32.508729612Z", + "notificationSentAt": "2023-09-14T10:48:52.338693292Z", + "eventTimestamp": "2023-09-14T10:57:12.366420178Z", + "details": { + "recIndex": 0, + "notificationCost": 100, + "notRefinedRecipientIndexes": [] + } + }, + { + "elementId": "SEND_ANALOG_TIMEOUT.IUN_EDXD-TUPX-LNWH-202309-Z-1.RECINDEX_0", + "timestamp": "2023-09-14T10:55:32.630866286Z", + "legalFactsIds": [], + "notificationSentAt": "2023-09-14T10:48:52.338693292Z", + "category": "SEND_ANALOG_TIMEOUT", + "details": { + "recIndex": 0, + "schedulingDate": "2023-09-14T10:59:24Z", + "notRefinedRecipientIndexes": [] + } + }, + { + "elementId": "ANALOG_FAILURE_WORKFLOW_TIMEOUT.IUN_EDXD-TUPX-LNWH-202309-Z-1.RECINDEX_0", + "timestamp": "2023-09-14T10:55:32.630866286Z", + "legalFactsIds": [], + "notificationSentAt": "2023-09-14T10:48:52.338693292Z", + "category": "ANALOG_FAILURE_WORKFLOW_TIMEOUT", + "details": { + "recIndex": 0, + "schedulingDate": "2023-09-14T10:59:24Z", + "notRefinedRecipientIndexes": [] + } + } + ], + "physicalCommunicationType": "REGISTERED_LETTER_890", + "senderDenomination": "Comune di milano", + "senderTaxId": "80016350821", + "group": "000", + "taxonomyCode": "010202N", + "pagoPaIntMode": "NONE" +} \ No newline at end of file diff --git a/functions/versioningV1V2GetNotification/src/test/notification_timeout_multi_with_deceased.json b/functions/versioningV1V2GetNotification/src/test/notification_timeout_multi_with_deceased.json new file mode 100644 index 000000000..2c96fb157 --- /dev/null +++ b/functions/versioningV1V2GetNotification/src/test/notification_timeout_multi_with_deceased.json @@ -0,0 +1,480 @@ +{ + "abstract": "Abstract della notifica", + "subject": "invio notifica con cucumber", + "senderPaId": "5b994d4a-0fa8-47ac-9c7b-354f1d44a1ce", + "iun": "EDXD-TUPX-LNWH-202309-Z-1", + "sentAt": "2023-09-14T10:48:52.338693292Z", + "paProtocolNumber": "302321694688513851", + "documentsAvailable": true, + "notificationStatus": "DELIVERY_TIMEOUT", + "paFee": 100, + "additionalLanguages": ["DE"], + "vat": 22, + "recipients": [ + { + "recipientType": "PF", + "taxId": "CLMCST42R12D969Z", + "denomination": "Mario Gherkin", + "payments": [ + { + "pagoPa": { + "noticeCode": "302011695374606354", + "creditorTaxId": "77777777777", + "applyCost": true, + "attachment": { + "digests": { + "sha256": "jezIVxlG1M1woCSUngM6KipUN3/p8cG5RMIPnuEanlE=" + }, + "contentType": "application/pdf", + "ref": { + "key": "PN_NOTIFICATION_ATTACHMENTS-7e5e2a329ead4a8aa57240cde190710a.pdf", + "versionToken": "v1" + } + } + } + }, + { + "pagoPa": { + "noticeCode": "302011695374606355", + "creditorTaxId": "77777777777", + "applyCost": true + } + } + ], + "physicalAddress": { + "at": "Presso", + "address": "VIA@OK_AR", + "addressDetails": "SCALA B", + "zip": "87100", + "municipality": "COSENZA", + "municipalityDetails": "COSENZA", + "province": "CS", + "foreignState": "ITALIA" + } + }, + { + "recipientType": "PF", + "taxId": "CLMCKN42R12D969Z", + "denomination": "Clemente Gherkin", + "payments": [ + { + "pagoPa": { + "noticeCode": "302011695374606354", + "creditorTaxId": "77777777777", + "applyCost": true, + "attachment": { + "digests": { + "sha256": "jezIVxlG1M1woCSUngM6KipUN3/p8cG5RMIPnuEanlE=" + }, + "contentType": "application/pdf", + "ref": { + "key": "PN_NOTIFICATION_ATTACHMENTS-7e5e2a329ead4a8aa57240cde190710a.pdf", + "versionToken": "v1" + } + } + } + }, + { + "pagoPa": { + "noticeCode": "302011695374606355", + "creditorTaxId": "77777777777", + "applyCost": true + } + } + ], + "physicalAddress": { + "at": "Presso", + "address": "VIA@OK_AR", + "addressDetails": "SCALA B", + "zip": "87100", + "municipality": "COSENZA", + "municipalityDetails": "COSENZA", + "province": "CS", + "foreignState": "ITALIA" + } + } + ], + "documents": [ + { + "contentType": "application/pdf", + "digests": { + "sha256": "jezIVxlG1M1woCSUngM6KipUN3/p8cG5RMIPnuEanlE=" + }, + "ref": { + "key": "PN_NOTIFICATION_ATTACHMENTS-42e254366cc846858852430b0c543eb8.pdf", + "versionToken": "v1" + }, + "docIdx": "0" + } + ], + "notificationFeePolicy": "FLAT_RATE", + "notificationStatusHistory": [ + { + "status": "ACCEPTED", + "activeFrom": "2023-09-14T10:48:52.338693292Z", + "relatedTimelineElements": [ + "REQUEST_ACCEPTED.IUN_EDXD-TUPX-LNWH-202309-Z-1", + "AAR_CREATION_REQUEST.IUN_EDXD-TUPX-LNWH-202309-Z-1.RECINDEX_0", + "AAR_GEN.IUN_EDXD-TUPX-LNWH-202309-Z-1.RECINDEX_0", + "GET_ADDRESS.IUN_EDXD-TUPX-LNWH-202309-Z-1.RECINDEX_0.SOURCE_PLATFORM.ATTEMPT_0", + "GET_ADDRESS.IUN_EDXD-TUPX-LNWH-202309-Z-1.RECINDEX_0.SOURCE_SPECIAL.ATTEMPT_0", + "NATIONAL_REGISTRY_CALL.IUN_EDXD-TUPX-LNWH-202309-Z-1.RECINDEX_0.DELIVERYMODE_DIGITAL.CONTACTPHASE_CHOOSE_DELIVERY.ATTEMPT_0", + "NATIONAL_REGISTRY_RESPONSE.CORRELATIONID_NATIONAL_REGISTRY_CALL.IUN_EDXD-TUPX-LNWH-202309-Z-1.RECINDEX_0.DELIVERYMODE_DIGITAL.CONTACTPHASE_CHOOSE_DELIVERY.ATTEMPT_0", + "GET_ADDRESS.IUN_EDXD-TUPX-LNWH-202309-Z-1.RECINDEX_0.SOURCE_GENERAL.ATTEMPT_0", + "SCHEDULE_ANALOG_WORKFLOW.IUN_EDXD-TUPX-LNWH-202309-Z-1.RECINDEX_0", + "PREPARE_ANALOG_DOMICILE.IUN_EDXD-TUPX-LNWH-202309-Z-1.RECINDEX_0.ATTEMPT_0" + ] + }, + { + "status": "DELIVERING", + "activeFrom": "2023-09-14T10:51:05.688688798Z", + "relatedTimelineElements": [ + "SEND_ANALOG_DOMICILE.IUN_EDXD-TUPX-LNWH-202309-Z-1.RECINDEX_0.ATTEMPT_0", + "SEND_ANALOG_DOMICILE.IUN_EDXD-TUPX-LNWH-202309-Z-1.RECINDEX_1.ATTEMPT_0", + "SEND_ANALOG_PROGRESS.IUN_EDXD-TUPX-LNWH-202309-Z-1.RECINDEX_0.ATTEMPT_0.IDX_1", + "SEND_ANALOG_PROGRESS.IUN_EDXD-TUPX-LNWH-202309-Z-1.RECINDEX_0.ATTEMPT_0.IDX_2", + "SEND_ANALOG_FEEDBACK.IUN_EDXD-TUPX-LNWH-202309-Z-1.RECINDEX_0.ATTEMPT_0", + "ANALOG_WORKFLOW_RECIPIENT_DECEASED.IUN_EDXD-TUPX-LNWH-202309-Z-1.RECINDEX_0", + "SEND_ANALOG_TIMEOUT.IUN_EDXD-TUPX-LNWH-202309-Z-1.RECINDEX_1" + ] + }, + { + "status": "DELIVERY_TIMEOUT", + "activeFrom": "2023-09-14T10:55:32.508729612Z", + "relatedTimelineElements": [ + "ANALOG_FAILURE_WORKFLOW_TIMEOUT.IUN_EDXD-TUPX-LNWH-202309-Z-1.RECINDEX_1" + ] + } + ], + "timeline": [ + { + "elementId": "VALIDATE_NORMALIZE_ADDRESSES_REQUEST.IUN_EDXD-TUPX-LNWH-202309-Z-1", + "timestamp": "2023-09-14T10:49:10.12349562Z", + "legalFactsIds": [], + "category": "VALIDATE_NORMALIZE_ADDRESSES_REQUEST" + }, + { + "elementId": "NORMALIZED_ADDRESS.IUN_EDXD-TUPX-LNWH-202309-Z-1.RECINDEX_0", + "timestamp": "2023-09-14T10:49:11.825356697Z", + "legalFactsIds": [], + "category": "NORMALIZED_ADDRESS", + "details": { + "recIndex": 0, + "oldAddress": { + "at": "Presso", + "address": "Via@ok_AR", + "addressDetails": "scala b", + "zip": "87100", + "municipality": "Cosenza", + "municipalityDetails": "Cosenza", + "province": "CS", + "foreignState": "ITALIA" + }, + "normalizedAddress": { + "at": "Presso", + "address": "VIA@OK_AR", + "addressDetails": "SCALA B", + "zip": "87100", + "municipality": "COSENZA", + "municipalityDetails": "COSENZA", + "province": "CS", + "foreignState": "ITALIA" + }, + "notRefinedRecipientIndexes": [] + } + }, + { + "elementId": "SENDERACK_LEGALFACT_CREATION_REQUEST.IUN_EDXD-TUPX-LNWH-202309-Z-1", + "timestamp": "2023-09-14T10:49:22.070921709Z", + "legalFactsIds": [], + "category": "SENDER_ACK_CREATION_REQUEST", + "details": { + "legalFactId": "safestorage://PN_LEGAL_FACTS-4b16e925306b4e8db301a9e561703ca3.pdf", + "notRefinedRecipientIndexes": [] + } + }, + { + "elementId": "REQUEST_ACCEPTED.IUN_EDXD-TUPX-LNWH-202309-Z-1", + "timestamp": "2023-09-14T10:49:41.312990195Z", + "legalFactsIds": [ + { + "key": "safestorage://PN_LEGAL_FACTS-4b16e925306b4e8db301a9e561703ca3.pdf", + "category": "SENDER_ACK" + } + ], + "category": "REQUEST_ACCEPTED", + "details": { + "notRefinedRecipientIndexes": [] + } + }, + { + "elementId": "AAR_CREATION_REQUEST.IUN_EDXD-TUPX-LNWH-202309-Z-1.RECINDEX_0", + "timestamp": "2023-09-14T10:49:51.007004509Z", + "legalFactsIds": [], + "category": "AAR_CREATION_REQUEST", + "details": { + "recIndex": 0, + "numberOfPages": 1, + "aarKey": "safestorage://PN_AAR-1e432ccb59c44d41adb8d15bc755e61b.pdf", + "notRefinedRecipientIndexes": [] + } + }, + { + "elementId": "AAR_GEN.IUN_EDXD-TUPX-LNWH-202309-Z-1.RECINDEX_0", + "timestamp": "2023-09-14T10:50:11.290604707Z", + "legalFactsIds": [], + "category": "AAR_GENERATION", + "details": { + "recIndex": 0, + "generatedAarUrl": "safestorage://PN_AAR-1e432ccb59c44d41adb8d15bc755e61b.pdf", + "numberOfPages": 1, + "notRefinedRecipientIndexes": [] + } + }, + { + "elementId": "GET_ADDRESS.IUN_EDXD-TUPX-LNWH-202309-Z-1.RECINDEX_0.SOURCE_PLATFORM.ATTEMPT_0", + "timestamp": "2023-09-14T10:50:25.817503438Z", + "legalFactsIds": [], + "category": "GET_ADDRESS", + "details": { + "recIndex": 0, + "digitalAddressSource": "PLATFORM", + "isAvailable": false, + "attemptDate": "2023-09-14T10:50:25.8174986Z", + "notRefinedRecipientIndexes": [] + } + }, + { + "elementId": "GET_ADDRESS.IUN_EDXD-TUPX-LNWH-202309-Z-1.RECINDEX_0.SOURCE_SPECIAL.ATTEMPT_0", + "timestamp": "2023-09-14T10:50:25.850592471Z", + "legalFactsIds": [], + "category": "GET_ADDRESS", + "details": { + "recIndex": 0, + "digitalAddressSource": "SPECIAL", + "isAvailable": false, + "attemptDate": "2023-09-14T10:50:25.850588843Z", + "notRefinedRecipientIndexes": [] + } + }, + { + "elementId": "NATIONAL_REGISTRY_CALL.IUN_EDXD-TUPX-LNWH-202309-Z-1.RECINDEX_0.DELIVERYMODE_DIGITAL.CONTACTPHASE_CHOOSE_DELIVERY.ATTEMPT_0", + "timestamp": "2023-09-14T10:50:26.715922781Z", + "legalFactsIds": [], + "category": "PUBLIC_REGISTRY_CALL", + "details": { + "recIndex": 0, + "deliveryMode": "DIGITAL", + "contactPhase": "CHOOSE_DELIVERY", + "sentAttemptMade": 0, + "sendDate": "2023-09-14T10:50:26.715911568Z", + "notRefinedRecipientIndexes": [] + } + }, + { + "elementId": "NATIONAL_REGISTRY_RESPONSE.CORRELATIONID_NATIONAL_REGISTRY_CALL.IUN_EDXD-TUPX-LNWH-202309-Z-1.RECINDEX_0.DELIVERYMODE_DIGITAL.CONTACTPHASE_CHOOSE_DELIVERY.ATTEMPT_0", + "timestamp": "2023-09-14T10:50:52.364947422Z", + "legalFactsIds": [], + "category": "PUBLIC_REGISTRY_RESPONSE", + "details": { + "recIndex": 0, + "notRefinedRecipientIndexes": [] + } + }, + { + "elementId": "GET_ADDRESS.IUN_EDXD-TUPX-LNWH-202309-Z-1.RECINDEX_0.SOURCE_GENERAL.ATTEMPT_0", + "timestamp": "2023-09-14T10:50:52.402237063Z", + "legalFactsIds": [], + "category": "GET_ADDRESS", + "details": { + "recIndex": 0, + "digitalAddressSource": "GENERAL", + "isAvailable": false, + "attemptDate": "2023-09-14T10:50:52.402232342Z", + "notRefinedRecipientIndexes": [] + } + }, + { + "elementId": "SCHEDULE_ANALOG_WORKFLOW.IUN_EDXD-TUPX-LNWH-202309-Z-1.RECINDEX_0", + "timestamp": "2023-09-14T10:50:52.437118886Z", + "legalFactsIds": [], + "category": "SCHEDULE_ANALOG_WORKFLOW", + "details": { + "recIndex": 0, + "notRefinedRecipientIndexes": [] + } + }, + { + "elementId": "PREPARE_ANALOG_DOMICILE.IUN_EDXD-TUPX-LNWH-202309-Z-1.RECINDEX_0.ATTEMPT_0", + "timestamp": "2023-09-14T10:51:02.52717704Z", + "legalFactsIds": [], + "category": "PREPARE_ANALOG_DOMICILE", + "details": { + "recIndex": 0, + "physicalAddress": { + "at": "Presso", + "address": "VIA@OK_AR", + "addressDetails": "SCALA B", + "zip": "87100", + "municipality": "COSENZA", + "municipalityDetails": "COSENZA", + "province": "CS", + "foreignState": "ITALIA" + }, + "sentAttemptMade": 0, + "serviceLevel": "REGISTERED_LETTER_890", + "notRefinedRecipientIndexes": [] + } + }, + { + "elementId": "SEND_ANALOG_DOMICILE.IUN_EDXD-TUPX-LNWH-202309-Z-1.RECINDEX_0.ATTEMPT_0", + "timestamp": "2023-09-14T10:51:05.688688798Z", + "legalFactsIds": [], + "category": "SEND_ANALOG_DOMICILE", + "details": { + "recIndex": 0, + "physicalAddress": { + "at": "Presso", + "address": "VIA@OK_AR", + "addressDetails": "SCALA B", + "zip": "87100", + "municipality": "COSENZA", + "municipalityDetails": "COSENZA", + "province": "CS", + "foreignState": "ITALIA" + }, + "sentAttemptMade": 0, + "serviceLevel": "REGISTERED_LETTER_890", + "productType": "890", + "analogCost": 857, + "numberOfPages": 3, + "envelopeWeight": 20, + "prepareRequestId": "PREPARE_ANALOG_DOMICILE.IUN_EDXD-TUPX-LNWH-202309-Z-1.RECINDEX_0.ATTEMPT_0", + "notRefinedRecipientIndexes": [] + } + }, + { + "elementId": "SEND_ANALOG_PROGRESS.IUN_EDXD-TUPX-LNWH-202309-Z-1.RECINDEX_0.ATTEMPT_0.IDX_1", + "timestamp": "2023-09-14T10:55:08Z", + "legalFactsIds": [], + "category": "SEND_ANALOG_PROGRESS", + "details": { + "recIndex": 0, + "notificationDate": "2023-09-14T10:55:08Z", + "deliveryDetailCode": "CON080", + "sendRequestId": "SEND_ANALOG_DOMICILE.IUN_EDXD-TUPX-LNWH-202309-Z-1.RECINDEX_0.ATTEMPT_0", + "registeredLetterCode": "c2fedd028cc2449e90897d6530652c7a", + "notRefinedRecipientIndexes": [], + "serviceLevel": "REGISTERED_LETTER_890" + } + }, + { + "elementId": "SEND_ANALOG_PROGRESS.IUN_EDXD-TUPX-LNWH-202309-Z-1.RECINDEX_0.ATTEMPT_0.IDX_2", + "timestamp": "2023-09-14T10:55:17Z", + "legalFactsIds": [ + { + "key": "safestorage://PN_EXTERNAL_LEGAL_FACTS-c562b3e8d01048f2a8b051ec194b5a36.pdf", + "category": "ANALOG_DELIVERY" + } + ], + "category": "SEND_ANALOG_PROGRESS", + "details": { + "recIndex": 0, + "notificationDate": "2023-09-14T10:55:17Z", + "deliveryDetailCode": "RECRN001B", + "attachments": [ + { + "id": "0", + "documentType": "AR", + "url": "safestorage://PN_EXTERNAL_LEGAL_FACTS-c562b3e8d01048f2a8b051ec194b5a36.pdf", + "date": "2023-09-14T10:55:18.298191Z" + } + ], + "sendRequestId": "SEND_ANALOG_DOMICILE.IUN_EDXD-TUPX-LNWH-202309-Z-1.RECINDEX_0.ATTEMPT_0", + "registeredLetterCode": "c2fedd028cc2449e90897d6530652c7a", + "notRefinedRecipientIndexes": [] + } + }, + { + "elementId": "SEND_ANALOG_FEEDBACK.IUN_EDXD-TUPX-LNWH-202309-Z-1.RECINDEX_0.ATTEMPT_0", + "timestamp": "2023-09-14T10:55:24Z", + "legalFactsIds": [], + "category": "SEND_ANALOG_FEEDBACK", + "eventTimestamp": "2023-09-14T10:57:12.366420178Z", + "details": { + "recIndex": 0, + "physicalAddress": { + "at": "Presso", + "address": "VIA@OK_AR", + "addressDetails": "SCALA B", + "zip": "87100", + "municipality": "COSENZA", + "municipalityDetails": "COSENZA", + "province": "CS", + "foreignState": "ITALIA" + }, + "sentAttemptMade": 0, + "responseStatus": "OK", + "notificationDate": "2023-09-14T10:55:24Z", + "deliveryDetailCode": "RECRN001C", + "serviceLevel": "REGISTERED_LETTER_890", + "sendRequestId": "SEND_ANALOG_DOMICILE.IUN_EDXD-TUPX-LNWH-202309-Z-1.RECINDEX_0.ATTEMPT_0", + "registeredLetterCode": "c2fedd028cc2449e90897d6530652c7a", + "notRefinedRecipientIndexes": [] + } + }, + { + "elementId": "ANALOG_WORKFLOW_RECIPIENT_DECEASED.IUN_EDXD-TUPX-LNWH-202309-Z-1.RECINDEX_0", + "timestamp": "2023-09-14T10:55:32.630866286Z", + "legalFactsIds": [], + "notificationSentAt": "2023-09-14T10:48:52.338693292Z", + "category": "ANALOG_WORKFLOW_RECIPIENT_DECEASED", + "details": { + "recIndex": 0, + "schedulingDate": "2023-09-14T10:59:24Z", + "notRefinedRecipientIndexes": [] + } + }, + { + "elementId": "NOTIFICATION_VIEWED.IUN_EDXD-TUPX-LNWH-202309-Z-1.RECINDEX_0", + "timestamp": "2023-09-14T10:59:34.466420178Z", + "legalFactsIds": [], + "category": "NOTIFICATION_VIEWED", + "details": { + "recIndex": 0, + "notificationCost": 0, + "eventTimestamp": "2023-09-14T10:59:34.366420178Z" + } + }, + { + "elementId": "SEND_ANALOG_TIMEOUT.IUN_EDXD-TUPX-LNWH-202309-Z-1.RECINDEX_1", + "timestamp": "2023-09-14T10:55:32.630866286Z", + "legalFactsIds": [], + "notificationSentAt": "2023-09-14T10:48:52.338693292Z", + "category": "SEND_ANALOG_TIMEOUT", + "details": { + "recIndex": 1, + "schedulingDate": "2023-09-14T10:59:24Z", + "notRefinedRecipientIndexes": [] + } + }, + { + "elementId": "ANALOG_FAILURE_WORKFLOW_TIMEOUT.IUN_EDXD-TUPX-LNWH-202309-Z-1.RECINDEX_1", + "timestamp": "2023-09-14T10:55:32.630866286Z", + "legalFactsIds": [], + "notificationSentAt": "2023-09-14T10:48:52.338693292Z", + "category": "ANALOG_FAILURE_WORKFLOW_TIMEOUT", + "details": { + "recIndex": 1, + "schedulingDate": "2023-09-14T10:59:24Z", + "notRefinedRecipientIndexes": [] + } + } + ], + "physicalCommunicationType": "REGISTERED_LETTER_890", + "senderDenomination": "Comune di milano", + "senderTaxId": "80016350821", + "group": "000", + "taxonomyCode": "010202N", + "pagoPaIntMode": "NONE" +} \ No newline at end of file diff --git a/pom.xml b/pom.xml index f29bc067a..6ab211f8c 100644 --- a/pom.xml +++ b/pom.xml @@ -503,7 +503,7 @@ process-resources - https://raw.githubusercontent.com/pagopa/pn-delivery-push/cb915f62157ae160b59dd964b2c975edd453c985/docs/openapi/api-private.yaml + https://raw.githubusercontent.com/pagopa/pn-delivery-push/ec4748debb71e3c1c94f4e759ae1c7f80ca2d1c9/docs/openapi/api-private.yaml java resttemplate false diff --git a/scripts/aws/cfn/microservice.yml b/scripts/aws/cfn/microservice.yml index dae388259..f6e72b2df 100644 --- a/scripts/aws/cfn/microservice.yml +++ b/scripts/aws/cfn/microservice.yml @@ -1296,7 +1296,7 @@ Resources: Environment: Variables: REGION: !Sub ${AWS::Region} - PN_DELIVERY_URL: !Sub "http://${ApplicationLoadBalancerDomain}:8080/delivery/v2.7" + PN_DELIVERY_URL: !Sub "http://${ApplicationLoadBalancerDomain}:8080/delivery/v2.8" NUM_RETRY: !Ref NumRetry ATTEMPT_TIMEOUT_SEC: !Ref AttemptTimeoutSec ENABLE_DECEASED_WORKFLOW: !Ref EnableDeceasedWorkflow diff --git a/src/main/java/it/pagopa/pn/delivery/middleware/notificationdao/EntityToDtoNotificationMetadataMapper.java b/src/main/java/it/pagopa/pn/delivery/middleware/notificationdao/EntityToDtoNotificationMetadataMapper.java index cfb26bf16..fc74131bb 100644 --- a/src/main/java/it/pagopa/pn/delivery/middleware/notificationdao/EntityToDtoNotificationMetadataMapper.java +++ b/src/main/java/it/pagopa/pn/delivery/middleware/notificationdao/EntityToDtoNotificationMetadataMapper.java @@ -2,7 +2,7 @@ import it.pagopa.pn.delivery.generated.openapi.server.v1.dto.NotificationSearchRow; -import it.pagopa.pn.delivery.generated.openapi.server.v1.dto.NotificationStatusV26; +import it.pagopa.pn.delivery.generated.openapi.server.v1.dto.NotificationStatusV28; import it.pagopa.pn.delivery.middleware.notificationdao.entities.NotificationDelegationMetadataEntity; import it.pagopa.pn.delivery.middleware.notificationdao.entities.NotificationMetadataEntity; import org.springframework.stereotype.Component; @@ -38,7 +38,7 @@ public NotificationSearchRow entity2Dto(NotificationMetadataEntity entity) { .paProtocolNumber( tableRow.get(TABLE_ROW_PA_PROTOCOL_NUMBER) ) .requestAcceptedAt( requestAcceptedAt ) .group( entity.getNotificationGroup() ) - .notificationStatus( NotificationStatusV26.valueOf( entity.getNotificationStatus() )) + .notificationStatus( NotificationStatusV28.valueOf( entity.getNotificationStatus() )) .build(); } @@ -58,7 +58,7 @@ public NotificationSearchRow entity2Dto(NotificationDelegationMetadataEntity ent .subject(tableRow.get(TABLE_ROW_SUBJECT)) .paProtocolNumber(tableRow.get(TABLE_ROW_PA_PROTOCOL_NUMBER)) .requestAcceptedAt(requestAcceptedAt) - .notificationStatus(NotificationStatusV26.valueOf(entity.getNotificationStatus())) + .notificationStatus(NotificationStatusV28.valueOf(entity.getNotificationStatus())) .mandateId(entity.getMandateId()) .build(); } diff --git a/src/main/java/it/pagopa/pn/delivery/middleware/notificationdao/NotificationDelegationMetadataEntityDaoDynamo.java b/src/main/java/it/pagopa/pn/delivery/middleware/notificationdao/NotificationDelegationMetadataEntityDaoDynamo.java index 2fa1d1df9..08ea87bfa 100644 --- a/src/main/java/it/pagopa/pn/delivery/middleware/notificationdao/NotificationDelegationMetadataEntityDaoDynamo.java +++ b/src/main/java/it/pagopa/pn/delivery/middleware/notificationdao/NotificationDelegationMetadataEntityDaoDynamo.java @@ -4,7 +4,7 @@ import it.pagopa.pn.commons.exceptions.PnIdConflictException; import it.pagopa.pn.commons.exceptions.PnInternalException; import it.pagopa.pn.delivery.PnDeliveryConfigs; -import it.pagopa.pn.delivery.generated.openapi.server.v1.dto.NotificationStatusV26; +import it.pagopa.pn.delivery.generated.openapi.server.v1.dto.NotificationStatusV28; import it.pagopa.pn.delivery.middleware.notificationdao.entities.NotificationDelegationMetadataEntity; import it.pagopa.pn.delivery.models.InputSearchNotificationDelegatedDto; import it.pagopa.pn.delivery.models.PageSearchTrunk; @@ -167,7 +167,7 @@ private void addFilterExpression(InputSearchNotificationDelegatedDto searchDto, .build()); } - private void addStatusFilterExpression(List status, + private void addStatusFilterExpression(List status, Expression.Builder filterExpressionBuilder, StringBuilder expressionBuilder) { if (CollectionUtils.isEmpty(status)) { diff --git a/src/main/java/it/pagopa/pn/delivery/middleware/notificationdao/NotificationMetadataEntityDaoDynamo.java b/src/main/java/it/pagopa/pn/delivery/middleware/notificationdao/NotificationMetadataEntityDaoDynamo.java index 0c4bb2363..61696e8f4 100644 --- a/src/main/java/it/pagopa/pn/delivery/middleware/notificationdao/NotificationMetadataEntityDaoDynamo.java +++ b/src/main/java/it/pagopa/pn/delivery/middleware/notificationdao/NotificationMetadataEntityDaoDynamo.java @@ -4,7 +4,7 @@ import it.pagopa.pn.commons.abstractions.impl.AbstractDynamoKeyValueStore; import it.pagopa.pn.commons.exceptions.PnInternalException; import it.pagopa.pn.delivery.PnDeliveryConfigs; -import it.pagopa.pn.delivery.generated.openapi.server.v1.dto.NotificationStatusV26; +import it.pagopa.pn.delivery.generated.openapi.server.v1.dto.NotificationStatusV28; import it.pagopa.pn.delivery.middleware.notificationdao.entities.NotificationMetadataEntity; import it.pagopa.pn.delivery.models.InputSearchNotificationDto; import it.pagopa.pn.delivery.models.PageSearchTrunk; @@ -64,7 +64,7 @@ public PageSearchTrunk searchByIun( // applico i filtri // filtro per stato - if (!CollectionUtils.isEmpty(inputSearchNotificationDto.getStatuses()) && !inputSearchNotificationDto.getStatuses().contains(NotificationStatusV26.fromValue(entity.getNotificationStatus()))) + if (!CollectionUtils.isEmpty(inputSearchNotificationDto.getStatuses()) && !inputSearchNotificationDto.getStatuses().contains(NotificationStatusV28.fromValue(entity.getNotificationStatus()))) { log.debug("result not satisfy filter status"); return new PageSearchTrunk<>(); @@ -245,7 +245,7 @@ private void addRecipientOneFilterExpression(InputSearchNotificationDto inputSea } - private void addStatusFilterExpression(List statuses, + private void addStatusFilterExpression(List statuses, Expression.Builder filterExpressionBuilder, StringBuilder expressionBuilder) { if (!CollectionUtils.isEmpty(statuses)) { @@ -256,7 +256,7 @@ private void addStatusFilterExpression(List statuses, } for (int i = 0;i recipients; @Getter(onMethod=@__({@DynamoDbAttribute(FIELD_DOCUMENTS)})) private List documents; @Getter(onMethod=@__({@DynamoDbAttribute(FIELD_NOTIFICATION_FEE_POLICY)})) private NotificationFeePolicy notificationFeePolicy; - @Getter(onMethod=@__({@DynamoDbAttribute(FIELD_PHYSICAL_COMMUNICATION_TYPE)})) private FullSentNotificationV27.PhysicalCommunicationTypeEnum physicalCommunicationType; + @Getter(onMethod=@__({@DynamoDbAttribute(FIELD_PHYSICAL_COMMUNICATION_TYPE)})) private FullSentNotificationV28.PhysicalCommunicationTypeEnum physicalCommunicationType; @Getter(onMethod=@__({@DynamoDbAttribute(FIELD_GROUP)})) private String group; @Getter(onMethod=@__({@DynamoDbAttribute(FIELD_SENDER_DENOMINATION)})) private String senderDenomination; @Getter(onMethod=@__({@DynamoDbAttribute(FIELD_SENDER_TAX_ID)})) private String senderTaxId; diff --git a/src/main/java/it/pagopa/pn/delivery/models/InputSearchNotificationDelegatedDto.java b/src/main/java/it/pagopa/pn/delivery/models/InputSearchNotificationDelegatedDto.java index 5402dbfc3..c51cf4875 100644 --- a/src/main/java/it/pagopa/pn/delivery/models/InputSearchNotificationDelegatedDto.java +++ b/src/main/java/it/pagopa/pn/delivery/models/InputSearchNotificationDelegatedDto.java @@ -1,6 +1,6 @@ package it.pagopa.pn.delivery.models; -import it.pagopa.pn.delivery.generated.openapi.server.v1.dto.NotificationStatusV26; +import it.pagopa.pn.delivery.generated.openapi.server.v1.dto.NotificationStatusV28; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; @@ -33,7 +33,7 @@ public class InputSearchNotificationDelegatedDto { private String receiverId; - private List statuses; + private List statuses; private String iun; diff --git a/src/main/java/it/pagopa/pn/delivery/models/InputSearchNotificationDto.java b/src/main/java/it/pagopa/pn/delivery/models/InputSearchNotificationDto.java index 3b3f47a35..dd2e0cac1 100644 --- a/src/main/java/it/pagopa/pn/delivery/models/InputSearchNotificationDto.java +++ b/src/main/java/it/pagopa/pn/delivery/models/InputSearchNotificationDto.java @@ -1,6 +1,6 @@ package it.pagopa.pn.delivery.models; -import it.pagopa.pn.delivery.generated.openapi.server.v1.dto.NotificationStatusV26; +import it.pagopa.pn.delivery.generated.openapi.server.v1.dto.NotificationStatusV28; import lombok.*; import javax.validation.constraints.NotEmpty; @@ -36,7 +36,7 @@ public class InputSearchNotificationDto { private String opaqueFilterIdPG; - private List statuses; + private List statuses; private List groups; diff --git a/src/main/java/it/pagopa/pn/delivery/models/InternalNotification.java b/src/main/java/it/pagopa/pn/delivery/models/InternalNotification.java index bc375186d..d456b3781 100644 --- a/src/main/java/it/pagopa/pn/delivery/models/InternalNotification.java +++ b/src/main/java/it/pagopa/pn/delivery/models/InternalNotification.java @@ -28,7 +28,7 @@ public class InternalNotification { private List documents; private NotificationFeePolicy notificationFeePolicy; private String cancelledIun; - private FullSentNotificationV27.PhysicalCommunicationTypeEnum physicalCommunicationType; + private FullSentNotificationV28.PhysicalCommunicationTypeEnum physicalCommunicationType; private String senderDenomination; private String senderTaxId; private String group; @@ -42,9 +42,9 @@ public class InternalNotification { private OffsetDateTime sentAt; private String cancelledByIun; private Boolean documentsAvailable; - private NotificationStatusV26 notificationStatus; - private List notificationStatusHistory; - private List timeline; + private NotificationStatusV28 notificationStatus; + private List notificationStatusHistory; + private List timeline; private List recipientIds; private String sourceChannel; private String sourceChannelDetails; @@ -173,16 +173,16 @@ public void setCancelledIun(String cancelledIun) { this.cancelledIun = cancelledIun; } - public InternalNotification physicalCommunicationType(FullSentNotificationV27.PhysicalCommunicationTypeEnum physicalCommunicationType) { + public InternalNotification physicalCommunicationType(FullSentNotificationV28.PhysicalCommunicationTypeEnum physicalCommunicationType) { this.physicalCommunicationType = physicalCommunicationType; return this; } - public FullSentNotificationV27.PhysicalCommunicationTypeEnum getPhysicalCommunicationType() { + public FullSentNotificationV28.PhysicalCommunicationTypeEnum getPhysicalCommunicationType() { return physicalCommunicationType; } - public void setPhysicalCommunicationType(FullSentNotificationV27.PhysicalCommunicationTypeEnum physicalCommunicationType) { + public void setPhysicalCommunicationType(FullSentNotificationV28.PhysicalCommunicationTypeEnum physicalCommunicationType) { this.physicalCommunicationType = physicalCommunicationType; } @@ -341,7 +341,7 @@ public void setDocumentsAvailable(Boolean documentsAvailable) { this.documentsAvailable = documentsAvailable; } - public InternalNotification notificationStatus(NotificationStatusV26 notificationStatus) { + public InternalNotification notificationStatus(NotificationStatusV28 notificationStatus) { this.notificationStatus = notificationStatus; return this; } @@ -351,20 +351,20 @@ public InternalNotification notificationStatus(NotificationStatusV26 notificatio * * @return notificationStatus */ - public NotificationStatusV26 getNotificationStatus() { + public NotificationStatusV28 getNotificationStatus() { return notificationStatus; } - public void setNotificationStatus(NotificationStatusV26 notificationStatus) { + public void setNotificationStatus(NotificationStatusV28 notificationStatus) { this.notificationStatus = notificationStatus; } - public InternalNotification notificationStatusHistory(List notificationStatusHistory) { + public InternalNotification notificationStatusHistory(List notificationStatusHistory) { this.notificationStatusHistory = notificationStatusHistory; return this; } - public InternalNotification addNotificationStatusHistoryItem(NotificationStatusHistoryElementV26 notificationStatusHistoryItem) { + public InternalNotification addNotificationStatusHistoryItem(NotificationStatusHistoryElementV28 notificationStatusHistoryItem) { if (this.notificationStatusHistory == null) { this.notificationStatusHistory = new ArrayList<>(); } @@ -377,20 +377,20 @@ public InternalNotification addNotificationStatusHistoryItem(NotificationStatusH * * @return notificationStatusHistory */ - public List getNotificationStatusHistory() { + public List getNotificationStatusHistory() { return notificationStatusHistory; } - public void setNotificationStatusHistory(List notificationStatusHistory) { + public void setNotificationStatusHistory(List notificationStatusHistory) { this.notificationStatusHistory = notificationStatusHistory; } - public InternalNotification timeline(List timeline) { + public InternalNotification timeline(List timeline) { this.timeline = timeline; return this; } - public InternalNotification addTimelineItem(TimelineElementV27 timelineItem) { + public InternalNotification addTimelineItem(TimelineElementV28 timelineItem) { if (this.timeline == null) { this.timeline = new ArrayList<>(); } @@ -398,11 +398,11 @@ public InternalNotification addTimelineItem(TimelineElementV27 timelineItem) { return this; } - public List getTimeline() { + public List getTimeline() { return timeline; } - public void setTimeline(List timeline) { + public void setTimeline(List timeline) { this.timeline = timeline; } diff --git a/src/main/java/it/pagopa/pn/delivery/models/NotificationSearchRow.java b/src/main/java/it/pagopa/pn/delivery/models/NotificationSearchRow.java index 7aa7975e3..6ec26a668 100644 --- a/src/main/java/it/pagopa/pn/delivery/models/NotificationSearchRow.java +++ b/src/main/java/it/pagopa/pn/delivery/models/NotificationSearchRow.java @@ -1,6 +1,6 @@ package it.pagopa.pn.delivery.models; -import it.pagopa.pn.delivery.generated.openapi.server.v1.dto.NotificationStatusV26; +import it.pagopa.pn.delivery.generated.openapi.server.v1.dto.NotificationStatusV28; import lombok.*; import java.time.Instant; @@ -28,7 +28,7 @@ public class NotificationSearchRow { private String subject; //@Schema(name = "notificationStatus", description = "Stato del workflow della notifica") - private NotificationStatusV26 notificationStatus; + private NotificationStatusV28 notificationStatus; //@Schema(name = "recipientId", description = "Identificativo opaco del destinatario") private String recipientId; diff --git a/src/main/java/it/pagopa/pn/delivery/rest/PnInternalNotificationsController.java b/src/main/java/it/pagopa/pn/delivery/rest/PnInternalNotificationsController.java index 6c32c8ac9..537214443 100644 --- a/src/main/java/it/pagopa/pn/delivery/rest/PnInternalNotificationsController.java +++ b/src/main/java/it/pagopa/pn/delivery/rest/PnInternalNotificationsController.java @@ -109,7 +109,7 @@ public ResponseEntity getSentNotificationPrivate(String iun @Override public ResponseEntity searchNotificationsPrivate(OffsetDateTime startDate, OffsetDateTime endDate, String recipientId, Boolean recipientIdOpaque, - String senderId, List status, + String senderId, List status, String mandateId, String cxType, Integer size, String nextPagesKey) { PnAuditLogBuilder auditLogBuilder = new PnAuditLogBuilder(); diff --git a/src/main/java/it/pagopa/pn/delivery/rest/PnReceivedNotificationsController.java b/src/main/java/it/pagopa/pn/delivery/rest/PnReceivedNotificationsController.java index d2d295174..6216a2ef7 100644 --- a/src/main/java/it/pagopa/pn/delivery/rest/PnReceivedNotificationsController.java +++ b/src/main/java/it/pagopa/pn/delivery/rest/PnReceivedNotificationsController.java @@ -45,7 +45,7 @@ public PnReceivedNotificationsController(NotificationRetrieverService retrieveSv } @Override - public ResponseEntity searchReceivedNotification(String xPagopaPnUid, CxTypeAuthFleet xPagopaPnCxType, String xPagopaPnCxId, OffsetDateTime startDate, OffsetDateTime endDate, List xPagopaPnCxGroups, String mandateId, String senderId, NotificationStatusV26 status, String subjectRegExp, String iunMatch, Integer size, String nextPagesKey) { + public ResponseEntity searchReceivedNotification(String xPagopaPnUid, CxTypeAuthFleet xPagopaPnCxType, String xPagopaPnCxId, OffsetDateTime startDate, OffsetDateTime endDate, List xPagopaPnCxGroups, String mandateId, String senderId, NotificationStatusV28 status, String subjectRegExp, String iunMatch, Integer size, String nextPagesKey) { PnAuditLogBuilder auditLogBuilder = new PnAuditLogBuilder(); PnAuditLogEventType eventType = PnAuditLogEventType.AUD_NT_SEARCH_RCP; String logMsg = "searchReceivedNotification"; @@ -97,7 +97,7 @@ public ResponseEntity searchReceivedDelegatedNotific String recipientId, String group, String iunMatch, - NotificationStatusV26 status, + NotificationStatusV28 status, Integer size, String nextPagesKey) { PnAuditLogBuilder auditLogBuilder = new PnAuditLogBuilder(); @@ -134,9 +134,9 @@ public ResponseEntity searchReceivedDelegatedNotific } @Override - public ResponseEntity getReceivedNotificationV26(String xPagopaPnUid, CxTypeAuthFleet xPagopaPnCxType, String xPagopaPnCxId, String xPagopaPnSrcCh, String iun, List xPagopaPnCxGroups, String xPagopaPnSrcChDetails, String mandateId) { + public ResponseEntity getReceivedNotificationV27(String xPagopaPnUid, CxTypeAuthFleet xPagopaPnCxType, String xPagopaPnCxId, String xPagopaPnSrcCh, String iun, List xPagopaPnCxGroups, String xPagopaPnSrcChDetails, String mandateId) { PnAuditLogBuilder auditLogBuilder = new PnAuditLogBuilder(); - FullReceivedNotificationV26 result = null; + FullReceivedNotificationV27 result = null; PnAuditLogEventType eventType = PnAuditLogEventType.AUD_NT_VIEW_RCP; String logMsg = "getReceivedNotification"; if (StringUtils.hasText( mandateId )) { @@ -152,7 +152,7 @@ public ResponseEntity getReceivedNotificationV26(St InternalAuthHeader internalAuthHeader = new InternalAuthHeader(xPagopaPnCxType.getValue(), xPagopaPnCxId, xPagopaPnUid, xPagopaPnCxGroups, xPagopaPnSrcCh, xPagopaPnSrcChDetails); InternalNotification internalNotification = retrieveSvc.getNotificationAndNotifyViewedEvent(iun, internalAuthHeader, mandateId); InternalFieldsCleaner.cleanInternalFields( internalNotification ); - result = modelMapper.map(internalNotification, FullReceivedNotificationV26.class); + result = modelMapper.map(internalNotification, FullReceivedNotificationV27.class); logEvent.generateSuccess().log(); } catch (PnRuntimeException exc) { logEvent.generateFailure("" + exc.getProblem()).log(); diff --git a/src/main/java/it/pagopa/pn/delivery/rest/PnSentNotificationsController.java b/src/main/java/it/pagopa/pn/delivery/rest/PnSentNotificationsController.java index bc86a2eee..245567219 100644 --- a/src/main/java/it/pagopa/pn/delivery/rest/PnSentNotificationsController.java +++ b/src/main/java/it/pagopa/pn/delivery/rest/PnSentNotificationsController.java @@ -51,7 +51,7 @@ public PnSentNotificationsController(NotificationRetrieverService retrieveSvc, N } @Override - public ResponseEntity getSentNotificationV27(String xPagopaPnUid, CxTypeAuthFleet xPagopaPnCxType, String xPagopaPnCxId, String iun, List xPagopaPnCxGroups) { + public ResponseEntity getSentNotificationV28(String xPagopaPnUid, CxTypeAuthFleet xPagopaPnCxType, String xPagopaPnCxId, String iun, List xPagopaPnCxGroups) { InternalNotification internalNotification = retrieveSvc.getNotificationInformationWithSenderIdCheck( iun, xPagopaPnCxId, xPagopaPnCxGroups ); PnAuditLogBuilder auditLogBuilder = new PnAuditLogBuilder(); PnAuditLogEvent logEvent = auditLogBuilder @@ -59,13 +59,13 @@ public ResponseEntity getSentNotificationV27(String xPa .iun(iun) .build(); logEvent.log(); - if ( NotificationStatusV26.IN_VALIDATION.equals( internalNotification.getNotificationStatus() ) - || NotificationStatusV26.REFUSED.equals( internalNotification.getNotificationStatus() ) ) { + if ( NotificationStatusV28.IN_VALIDATION.equals( internalNotification.getNotificationStatus() ) + || NotificationStatusV28.REFUSED.equals( internalNotification.getNotificationStatus() ) ) { logEvent.generateFailure("Unable to find notification with iun={} cause status={}", internalNotification.getIun(), internalNotification.getNotificationStatus()).log(); throw new PnNotificationNotFoundException( "Unable to find notification with iun="+ internalNotification.getIun() ); } InternalFieldsCleaner.cleanInternalFields( internalNotification ); - FullSentNotificationV27 result = modelMapper.map( internalNotification, FullSentNotificationV27.class ); + FullSentNotificationV28 result = modelMapper.map( internalNotification, FullSentNotificationV28.class ); logEvent.generateSuccess().log(); return ResponseEntity.ok( result ); } @@ -73,7 +73,7 @@ public ResponseEntity getSentNotificationV27(String xPa @Override - public ResponseEntity searchSentNotification(String xPagopaPnUid, CxTypeAuthFleet xPagopaPnCxType, String xPagopaPnCxId, OffsetDateTime startDate, OffsetDateTime endDate, List xPagopaPnCxGroups, String recipientId, NotificationStatusV26 status, String subjectRegExp, String iunMatch, Integer size, String nextPagesKey) { + public ResponseEntity searchSentNotification(String xPagopaPnUid, CxTypeAuthFleet xPagopaPnCxType, String xPagopaPnCxId, OffsetDateTime startDate, OffsetDateTime endDate, List xPagopaPnCxGroups, String recipientId, NotificationStatusV28 status, String subjectRegExp, String iunMatch, Integer size, String nextPagesKey) { PnAuditLogBuilder auditLogBuilder = new PnAuditLogBuilder(); PnAuditLogEvent logEvent = auditLogBuilder .before(PnAuditLogEventType.AUD_NT_SEARCH_SND, "searchSentNotification") @@ -147,13 +147,13 @@ public ResponseEntity getNotificationRe ); response.setNotificationRequestId( Base64Utils.encodeToString( internalNotification.getIun().getBytes(StandardCharsets.UTF_8) )); - NotificationStatusV26 lastStatus; + NotificationStatusV28 lastStatus; if ( !CollectionUtils.isEmpty( internalNotification.getNotificationStatusHistory() )) { lastStatus = internalNotification.getNotificationStatusHistory().get( internalNotification.getNotificationStatusHistory().size() - 1 ).getStatus(); } else { log.debug( "No status history for notificationRequestId={}", notificationRequestId ); - lastStatus = NotificationStatusV26.IN_VALIDATION; + lastStatus = NotificationStatusV28.IN_VALIDATION; } switch (lastStatus) { @@ -165,8 +165,8 @@ public ResponseEntity getNotificationRe case REFUSED -> { response.setNotificationRequestStatus("REFUSED"); response.setIun(null); - Optional timelineElement = internalNotification.getTimeline().stream().filter( - tle -> TimelineElementCategoryV27.REQUEST_REFUSED.equals(tle.getCategory())).findFirst(); + Optional timelineElement = internalNotification.getTimeline().stream().filter( + tle -> TimelineElementCategoryV28.REQUEST_REFUSED.equals(tle.getCategory())).findFirst(); timelineElement.ifPresent(element -> setRefusedErrors(response, element)); } default -> response.setNotificationRequestStatus("ACCEPTED"); @@ -176,7 +176,7 @@ public ResponseEntity getNotificationRe return ResponseEntity.ok( response ); } - private void setRefusedErrors(NewNotificationRequestStatusResponseV25 response, TimelineElementV27 timelineElement) { + private void setRefusedErrors(NewNotificationRequestStatusResponseV25 response, TimelineElementV28 timelineElement) { List refusalReasons = timelineElement.getDetails().getRefusalReasons(); List problemErrorList = refusalReasons.stream().map( reason -> NotificationRequestRefusedProblemError.builder() diff --git a/src/main/java/it/pagopa/pn/delivery/svc/search/NotificationRetrieverService.java b/src/main/java/it/pagopa/pn/delivery/svc/search/NotificationRetrieverService.java index 5a5cf8c02..3018c09d2 100644 --- a/src/main/java/it/pagopa/pn/delivery/svc/search/NotificationRetrieverService.java +++ b/src/main/java/it/pagopa/pn/delivery/svc/search/NotificationRetrieverService.java @@ -432,15 +432,15 @@ public InternalNotification getNotificationInformation(String iun, boolean withT return getNotificationInformation(iun, withTimeline, requestBySender, null); } - protected OffsetDateTime findRefinementDate(List timeline, String iun) { + protected OffsetDateTime findRefinementDate(List timeline, String iun) { log.debug( "Find refinement date iun={}", iun ); OffsetDateTime refinementDate = null; // cerco elemento timeline con category refinement o notificationView - Optional optionalMin = timeline + Optional optionalMin = timeline .stream() - .filter(tle -> TimelineElementCategoryV27.REFINEMENT.equals(tle.getCategory() ) - || TimelineElementCategoryV27.NOTIFICATION_VIEWED.equals( tle.getCategory() )) - .min( Comparator.comparing(TimelineElementV27::getTimestamp) ); + .filter(tle -> TimelineElementCategoryV28.REFINEMENT.equals(tle.getCategory() ) + || TimelineElementCategoryV28.NOTIFICATION_VIEWED.equals( tle.getCategory() )) + .min( Comparator.comparing(TimelineElementV28::getTimestamp) ); // se trovo la data di perfezionamento della notifica if (optionalMin.isPresent()) { refinementDate = refinementLocalDateUtils.setLocalRefinementDate(optionalMin.get()); @@ -527,10 +527,10 @@ private void filterTimelinesByRecipient(InternalNotification internalNotificatio if (!CxType.PA.name().equals(internalAuthHeader.cxType())) { //se il servizio è invocato da un destinatario, devo filtrare la timeline solo per lo specifico destinatario (o suo delegato) //filtro (cyType != PA) superfluo poiché attualmente il servizio è invocato solo lato destinatario - List timeline = internalNotification.getTimeline(); + List timeline = internalNotification.getTimeline(); log.debug("Timelines size before filter: {}", timeline.size()); - List filteredTimelineElements = timeline.stream().filter(timelineElement -> timelineElement.getDetails() == null || + List filteredTimelineElements = timeline.stream().filter(timelineElement -> timelineElement.getDetails() == null || timelineElement.getDetails().getRecIndex() == null || timelineElement.getDetails().getRecIndex() == recipientIndex) .toList(); @@ -670,20 +670,20 @@ public InternalNotification enrichWithTimelineAndStatusHistory(String iun, Inter log.debug( "Retrieve status history for notification created at={}", createdAt ); - List statusHistory = timelineStatusHistoryDto.getNotificationStatusHistory(); + List statusHistory = timelineStatusHistoryDto.getNotificationStatusHistory(); assert statusHistory != null; assert timelineList != null; assert timelineStatusHistoryDto.getNotificationStatus() != null; return notification .timeline( timelineList.stream() - .map( timelineElement -> modelMapper.map(timelineElement, TimelineElementV27.class ) ) + .map( timelineElement -> modelMapper.map(timelineElement, TimelineElementV28.class ) ) .toList() ) .notificationStatusHistory( statusHistory.stream() - .map( el -> modelMapper.map( el, NotificationStatusHistoryElementV26.class )) + .map( el -> modelMapper.map( el, NotificationStatusHistoryElementV28.class )) .toList() ) - .notificationStatus( NotificationStatusV26.fromValue( timelineStatusHistoryDto.getNotificationStatus().getValue() )); + .notificationStatus( NotificationStatusV28.fromValue( timelineStatusHistoryDto.getNotificationStatus().getValue() )); } @@ -760,8 +760,8 @@ public void checkIfNotificationIsNotCancelled(String iun) { } public boolean isNotificationCancelled(InternalNotification notification) { - var cancellationRequestCategory = TimelineElementCategoryV27.NOTIFICATION_CANCELLATION_REQUEST; - Optional cancellationRequestTimeline = notification.getTimeline().stream() + var cancellationRequestCategory = TimelineElementCategoryV28.NOTIFICATION_CANCELLATION_REQUEST; + Optional cancellationRequestTimeline = notification.getTimeline().stream() .filter(timelineElement -> cancellationRequestCategory.toString().equals(timelineElement.getCategory().toString())) .findFirst(); boolean cancellationTimelineIsPresent = cancellationRequestTimeline.isPresent(); diff --git a/src/main/java/it/pagopa/pn/delivery/utils/ModelMapperConfig.java b/src/main/java/it/pagopa/pn/delivery/utils/ModelMapperConfig.java index 296c64662..97654b144 100644 --- a/src/main/java/it/pagopa/pn/delivery/utils/ModelMapperConfig.java +++ b/src/main/java/it/pagopa/pn/delivery/utils/ModelMapperConfig.java @@ -1,7 +1,7 @@ package it.pagopa.pn.delivery.utils; -import it.pagopa.pn.delivery.generated.openapi.server.v1.dto.NotificationStatusHistoryElementV26; -import it.pagopa.pn.delivery.generated.openapi.server.v1.dto.TimelineElementV27; +import it.pagopa.pn.delivery.generated.openapi.server.v1.dto.NotificationStatusHistoryElementV28; +import it.pagopa.pn.delivery.generated.openapi.server.v1.dto.TimelineElementV28; import it.pagopa.pn.delivery.middleware.notificationdao.entities.NotificationRecipientEntity; import it.pagopa.pn.delivery.models.internal.notification.NotificationRecipient; import org.modelmapper.ModelMapper; @@ -17,10 +17,10 @@ public class ModelMapperConfig { public ModelMapper modelMapper() { ModelMapper modelMapper = new ModelMapper(); modelMapper.getConfiguration().setMatchingStrategy( MatchingStrategies.STRICT ); - modelMapper.createTypeMap( it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.NotificationStatusHistoryElementV26.class, NotificationStatusHistoryElementV26 .class ) - .addMapping( it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.NotificationStatusHistoryElementV26::getActiveFrom, NotificationStatusHistoryElementV26::setActiveFrom ); - modelMapper.createTypeMap( it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementV27.class, TimelineElementV27.class ) - .addMapping(it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementV27::getTimestamp, TimelineElementV27::setTimestamp ); + modelMapper.createTypeMap( it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.NotificationStatusHistoryElementV28.class, NotificationStatusHistoryElementV28 .class ) + .addMapping( it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.NotificationStatusHistoryElementV28::getActiveFrom, NotificationStatusHistoryElementV28::setActiveFrom ); + modelMapper.createTypeMap( it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementV28.class, TimelineElementV28.class ) + .addMapping(it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementV28::getTimestamp, TimelineElementV28::setTimestamp ); modelMapper.createTypeMap( NotificationRecipient.class, NotificationRecipientEntity.class ) .addMapping( NotificationRecipient::getTaxId, NotificationRecipientEntity::setRecipientId ); modelMapper.createTypeMap( NotificationRecipientEntity.class, NotificationRecipient.class ) diff --git a/src/main/java/it/pagopa/pn/delivery/utils/RefinementLocalDate.java b/src/main/java/it/pagopa/pn/delivery/utils/RefinementLocalDate.java index 3a398d315..b98653f65 100644 --- a/src/main/java/it/pagopa/pn/delivery/utils/RefinementLocalDate.java +++ b/src/main/java/it/pagopa/pn/delivery/utils/RefinementLocalDate.java @@ -1,6 +1,6 @@ package it.pagopa.pn.delivery.utils; -import it.pagopa.pn.delivery.generated.openapi.server.v1.dto.TimelineElementV27; +import it.pagopa.pn.delivery.generated.openapi.server.v1.dto.TimelineElementV28; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import org.springframework.stereotype.Component; @@ -14,7 +14,7 @@ public class RefinementLocalDate { public static final String ZONE_ID_EUROPE_ROME = "Europe/Rome"; @NotNull - public OffsetDateTime setLocalRefinementDate(TimelineElementV27 timelineElement) { + public OffsetDateTime setLocalRefinementDate(TimelineElementV28 timelineElement) { OffsetDateTime timestampUtc = timelineElement.getTimestamp(); // mi sposto all'offest IT OffsetDateTime localDateTime = OffsetDateTime.ofInstant(timestampUtc.toInstant(), ZoneId.of(ZONE_ID_EUROPE_ROME)); diff --git a/src/main/java/it/pagopa/pn/delivery/utils/io/IOMapper.java b/src/main/java/it/pagopa/pn/delivery/utils/io/IOMapper.java index 793cb52ac..f999e0daf 100644 --- a/src/main/java/it/pagopa/pn/delivery/utils/io/IOMapper.java +++ b/src/main/java/it/pagopa/pn/delivery/utils/io/IOMapper.java @@ -1,7 +1,7 @@ package it.pagopa.pn.delivery.utils.io; import it.pagopa.pn.delivery.generated.openapi.server.appio.v1.dto.*; -import it.pagopa.pn.delivery.generated.openapi.server.v1.dto.TimelineElementCategoryV27; +import it.pagopa.pn.delivery.generated.openapi.server.v1.dto.TimelineElementCategoryV28; import it.pagopa.pn.delivery.models.InternalNotification; import it.pagopa.pn.delivery.models.internal.notification.F24Payment; import it.pagopa.pn.delivery.models.internal.notification.NotificationDocument; @@ -64,7 +64,7 @@ public IOReceivedNotification mapToDetails(InternalNotification internalNotifica // NB: la timeline è GIA' FILTRATA per recipientIndex ioReceivedNotification.setCompletedPayments(internalNotification.getTimeline() .stream() - .filter(x -> x.getCategory().equals(TimelineElementCategoryV27.PAYMENT)) + .filter(x -> x.getCategory().equals(TimelineElementCategoryV28.PAYMENT)) .map(x -> x.getDetails().getNoticeCode()) .toList()); } @@ -72,7 +72,7 @@ public IOReceivedNotification mapToDetails(InternalNotification internalNotifica return ioReceivedNotification; } - private List convertNotificationStatusHistory(List notificationStatusHistory) { + private List convertNotificationStatusHistory(List notificationStatusHistory) { return notificationStatusHistory.stream() .map(notificationStatusHistoryElement -> NotificationStatusHistoryElement.builder() .status(notificationStatusHistoryElement.getStatus().getValue()) diff --git a/src/test/java/it/pagopa/pn/delivery/middleware/notificationdao/DtoToEntityNotificationMapperTest.java b/src/test/java/it/pagopa/pn/delivery/middleware/notificationdao/DtoToEntityNotificationMapperTest.java index 6474df96d..cad1952c8 100644 --- a/src/test/java/it/pagopa/pn/delivery/middleware/notificationdao/DtoToEntityNotificationMapperTest.java +++ b/src/test/java/it/pagopa/pn/delivery/middleware/notificationdao/DtoToEntityNotificationMapperTest.java @@ -101,13 +101,13 @@ void testInternalNotification(){ actualInternalNotification.idempotenceToken("ABC123"); actualInternalNotification.iun("Iun"); actualInternalNotification.notificationFeePolicy(NotificationFeePolicy.FLAT_RATE); - actualInternalNotification.notificationStatus(NotificationStatusV26.IN_VALIDATION); - ArrayList notificationStatusHistory = new ArrayList<>(); + actualInternalNotification.notificationStatus(NotificationStatusV28.IN_VALIDATION); + ArrayList notificationStatusHistory = new ArrayList<>(); actualInternalNotification.notificationStatusHistory(notificationStatusHistory); actualInternalNotification.paProtocolNumber("42"); actualInternalNotification.paymentExpirationDate("2020-03-01"); actualInternalNotification - .physicalCommunicationType(FullSentNotificationV27.PhysicalCommunicationTypeEnum.AR_REGISTERED_LETTER); + .physicalCommunicationType(FullSentNotificationV28.PhysicalCommunicationTypeEnum.AR_REGISTERED_LETTER); ArrayList recipientIds = new ArrayList<>(); actualInternalNotification.recipientIds(recipientIds); ArrayList recipients = new ArrayList<>(); @@ -127,13 +127,13 @@ void testInternalNotification(){ actualInternalNotification.setIdempotenceToken("ABC123"); actualInternalNotification.setIun("Iun"); actualInternalNotification.setNotificationFeePolicy(NotificationFeePolicy.FLAT_RATE); - actualInternalNotification.setNotificationStatus(NotificationStatusV26.IN_VALIDATION); - ArrayList notificationStatusHistory2 = new ArrayList<>(); + actualInternalNotification.setNotificationStatus(NotificationStatusV28.IN_VALIDATION); + ArrayList notificationStatusHistory2 = new ArrayList<>(); actualInternalNotification.setNotificationStatusHistory(notificationStatusHistory2); actualInternalNotification.setPaProtocolNumber("42"); actualInternalNotification.setPaymentExpirationDate("2020-03-01"); actualInternalNotification - .setPhysicalCommunicationType(FullSentNotificationV27.PhysicalCommunicationTypeEnum.AR_REGISTERED_LETTER); + .setPhysicalCommunicationType(FullSentNotificationV28.PhysicalCommunicationTypeEnum.AR_REGISTERED_LETTER); ArrayList recipientIds2 = new ArrayList<>(); actualInternalNotification.setRecipientIds(recipientIds2); ArrayList recipients2 = new ArrayList<>(); @@ -145,7 +145,7 @@ void testInternalNotification(){ actualInternalNotification.setSentAt(sentAt); actualInternalNotification.setSubject("Hello from the Dreaming Spires"); actualInternalNotification.setTaxonomyCode("Taxonomy Code"); - ArrayList timeline = new ArrayList<>(); + ArrayList timeline = new ArrayList<>(); actualInternalNotification.setTimeline(timeline); actualInternalNotification.sourceChannel("Source Channel"); actualInternalNotification.subject("Hello from the Dreaming Spires"); @@ -154,22 +154,22 @@ void testInternalNotification(){ } private void testingInternalNotification(InternalNotification actualInternalNotification){ - ArrayList timeline2 = new ArrayList<>(); + ArrayList timeline2 = new ArrayList<>(); actualInternalNotification.timeline(timeline2); assertEquals(" abstract", actualInternalNotification.getAbstract()); assertEquals(10, actualInternalNotification.getAmount().intValue()); assertEquals("Cancelled By Iun", actualInternalNotification.getCancelledByIun()); assertEquals("Cancelled Iun", actualInternalNotification.getCancelledIun()); - List timeline3 = actualInternalNotification.getTimeline(); + List timeline3 = actualInternalNotification.getTimeline(); assertTrue(actualInternalNotification.getDocumentsAvailable()); assertEquals("Group", actualInternalNotification.getGroup()); assertEquals("ABC123", actualInternalNotification.getIdempotenceToken()); assertEquals("Iun", actualInternalNotification.getIun()); assertEquals(NotificationFeePolicy.FLAT_RATE, actualInternalNotification.getNotificationFeePolicy()); - assertEquals(NotificationStatusV26.IN_VALIDATION, actualInternalNotification.getNotificationStatus()); + assertEquals(NotificationStatusV28.IN_VALIDATION, actualInternalNotification.getNotificationStatus()); assertEquals("42", actualInternalNotification.getPaProtocolNumber()); assertEquals("2020-03-01", actualInternalNotification.getPaymentExpirationDate()); - assertEquals(FullSentNotificationV27.PhysicalCommunicationTypeEnum.AR_REGISTERED_LETTER, + assertEquals(FullSentNotificationV28.PhysicalCommunicationTypeEnum.AR_REGISTERED_LETTER, actualInternalNotification.getPhysicalCommunicationType()); assertEquals("Sender Denomination", actualInternalNotification.getSenderDenomination()); assertEquals("42", actualInternalNotification.getSenderPaId()); @@ -195,7 +195,7 @@ private InternalNotification newInternalNotification() { internalNotification.setCancelledIun("IUN_05"); internalNotification.setCancelledIun("IUN_00"); internalNotification.setSenderPaId("PA_ID"); - internalNotification.setNotificationStatus(NotificationStatusV26.ACCEPTED); + internalNotification.setNotificationStatus(NotificationStatusV28.ACCEPTED); internalNotification.setPaFee(0); internalNotification.setVat(VAT); internalNotification.setNotificationFeePolicy(NotificationFeePolicy.DELIVERY_MODE); diff --git a/src/test/java/it/pagopa/pn/delivery/middleware/notificationdao/EntityToDtoNotificationMapperTest.java b/src/test/java/it/pagopa/pn/delivery/middleware/notificationdao/EntityToDtoNotificationMapperTest.java index c754b5b0c..d5e93af0e 100644 --- a/src/test/java/it/pagopa/pn/delivery/middleware/notificationdao/EntityToDtoNotificationMapperTest.java +++ b/src/test/java/it/pagopa/pn/delivery/middleware/notificationdao/EntityToDtoNotificationMapperTest.java @@ -1,7 +1,7 @@ package it.pagopa.pn.delivery.middleware.notificationdao; import it.pagopa.pn.commons.exceptions.PnInternalException; -import it.pagopa.pn.delivery.generated.openapi.server.v1.dto.FullSentNotificationV27; +import it.pagopa.pn.delivery.generated.openapi.server.v1.dto.FullSentNotificationV28; import it.pagopa.pn.delivery.generated.openapi.server.v1.dto.NotificationFeePolicy; import it.pagopa.pn.delivery.middleware.notificationdao.entities.*; import it.pagopa.pn.delivery.models.InternalNotification; @@ -185,7 +185,7 @@ private NotificationEntity newNotificationEntity() { .idempotenceToken("idempotenceToken") .paNotificationId("protocol_01") .subject("Subject 01") - .physicalCommunicationType(FullSentNotificationV27.PhysicalCommunicationTypeEnum.REGISTERED_LETTER_890) + .physicalCommunicationType(FullSentNotificationV28.PhysicalCommunicationTypeEnum.REGISTERED_LETTER_890) .cancelledByIun("IUN_05") .cancelledIun("IUN_00") .senderPaId("pa_02") diff --git a/src/test/java/it/pagopa/pn/delivery/middleware/notificationdao/EntityToDtoNotificationMetadataMapperTest.java b/src/test/java/it/pagopa/pn/delivery/middleware/notificationdao/EntityToDtoNotificationMetadataMapperTest.java index 3a1e8db52..25000ce71 100644 --- a/src/test/java/it/pagopa/pn/delivery/middleware/notificationdao/EntityToDtoNotificationMetadataMapperTest.java +++ b/src/test/java/it/pagopa/pn/delivery/middleware/notificationdao/EntityToDtoNotificationMetadataMapperTest.java @@ -1,7 +1,7 @@ package it.pagopa.pn.delivery.middleware.notificationdao; import it.pagopa.pn.delivery.generated.openapi.server.v1.dto.NotificationSearchRow; -import it.pagopa.pn.delivery.generated.openapi.server.v1.dto.NotificationStatusV26; +import it.pagopa.pn.delivery.generated.openapi.server.v1.dto.NotificationStatusV28; import it.pagopa.pn.delivery.middleware.notificationdao.entities.NotificationDelegationMetadataEntity; import it.pagopa.pn.delivery.middleware.notificationdao.entities.NotificationMetadataEntity; import org.junit.jupiter.api.BeforeEach; @@ -98,7 +98,7 @@ void entity2DtoTest() { .subject("subjectTest") .paProtocolNumber("protocolNumberTest") .requestAcceptedAt(OffsetDateTime.parse(ACCEPTED_AT)) - .notificationStatus(NotificationStatusV26.ACCEPTED) + .notificationStatus(NotificationStatusV28.ACCEPTED) .mandateId("mandateId") .build(); @@ -109,7 +109,7 @@ void entity2DtoTest() { .recipientId("recipientId1") .recipientIds(List.of("recipientId1")) .sentAt(OffsetDateTime.parse(SENT_AT).toInstant()) - .notificationStatus(NotificationStatusV26.ACCEPTED.toString()) + .notificationStatus(NotificationStatusV28.ACCEPTED.toString()) .mandateId("mandateId") .tableRow(tableRow) .build(); diff --git a/src/test/java/it/pagopa/pn/delivery/middleware/notificationdao/NotificationDaoDynamoTest.java b/src/test/java/it/pagopa/pn/delivery/middleware/notificationdao/NotificationDaoDynamoTest.java index 07bf1ac61..8ba45352c 100644 --- a/src/test/java/it/pagopa/pn/delivery/middleware/notificationdao/NotificationDaoDynamoTest.java +++ b/src/test/java/it/pagopa/pn/delivery/middleware/notificationdao/NotificationDaoDynamoTest.java @@ -80,7 +80,7 @@ void insertSuccessWithoutPayments() throws PnIdConflictException { // GIVEN InternalNotification notification = newNotificationWithoutPayments( ); - notification.setPhysicalCommunicationType(FullSentNotificationV27.PhysicalCommunicationTypeEnum.AR_REGISTERED_LETTER); + notification.setPhysicalCommunicationType(FullSentNotificationV28.PhysicalCommunicationTypeEnum.AR_REGISTERED_LETTER); // WHEN when( pnDataVaultClient.ensureRecipientByExternalId( any(it.pagopa.pn.delivery.generated.openapi.msclient.datavault.v1.model.RecipientType.class), Mockito.anyString() ) ).thenReturn( "opaqueTaxId" ); @@ -141,7 +141,7 @@ void insertSuccessWithAdditionalLang() throws PnIdConflictException { // GIVEN InternalNotification notification = newNotificationWithoutPayments( ); - notification.setPhysicalCommunicationType(FullSentNotificationV27.PhysicalCommunicationTypeEnum.AR_REGISTERED_LETTER); + notification.setPhysicalCommunicationType(FullSentNotificationV28.PhysicalCommunicationTypeEnum.AR_REGISTERED_LETTER); notification.setAdditionalLanguages(List.of("DE")); // WHEN @@ -580,7 +580,7 @@ private InternalNotification newNotificationWithoutPayments() { internalNotification.setCancelledIun("IUN_05"); internalNotification.setCancelledIun("IUN_00"); internalNotification.setSenderPaId("PA_ID"); - internalNotification.setNotificationStatus(NotificationStatusV26.ACCEPTED); + internalNotification.setNotificationStatus(NotificationStatusV28.ACCEPTED); internalNotification.setNotificationFeePolicy(NotificationFeePolicy.DELIVERY_MODE); internalNotification.setRecipients(Collections.singletonList( NotificationRecipient.builder() @@ -598,7 +598,7 @@ private InternalNotification newNotificationWithoutPayments() { private InternalNotification newNotification() { InternalNotification internalNotification = new InternalNotification(); internalNotification.setPaFee(0); - internalNotification.setPhysicalCommunicationType(FullSentNotificationV27.PhysicalCommunicationTypeEnum.AR_REGISTERED_LETTER); + internalNotification.setPhysicalCommunicationType(FullSentNotificationV28.PhysicalCommunicationTypeEnum.AR_REGISTERED_LETTER); internalNotification.setPagoPaIntMode(NewNotificationRequestV25.PagoPaIntModeEnum.NONE); internalNotification.setSentAt(OffsetDateTime.now()); internalNotification.setIun("IUN_01"); @@ -607,7 +607,7 @@ private InternalNotification newNotification() { internalNotification.setCancelledIun("IUN_05"); internalNotification.setCancelledIun("IUN_00"); internalNotification.setSenderPaId("PA_ID"); - internalNotification.setNotificationStatus(NotificationStatusV26.ACCEPTED); + internalNotification.setNotificationStatus(NotificationStatusV28.ACCEPTED); internalNotification.setNotificationFeePolicy(NotificationFeePolicy.DELIVERY_MODE); internalNotification.setPaFee(0); internalNotification.setDocuments(List.of(NotificationDocument diff --git a/src/test/java/it/pagopa/pn/delivery/middleware/notificationdao/NotificationDelegationMetadataEntityDaoDynamoIT.java b/src/test/java/it/pagopa/pn/delivery/middleware/notificationdao/NotificationDelegationMetadataEntityDaoDynamoIT.java index ff7e7c9d5..18a941ecd 100644 --- a/src/test/java/it/pagopa/pn/delivery/middleware/notificationdao/NotificationDelegationMetadataEntityDaoDynamoIT.java +++ b/src/test/java/it/pagopa/pn/delivery/middleware/notificationdao/NotificationDelegationMetadataEntityDaoDynamoIT.java @@ -4,7 +4,7 @@ import it.pagopa.pn.delivery.LocalStackTestConfig; import it.pagopa.pn.delivery.generated.openapi.msclient.datavault.v1.model.BaseRecipientDto; import it.pagopa.pn.delivery.generated.openapi.msclient.datavault.v1.model.RecipientType; -import it.pagopa.pn.delivery.generated.openapi.server.v1.dto.NotificationStatusV26; +import it.pagopa.pn.delivery.generated.openapi.server.v1.dto.NotificationStatusV28; import it.pagopa.pn.delivery.middleware.notificationdao.entities.NotificationDelegationMetadataEntity; import it.pagopa.pn.delivery.models.InputSearchNotificationDelegatedDto; import it.pagopa.pn.delivery.models.PageSearchTrunk; @@ -149,7 +149,7 @@ void testSearchForOneMonthWithFilters() { .delegateId("delegateId") .startDate(Instant.now().minus(1, ChronoUnit.DAYS)) .endDate(Instant.now()) - .statuses(List.of(NotificationStatusV26.ACCEPTED)) + .statuses(List.of(NotificationStatusV28.ACCEPTED)) .senderId("senderId") .receiverId("receiverId") .size(10) diff --git a/src/test/java/it/pagopa/pn/delivery/middleware/notificationdao/NotificationEntityDaoDynamoTestIT.java b/src/test/java/it/pagopa/pn/delivery/middleware/notificationdao/NotificationEntityDaoDynamoTestIT.java index a99ea094e..c4a4583a3 100644 --- a/src/test/java/it/pagopa/pn/delivery/middleware/notificationdao/NotificationEntityDaoDynamoTestIT.java +++ b/src/test/java/it/pagopa/pn/delivery/middleware/notificationdao/NotificationEntityDaoDynamoTestIT.java @@ -3,7 +3,7 @@ import it.pagopa.pn.commons.abstractions.impl.MiddlewareTypes; import it.pagopa.pn.commons.exceptions.PnIdConflictException; import it.pagopa.pn.delivery.LocalStackTestConfig; -import it.pagopa.pn.delivery.generated.openapi.server.v1.dto.FullSentNotificationV27; +import it.pagopa.pn.delivery.generated.openapi.server.v1.dto.FullSentNotificationV28; import it.pagopa.pn.delivery.generated.openapi.server.v1.dto.NotificationFeePolicy; import it.pagopa.pn.delivery.middleware.notificationdao.entities.*; import it.pagopa.pn.delivery.models.InternalNotificationCost; @@ -256,7 +256,7 @@ private NotificationEntity newNotificationEntity() { .idempotenceToken( "idempotenceToken" ) .paNotificationId("protocol_01") .subject("Subject 01") - .physicalCommunicationType(FullSentNotificationV27.PhysicalCommunicationTypeEnum.REGISTERED_LETTER_890) + .physicalCommunicationType(FullSentNotificationV28.PhysicalCommunicationTypeEnum.REGISTERED_LETTER_890) .cancelledByIun("IUN_05") .cancelledIun("IUN_00") .senderPaId( "pa_02" ) diff --git a/src/test/java/it/pagopa/pn/delivery/middleware/notificationdao/NotificationMetadataEntityDaoDynamoTest.java b/src/test/java/it/pagopa/pn/delivery/middleware/notificationdao/NotificationMetadataEntityDaoDynamoTest.java index b6d39aaf6..4e2c996d6 100644 --- a/src/test/java/it/pagopa/pn/delivery/middleware/notificationdao/NotificationMetadataEntityDaoDynamoTest.java +++ b/src/test/java/it/pagopa/pn/delivery/middleware/notificationdao/NotificationMetadataEntityDaoDynamoTest.java @@ -3,7 +3,7 @@ import it.pagopa.pn.commons.exceptions.PnIdConflictException; import it.pagopa.pn.delivery.PnDeliveryConfigs; -import it.pagopa.pn.delivery.generated.openapi.server.v1.dto.NotificationStatusV26; +import it.pagopa.pn.delivery.generated.openapi.server.v1.dto.NotificationStatusV28; import it.pagopa.pn.delivery.middleware.notificationdao.entities.NotificationMetadataEntity; import it.pagopa.pn.delivery.models.InputSearchNotificationDto; import it.pagopa.pn.delivery.models.PageSearchTrunk; @@ -96,7 +96,7 @@ void InsertMetadataEntitySuccess() throws PnIdConflictException { //Given NotificationMetadataEntity entityToInsert = NotificationMetadataEntity.builder() .notificationGroup("Notification_Group") - .notificationStatus(NotificationStatusV26.ACCEPTED.toString()) + .notificationStatus(NotificationStatusV28.ACCEPTED.toString()) .iunRecipientId("IUN##RecipientId") .recipientIdCreationMonth("RecipientId##creationMonth") .recipientIds(Collections.singletonList("RecipientId")) diff --git a/src/test/java/it/pagopa/pn/delivery/middleware/notificationdao/NotificationMetadataEntityDaoDynamoTestIT.java b/src/test/java/it/pagopa/pn/delivery/middleware/notificationdao/NotificationMetadataEntityDaoDynamoTestIT.java index 2198e06d5..cdb3d9f83 100644 --- a/src/test/java/it/pagopa/pn/delivery/middleware/notificationdao/NotificationMetadataEntityDaoDynamoTestIT.java +++ b/src/test/java/it/pagopa/pn/delivery/middleware/notificationdao/NotificationMetadataEntityDaoDynamoTestIT.java @@ -6,7 +6,7 @@ import it.pagopa.pn.delivery.LocalStackTestConfig; import it.pagopa.pn.delivery.generated.openapi.msclient.datavault.v1.model.BaseRecipientDto; import it.pagopa.pn.delivery.generated.openapi.msclient.datavault.v1.model.RecipientType; -import it.pagopa.pn.delivery.generated.openapi.server.v1.dto.NotificationStatusV26; +import it.pagopa.pn.delivery.generated.openapi.server.v1.dto.NotificationStatusV28; import it.pagopa.pn.delivery.middleware.notificationdao.entities.NotificationMetadataEntity; import it.pagopa.pn.delivery.models.InputSearchNotificationDto; import it.pagopa.pn.delivery.models.InternalNotification; @@ -333,7 +333,7 @@ void searchNotificationMetadataWithStatusFilter() { .endDate( Instant.parse( "2022-05-30T00:00:00.00Z" ) ) .senderReceiverId( "c_h501" ) .size( 10 ) - .statuses(List.of(NotificationStatusV26.ACCEPTED)) + .statuses(List.of(NotificationStatusV28.ACCEPTED)) .build(); String indexName = "senderId"; @@ -380,7 +380,7 @@ void searchNotificationMetadataWithGroupsFilter_grp_and_nogrp() { NotificationMetadataEntity notificationMetadataEntity1 = buildOneSearchMetadataEntry( internalNotification1, - NotificationStatusV26.ACCEPTED, + NotificationStatusV28.ACCEPTED, recipientId, List.of(recipientId), "202205", @@ -396,7 +396,7 @@ void searchNotificationMetadataWithGroupsFilter_grp_and_nogrp() { NotificationMetadataEntity notificationMetadataEntity2 = buildOneSearchMetadataEntry( internalNotification2, - NotificationStatusV26.ACCEPTED, + NotificationStatusV28.ACCEPTED, recipientId, List.of(recipientId), "202205", @@ -462,7 +462,7 @@ void searchNotificationMetadataWithGroupsFilter() { NotificationMetadataEntity notificationMetadataEntity1 = buildOneSearchMetadataEntry( internalNotification1, - NotificationStatusV26.ACCEPTED, + NotificationStatusV28.ACCEPTED, recipientId, List.of(recipientId), "202205", @@ -478,7 +478,7 @@ void searchNotificationMetadataWithGroupsFilter() { NotificationMetadataEntity notificationMetadataEntity2 = buildOneSearchMetadataEntry( internalNotification2, - NotificationStatusV26.ACCEPTED, + NotificationStatusV28.ACCEPTED, recipientId, List.of(recipientId), "202205", @@ -540,7 +540,7 @@ void searchNotificationMetadataWithGroupsFilter_2groups() { NotificationMetadataEntity notificationMetadataEntity1 = buildOneSearchMetadataEntry( internalNotification1, - NotificationStatusV26.ACCEPTED, + NotificationStatusV28.ACCEPTED, recipientId, List.of(recipientId), "202205", @@ -556,7 +556,7 @@ void searchNotificationMetadataWithGroupsFilter_2groups() { NotificationMetadataEntity notificationMetadataEntity2 = buildOneSearchMetadataEntry( internalNotification2, - NotificationStatusV26.ACCEPTED, + NotificationStatusV28.ACCEPTED, recipientId, List.of(recipientId), "202205", @@ -645,7 +645,7 @@ void searchNotificationMetadataWithPAIDsFilterWithFilter() { NotificationMetadataEntity notificationMetadataEntity1 = buildOneSearchMetadataEntry( internalNotification1, - NotificationStatusV26.ACCEPTED, + NotificationStatusV28.ACCEPTED, recipientId, List.of(recipientId), "202205", @@ -660,7 +660,7 @@ void searchNotificationMetadataWithPAIDsFilterWithFilter() { NotificationMetadataEntity notificationMetadataEntity2 = buildOneSearchMetadataEntry( internalNotification2, - NotificationStatusV26.ACCEPTED, + NotificationStatusV28.ACCEPTED, recipientId, List.of(recipientId), "202205", @@ -732,7 +732,7 @@ void searchNotificationMetadataWithPAIDsFilterWithFilter_both() { NotificationMetadataEntity notificationMetadataEntity1 = buildOneSearchMetadataEntry( internalNotification1, - NotificationStatusV26.ACCEPTED, + NotificationStatusV28.ACCEPTED, recipientId, List.of(recipientId), "202205", @@ -747,7 +747,7 @@ void searchNotificationMetadataWithPAIDsFilterWithFilter_both() { NotificationMetadataEntity notificationMetadataEntity2 = buildOneSearchMetadataEntry( internalNotification2, - NotificationStatusV26.ACCEPTED, + NotificationStatusV28.ACCEPTED, recipientId, List.of(recipientId), "202205", @@ -820,7 +820,7 @@ void searchByIun_notfound() { NotificationMetadataEntity notificationMetadataEntity1 = buildOneSearchMetadataEntry( internalNotification1, - NotificationStatusV26.ACCEPTED, + NotificationStatusV28.ACCEPTED, recipientId, List.of(recipientId), "202205", @@ -835,7 +835,7 @@ void searchByIun_notfound() { NotificationMetadataEntity notificationMetadataEntity2 = buildOneSearchMetadataEntry( internalNotification2, - NotificationStatusV26.ACCEPTED, + NotificationStatusV28.ACCEPTED, recipientId, List.of(recipientId), "202205", @@ -896,7 +896,7 @@ void searchByIun_nullgroup() { NotificationMetadataEntity notificationMetadataEntity1 = buildOneSearchMetadataEntry( internalNotification1, - NotificationStatusV26.ACCEPTED, + NotificationStatusV28.ACCEPTED, recipientId, List.of(recipientId), "202205", @@ -912,7 +912,7 @@ void searchByIun_nullgroup() { NotificationMetadataEntity notificationMetadataEntity2 = buildOneSearchMetadataEntry( internalNotification2, - NotificationStatusV26.ACCEPTED, + NotificationStatusV28.ACCEPTED, recipientId, List.of(recipientId), "202205", @@ -978,7 +978,7 @@ void searchByIun_somegroup() { NotificationMetadataEntity notificationMetadataEntity1 = buildOneSearchMetadataEntry( internalNotification1, - NotificationStatusV26.ACCEPTED, + NotificationStatusV28.ACCEPTED, recipientId, List.of(recipientId), "202205", @@ -994,7 +994,7 @@ void searchByIun_somegroup() { NotificationMetadataEntity notificationMetadataEntity2 = buildOneSearchMetadataEntry( internalNotification2, - NotificationStatusV26.ACCEPTED, + NotificationStatusV28.ACCEPTED, recipientId, List.of(recipientId), "202205", @@ -1061,7 +1061,7 @@ void searchByIun_somegroup_nomatch() { NotificationMetadataEntity notificationMetadataEntity1 = buildOneSearchMetadataEntry( internalNotification1, - NotificationStatusV26.ACCEPTED, + NotificationStatusV28.ACCEPTED, recipientId, List.of(recipientId), "202205", @@ -1077,7 +1077,7 @@ void searchByIun_somegroup_nomatch() { NotificationMetadataEntity notificationMetadataEntity2 = buildOneSearchMetadataEntry( internalNotification2, - NotificationStatusV26.ACCEPTED, + NotificationStatusV28.ACCEPTED, recipientId, List.of(recipientId), "202205", @@ -1122,7 +1122,7 @@ void searchByIun_somegroup_nomatch() { @NotNull - private Map createTableRowMap(InternalNotification notification, NotificationStatusV26 lastStatus, List recipientsIds, OffsetDateTime acceptedAt) { + private Map createTableRowMap(InternalNotification notification, NotificationStatusV28 lastStatus, List recipientsIds, OffsetDateTime acceptedAt) { Map tableRowMap = new HashMap<>(); tableRowMap.put( "iun", notification.getIun() ); tableRowMap.put( "recipientsIds", recipientsIds.toString() ); @@ -1137,7 +1137,7 @@ private Map createTableRowMap(InternalNotification notification, private NotificationMetadataEntity buildOneSearchMetadataEntry( InternalNotification notification, - NotificationStatusV26 lastStatus, + NotificationStatusV28 lastStatus, String recipientId, List recipientsIds, String creationMonth, @@ -1199,7 +1199,7 @@ private NotificationMetadataEntity newNotificationMetadata() { return NotificationMetadataEntity.builder() .iunRecipientId( "KSAU-CKOB-OFKR-202205-O-1##"+OPAQUE_TAX_ID_R1 ) .notificationGroup( "NotificationGroup1" ) - .notificationStatus( NotificationStatusV26.ACCEPTED.toString() ) + .notificationStatus( NotificationStatusV28.ACCEPTED.toString() ) .recipientIds( List.of( OPAQUE_TAX_ID_R1, OPAQUE_TAX_ID_R2 ) ) .recipientOne( false ) .senderId( "c_h501" ) diff --git a/src/test/java/it/pagopa/pn/delivery/rest/NotificationSearchControllerTest.java b/src/test/java/it/pagopa/pn/delivery/rest/NotificationSearchControllerTest.java index ee488b4d6..d36b9344c 100644 --- a/src/test/java/it/pagopa/pn/delivery/rest/NotificationSearchControllerTest.java +++ b/src/test/java/it/pagopa/pn/delivery/rest/NotificationSearchControllerTest.java @@ -4,7 +4,7 @@ import it.pagopa.pn.delivery.PnDeliveryConfigs; import it.pagopa.pn.delivery.generated.openapi.server.v1.dto.NotificationSearchResponse; import it.pagopa.pn.delivery.generated.openapi.server.v1.dto.NotificationSearchRow; -import it.pagopa.pn.delivery.generated.openapi.server.v1.dto.NotificationStatusV26; +import it.pagopa.pn.delivery.generated.openapi.server.v1.dto.NotificationStatusV28; import it.pagopa.pn.delivery.models.InputSearchNotificationDelegatedDto; import it.pagopa.pn.delivery.models.InputSearchNotificationDto; import it.pagopa.pn.delivery.models.ResultPaginationDto; @@ -37,7 +37,7 @@ class NotificationSearchControllerTest { private static final String START_DATE = "2021-09-17T00:00:00.000Z"; private static final String END_DATE = "2021-09-18T00:00:00.000Z"; private static final Integer SIZE = 10; - private static final NotificationStatusV26 STATUS = NotificationStatusV26.IN_VALIDATION; + private static final NotificationStatusV28 STATUS = NotificationStatusV28.IN_VALIDATION; private static final String RECIPIENT_ID = "CGNNMO80A01H501M"; private static final String SUBJECT_REG_EXP = "asd"; private static final String NEXT_PAGES_KEY = "eyJlayI6ImNfYjQyOSMjZWQ4NGI4YzktNDQ0ZS00MTBkLTgwZDctY2ZhZDZhYTEyMDcwIiwiaWsiOnsiaXVuX3JlY2lwaWVudElkIjoiY19iNDI5LTIwMjIwNDA1MTEyOCMjZWQ4NGI4YzktNDQ0ZS00MTBkLTgwZDctY2ZhZDZhYTEyMDcwIiwic2VudEF0IjoiMjAyMi0wNC0wNVQwOToyODo0Mi4zNTgxMzZaIiwic2VuZGVySWRfcmVjaXBpZW50SWQiOiJjX2I0MjkjI2VkODRiOGM5LTQ0NGUtNDEwZC04MGQ3LWNmYWQ2YWExMjA3MCJ9fQ=="; diff --git a/src/test/java/it/pagopa/pn/delivery/rest/PnInternalNotificationsControllerTest.java b/src/test/java/it/pagopa/pn/delivery/rest/PnInternalNotificationsControllerTest.java index 9d9e308ad..2f61ca1ab 100644 --- a/src/test/java/it/pagopa/pn/delivery/rest/PnInternalNotificationsControllerTest.java +++ b/src/test/java/it/pagopa/pn/delivery/rest/PnInternalNotificationsControllerTest.java @@ -42,7 +42,7 @@ class PnInternalNotificationsControllerTest { private static final String SENDER_ID = "test"; private static final String START_DATE = "2021-09-17T00:00:00.000Z"; private static final String END_DATE = "2021-09-18T00:00:00.000Z"; - private static final NotificationStatusV26 STATUS = NotificationStatusV26.IN_VALIDATION; + private static final NotificationStatusV28 STATUS = NotificationStatusV28.IN_VALIDATION; private static final String RECIPIENT_ID = "CGNNMO80A01H501M"; private static final String RECIPIENT_INTERNAL_ID = "PF-2d74ffe9-aa40-47c2-88ea-9fb171ada637"; public static final InternalAuthHeader INTERNAL_AUTH_HEADER = new InternalAuthHeader("PF", RECIPIENT_INTERNAL_ID, null, null); @@ -658,7 +658,7 @@ private InternalNotification newNotification() { internalNotification.setCancelledIun("IUN_05"); internalNotification.setCancelledIun("IUN_00"); internalNotification.setSenderPaId("PA_ID"); - internalNotification.setNotificationStatus(NotificationStatusV26.ACCEPTED); + internalNotification.setNotificationStatus(NotificationStatusV28.ACCEPTED); internalNotification.setRecipients(Collections.singletonList( NotificationRecipient.builder() .taxId("Codice Fiscale 01") diff --git a/src/test/java/it/pagopa/pn/delivery/rest/PnSentReceivedNotificationControllerTest.java b/src/test/java/it/pagopa/pn/delivery/rest/PnSentReceivedNotificationControllerTest.java index dcb53c32a..d4d0fd24b 100644 --- a/src/test/java/it/pagopa/pn/delivery/rest/PnSentReceivedNotificationControllerTest.java +++ b/src/test/java/it/pagopa/pn/delivery/rest/PnSentReceivedNotificationControllerTest.java @@ -73,12 +73,12 @@ class PnSentReceivedNotificationControllerTest { private static final String SENDER_ID = "CSRGGL44L13H501E"; private static final String START_DATE = "2021-09-17T00:00:00.000Z"; private static final String END_DATE = "2021-09-18T00:00:00.000Z"; - private static final NotificationStatusV26 STATUS = NotificationStatusV26.IN_VALIDATION; + private static final NotificationStatusV28 STATUS = NotificationStatusV28.IN_VALIDATION; private static final String RECIPIENT_ID = "CGNNMO80A01H501M"; public static final List GROUPS = List.of("Group1", "Group2"); public static final String DELIVERY_REQUESTS_PATH = "/delivery/v2.5/requests"; - public static final String DELIVERY_RECEIVED_PATH = "/delivery/v2.6/notifications/received/"; - public static final String DELIVERY_SENT_PATH = "/delivery/v2.7/notifications/sent/"; + public static final String DELIVERY_RECEIVED_PATH = "/delivery/v2.7/notifications/received/"; + public static final String DELIVERY_SENT_PATH = "/delivery/v2.8/notifications/sent/"; @Autowired WebTestClient webTestClient; @@ -119,7 +119,7 @@ void getSentNotificationSuccess() { .exchange() .expectStatus() .isOk() - .expectBody(FullSentNotificationV27.class); + .expectBody(FullSentNotificationV28.class); Mockito.verify( svc ).getNotificationInformationWithSenderIdCheck(IUN, PA_ID, GROUPS); } @@ -128,7 +128,7 @@ void getSentNotificationSuccess() { void getSentNotificationNotFoundCauseIN_VALIDATION() { // Given InternalNotification notification = newNotification(); - notification.setNotificationStatus( NotificationStatusV26.IN_VALIDATION ); + notification.setNotificationStatus( NotificationStatusV28.IN_VALIDATION ); // When Mockito.when( svc.getNotificationInformationWithSenderIdCheck( anyString(), anyString(), anyList() ) ).thenReturn( notification ); @@ -155,7 +155,7 @@ void getSentNotificationNotFoundCauseIN_VALIDATION() { void getSentNotificationNotFoundCauseREFUSED() { // Given InternalNotification notification = newNotification(); - notification.setNotificationStatus( NotificationStatusV26.REFUSED ); + notification.setNotificationStatus( NotificationStatusV28.REFUSED ); // When Mockito.when( svc.getNotificationInformationWithSenderIdCheck( anyString(), anyString(), anyList() ) ).thenReturn( notification ); @@ -207,7 +207,7 @@ void getNotificationRequestStatusByRequestIdIN_VALIDATION() { @Test void testTimeLine(){ - TimelineElementDetailsV27 actualTimelineElementDetails = new TimelineElementDetailsV27(); + TimelineElementDetailsV28 actualTimelineElementDetails = new TimelineElementDetailsV28(); actualTimelineElementDetails.aarKey("Aar Key"); actualTimelineElementDetails.amount(10); actualTimelineElementDetails.analogCost(1); @@ -394,7 +394,7 @@ void testTimeLine(){ testingTimeLine3(actualTimelineElementDetails); } - void testingTimeLine3(TimelineElementDetailsV27 actualTimelineElementDetails){ + void testingTimeLine3(TimelineElementDetailsV28 actualTimelineElementDetails){ assertNotNull(actualTimelineElementDetails.getLegalFactGenerationDate()); assertEquals("42", actualTimelineElementDetails.getLegalFactId()); assertEquals("42", actualTimelineElementDetails.getLegalfactId()); @@ -426,7 +426,7 @@ void testingTimeLine3(TimelineElementDetailsV27 actualTimelineElementDetails){ assertEquals(RecipientType.PF, actualTimelineElementDetails.getRecipientType()); } - void testingTimeLine2(TimelineElementDetailsV27 actualTimelineElementDetails){ + void testingTimeLine2(TimelineElementDetailsV28 actualTimelineElementDetails){ assertEquals("Aar Key", actualTimelineElementDetails.getAarKey()); assertEquals(10, actualTimelineElementDetails.getAmount().intValue()); assertEquals(1, actualTimelineElementDetails.getAnalogCost().intValue()); @@ -450,12 +450,12 @@ void testingTimeLine2(TimelineElementDetailsV27 actualTimelineElementDetails){ assertNotNull(actualTimelineElementDetails.getLastAttemptDate()); assertEquals("Registered Letter Code", actualTimelineElementDetails.getRegisteredLetterCode()); assertEquals("42", actualTimelineElementDetails.getRelatedRequestId()); - TimelineElementDetailsV27 actualIsAvailableResult = actualTimelineElementDetails.isAvailable(true); + TimelineElementDetailsV28 actualIsAvailableResult = actualTimelineElementDetails.isAvailable(true); assertSame(actualTimelineElementDetails, actualIsAvailableResult); assertEquals("Notice Code", actualTimelineElementDetails.getNoticeCode()); } - void testingTimeLine1(TimelineElementDetailsV27 timelineElementDetails){ + void testingTimeLine1(TimelineElementDetailsV28 timelineElementDetails){ Assertions.assertNotNull(timelineElementDetails.getLegalFactId()); Assertions.assertNotNull(timelineElementDetails.getNormalizedAddress()); Assertions.assertNotNull(timelineElementDetails.getGeneratedAarUrl()); @@ -473,7 +473,7 @@ void testingTimeLine1(TimelineElementDetailsV27 timelineElementDetails){ Assertions.assertNotNull(timelineElementDetails.getRaddTransactionId()); } - void testingTimeLine(TimelineElementDetailsV27 timelineElementDetails){ + void testingTimeLine(TimelineElementDetailsV28 timelineElementDetails){ Assertions.assertNotNull(timelineElementDetails.getResponseStatus()); Assertions.assertNotNull(timelineElementDetails.getNextLastAttemptMadeForSource()); Assertions.assertNotNull(timelineElementDetails.getNextSourceAttemptsMade()); @@ -497,12 +497,12 @@ void getNotificationRequestStatusByRequestIdREFUSED() { // Given InternalNotification notification = newNotification(); - notification.setNotificationStatusHistory( Collections.singletonList( NotificationStatusHistoryElementV26.builder() - .status( NotificationStatusV26.REFUSED ) + notification.setNotificationStatusHistory( Collections.singletonList( NotificationStatusHistoryElementV28.builder() + .status( NotificationStatusV28.REFUSED ) .build() ) ); - notification.setTimeline( Collections.singletonList( TimelineElementV27.builder() - .category( TimelineElementCategoryV27.REQUEST_REFUSED ) - .details( TimelineElementDetailsV27.builder() + notification.setTimeline( Collections.singletonList( TimelineElementV28.builder() + .category( TimelineElementCategoryV28.REQUEST_REFUSED ) + .details( TimelineElementDetailsV28.builder() .refusalReasons( Collections.singletonList( NotificationRefusedErrorV27.builder() .errorCode( "FILE_NOTFOUND" ) .detail( "Allegato non trovato. fileKey=81dde2a8-9719-4407-b7b3-63e7ea694869" ) @@ -640,7 +640,7 @@ void getReceivedNotificationSuccess() { .exchange() .expectStatus() .isOk() - .expectBody(FullReceivedNotificationV26.class); + .expectBody(FullReceivedNotificationV27.class); Mockito.verify(svc).getNotificationAndNotifyViewedEvent(IUN, INTERNAL_AUTH_HEADER, null); } @@ -692,7 +692,7 @@ void getReceivedNotificationByDelegateSuccess() { .exchange() .expectStatus() .isOk() - .expectBody(FullReceivedNotificationV26.class); + .expectBody(FullReceivedNotificationV27.class); Mockito.verify(svc).getNotificationAndNotifyViewedEvent(IUN, INTERNAL_AUTH_HEADER, MANDATE_ID); } @@ -1334,7 +1334,7 @@ private InternalNotification newNotification() { internalNotification.setCancelledIun("IUN_05"); internalNotification.setCancelledIun("IUN_00"); internalNotification.setSenderPaId("PA_ID"); - internalNotification.setNotificationStatus(NotificationStatusV26.ACCEPTED); + internalNotification.setNotificationStatus(NotificationStatusV28.ACCEPTED); internalNotification.setRecipients(Collections.singletonList( NotificationRecipient.builder() .taxId("Codice Fiscale 01") diff --git a/src/test/java/it/pagopa/pn/delivery/rest/io/PnReceivedIONotificationsControllerTest.java b/src/test/java/it/pagopa/pn/delivery/rest/io/PnReceivedIONotificationsControllerTest.java index b823ac49e..753babede 100644 --- a/src/test/java/it/pagopa/pn/delivery/rest/io/PnReceivedIONotificationsControllerTest.java +++ b/src/test/java/it/pagopa/pn/delivery/rest/io/PnReceivedIONotificationsControllerTest.java @@ -104,11 +104,11 @@ void getReceivedNotificationFailure() { } private InternalNotification newNotification() { - TimelineElementV27 timelineElement = new TimelineElementV27(); - timelineElement.setCategory(TimelineElementCategoryV27.AAR_CREATION_REQUEST); + TimelineElementV28 timelineElement = new TimelineElementV28(); + timelineElement.setCategory(TimelineElementCategoryV28.AAR_CREATION_REQUEST); InternalNotification internalNotification = new InternalNotification(); - internalNotification.setNotificationStatusHistory(List.of(NotificationStatusHistoryElementV26.builder() - .status(NotificationStatusV26.ACCEPTED).build())); + internalNotification.setNotificationStatusHistory(List.of(NotificationStatusHistoryElementV28.builder() + .status(NotificationStatusV28.ACCEPTED).build())); internalNotification.setPagoPaIntMode(NewNotificationRequestV25.PagoPaIntModeEnum.NONE); internalNotification.setTimeline(List.of(timelineElement)); internalNotification.setIun("iun"); @@ -117,7 +117,7 @@ private InternalNotification newNotification() { internalNotification.setCancelledIun("IUN_05"); internalNotification.setCancelledIun("IUN_00"); internalNotification.setSenderPaId(PA_ID); - internalNotification.setNotificationStatus(NotificationStatusV26.ACCEPTED); + internalNotification.setNotificationStatus(NotificationStatusV28.ACCEPTED); internalNotification.setSourceChannel(X_PAGOPA_PN_SRC_CH); internalNotification.setDocuments(List.of(NotificationDocument.builder() .title("title") diff --git a/src/test/java/it/pagopa/pn/delivery/svc/NotificationPriceServiceTest.java b/src/test/java/it/pagopa/pn/delivery/svc/NotificationPriceServiceTest.java index a2e1bcfa4..703c886b7 100644 --- a/src/test/java/it/pagopa/pn/delivery/svc/NotificationPriceServiceTest.java +++ b/src/test/java/it/pagopa/pn/delivery/svc/NotificationPriceServiceTest.java @@ -453,7 +453,7 @@ private InternalNotification getNewInternalNotification() { internalNotification.setCancelledIun("IUN_00"); internalNotification.setSenderPaId("PA_ID"); internalNotification.setPaFee(0); - internalNotification.setNotificationStatus(NotificationStatusV26.ACCEPTED); + internalNotification.setNotificationStatus(NotificationStatusV28.ACCEPTED); internalNotification.setRecipients(Collections.singletonList( NotificationRecipient.builder() .payments(List.of(NotificationPaymentInfo.builder() diff --git a/src/test/java/it/pagopa/pn/delivery/svc/NotificationReceiverValidationTest.java b/src/test/java/it/pagopa/pn/delivery/svc/NotificationReceiverValidationTest.java index e1b2a92d2..a5cd24b1e 100644 --- a/src/test/java/it/pagopa/pn/delivery/svc/NotificationReceiverValidationTest.java +++ b/src/test/java/it/pagopa/pn/delivery/svc/NotificationReceiverValidationTest.java @@ -121,7 +121,7 @@ void checkThrowMechanism() { internalNotification.setCancelledIun("IUN_05"); internalNotification.setCancelledIun("IUN_00"); internalNotification.setSenderPaId("PA_ID"); - internalNotification.setNotificationStatus(NotificationStatusV26.ACCEPTED); + internalNotification.setNotificationStatus(NotificationStatusV28.ACCEPTED); internalNotification.setRecipients(Collections.singletonList( NotificationRecipient.builder() .taxId("Codice Fiscale 01") @@ -406,7 +406,7 @@ void invalidRecipient() { internalNotification.setCancelledIun("IUN_05"); internalNotification.setCancelledIun("IUN_00"); internalNotification.setSenderPaId("PA_ID"); - internalNotification.setNotificationStatus(NotificationStatusV26.ACCEPTED); + internalNotification.setNotificationStatus(NotificationStatusV28.ACCEPTED); internalNotification.setRecipients(Collections.singletonList( NotificationRecipient.builder() .taxId("Codice Fiscale 01") @@ -440,7 +440,7 @@ void validRecipientTaxIdOmocode() { internalNotification.setCancelledIun("IUN_05"); internalNotification.setCancelledIun("IUN_00"); internalNotification.setSenderPaId("PA_ID"); - internalNotification.setNotificationStatus(NotificationStatusV26.ACCEPTED); + internalNotification.setNotificationStatus(NotificationStatusV28.ACCEPTED); internalNotification.setRecipients(Collections.singletonList( NotificationRecipient.builder() .taxId("Codice Fiscale 01") @@ -470,7 +470,7 @@ void invalidRecipientTaxId() { internalNotification.setCancelledIun("IUN_05"); internalNotification.setCancelledIun("IUN_00"); internalNotification.setSenderPaId("PA_ID"); - internalNotification.setNotificationStatus(NotificationStatusV26.ACCEPTED); + internalNotification.setNotificationStatus(NotificationStatusV28.ACCEPTED); internalNotification.setRecipients(Collections.singletonList( NotificationRecipient.builder() .taxId("Codice Fiscale 01") @@ -502,7 +502,7 @@ void invalidSenderTaxId() { internalNotification.setCancelledIun("IUN_05"); internalNotification.setCancelledIun("IUN_00"); internalNotification.setSenderPaId("PA_ID"); - internalNotification.setNotificationStatus(NotificationStatusV26.ACCEPTED); + internalNotification.setNotificationStatus(NotificationStatusV28.ACCEPTED); internalNotification.setRecipients(Collections.singletonList( NotificationRecipient.builder() .taxId("Codice Fiscale 01") @@ -534,7 +534,7 @@ void invalidAbstract() { internalNotification.setCancelledIun("IUN_05"); internalNotification.setCancelledIun("IUN_00"); internalNotification.setSenderPaId("PA_ID"); - internalNotification.setNotificationStatus(NotificationStatusV26.ACCEPTED); + internalNotification.setNotificationStatus(NotificationStatusV28.ACCEPTED); internalNotification.setRecipients(Collections.singletonList( NotificationRecipient.builder() .taxId("Codice Fiscale 01") @@ -897,7 +897,7 @@ void invalidNullValuesInCollections() { internalNotification.setCancelledIun("IUN_05"); internalNotification.setCancelledIun("IUN_00"); internalNotification.setSenderPaId("PA_ID"); - internalNotification.setNotificationStatus(NotificationStatusV26.ACCEPTED); + internalNotification.setNotificationStatus(NotificationStatusV28.ACCEPTED); internalNotification.setRecipients(Collections.singletonList( NotificationRecipient.builder() .taxId("Codice Fiscale 01") @@ -929,7 +929,7 @@ void invalidDocumentAndRecipientWithEmptyFields() { internalNotification.setCancelledIun("IUN_05"); internalNotification.setCancelledIun("IUN_00"); internalNotification.setSenderPaId("PA_ID"); - internalNotification.setNotificationStatus(NotificationStatusV26.ACCEPTED); + internalNotification.setNotificationStatus(NotificationStatusV28.ACCEPTED); internalNotification.setRecipients(Collections.singletonList( NotificationRecipient.builder() .taxId("Codice Fiscale 01") @@ -970,7 +970,7 @@ void invalidDocumentAndRecipientWithEmptyDigestsAndDigitalDomicile() { internalNotification.setCancelledIun("IUN_05"); internalNotification.setCancelledIun("IUN_00"); internalNotification.setSenderPaId("PA_ID"); - internalNotification.setNotificationStatus(NotificationStatusV26.ACCEPTED); + internalNotification.setNotificationStatus(NotificationStatusV28.ACCEPTED); internalNotification.documents(List.of(it.pagopa.pn.delivery.models.internal.notification.NotificationDocument.builder() .ref( it.pagopa.pn.delivery.models.internal.notification.NotificationAttachmentBodyRef.builder() .versionToken( VERSION_TOKEN ) @@ -1049,7 +1049,7 @@ void testCheckNotificationDocumentFail() { internalNotification.setCancelledIun("IUN_05"); internalNotification.setCancelledIun("IUN_00"); internalNotification.setSenderPaId("PA_ID"); - internalNotification.setNotificationStatus(NotificationStatusV26.ACCEPTED); + internalNotification.setNotificationStatus(NotificationStatusV28.ACCEPTED); internalNotification.setRecipients(Collections.singletonList( NotificationRecipient.builder() .taxId("Codice Fiscale 01") @@ -1541,7 +1541,7 @@ private InternalNotification validDocumentWithoutPayments() { internalNotification.setCancelledIun("IUN_05"); internalNotification.setCancelledIun("IUN_00"); internalNotification.setSenderPaId("PA_ID"); - internalNotification.setNotificationStatus(NotificationStatusV26.ACCEPTED); + internalNotification.setNotificationStatus(NotificationStatusV28.ACCEPTED); internalNotification.setRecipients(Collections.singletonList( NotificationRecipient.builder() .taxId("Codice Fiscale 01") @@ -1562,7 +1562,7 @@ private InternalNotification validDocumentWithPayments() { internalNotification.setCancelledIun("IUN_05"); internalNotification.setCancelledIun("IUN_00"); internalNotification.setSenderPaId("PA_ID"); - internalNotification.setNotificationStatus(NotificationStatusV26.ACCEPTED); + internalNotification.setNotificationStatus(NotificationStatusV28.ACCEPTED); internalNotification.setRecipients(Collections.singletonList( NotificationRecipient.builder() .taxId("Codice Fiscale 01") diff --git a/src/test/java/it/pagopa/pn/delivery/svc/PaymentEventsServiceTest.java b/src/test/java/it/pagopa/pn/delivery/svc/PaymentEventsServiceTest.java index 0d92b91e2..abc28b111 100644 --- a/src/test/java/it/pagopa/pn/delivery/svc/PaymentEventsServiceTest.java +++ b/src/test/java/it/pagopa/pn/delivery/svc/PaymentEventsServiceTest.java @@ -213,7 +213,7 @@ private InternalNotification createInternalNotification() { internalNotification.setIun(IUN); internalNotification.setSubject("Subject 01"); internalNotification.setSenderPaId(SENDER_PA_ID); - internalNotification.setNotificationStatus(NotificationStatusV26.ACCEPTED); + internalNotification.setNotificationStatus(NotificationStatusV28.ACCEPTED); internalNotification.setRecipients(Collections.singletonList(notificationRecipient)); internalNotification.setRecipientIds(List.of(RECIPIENT_INTERNAL_ID)); internalNotification.setSourceChannel(X_PAGOPA_PN_SRC_CH); diff --git a/src/test/java/it/pagopa/pn/delivery/svc/ReceivedNotificationsDocumentTest.java b/src/test/java/it/pagopa/pn/delivery/svc/ReceivedNotificationsDocumentTest.java index 59f531fac..7795c89fa 100644 --- a/src/test/java/it/pagopa/pn/delivery/svc/ReceivedNotificationsDocumentTest.java +++ b/src/test/java/it/pagopa/pn/delivery/svc/ReceivedNotificationsDocumentTest.java @@ -4,7 +4,7 @@ import it.pagopa.pn.delivery.generated.openapi.msclient.datavault.v1.model.BaseRecipientDto; import it.pagopa.pn.delivery.generated.openapi.server.v1.dto.NotificationDigitalAddress; import it.pagopa.pn.delivery.generated.openapi.server.v1.dto.NotificationFeePolicy; -import it.pagopa.pn.delivery.generated.openapi.server.v1.dto.NotificationStatusV26; +import it.pagopa.pn.delivery.generated.openapi.server.v1.dto.NotificationStatusV28; import it.pagopa.pn.delivery.middleware.NotificationDao; import it.pagopa.pn.delivery.middleware.notificationdao.EntityToDtoNotificationMapper; import it.pagopa.pn.delivery.middleware.notificationdao.NotificationDaoDynamo; @@ -189,7 +189,7 @@ private InternalNotification createDocumentsNotification() { internalNotification.setCancelledIun("IUN_05"); internalNotification.setCancelledIun("IUN_00"); internalNotification.setSenderPaId("PA_ID"); - internalNotification.setNotificationStatus(NotificationStatusV26.IN_VALIDATION); + internalNotification.setNotificationStatus(NotificationStatusV28.IN_VALIDATION); internalNotification.setDocuments(List.of(NotificationDocument.builder() .docIdx("doc") .title("title") @@ -218,7 +218,7 @@ private InternalNotification createNoDocumentsNotification() { internalNotification.setCancelledIun("IUN_05"); internalNotification.setCancelledIun("IUN_00"); internalNotification.setSenderPaId("PA_ID"); - internalNotification.setNotificationStatus(NotificationStatusV26.IN_VALIDATION); + internalNotification.setNotificationStatus(NotificationStatusV28.IN_VALIDATION); internalNotification.setRecipients(Collections.singletonList( NotificationRecipient.builder() .taxId("Codice Fiscale 01") diff --git a/src/test/java/it/pagopa/pn/delivery/svc/authorization/CheckAuthComponentTest.java b/src/test/java/it/pagopa/pn/delivery/svc/authorization/CheckAuthComponentTest.java index 99f6f22cc..a2f19b253 100644 --- a/src/test/java/it/pagopa/pn/delivery/svc/authorization/CheckAuthComponentTest.java +++ b/src/test/java/it/pagopa/pn/delivery/svc/authorization/CheckAuthComponentTest.java @@ -7,7 +7,7 @@ import it.pagopa.pn.delivery.generated.openapi.server.v1.dto.NewNotificationRequestV25; import it.pagopa.pn.delivery.generated.openapi.server.v1.dto.NotificationDigitalAddress; import it.pagopa.pn.delivery.generated.openapi.server.v1.dto.NotificationRecipientV24; -import it.pagopa.pn.delivery.generated.openapi.server.v1.dto.NotificationStatusV26; +import it.pagopa.pn.delivery.generated.openapi.server.v1.dto.NotificationStatusV28; import it.pagopa.pn.delivery.models.InternalNotification; import it.pagopa.pn.delivery.models.internal.notification.NotificationRecipient; import it.pagopa.pn.delivery.pnclient.mandate.PnMandateClientImpl; @@ -227,7 +227,7 @@ private InternalNotification newNotification() { internalNotification.setCancelledIun("IUN_05"); internalNotification.setCancelledIun("IUN_00"); internalNotification.setSenderPaId("PA_ID"); - internalNotification.setNotificationStatus(NotificationStatusV26.ACCEPTED); + internalNotification.setNotificationStatus(NotificationStatusV28.ACCEPTED); internalNotification.setRecipients(Collections.singletonList( NotificationRecipient.builder() .taxId("Codice Fiscale 01") diff --git a/src/test/java/it/pagopa/pn/delivery/svc/search/NotificationRetrieverServiceTest.java b/src/test/java/it/pagopa/pn/delivery/svc/search/NotificationRetrieverServiceTest.java index 9e5f5b38c..3297486c0 100644 --- a/src/test/java/it/pagopa/pn/delivery/svc/search/NotificationRetrieverServiceTest.java +++ b/src/test/java/it/pagopa/pn/delivery/svc/search/NotificationRetrieverServiceTest.java @@ -65,7 +65,7 @@ class NotificationRetrieverServiceTest { private static final String MANDATE_ID = "mandateId"; public static final String NOTICE_CODE = "302000100000019421"; private static final Integer SIZE = 10; - private static final NotificationStatusV26 STATUS = NotificationStatusV26.IN_VALIDATION; + private static final NotificationStatusV28 STATUS = NotificationStatusV28.IN_VALIDATION; private static final String RECIPIENT_ID = "CGNNMO80A01H501M"; public static final List GROUPS = List.of("Group1", "Group2"); public static final String GROUP = "Group"; @@ -418,18 +418,18 @@ void getNotificationWithTimelineInfoSuccess() { InternalNotification notification = getNewInternalNotification(); - var tle = Collections.singletonList( new it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementV27() + var tle = Collections.singletonList( new it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementV28() //.iun( IUN ) .elementId( "elementId" ) - .category( it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementCategoryV27.REQUEST_ACCEPTED ) + .category( it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementCategoryV28.REQUEST_ACCEPTED ) .timestamp( Instant.now() .atOffset(ZoneOffset.UTC) )); NotificationHistoryResponse timelineStatusHistoryDto = new NotificationHistoryResponse() .timeline( tle ) - .notificationStatus( it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.NotificationStatusV26.ACCEPTED ) - .notificationStatusHistory( Collections.singletonList(new it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.NotificationStatusHistoryElementV26() - .status(it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.NotificationStatusV26.ACCEPTED) + .notificationStatus( it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.NotificationStatusV28.ACCEPTED ) + .notificationStatusHistory( Collections.singletonList(new it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.NotificationStatusHistoryElementV28() + .status(it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.NotificationStatusV28.ACCEPTED) .activeFrom( OffsetDateTime.ofInstant( Instant.parse( "2022-06-11T00:00:00.00Z" ), ZoneOffset.UTC ) )) ); //When when( notificationDao.getNotificationByIun( Mockito.anyString(), Mockito.anyBoolean() )).thenReturn( Optional.of( notification ) ); @@ -446,17 +446,17 @@ void getNotificationInformationByProtocolAndIdempotenceSuccess() { // Given InternalNotification notification = getNewInternalNotification(); - var tle = Collections.singletonList( new it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementV27() + var tle = Collections.singletonList( new it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementV28() .elementId( "elementId" ) - .category( it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementCategoryV27.REQUEST_ACCEPTED ) + .category( it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementCategoryV28.REQUEST_ACCEPTED ) .timestamp( Instant.now() .atOffset(ZoneOffset.UTC) )); NotificationHistoryResponse timelineStatusHistoryDto = new NotificationHistoryResponse() .timeline( tle ) - .notificationStatus( it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.NotificationStatusV26.ACCEPTED ) - .notificationStatusHistory( Collections.singletonList(new it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.NotificationStatusHistoryElementV26() - .status(it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.NotificationStatusV26.ACCEPTED) + .notificationStatus( it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.NotificationStatusV28.ACCEPTED ) + .notificationStatusHistory( Collections.singletonList(new it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.NotificationStatusHistoryElementV28() + .status(it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.NotificationStatusV28.ACCEPTED) .activeFrom( OffsetDateTime.ofInstant( Instant.parse( "2022-06-11T00:00:00.00Z" ), ZoneOffset.UTC ) )) ); // When @@ -489,16 +489,16 @@ void getNotificationInformationByProtocolAndIdempotenceFailure() { void getNotificationInformationWithSenderIdCheckSuccess() { InternalNotification notification = getNewInternalNotification(); - var tle = Collections.singletonList( new it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementV27() + var tle = Collections.singletonList( new it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementV28() .elementId( "elementId" ) - .category( it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementCategoryV27.REQUEST_ACCEPTED ) + .category( it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementCategoryV28.REQUEST_ACCEPTED ) .timestamp( Instant.now() .atOffset(ZoneOffset.UTC) )); NotificationHistoryResponse timelineStatusHistoryDto = new NotificationHistoryResponse() .timeline( tle ) - .notificationStatus( it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.NotificationStatusV26.ACCEPTED ) - .notificationStatusHistory( Collections.singletonList(new it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.NotificationStatusHistoryElementV26() - .status(it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.NotificationStatusV26.ACCEPTED) + .notificationStatus( it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.NotificationStatusV28.ACCEPTED ) + .notificationStatusHistory( Collections.singletonList(new it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.NotificationStatusHistoryElementV28() + .status(it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.NotificationStatusV28.ACCEPTED) .activeFrom( OffsetDateTime.ofInstant( Instant.parse( "2022-06-11T00:00:00.00Z" ), ZoneOffset.UTC ) )) ); when( notificationDao.getNotificationByIun( Mockito.anyString(), Mockito.anyBoolean() ) ).thenReturn( Optional.of( notification ) ); @@ -538,17 +538,17 @@ void getNotificationInformationByWrongSenderGroupFailure() { void getNotificationInfoReturnFirstNoticeCode() { InternalNotification notification = getNewInternalNotification(); - var tle = Collections.singletonList( new it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementV27() + var tle = Collections.singletonList( new it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementV28() .elementId( "elementId" ) - .category( it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementCategoryV27.REQUEST_ACCEPTED ) + .category( it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementCategoryV28.REQUEST_ACCEPTED ) .timestamp( Instant.now() .atOffset(ZoneOffset.UTC) )); NotificationHistoryResponse timelineStatusHistoryDto = new NotificationHistoryResponse() .timeline( tle ) - .notificationStatus( it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.NotificationStatusV26.ACCEPTED ) - .notificationStatusHistory( Collections.singletonList(new it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.NotificationStatusHistoryElementV26() - .status(it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.NotificationStatusV26.ACCEPTED) + .notificationStatus( it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.NotificationStatusV28.ACCEPTED ) + .notificationStatusHistory( Collections.singletonList(new it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.NotificationStatusHistoryElementV28() + .status(it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.NotificationStatusV28.ACCEPTED) .activeFrom( OffsetDateTime.ofInstant( Instant.parse( "2022-06-11T00:00:00.00Z" ), ZoneOffset.UTC ) )) ); when( notificationDao.getNotificationByIun( Mockito.anyString(), Mockito.anyBoolean() ) ).thenReturn( Optional.of( notification ) ); @@ -562,8 +562,8 @@ void getNotificationInfoReturnFirstNoticeCode() { @NotNull private InternalNotification getNewInternalNotification() { InternalNotification internalNotification = new InternalNotification(); - TimelineElementV27 timelineElement = new TimelineElementV27(); - timelineElement.setCategory(TimelineElementCategoryV27.AAR_CREATION_REQUEST); + TimelineElementV28 timelineElement = new TimelineElementV28(); + timelineElement.setCategory(TimelineElementCategoryV28.AAR_CREATION_REQUEST); internalNotification.setTimeline(List.of(timelineElement)); internalNotification.setIun(IUN); internalNotification.setRecipientIds(List.of("cxId")); @@ -573,7 +573,7 @@ private InternalNotification getNewInternalNotification() { internalNotification.setCancelledIun("IUN_05"); internalNotification.setCancelledIun("IUN_00"); internalNotification.setSenderPaId(SENDER_ID); - internalNotification.setNotificationStatus(NotificationStatusV26.ACCEPTED); + internalNotification.setNotificationStatus(NotificationStatusV28.ACCEPTED); internalNotification.setIdempotenceToken(IDEMPOTENCE_TOKEN); internalNotification.setRecipients(Collections.singletonList( NotificationRecipient.builder() @@ -691,17 +691,17 @@ void getNotificationCancelledFromPA() { String nowTestInstant = "2022-06-17T13:00:00.00Z"; InternalNotification internalNotification = getNewInternalNotification(); - var tle = Collections.singletonList( new it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementV27() + var tle = Collections.singletonList( new it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementV28() .elementId( "elementId" ) - .category( it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementCategoryV27.NOTIFICATION_CANCELLATION_REQUEST ) + .category( it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementCategoryV28.NOTIFICATION_CANCELLATION_REQUEST ) .timestamp( Instant.now() .atOffset(ZoneOffset.UTC) )); NotificationHistoryResponse timelineStatusHistoryDto = new NotificationHistoryResponse() .timeline( tle ) - .notificationStatus( it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.NotificationStatusV26.CANCELLED ) - .notificationStatusHistory( Collections.singletonList(new it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.NotificationStatusHistoryElementV26() - .status(it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.NotificationStatusV26.CANCELLED) + .notificationStatus( it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.NotificationStatusV28.CANCELLED ) + .notificationStatusHistory( Collections.singletonList(new it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.NotificationStatusHistoryElementV28() + .status(it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.NotificationStatusV28.CANCELLED) .activeFrom( OffsetDateTime.ofInstant( Instant.parse( "2022-06-11T00:00:00.00Z" ), ZoneOffset.UTC ) )) ); @@ -723,17 +723,17 @@ void getNotificationCancelledFromRecipient() { String nowTestInstant = "2022-06-17T13:00:00.00Z"; InternalNotification internalNotification = getNewInternalNotification(); - var tle = Collections.singletonList( new it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementV27() + var tle = Collections.singletonList( new it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementV28() .elementId( "elementId" ) - .category( it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementCategoryV27.NOTIFICATION_CANCELLATION_REQUEST ) + .category( it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementCategoryV28.NOTIFICATION_CANCELLATION_REQUEST ) .timestamp( Instant.now() .atOffset(ZoneOffset.UTC) )); NotificationHistoryResponse timelineStatusHistoryDto = new NotificationHistoryResponse() .timeline( tle ) - .notificationStatus( it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.NotificationStatusV26.CANCELLED ) - .notificationStatusHistory( Collections.singletonList(new it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.NotificationStatusHistoryElementV26() - .status(it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.NotificationStatusV26.CANCELLED) + .notificationStatus( it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.NotificationStatusV28.CANCELLED ) + .notificationStatusHistory( Collections.singletonList(new it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.NotificationStatusHistoryElementV28() + .status(it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.NotificationStatusV28.CANCELLED) .activeFrom( OffsetDateTime.ofInstant( Instant.parse( "2022-06-11T00:00:00.00Z" ), ZoneOffset.UTC ) )) ); @@ -752,12 +752,12 @@ void getNotificationCancelledFromRecipient() { @Test void checkRefinementDateOraSolare() { // Given - List timelineElementList = List.of( TimelineElementV27.builder() - .category( TimelineElementCategoryV27.REFINEMENT ) + List timelineElementList = List.of( TimelineElementV28.builder() + .category( TimelineElementCategoryV28.REFINEMENT ) .timestamp( OffsetDateTime.parse( "2022-10-05T12:23:15.123456Z" ) ) .build(), - TimelineElementV27.builder() - .category( TimelineElementCategoryV27.NOTIFICATION_VIEWED ) + TimelineElementV28.builder() + .category( TimelineElementCategoryV28.NOTIFICATION_VIEWED ) .timestamp( OffsetDateTime.parse( "2022-10-03T10:10:15.123456Z" ) ) .build() ); @@ -773,12 +773,12 @@ void checkRefinementDateOraSolare() { @Test void checkRefinementDateOraLegale() { // Given - List timelineElementList = List.of( TimelineElementV27.builder() - .category( TimelineElementCategoryV27.REFINEMENT ) + List timelineElementList = List.of( TimelineElementV28.builder() + .category( TimelineElementCategoryV28.REFINEMENT ) .timestamp( OffsetDateTime.parse( "2022-12-05T12:23:15.123456Z" ) ) .build(), - TimelineElementV27.builder() - .category( TimelineElementCategoryV27.NOTIFICATION_VIEWED ) + TimelineElementV28.builder() + .category( TimelineElementCategoryV28.NOTIFICATION_VIEWED ) .timestamp( OffsetDateTime.parse( "2022-12-03T10:10:15.123456Z" ) ) .build() ); @@ -797,17 +797,17 @@ void getNotificationAndViewEventSuccess() { String nowTestInstant = "2022-06-17T13:00:00.00Z"; InternalNotification internalNotification = getNewInternalNotification(); - var tle = Collections.singletonList( new it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementV27() + var tle = Collections.singletonList( new it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementV28() .elementId( "elementId" ) - .category( it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementCategoryV27.REFINEMENT ) + .category( it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementCategoryV28.REFINEMENT ) .timestamp( Instant.now() .atOffset(ZoneOffset.UTC) )); NotificationHistoryResponse timelineStatusHistoryDto = new NotificationHistoryResponse() .timeline( tle ) - .notificationStatus( it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.NotificationStatusV26.ACCEPTED ) - .notificationStatusHistory( Collections.singletonList(new it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.NotificationStatusHistoryElementV26() - .status(it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.NotificationStatusV26.ACCEPTED) + .notificationStatus( it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.NotificationStatusV28.ACCEPTED ) + .notificationStatusHistory( Collections.singletonList(new it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.NotificationStatusHistoryElementV28() + .status(it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.NotificationStatusV28.ACCEPTED) .activeFrom( OffsetDateTime.ofInstant( Instant.parse( "2022-06-11T00:00:00.00Z" ), ZoneOffset.UTC ) )) ); @@ -831,17 +831,17 @@ void getNotificationAndViewEventByDelegateSuccess() { String nowTestInstant = "2022-06-17T13:00:00.00Z"; InternalNotification internalNotification = getNewInternalNotification(); - var tle = Collections.singletonList( new it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementV27() + var tle = Collections.singletonList( new it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementV28() .elementId( "elementId" ) - .category( it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementCategoryV27.REFINEMENT ) + .category( it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementCategoryV28.REFINEMENT ) .timestamp( Instant.now() .atOffset(ZoneOffset.UTC) )); NotificationHistoryResponse timelineStatusHistoryDto = new NotificationHistoryResponse() .timeline( tle ) - .notificationStatus( it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.NotificationStatusV26.ACCEPTED ) - .notificationStatusHistory( Collections.singletonList(new it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.NotificationStatusHistoryElementV26() - .status(it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.NotificationStatusV26.ACCEPTED) + .notificationStatus( it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.NotificationStatusV28.ACCEPTED ) + .notificationStatusHistory( Collections.singletonList(new it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.NotificationStatusHistoryElementV28() + .status(it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.NotificationStatusV28.ACCEPTED) .activeFrom( OffsetDateTime.ofInstant( Instant.parse( "2022-06-11T00:00:00.00Z" ), ZoneOffset.UTC ) )) ); @@ -880,17 +880,17 @@ void getNotificationAndViewEventByDelegateNotAllowedPAID() { String nowTestInstant = "2022-06-17T13:00:00.00Z"; InternalNotification internalNotification = getNewInternalNotification(); - var tle = Collections.singletonList( new it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementV27() + var tle = Collections.singletonList( new it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementV28() .elementId( "elementId" ) - .category( it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementCategoryV27.REFINEMENT ) + .category( it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementCategoryV28.REFINEMENT ) .timestamp( Instant.now() .atOffset(ZoneOffset.UTC) )); NotificationHistoryResponse timelineStatusHistoryDto = new NotificationHistoryResponse() .timeline( tle ) - .notificationStatus( it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.NotificationStatusV26.ACCEPTED ) - .notificationStatusHistory( Collections.singletonList(new it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.NotificationStatusHistoryElementV26() - .status(it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.NotificationStatusV26.ACCEPTED) + .notificationStatus( it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.NotificationStatusV28.ACCEPTED ) + .notificationStatusHistory( Collections.singletonList(new it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.NotificationStatusHistoryElementV28() + .status(it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.NotificationStatusV28.ACCEPTED) .activeFrom( OffsetDateTime.ofInstant( Instant.parse( "2022-06-11T00:00:00.00Z" ), ZoneOffset.UTC ) )) ); @@ -922,17 +922,17 @@ void getNotificationAndViewEventByDelegateNotAllowedNOMandate() { String nowTestInstant = "2022-06-17T13:00:00.00Z"; InternalNotification internalNotification = getNewInternalNotification(); - var tle = Collections.singletonList( new it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementV27() + var tle = Collections.singletonList( new it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementV28() .elementId( "elementId" ) - .category( it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementCategoryV27.REFINEMENT ) + .category( it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementCategoryV28.REFINEMENT ) .timestamp( Instant.now() .atOffset(ZoneOffset.UTC) )); NotificationHistoryResponse timelineStatusHistoryDto = new NotificationHistoryResponse() .timeline( tle ) - .notificationStatus( it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.NotificationStatusV26.ACCEPTED ) - .notificationStatusHistory( Collections.singletonList(new it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.NotificationStatusHistoryElementV26() - .status(it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.NotificationStatusV26.ACCEPTED) + .notificationStatus( it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.NotificationStatusV28.ACCEPTED ) + .notificationStatusHistory( Collections.singletonList(new it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.NotificationStatusHistoryElementV28() + .status(it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.NotificationStatusV28.ACCEPTED) .activeFrom( OffsetDateTime.ofInstant( Instant.parse( "2022-06-11T00:00:00.00Z" ), ZoneOffset.UTC ) )) ); @@ -956,17 +956,17 @@ void getNotificationAndViewEventByDelegateNotAllowedNOMandateForDelegator() { String nowTestInstant = "2022-06-17T13:00:00.00Z"; InternalNotification internalNotification = getNewInternalNotification(); - var tle = Collections.singletonList( new it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementV27() + var tle = Collections.singletonList( new it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementV28() .elementId( "elementId" ) - .category( it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementCategoryV27.REFINEMENT ) + .category( it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementCategoryV28.REFINEMENT ) .timestamp( Instant.now() .atOffset(ZoneOffset.UTC) )); NotificationHistoryResponse timelineStatusHistoryDto = new NotificationHistoryResponse() .timeline( tle ) - .notificationStatus( it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.NotificationStatusV26.ACCEPTED ) - .notificationStatusHistory( Collections.singletonList(new it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.NotificationStatusHistoryElementV26() - .status(it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.NotificationStatusV26.ACCEPTED) + .notificationStatus( it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.NotificationStatusV28.ACCEPTED ) + .notificationStatusHistory( Collections.singletonList(new it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.NotificationStatusHistoryElementV28() + .status(it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.NotificationStatusV28.ACCEPTED) .activeFrom( OffsetDateTime.ofInstant( Instant.parse( "2022-06-11T00:00:00.00Z" ), ZoneOffset.UTC ) )) ); @@ -997,16 +997,16 @@ void getNotificationAndViewEventDocsUnavSuccess() { String nowTestInstant = "2022-06-30T00:00:00.00Z"; InternalNotification internalNotification = getNewInternalNotification(); - var tle = Collections.singletonList( new it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementV27() + var tle = Collections.singletonList( new it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementV28() .elementId( "elementId" ) - .category( it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementCategoryV27.REFINEMENT ) + .category( it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementCategoryV28.REFINEMENT ) .timestamp( OffsetDateTime.parse( "2022-03-01T12:00:00.00Z" ) )); NotificationHistoryResponse timelineStatusHistoryDto = new NotificationHistoryResponse() .timeline( tle ) - .notificationStatus( it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.NotificationStatusV26.ACCEPTED ) - .notificationStatusHistory( Collections.singletonList(new it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.NotificationStatusHistoryElementV26() - .status(it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.NotificationStatusV26.ACCEPTED) + .notificationStatus( it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.NotificationStatusV28.ACCEPTED ) + .notificationStatusHistory( Collections.singletonList(new it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.NotificationStatusHistoryElementV28() + .status(it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.NotificationStatusV28.ACCEPTED) .activeFrom( OffsetDateTime.ofInstant( Instant.parse( "2022-03-01T12:00:00.00Z" ), ZoneOffset.UTC ) )) ); @@ -1028,17 +1028,17 @@ void getNotificationAndViewEventError() { //Given InternalNotification internalNotification = getNewInternalNotification(); - var tle = Collections.singletonList( new it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementV27() + var tle = Collections.singletonList( new it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementV28() .elementId( "elementId" ) - .category( it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementCategoryV27.REFINEMENT ) + .category( it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementCategoryV28.REFINEMENT ) .timestamp( Instant.now() .atOffset(ZoneOffset.UTC) )); NotificationHistoryResponse timelineStatusHistoryDto = new NotificationHistoryResponse() .timeline( tle ) - .notificationStatus( it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.NotificationStatusV26.ACCEPTED ) - .notificationStatusHistory( Collections.singletonList(new it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.NotificationStatusHistoryElementV26() - .status(it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.NotificationStatusV26.ACCEPTED) + .notificationStatus( it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.NotificationStatusV28.ACCEPTED ) + .notificationStatusHistory( Collections.singletonList(new it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.NotificationStatusHistoryElementV28() + .status(it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.NotificationStatusV28.ACCEPTED) .activeFrom( OffsetDateTime.ofInstant( Instant.parse( "2022-06-11T00:00:00.00Z" ), ZoneOffset.UTC ) )) ); @@ -1058,20 +1058,20 @@ void getNotificationAndViewEventError() { void getNotificationWith2IUVBeforeTerms() { InternalNotification internalNotification = getNewInternalNotification(); - var tle = List.of( new it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementV27() + var tle = List.of( new it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementV28() .elementId( "elementId" ) - .category( it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementCategoryV27.REFINEMENT ) + .category( it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementCategoryV28.REFINEMENT ) .timestamp( OffsetDateTime.ofInstant( Instant.parse( "2022-01-11T00:00:00.00Z" ), ZoneOffset.UTC )), - new it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementV27() + new it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementV28() .elementId( "elementId_1" ) - .category( it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementCategoryV27.NOTIFICATION_VIEWED ) + .category( it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementCategoryV28.NOTIFICATION_VIEWED ) .timestamp( OffsetDateTime.ofInstant( Instant.parse( "2022-01-12T00:00:00.00Z" ), ZoneOffset.UTC ) )); NotificationHistoryResponse timelineStatusHistoryDto = new NotificationHistoryResponse() .timeline( tle ) - .notificationStatus( it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.NotificationStatusV26.ACCEPTED ) - .notificationStatusHistory( Collections.singletonList(new it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.NotificationStatusHistoryElementV26() - .status(it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.NotificationStatusV26.ACCEPTED) + .notificationStatus( it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.NotificationStatusV28.ACCEPTED ) + .notificationStatusHistory( Collections.singletonList(new it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.NotificationStatusHistoryElementV28() + .status(it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.NotificationStatusV28.ACCEPTED) .activeFrom( OffsetDateTime.ofInstant( Instant.parse( "2022-01-11T00:00:00.00Z" ), ZoneOffset.UTC ) )) ); //When @@ -1092,20 +1092,20 @@ void getNotificationWith2IUVBeforeTerms() { void getNotificationWith2IUVWithFirstIUVPayedAfterTerms() { InternalNotification internalNotification = getNewInternalNotification(); - var tle = List.of( new it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementV27() + var tle = List.of( new it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementV28() .elementId( "elementId" ) - .category( it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementCategoryV27.REFINEMENT ) + .category( it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementCategoryV28.REFINEMENT ) .timestamp( OffsetDateTime.ofInstant( Instant.parse( "2022-01-11T00:00:00.00Z" ), ZoneOffset.UTC )), - new it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementV27() + new it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementV28() .elementId( "elementId_1" ) - .category( it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementCategoryV27.NOTIFICATION_VIEWED ) + .category( it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementCategoryV28.NOTIFICATION_VIEWED ) .timestamp( OffsetDateTime.ofInstant( Instant.parse( "2022-01-12T00:00:00.00Z" ), ZoneOffset.UTC ) )); NotificationHistoryResponse timelineStatusHistoryDto = new NotificationHistoryResponse() .timeline( tle ) - .notificationStatus( it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.NotificationStatusV26.ACCEPTED ) - .notificationStatusHistory( Collections.singletonList(new it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.NotificationStatusHistoryElementV26() - .status(it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.NotificationStatusV26.ACCEPTED) + .notificationStatus( it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.NotificationStatusV28.ACCEPTED ) + .notificationStatusHistory( Collections.singletonList(new it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.NotificationStatusHistoryElementV28() + .status(it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.NotificationStatusV28.ACCEPTED) .activeFrom( OffsetDateTime.ofInstant( Instant.parse( "2022-01-11T00:00:00.00Z" ), ZoneOffset.UTC ) )) ); PaymentInfo paymentInfo = new PaymentInfo() @@ -1130,20 +1130,20 @@ void getNotificationWith2IUVWithFirstIUVNoPayedAfterTerms() { String nowTestInstant = "2022-01-17T13:00:00.00Z"; InternalNotification internalNotification = getNewInternalNotification(); - var tle = List.of( new it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementV27() + var tle = List.of( new it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementV28() .elementId( "elementId" ) - .category( it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementCategoryV27.REFINEMENT ) + .category( it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementCategoryV28.REFINEMENT ) .timestamp( OffsetDateTime.ofInstant( Instant.parse( "2022-01-11T12:37:00.00Z" ), ZoneOffset.UTC )), - new it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementV27() + new it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementV28() .elementId( "elementId_1" ) - .category( it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementCategoryV27.NOTIFICATION_VIEWED ) + .category( it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementCategoryV28.NOTIFICATION_VIEWED ) .timestamp( OffsetDateTime.ofInstant( Instant.parse( "2022-01-12T00:00:00.00Z" ), ZoneOffset.UTC ) )); NotificationHistoryResponse timelineStatusHistoryDto = new NotificationHistoryResponse() .timeline( tle ) - .notificationStatus( it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.NotificationStatusV26.ACCEPTED ) - .notificationStatusHistory( Collections.singletonList(new it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.NotificationStatusHistoryElementV26() - .status(it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.NotificationStatusV26.ACCEPTED) + .notificationStatus( it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.NotificationStatusV28.ACCEPTED ) + .notificationStatusHistory( Collections.singletonList(new it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.NotificationStatusHistoryElementV28() + .status(it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.NotificationStatusV28.ACCEPTED) .activeFrom( OffsetDateTime.ofInstant( Instant.parse( "2022-01-11T00:00:00.00Z" ), ZoneOffset.UTC ) )) ); PaymentInfo paymentInfo = new PaymentInfo() @@ -1169,20 +1169,20 @@ void getNotificationWith2IUVFirstLimitDay() { InternalNotification internalNotification = getNewInternalNotification(); - var tle = List.of( new it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementV27() + var tle = List.of( new it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementV28() .elementId( "elementId" ) - .category( it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementCategoryV27.REFINEMENT ) + .category( it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementCategoryV28.REFINEMENT ) .timestamp( OffsetDateTime.ofInstant( Instant.parse( "2022-03-01T12:37:00.00Z" ), ZoneOffset.UTC )), - new it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementV27() + new it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementV28() .elementId( "elementId_1" ) - .category( it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementCategoryV27.NOTIFICATION_VIEWED ) + .category( it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementCategoryV28.NOTIFICATION_VIEWED ) .timestamp( OffsetDateTime.ofInstant( Instant.parse( "2022-03-02T00:00:00.00Z" ), ZoneOffset.UTC ) )); NotificationHistoryResponse timelineStatusHistoryDto = new NotificationHistoryResponse() .timeline( tle ) - .notificationStatus( it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.NotificationStatusV26.ACCEPTED ) - .notificationStatusHistory( Collections.singletonList(new it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.NotificationStatusHistoryElementV26() - .status(it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.NotificationStatusV26.ACCEPTED) + .notificationStatus( it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.NotificationStatusV28.ACCEPTED ) + .notificationStatusHistory( Collections.singletonList(new it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.NotificationStatusHistoryElementV28() + .status(it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.NotificationStatusV28.ACCEPTED) .activeFrom( OffsetDateTime.ofInstant( Instant.parse( "2022-03-01T11:00:00.00Z" ), ZoneOffset.UTC ) )) ); PaymentInfo paymentInfo = new PaymentInfo() @@ -1215,20 +1215,20 @@ void getNotificationWith2IUVLastLimitDay() { InternalNotification internalNotification = getNewInternalNotification(); - var tle = List.of( new it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementV27() + var tle = List.of( new it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementV28() .elementId( "elementId" ) - .category( it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementCategoryV27.REFINEMENT ) + .category( it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementCategoryV28.REFINEMENT ) .timestamp( OffsetDateTime.ofInstant( Instant.parse( "2022-03-01T12:37:00.00Z" ), ZoneOffset.UTC )), - new it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementV27() + new it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementV28() .elementId( "elementId_1" ) - .category( it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementCategoryV27.NOTIFICATION_VIEWED ) + .category( it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementCategoryV28.NOTIFICATION_VIEWED ) .timestamp( OffsetDateTime.ofInstant( Instant.parse( "2022-03-02T00:00:00.00Z" ), ZoneOffset.UTC ) )); NotificationHistoryResponse timelineStatusHistoryDto = new NotificationHistoryResponse() .timeline( tle ) - .notificationStatus( it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.NotificationStatusV26.ACCEPTED ) - .notificationStatusHistory( Collections.singletonList(new it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.NotificationStatusHistoryElementV26() - .status(it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.NotificationStatusV26.ACCEPTED) + .notificationStatus( it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.NotificationStatusV28.ACCEPTED ) + .notificationStatusHistory( Collections.singletonList(new it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.NotificationStatusHistoryElementV28() + .status(it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.NotificationStatusV28.ACCEPTED) .activeFrom( OffsetDateTime.ofInstant( Instant.parse( "2022-03-01T11:00:00.00Z" ), ZoneOffset.UTC ) )) ); PaymentInfo paymentInfo = new PaymentInfo() @@ -1252,20 +1252,20 @@ void getNotificationWith2IUVLastLimitDay() { void getNotificationWith2IUVAfterMaxTerms() { InternalNotification internalNotification = getNewInternalNotification(); - var tle = List.of( new it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementV27() + var tle = List.of( new it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementV28() .elementId( "elementId" ) - .category( it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementCategoryV27.REFINEMENT ) + .category( it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementCategoryV28.REFINEMENT ) .timestamp( OffsetDateTime.ofInstant( Instant.parse( "2022-01-11T00:00:00.00Z" ), ZoneOffset.UTC )), - new it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementV27() + new it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementV28() .elementId( "elementId_1" ) - .category( it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementCategoryV27.NOTIFICATION_VIEWED ) + .category( it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementCategoryV28.NOTIFICATION_VIEWED ) .timestamp( OffsetDateTime.ofInstant( Instant.parse( "2022-01-12T00:00:00.00Z" ), ZoneOffset.UTC ) )); NotificationHistoryResponse timelineStatusHistoryDto = new NotificationHistoryResponse() .timeline( tle ) - .notificationStatus( it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.NotificationStatusV26.ACCEPTED ) - .notificationStatusHistory( Collections.singletonList(new it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.NotificationStatusHistoryElementV26() - .status(it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.NotificationStatusV26.ACCEPTED) + .notificationStatus( it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.NotificationStatusV28.ACCEPTED ) + .notificationStatusHistory( Collections.singletonList(new it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.NotificationStatusHistoryElementV28() + .status(it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.NotificationStatusV28.ACCEPTED) .activeFrom( OffsetDateTime.ofInstant( Instant.parse( "2022-01-11T00:00:00.00Z" ), ZoneOffset.UTC ) )) ); //When @@ -1285,20 +1285,20 @@ void getNotificationWith2IUVAfterMaxTerms() { void getNotificationWith2IUVWithExtRegistryException() { InternalNotification internalNotification = getNewInternalNotification(); - var tle = List.of( new it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementV27() + var tle = List.of( new it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementV28() .elementId( "elementId" ) - .category( it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementCategoryV27.REFINEMENT ) + .category( it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementCategoryV28.REFINEMENT ) .timestamp( OffsetDateTime.ofInstant( Instant.parse( "2022-01-11T00:00:00.00Z" ), ZoneOffset.UTC )), - new it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementV27() + new it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementV28() .elementId( "elementId_1" ) - .category( it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementCategoryV27.NOTIFICATION_VIEWED ) + .category( it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementCategoryV28.NOTIFICATION_VIEWED ) .timestamp( OffsetDateTime.ofInstant( Instant.parse( "2022-01-12T00:00:00.00Z" ), ZoneOffset.UTC ) )); NotificationHistoryResponse timelineStatusHistoryDto = new NotificationHistoryResponse() .timeline( tle ) - .notificationStatus( it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.NotificationStatusV26.ACCEPTED ) - .notificationStatusHistory( Collections.singletonList(new it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.NotificationStatusHistoryElementV26() - .status(it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.NotificationStatusV26.ACCEPTED) + .notificationStatus( it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.NotificationStatusV28.ACCEPTED ) + .notificationStatusHistory( Collections.singletonList(new it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.NotificationStatusHistoryElementV28() + .status(it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.NotificationStatusV28.ACCEPTED) .activeFrom( OffsetDateTime.ofInstant( Instant.parse( "2022-01-11T00:00:00.00Z" ), ZoneOffset.UTC ) )) ); //When @@ -1319,16 +1319,16 @@ void getNotificationWithoutDocumentsSuccess() { // Given InternalNotification internalNotification = getNewInternalNotification(); - var tle = List.of( new it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementV27() + var tle = List.of( new it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementV28() .elementId( "elementId" ) - .category( it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementCategoryV27.REFINEMENT ) + .category( it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementCategoryV28.REFINEMENT ) .timestamp( OffsetDateTime.ofInstant( Instant.parse( "2022-06-11T00:00:00.00Z" ), ZoneOffset.UTC ))); NotificationHistoryResponse timelineStatusHistoryDto = new NotificationHistoryResponse() .timeline( tle ) - .notificationStatus( it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.NotificationStatusV26.CANCELLED ) - .notificationStatusHistory( Collections.singletonList(new it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.NotificationStatusHistoryElementV26() - .status(it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.NotificationStatusV26.CANCELLED) + .notificationStatus( it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.NotificationStatusV28.CANCELLED ) + .notificationStatusHistory( Collections.singletonList(new it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.NotificationStatusHistoryElementV28() + .status(it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.NotificationStatusV28.CANCELLED) .activeFrom( OffsetDateTime.ofInstant( Instant.parse( "2022-06-11T00:00:00.00Z" ), ZoneOffset.UTC ) )) ); //When @@ -1353,16 +1353,16 @@ void getNotificationWithDocumentsLimitDay() { String nowTestInstant = "2022-06-29T18:00:00.00Z"; InternalNotification internalNotification = getNewInternalNotification(); - var tle = List.of( new it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementV27() + var tle = List.of( new it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementV28() .elementId( "elementId" ) - .category( it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementCategoryV27.REFINEMENT ) + .category( it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementCategoryV28.REFINEMENT ) .timestamp( OffsetDateTime.ofInstant( Instant.parse( "2022-03-01T17:00:00.00Z" ), ZoneOffset.UTC ))); NotificationHistoryResponse timelineStatusHistoryDto = new NotificationHistoryResponse() .timeline( tle ) - .notificationStatus( it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.NotificationStatusV26.ACCEPTED ) - .notificationStatusHistory( Collections.singletonList(new it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.NotificationStatusHistoryElementV26() - .status(it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.NotificationStatusV26.ACCEPTED) + .notificationStatus( it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.NotificationStatusV28.ACCEPTED ) + .notificationStatusHistory( Collections.singletonList(new it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.NotificationStatusHistoryElementV28() + .status(it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.NotificationStatusV28.ACCEPTED) .activeFrom( OffsetDateTime.ofInstant( Instant.parse( "2022-03-01T11:00:00.00Z" ), ZoneOffset.UTC ) )) ); //When @@ -1382,16 +1382,16 @@ void getNotificationWithoutDocumentsLimitDay() { String nowTestInstant = "2022-06-30T00:00:00.00Z"; InternalNotification internalNotification = getNewInternalNotification(); - var tle = List.of( new it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementV27() + var tle = List.of( new it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementV28() .elementId( "elementId" ) - .category( it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementCategoryV27.REFINEMENT ) + .category( it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementCategoryV28.REFINEMENT ) .timestamp( OffsetDateTime.ofInstant( Instant.parse( "2022-03-01T17:00:00.00Z" ), ZoneOffset.UTC ))); NotificationHistoryResponse timelineStatusHistoryDto = new NotificationHistoryResponse() .timeline( tle ) - .notificationStatus( it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.NotificationStatusV26.ACCEPTED ) - .notificationStatusHistory( Collections.singletonList(new it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.NotificationStatusHistoryElementV26() - .status(it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.NotificationStatusV26.ACCEPTED) + .notificationStatus( it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.NotificationStatusV28.ACCEPTED ) + .notificationStatusHistory( Collections.singletonList(new it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.NotificationStatusHistoryElementV28() + .status(it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.NotificationStatusV28.ACCEPTED) .activeFrom( OffsetDateTime.ofInstant( Instant.parse( "2022-03-01T11:00:00.00Z" ), ZoneOffset.UTC ) )) ); //When @@ -1417,21 +1417,21 @@ void getNotificationFilteredByRecIndex() { InternalNotification internalNotification = getNewInternalNotification(); enrichInternalNotificationWithAnotherRecipient(internalNotification, "another-recipient"); - var tle = List.of( new it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementV27() + var tle = List.of( new it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementV28() .elementId( "elementId" ) - .category( it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementCategoryV27.REFINEMENT ) + .category( it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementCategoryV28.REFINEMENT ) .timestamp( OffsetDateTime.ofInstant( Instant.parse( "2022-01-11T00:00:00.00Z" ), ZoneOffset.UTC )), - new it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementV27() + new it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementV28() .elementId( "elementId_1" ) - .category( it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementCategoryV27.NOTIFICATION_VIEWED ) + .category( it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementCategoryV28.NOTIFICATION_VIEWED ) .timestamp( OffsetDateTime.ofInstant( Instant.parse( "2022-01-12T00:00:00.00Z" ), ZoneOffset.UTC ) ) - .details(new it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementDetailsV27().recIndex(1))); + .details(new it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementDetailsV28().recIndex(1))); NotificationHistoryResponse timelineStatusHistoryDto = new NotificationHistoryResponse() .timeline( tle ) - .notificationStatus( it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.NotificationStatusV26.ACCEPTED ) - .notificationStatusHistory( Collections.singletonList(new it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.NotificationStatusHistoryElementV26() - .status(it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.NotificationStatusV26.ACCEPTED) + .notificationStatus( it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.NotificationStatusV28.ACCEPTED ) + .notificationStatusHistory( Collections.singletonList(new it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.NotificationStatusHistoryElementV28() + .status(it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.NotificationStatusV28.ACCEPTED) .activeFrom( OffsetDateTime.ofInstant( Instant.parse( "2022-01-11T00:00:00.00Z" ), ZoneOffset.UTC ) )) ); //When @@ -1445,7 +1445,7 @@ void getNotificationFilteredByRecIndex() { Mockito.verify( notificationViewedProducer ).sendNotificationViewed( IUN, Instant.parse( "2022-01-15T00:00:00.00Z" ), 0, null, X_PAGOPA_PN_SRC_CH, X_PAGOPA_PN_SRC_CH_DET ); //mi aspetto che il destinatario che invoca il servizio (cxid, con indice 0), non "veda" la timeline di VIEWD poiché "appartiene" al destinatario another-recipient con indice 1 Assertions.assertEquals(1, internalNotificationResult.getTimeline().size()); - Assertions.assertEquals(TimelineElementCategoryV27.REFINEMENT, internalNotificationResult.getTimeline().get(0).getCategory()); + Assertions.assertEquals(TimelineElementCategoryV28.REFINEMENT, internalNotificationResult.getTimeline().get(0).getCategory()); //mi aspetto che il destinatario che invoca il servizio (cxid, con indice 0), non "veda" nella lista di recipient i dati del recipient con indice 1 Assertions.assertEquals(2, internalNotificationResult.getRecipients().size()); //la dimensione dell'array non deve cambiare Assertions.assertNull(internalNotificationResult.getRecipients().get(1).getTaxId()); @@ -1461,21 +1461,21 @@ void getNotificationNotFilteredByRecIndex() { InternalNotification internalNotification = getNewInternalNotification(); enrichInternalNotificationWithAnotherRecipient(internalNotification, "another-recipient"); - var tle = List.of( new it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementV27() + var tle = List.of( new it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementV28() .elementId( "elementId" ) - .category( it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementCategoryV27.REFINEMENT ) + .category( it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementCategoryV28.REFINEMENT ) .timestamp( OffsetDateTime.ofInstant( Instant.parse( "2022-01-11T00:00:00.00Z" ), ZoneOffset.UTC )), - new it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementV27() + new it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementV28() .elementId( "elementId_1" ) - .category( it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementCategoryV27.NOTIFICATION_VIEWED ) + .category( it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementCategoryV28.NOTIFICATION_VIEWED ) .timestamp( OffsetDateTime.ofInstant( Instant.parse( "2022-01-12T00:00:00.00Z" ), ZoneOffset.UTC ) ) - .details(new it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementDetailsV27().recIndex(0))); + .details(new it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementDetailsV28().recIndex(0))); NotificationHistoryResponse timelineStatusHistoryDto = new NotificationHistoryResponse() .timeline( tle ) - .notificationStatus( it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.NotificationStatusV26.ACCEPTED ) - .notificationStatusHistory( Collections.singletonList(new it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.NotificationStatusHistoryElementV26() - .status(it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.NotificationStatusV26.ACCEPTED) + .notificationStatus( it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.NotificationStatusV28.ACCEPTED ) + .notificationStatusHistory( Collections.singletonList(new it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.NotificationStatusHistoryElementV28() + .status(it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.NotificationStatusV28.ACCEPTED) .activeFrom( OffsetDateTime.ofInstant( Instant.parse( "2022-01-11T00:00:00.00Z" ), ZoneOffset.UTC ) )) ); //When @@ -1633,13 +1633,13 @@ void checkIfNotificationIsNotCancelledWithNotificationNotCancelledTest() { notification.setSentAt(OffsetDateTime.now()); notification.setRecipients(List.of(new NotificationRecipient())); NotificationHistoryResponse deliveryPushResponse = new NotificationHistoryResponse(); - deliveryPushResponse.setNotificationStatus(it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.NotificationStatusV26.ACCEPTED); + deliveryPushResponse.setNotificationStatus(it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.NotificationStatusV28.ACCEPTED); deliveryPushResponse.setNotificationStatusHistory(List.of()); deliveryPushResponse.setTimeline(List.of( - new it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementV27().category(it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementCategoryV27.VALIDATE_NORMALIZE_ADDRESSES_REQUEST), - new it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementV27().category(it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementCategoryV27.NORMALIZED_ADDRESS), - new it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementV27().category(it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementCategoryV27.SENDER_ACK_CREATION_REQUEST), - new it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementV27().category(it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementCategoryV27.REQUEST_ACCEPTED) + new it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementV28().category(it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementCategoryV28.VALIDATE_NORMALIZE_ADDRESSES_REQUEST), + new it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementV28().category(it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementCategoryV28.NORMALIZED_ADDRESS), + new it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementV28().category(it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementCategoryV28.SENDER_ACK_CREATION_REQUEST), + new it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementV28().category(it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementCategoryV28.REQUEST_ACCEPTED) )); when(notificationDao.getNotificationByIun(iun, true)).thenReturn(Optional.of(notification)); @@ -1656,14 +1656,14 @@ void checkIfNotificationIsNotCancelledWithNotificationCancelledTest() { notification.setSentAt(OffsetDateTime.now()); notification.setRecipients(List.of(new NotificationRecipient())); NotificationHistoryResponse deliveryPushResponse = new NotificationHistoryResponse(); - deliveryPushResponse.setNotificationStatus(it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.NotificationStatusV26.ACCEPTED); + deliveryPushResponse.setNotificationStatus(it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.NotificationStatusV28.ACCEPTED); deliveryPushResponse.setNotificationStatusHistory(List.of()); deliveryPushResponse.setTimeline(List.of( - new it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementV27().category(it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementCategoryV27.VALIDATE_NORMALIZE_ADDRESSES_REQUEST), - new it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementV27().category(it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementCategoryV27.NORMALIZED_ADDRESS), - new it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementV27().category(it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementCategoryV27.SENDER_ACK_CREATION_REQUEST), - new it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementV27().category(it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementCategoryV27.REQUEST_ACCEPTED), - new it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementV27().category(it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementCategoryV27.NOTIFICATION_CANCELLATION_REQUEST) + new it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementV28().category(it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementCategoryV28.VALIDATE_NORMALIZE_ADDRESSES_REQUEST), + new it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementV28().category(it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementCategoryV28.NORMALIZED_ADDRESS), + new it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementV28().category(it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementCategoryV28.SENDER_ACK_CREATION_REQUEST), + new it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementV28().category(it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementCategoryV28.REQUEST_ACCEPTED), + new it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementV28().category(it.pagopa.pn.delivery.generated.openapi.msclient.deliverypush.v1.model.TimelineElementCategoryV28.NOTIFICATION_CANCELLATION_REQUEST) )); diff --git a/src/test/java/it/pagopa/pn/delivery/svc/search/NotificationSearchFactoryTest.java b/src/test/java/it/pagopa/pn/delivery/svc/search/NotificationSearchFactoryTest.java index b30c4f76f..c1155faca 100644 --- a/src/test/java/it/pagopa/pn/delivery/svc/search/NotificationSearchFactoryTest.java +++ b/src/test/java/it/pagopa/pn/delivery/svc/search/NotificationSearchFactoryTest.java @@ -1,7 +1,7 @@ package it.pagopa.pn.delivery.svc.search; import it.pagopa.pn.delivery.PnDeliveryConfigs; -import it.pagopa.pn.delivery.generated.openapi.server.v1.dto.NotificationStatusV26; +import it.pagopa.pn.delivery.generated.openapi.server.v1.dto.NotificationStatusV28; import it.pagopa.pn.delivery.middleware.NotificationDao; import it.pagopa.pn.delivery.middleware.notificationdao.EntityToDtoNotificationMetadataMapper; import it.pagopa.pn.delivery.models.InputSearchNotificationDelegatedDto; @@ -26,7 +26,7 @@ class NotificationSearchFactoryTest { private static final String START_DATE = "2021-09-17T00:00:00.000Z"; private static final String END_DATE = "2021-09-18T00:00:00.000Z"; - private static final NotificationStatusV26 STATUS = NotificationStatusV26.IN_VALIDATION; + private static final NotificationStatusV28 STATUS = NotificationStatusV28.IN_VALIDATION; private static final String RECIPIENT_ID = "CGNNMO80A01H501M"; public static final List GROUPS = List.of("Group1", "Group2"); diff --git a/src/test/java/it/pagopa/pn/delivery/svc/search/NotificationSearchMultiPageByPFAndPGOnlyTest.java b/src/test/java/it/pagopa/pn/delivery/svc/search/NotificationSearchMultiPageByPFAndPGOnlyTest.java index ae1259b5d..540531c68 100644 --- a/src/test/java/it/pagopa/pn/delivery/svc/search/NotificationSearchMultiPageByPFAndPGOnlyTest.java +++ b/src/test/java/it/pagopa/pn/delivery/svc/search/NotificationSearchMultiPageByPFAndPGOnlyTest.java @@ -3,7 +3,7 @@ import it.pagopa.pn.delivery.PnDeliveryConfigs; import it.pagopa.pn.delivery.generated.openapi.msclient.datavault.v1.model.BaseRecipientDto; import it.pagopa.pn.delivery.generated.openapi.server.v1.dto.NotificationSearchRow; -import it.pagopa.pn.delivery.generated.openapi.server.v1.dto.NotificationStatusV26; +import it.pagopa.pn.delivery.generated.openapi.server.v1.dto.NotificationStatusV28; import it.pagopa.pn.delivery.middleware.NotificationDao; import it.pagopa.pn.delivery.middleware.notificationdao.EntityToDtoNotificationMetadataMapper; import it.pagopa.pn.delivery.middleware.notificationdao.entities.NotificationMetadataEntity; @@ -80,7 +80,7 @@ void searchNotificationMetadataIndexSenderIdRecipientId() { entityResultPF.getResults().add( NotificationMetadataEntity.builder() .senderIdRecipientId( "senderId##internalIdPF"+i ) .iunRecipientId("IUN##internalIdPF"+i ) - .notificationStatus( NotificationStatusV26.VIEWED.getValue() ) + .notificationStatus( NotificationStatusV28.VIEWED.getValue() ) .senderId( "senderId" ) .sentAt(now.plus(Duration.ofDays( i ))) .recipientIds(List.of( "internalIdPF"+i ) ) @@ -92,7 +92,7 @@ void searchNotificationMetadataIndexSenderIdRecipientId() { entityResultPG.getResults().add( NotificationMetadataEntity.builder() .senderIdRecipientId( "senderId##internalIdPG"+i ) .iunRecipientId("IUN##internalIdPG"+i ) - .notificationStatus( NotificationStatusV26.VIEWED.getValue() ) + .notificationStatus( NotificationStatusV28.VIEWED.getValue() ) .senderId( "senderId" ) .sentAt(now.plus( Duration.ofDays( i ) ).plusSeconds( i )) .recipientIds(List.of( "internalIdPG"+i ) ) @@ -146,7 +146,7 @@ void searchNotificationMetadataPGthenPF() { entityResultPG.getResults().add( NotificationMetadataEntity.builder() .senderIdRecipientId( "senderId##internalIdPG"+i ) .iunRecipientId("IUN##internalIdPG"+i ) - .notificationStatus( NotificationStatusV26.VIEWED.getValue() ) + .notificationStatus( NotificationStatusV28.VIEWED.getValue() ) .senderId( "senderId" ) .sentAt(now.plus( Duration.ofDays( i ) )) .recipientIds(List.of( "internalIdPG"+i ) ) @@ -157,7 +157,7 @@ void searchNotificationMetadataPGthenPF() { entityResultPF.getResults().add( NotificationMetadataEntity.builder() .senderIdRecipientId( "senderId##internalIdPF"+i ) .iunRecipientId("IUN##internalIdPF"+i ) - .notificationStatus( NotificationStatusV26.VIEWED.getValue() ) + .notificationStatus( NotificationStatusV28.VIEWED.getValue() ) .senderId( "senderId" ) .sentAt(now.plus( Duration.ofDays( i ) ).plusSeconds( i )) .recipientIds(List.of( "internalIdPF"+i ) ) @@ -212,7 +212,7 @@ void searchNotificationMetadataIndexSenderIdRecipientIdMoreResult() { entityResultPF.getResults().add( NotificationMetadataEntity.builder() .senderIdRecipientId( "senderId##internalIdPF"+i ) .iunRecipientId("IUN##internalIdPF"+i ) - .notificationStatus( NotificationStatusV26.VIEWED.getValue() ) + .notificationStatus( NotificationStatusV28.VIEWED.getValue() ) .senderId( "senderId" ) .sentAt(now.plus(Duration.ofDays( i ))) .recipientIds(List.of( "internalIdPF"+i ) ) @@ -224,7 +224,7 @@ void searchNotificationMetadataIndexSenderIdRecipientIdMoreResult() { entityResultPG.getResults().add( NotificationMetadataEntity.builder() .senderIdRecipientId( "senderId##internalIdPG"+i ) .iunRecipientId("IUN##internalIdPG"+i ) - .notificationStatus( NotificationStatusV26.VIEWED.getValue() ) + .notificationStatus( NotificationStatusV28.VIEWED.getValue() ) .senderId( "senderId" ) .sentAt(now.plus( Duration.ofDays( i ) ).plusSeconds( i )) .recipientIds(List.of( "internalIdPG"+i ) ) @@ -280,7 +280,7 @@ void searchNotificationMetadataIndexSenderIdRecipientIdMoreResultPaginated() { entityResultPF.getResults().add( NotificationMetadataEntity.builder() .senderIdRecipientId( "senderId##internalIdPF"+i ) .iunRecipientId("IUN##internalIdPF"+i ) - .notificationStatus( NotificationStatusV26.VIEWED.getValue() ) + .notificationStatus( NotificationStatusV28.VIEWED.getValue() ) .senderId( "senderId" ) .sentAt(now.plus(Duration.ofDays( -i ))) .recipientIds(List.of( "internalIdPF"+i ) ) @@ -342,7 +342,7 @@ void searchNotificationMetadataIndexSenderIdRecipientIdMoreResultPaginatedPG() { entityResultPF.getResults().add( NotificationMetadataEntity.builder() .senderIdRecipientId( "senderId##internalIdPF"+i ) .iunRecipientId("IUN##internalIdPF"+i ) - .notificationStatus( NotificationStatusV26.VIEWED.getValue() ) + .notificationStatus( NotificationStatusV28.VIEWED.getValue() ) .senderId( "senderId" ) .sentAt(now.plus(Duration.ofDays( -i ))) .recipientIds(List.of( "internalIdPF"+i ) ) @@ -354,7 +354,7 @@ void searchNotificationMetadataIndexSenderIdRecipientIdMoreResultPaginatedPG() { entityResultPG.getResults().add( NotificationMetadataEntity.builder() .senderIdRecipientId( "senderId##internalIdPG"+i ) .iunRecipientId("IUN##internalIdPG"+i ) - .notificationStatus( NotificationStatusV26.VIEWED.getValue() ) + .notificationStatus( NotificationStatusV28.VIEWED.getValue() ) .senderId( "senderId" ) .sentAt(now.plus( Duration.ofDays( -i ) ).plusSeconds( -i )) .recipientIds(List.of( "internalIdPG"+i ) ) diff --git a/src/test/java/it/pagopa/pn/delivery/svc/search/NotificationSearchMultiPageByPFOrPGTest.java b/src/test/java/it/pagopa/pn/delivery/svc/search/NotificationSearchMultiPageByPFOrPGTest.java index 0d289feda..8fbb58c7b 100644 --- a/src/test/java/it/pagopa/pn/delivery/svc/search/NotificationSearchMultiPageByPFOrPGTest.java +++ b/src/test/java/it/pagopa/pn/delivery/svc/search/NotificationSearchMultiPageByPFOrPGTest.java @@ -5,7 +5,7 @@ import it.pagopa.pn.delivery.PnDeliveryConfigs; import it.pagopa.pn.delivery.generated.openapi.msclient.datavault.v1.model.BaseRecipientDto; import it.pagopa.pn.delivery.generated.openapi.server.v1.dto.NotificationSearchRow; -import it.pagopa.pn.delivery.generated.openapi.server.v1.dto.NotificationStatusV26; +import it.pagopa.pn.delivery.generated.openapi.server.v1.dto.NotificationStatusV28; import it.pagopa.pn.delivery.middleware.NotificationDao; import it.pagopa.pn.delivery.middleware.notificationdao.EntityToDtoNotificationMetadataMapper; import it.pagopa.pn.delivery.middleware.notificationdao.entities.NotificationMetadataEntity; @@ -72,7 +72,7 @@ void mapperException() { PageSearchTrunk rrr = new PageSearchTrunk<>(); rrr.setResults(Collections.singletonList( NotificationMetadataEntity.builder() .iunRecipientId("IUN##internalId1" ) - .notificationStatus( NotificationStatusV26.VIEWED.getValue() ) + .notificationStatus( NotificationStatusV28.VIEWED.getValue() ) .senderId( "SenderId" ) .sentAt(Instant.now()) .recipientIds(List.of( "internalId1", "internalId2" ) ) @@ -94,7 +94,7 @@ void searchNotificationMetadata() { PageSearchTrunk rrr = new PageSearchTrunk<>(); rrr.setResults(Collections.singletonList( NotificationMetadataEntity.builder() .iunRecipientId("IUN##internalId1" ) - .notificationStatus( NotificationStatusV26.VIEWED.getValue() ) + .notificationStatus( NotificationStatusV28.VIEWED.getValue() ) .senderId( "SenderId" ) .sentAt(Instant.now()) .recipientIds(List.of( "internalId1", "internalId2" ) ) @@ -121,7 +121,7 @@ void searchNotificationMetadataMany() { { rrr.getResults().add( NotificationMetadataEntity.builder() .iunRecipientId("IUN##internalId"+i ) - .notificationStatus( NotificationStatusV26.VIEWED.getValue() ) + .notificationStatus( NotificationStatusV28.VIEWED.getValue() ) .senderId( "SenderId" ) .sentAt(Instant.now()) .recipientIds(List.of( "internalId"+i ) ) @@ -152,7 +152,7 @@ void searchNotificationMetadataManyPageSize() { { rrr.getResults().add( NotificationMetadataEntity.builder() .iunRecipientId("IUN##internalId"+i ) - .notificationStatus( NotificationStatusV26.VIEWED.getValue() ) + .notificationStatus( NotificationStatusV28.VIEWED.getValue() ) .senderId( "SenderId" ) .sentAt(Instant.now()) .recipientIds(List.of( "internalId"+i ) ) @@ -182,7 +182,7 @@ void searchNotificationMetadataManyPageSizeMaxSize() { { rrr.getResults().add( NotificationMetadataEntity.builder() .iunRecipientId("IUN##internalId"+i ) - .notificationStatus( NotificationStatusV26.VIEWED.getValue() ) + .notificationStatus( NotificationStatusV28.VIEWED.getValue() ) .senderId( "SenderId" ) .sentAt(Instant.now()) .recipientIds(List.of( "internalId"+i ) ) @@ -212,7 +212,7 @@ void searchNotificationMetadataManyPageSizeMaxSizePlus1() { { rrr.getResults().add( NotificationMetadataEntity.builder() .iunRecipientId("IUN##internalId"+i ) - .notificationStatus( NotificationStatusV26.VIEWED.getValue() ) + .notificationStatus( NotificationStatusV28.VIEWED.getValue() ) .senderId( "SenderId" ) .sentAt(Instant.now()) .recipientIds(List.of( "internalId"+i ) ) @@ -243,7 +243,7 @@ void searchNotificationMetadataManyButNotAll() { { rrr.getResults().add( NotificationMetadataEntity.builder() .iunRecipientId("IUN##internalId"+i ) - .notificationStatus( NotificationStatusV26.VIEWED.getValue() ) + .notificationStatus( NotificationStatusV28.VIEWED.getValue() ) .senderId( "SenderId" ) .sentAt(Instant.now()) .recipientIds(List.of( "internalId"+i ) ) @@ -273,7 +273,7 @@ void searchNotificationMetadataManyPaged() { { rrr.getResults().add( NotificationMetadataEntity.builder() .iunRecipientId("IUN##internalId"+i ) - .notificationStatus( NotificationStatusV26.VIEWED.getValue() ) + .notificationStatus( NotificationStatusV28.VIEWED.getValue() ) .senderId( "SenderId" ) .sentAt(Instant.now()) .recipientIds(List.of( "internalId"+i ) ) @@ -305,7 +305,7 @@ void searchNotificationMetadataLastKeySet() { { rrr.getResults().add( NotificationMetadataEntity.builder() .iunRecipientId("IUN##internalId"+i ) - .notificationStatus( NotificationStatusV26.VIEWED.getValue() ) + .notificationStatus( NotificationStatusV28.VIEWED.getValue() ) .senderId( "SenderId" ) .sentAt(Instant.now()) .recipientIds(List.of( "internalId"+i ) ) @@ -341,7 +341,7 @@ void searchNotificationMetadataOtherIndex() { { rrr.getResults().add( NotificationMetadataEntity.builder() .iunRecipientId("IUN##internalId"+i ) - .notificationStatus( NotificationStatusV26.VIEWED.getValue() ) + .notificationStatus( NotificationStatusV28.VIEWED.getValue() ) .senderId( "SenderId" ) .sentAt(Instant.now()) .recipientIds(List.of( "internalId"+i ) ) @@ -386,7 +386,7 @@ void searchNotificationMetadataOtherIndexBoth() { { rrr.getResults().add( NotificationMetadataEntity.builder() .iunRecipientId("IUN##internalId"+i ) - .notificationStatus( NotificationStatusV26.VIEWED.getValue() ) + .notificationStatus( NotificationStatusV28.VIEWED.getValue() ) .senderId( "SenderId" ) .sentAt(Instant.now()) .recipientIds(List.of( "internalId"+i ) ) diff --git a/src/test/java/it/pagopa/pn/delivery/utils/InternalFieldsCleanerTest.java b/src/test/java/it/pagopa/pn/delivery/utils/InternalFieldsCleanerTest.java index 2a0d7a400..618116015 100644 --- a/src/test/java/it/pagopa/pn/delivery/utils/InternalFieldsCleanerTest.java +++ b/src/test/java/it/pagopa/pn/delivery/utils/InternalFieldsCleanerTest.java @@ -2,7 +2,7 @@ import it.pagopa.pn.delivery.generated.openapi.server.v1.dto.NotificationDigitalAddress; import it.pagopa.pn.delivery.generated.openapi.server.v1.dto.NotificationRecipientV24; -import it.pagopa.pn.delivery.generated.openapi.server.v1.dto.NotificationStatusV26; +import it.pagopa.pn.delivery.generated.openapi.server.v1.dto.NotificationStatusV28; import it.pagopa.pn.delivery.models.InternalNotification; import it.pagopa.pn.delivery.models.internal.notification.NotificationPaymentInfo; import it.pagopa.pn.delivery.models.internal.notification.NotificationRecipient; @@ -85,7 +85,7 @@ private InternalNotification newNotification() { internalNotification.setCancelledIun("IUN_05"); internalNotification.setCancelledIun("IUN_00"); internalNotification.setSenderPaId("PA_ID"); - internalNotification.setNotificationStatus(NotificationStatusV26.ACCEPTED); + internalNotification.setNotificationStatus(NotificationStatusV28.ACCEPTED); internalNotification.setRecipients(Collections.singletonList( NotificationRecipient.builder() .taxId("Codice Fiscale 01") diff --git a/src/test/java/it/pagopa/pn/delivery/utils/NotificationDaoMock.java b/src/test/java/it/pagopa/pn/delivery/utils/NotificationDaoMock.java index 1f8ce9fc4..ca4319707 100644 --- a/src/test/java/it/pagopa/pn/delivery/utils/NotificationDaoMock.java +++ b/src/test/java/it/pagopa/pn/delivery/utils/NotificationDaoMock.java @@ -1,7 +1,7 @@ package it.pagopa.pn.delivery.utils; import it.pagopa.pn.commons.exceptions.PnIdConflictException; -import it.pagopa.pn.delivery.generated.openapi.server.v1.dto.NotificationStatusV26; +import it.pagopa.pn.delivery.generated.openapi.server.v1.dto.NotificationStatusV28; import it.pagopa.pn.delivery.middleware.NotificationDao; import it.pagopa.pn.delivery.middleware.notificationdao.EntityToDtoNotificationMetadataMapper; import it.pagopa.pn.delivery.middleware.notificationdao.entities.NotificationDelegationMetadataEntity; @@ -49,7 +49,7 @@ public PageSearchTrunk searchForOneMonth(InputSearch PageSearchTrunk result = new PageSearchTrunk<>(); result.setResults(Collections.singletonList( NotificationMetadataEntity.builder() .iunRecipientId("IUN##internalId1" ) - .notificationStatus( NotificationStatusV26.VIEWED.getValue() ) + .notificationStatus( NotificationStatusV28.VIEWED.getValue() ) .senderId( "SenderId" ) .recipientIds(List.of( "internalId1", "internalId2" ) ) .build() )); @@ -62,7 +62,7 @@ public PageSearchTrunk searchDelegatedForO PageSearchTrunk result = new PageSearchTrunk<>(); result.setResults(Collections.singletonList(NotificationDelegationMetadataEntity.builder() .iunRecipientIdDelegateIdGroupId("IUN##recipientId##delegateId") - .notificationStatus(NotificationStatusV26.VIEWED.getValue()) + .notificationStatus(NotificationStatusV28.VIEWED.getValue()) .senderId("senderId") .recipientId("recipientId") .recipientIds(List.of("recipientId")) @@ -75,7 +75,7 @@ public PageSearchTrunk searchByIUN(InputSearchNotifi PageSearchTrunk result = new PageSearchTrunk<>(); result.setResults(Collections.singletonList( NotificationMetadataEntity.builder() .iunRecipientId("IUN##internalId1" ) - .notificationStatus( NotificationStatusV26.VIEWED.getValue() ) + .notificationStatus( NotificationStatusV28.VIEWED.getValue() ) .senderId( "SenderId" ) .recipientIds(List.of( "internalId1", "internalId2" ) ) .build() )); diff --git a/src/test/java/it/pagopa/pn/delivery/utils/RefinementLocalDateTest.java b/src/test/java/it/pagopa/pn/delivery/utils/RefinementLocalDateTest.java index 9bca9e320..80ea5ea70 100644 --- a/src/test/java/it/pagopa/pn/delivery/utils/RefinementLocalDateTest.java +++ b/src/test/java/it/pagopa/pn/delivery/utils/RefinementLocalDateTest.java @@ -1,6 +1,6 @@ package it.pagopa.pn.delivery.utils; -import it.pagopa.pn.delivery.generated.openapi.server.v1.dto.TimelineElementV27; +import it.pagopa.pn.delivery.generated.openapi.server.v1.dto.TimelineElementV28; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; @@ -24,7 +24,7 @@ class RefinementLocalDateTest { @Test void checkLocalRefinementDateLegale() { // Given - TimelineElementV27 tle = TimelineElementV27.builder() + TimelineElementV28 tle = TimelineElementV28.builder() .timestamp( OffsetDateTime.parse( REFINEMENT_DATE_LEGALE ) ) .build(); @@ -47,7 +47,7 @@ void checkLocalRefinementDateLegale2() { @Test void checkLocalRefinementDateSolare() { // Given - TimelineElementV27 tle = TimelineElementV27.builder() + TimelineElementV28 tle = TimelineElementV28.builder() .timestamp( OffsetDateTime.parse( REFINEMENT_DATE_SOLARE ) ) .build(); diff --git a/src/test/java/it/pagopa/pn/delivery/utils/io/IOMapperTest.java b/src/test/java/it/pagopa/pn/delivery/utils/io/IOMapperTest.java index 644469cec..dd9a6e2ea 100644 --- a/src/test/java/it/pagopa/pn/delivery/utils/io/IOMapperTest.java +++ b/src/test/java/it/pagopa/pn/delivery/utils/io/IOMapperTest.java @@ -334,8 +334,8 @@ private NotificationDocument notificationDocument() { private InternalNotification internalNotification(String title) { InternalNotification internalNotification = new InternalNotification(); - TimelineElementV27 timelineElement = new TimelineElementV27(); - timelineElement.setCategory(TimelineElementCategoryV27.AAR_CREATION_REQUEST); + TimelineElementV28 timelineElement = new TimelineElementV28(); + timelineElement.setCategory(TimelineElementCategoryV28.AAR_CREATION_REQUEST); internalNotification.setTimeline(List.of(timelineElement)); internalNotification.setSentAt(OffsetDateTime.now()); internalNotification.setDocuments(List.of(it.pagopa.pn.delivery.models.internal.notification.NotificationDocument.builder() @@ -348,8 +348,8 @@ private InternalNotification internalNotification(String title) { .title(title) .build())); internalNotification.setNotificationStatusHistory(List.of( - it.pagopa.pn.delivery.generated.openapi.server.v1.dto.NotificationStatusHistoryElementV26.builder() - .status(NotificationStatusV26.ACCEPTED) + it.pagopa.pn.delivery.generated.openapi.server.v1.dto.NotificationStatusHistoryElementV28.builder() + .status(NotificationStatusV28.ACCEPTED) .build() )); internalNotification.setRecipients( @@ -370,7 +370,7 @@ private InternalNotification internalNotification(String title) { internalNotification.setSenderPaId("PA_ID"); internalNotification.setAbstract("ABSTRACT"); internalNotification.setSenderDenomination("SENDERDENOMINATION"); - internalNotification.setNotificationStatus(NotificationStatusV26.ACCEPTED); + internalNotification.setNotificationStatus(NotificationStatusV28.ACCEPTED); internalNotification.setRecipients(Collections.singletonList( NotificationRecipient.builder() .recipientType(NotificationRecipientV24.RecipientTypeEnum.PF)