Skip to content

Commit 1eac8c3

Browse files
Merge pull request #394 from pagopa/PIDM-281-no-wisp
[PIDM-281] add-filter-wisp
2 parents 8cd64e6 + cd69f9d commit 1eac8c3

27 files changed

+247
-33
lines changed

api-test/Debt Position.postman_collection.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@
8787
"header": [],
8888
"body": {
8989
"mode": "raw",
90-
"raw": "{\r\n \"iupd\": \"{{iupd}}\",\r\n \"type\": \"F\",\r\n \"fiscalCode\": \"JHNDOE00A01F205N\",\r\n \"fullName\": \"John Doe\",\r\n \"streetName\": \"streetName\",\r\n \"civicNumber\": \"11\",\r\n \"postalCode\": \"00100\",\r\n \"city\": \"city\",\r\n \"province\": \"RM\",\r\n \"region\": \"RM\",\r\n \"country\": \"IT\",\r\n \"email\": \"lorem@lorem.com\",\r\n \"phone\": \"333-123456789\",\r\n \"companyName\": \"companyName\",\r\n \"officeName\": \"officeName\",\r\n \"paymentOption\": [\r\n {\r\n \"iuv\": \"{{iuv}}\",\r\n \"amount\": 10000,\r\n \"description\": \"Canone Unico Patrimoniale - CORPORATE\",\r\n \"isPartialPayment\": false,\r\n \"dueDate\": \"{{due_date}}\",\r\n \"retentionDate\": \"{{retention_date}}\",\r\n \"fee\": 0,\r\n \"transfer\": [\r\n {\r\n \"idTransfer\": \"1\",\r\n \"amount\": 8000,\r\n \"remittanceInformation\": \"remittanceInformation 1\",\r\n \"category\": \"9/0101108TS/\",\r\n \"iban\": \"IT0000000000000000000000000\"\r\n },\r\n {\r\n \"idTransfer\": \"2\",\r\n \"amount\": 2000,\r\n \"remittanceInformation\": \"remittanceInformation 2\",\r\n \"category\": \"9/0101108TS/\",\r\n \"iban\": \"IT0000000000000000000000000\"\r\n }\r\n ]\r\n }\r\n ]\r\n}\r\n",
90+
"raw": "{\r\n \"iupd\": \"{{iupd}}\",\r\n \"type\": \"F\",\r\n \"fiscalCode\": \"JHNDOE00A01F205N\",\r\n \"fullName\": \"John Doe\",\r\n \"streetName\": \"streetName\",\r\n \"civicNumber\": \"11\",\r\n \"postalCode\": \"00100\",\r\n \"city\": \"city\",\r\n \"province\": \"RM\",\r\n \"region\": \"RM\",\r\n \"country\": \"IT\",\r\n \"email\": \"lorem@lorem.com\",\r\n \"phone\": \"333-123456789\",\r\n \"companyName\": \"companyName\",\r\n \"officeName\": \"officeName\",\r\n \"switchToExpired\": false,\r\n \"paymentOption\": [\r\n {\r\n \"iuv\": \"{{iuv}}\",\r\n \"amount\": 10000,\r\n \"description\": \"Canone Unico Patrimoniale - CORPORATE\",\r\n \"isPartialPayment\": false,\r\n \"dueDate\": \"{{due_date}}\",\r\n \"retentionDate\": \"{{retention_date}}\",\r\n \"fee\": 0,\r\n \"transfer\": [\r\n {\r\n \"idTransfer\": \"1\",\r\n \"amount\": 8000,\r\n \"remittanceInformation\": \"remittanceInformation 1\",\r\n \"category\": \"9/0101108TS/\",\r\n \"iban\": \"IT0000000000000000000000000\"\r\n },\r\n {\r\n \"idTransfer\": \"2\",\r\n \"amount\": 2000,\r\n \"remittanceInformation\": \"remittanceInformation 2\",\r\n \"category\": \"9/0101108TS/\",\r\n \"iban\": \"IT0000000000000000000000000\"\r\n }\r\n ]\r\n }\r\n ]\r\n}\r\n",
9191
"options": {
9292
"raw": {
9393
"language": "json"
@@ -139,7 +139,7 @@
139139
"header": [],
140140
"body": {
141141
"mode": "raw",
142-
"raw": "{\r\n \"iupd\": \"{{iupd2}}\",\r\n \"type\": \"F\",\r\n \"fiscalCode\": \"JHNDOE00A01F205N\",\r\n \"fullName\": \"John Doe\",\r\n \"streetName\": \"streetName\",\r\n \"civicNumber\": \"11\",\r\n \"postalCode\": \"00100\",\r\n \"city\": \"city\",\r\n \"province\": \"RM\",\r\n \"region\": \"RM\",\r\n \"country\": \"IT\",\r\n \"email\": \"lorem@lorem.com\",\r\n \"phone\": \"333-123456789\",\r\n \"companyName\": \"companyName\",\r\n \"officeName\": \"officeName\",\r\n \"validityDate\": \"{{validity_date}}\",\r\n \"paymentOption\": [\r\n {\r\n \"iuv\": \"{{iuv}}\",\r\n \"amount\": 10000,\r\n \"description\": \"Canone Unico Patrimoniale - CORPORATE\",\r\n \"isPartialPayment\": false,\r\n \"dueDate\": \"{{due_date}}\",\r\n \"retentionDate\": \"{{retention_date}}\",\r\n \"fee\": 0,\r\n \"transfer\": [\r\n {\r\n \"idTransfer\": \"1\",\r\n \"amount\": 8000,\r\n \"remittanceInformation\": \"remittanceInformation 1\",\r\n \"category\": \"9/0101108TS/\",\r\n \"iban\": \"IT0000000000000000000000000\"\r\n },\r\n {\r\n \"idTransfer\": \"2\",\r\n \"amount\": 2000,\r\n \"remittanceInformation\": \"remittanceInformation 2\",\r\n \"category\": \"9/0101108TS/\",\r\n \"iban\": \"IT0000000000000000000000000\"\r\n }\r\n ]\r\n }\r\n ]\r\n}\r\n",
142+
"raw": "{\r\n \"iupd\": \"{{iupd2}}\",\r\n \"type\": \"F\",\r\n \"fiscalCode\": \"JHNDOE00A01F205N\",\r\n \"fullName\": \"John Doe\",\r\n \"streetName\": \"streetName\",\r\n \"civicNumber\": \"11\",\r\n \"postalCode\": \"00100\",\r\n \"city\": \"city\",\r\n \"province\": \"RM\",\r\n \"region\": \"RM\",\r\n \"country\": \"IT\",\r\n \"email\": \"lorem@lorem.com\",\r\n \"phone\": \"333-123456789\",\r\n \"companyName\": \"companyName\",\r\n \"officeName\": \"officeName\",\r\n \"validityDate\": \"{{validity_date}}\",\r\n \"switchToExpired\": false,\r\n \"paymentOption\": [\r\n {\r\n \"iuv\": \"{{iuv}}\",\r\n \"amount\": 10000,\r\n \"description\": \"Canone Unico Patrimoniale - CORPORATE\",\r\n \"isPartialPayment\": false,\r\n \"dueDate\": \"{{due_date}}\",\r\n \"retentionDate\": \"{{retention_date}}\",\r\n \"fee\": 0,\r\n \"transfer\": [\r\n {\r\n \"idTransfer\": \"1\",\r\n \"amount\": 8000,\r\n \"remittanceInformation\": \"remittanceInformation 1\",\r\n \"category\": \"9/0101108TS/\",\r\n \"iban\": \"IT0000000000000000000000000\"\r\n },\r\n {\r\n \"idTransfer\": \"2\",\r\n \"amount\": 2000,\r\n \"remittanceInformation\": \"remittanceInformation 2\",\r\n \"category\": \"9/0101108TS/\",\r\n \"iban\": \"IT0000000000000000000000000\"\r\n }\r\n ]\r\n }\r\n ]\r\n}\r\n",
143143
"options": {
144144
"raw": {
145145
"language": "json"

helm/Chart.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@ apiVersion: v2
22
name: pagopa-gpd-core
33
description: micro-service to manage Creditor Institution debtor positions
44
type: application
5-
version: 0.285.0
6-
appVersion: 1.1.15
5+
version: 0.286.0
6+
appVersion: 1.1.16-PIDM-281-no-wisp
77
dependencies:
88
- name: microservice-chart
99
version: 7.5.0

helm/values-dev.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ microservice-chart:
44
fullnameOverride: ""
55
image:
66
repository: ghcr.io/pagopa/pagopa-debt-position
7-
tag: "1.1.15"
7+
tag: "1.1.16-PIDM-281-no-wisp"
88
pullPolicy: Always
99
livenessProbe:
1010
httpGet:

helm/values-prod.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ microservice-chart:
44
fullnameOverride: ""
55
image:
66
repository: ghcr.io/pagopa/pagopa-debt-position
7-
tag: "1.1.15"
7+
tag: "1.1.16-PIDM-281-no-wisp"
88
pullPolicy: Always
99
livenessProbe:
1010
httpGet:

helm/values-uat.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ microservice-chart:
44
fullnameOverride: ""
55
image:
66
repository: ghcr.io/pagopa/pagopa-debt-position
7-
tag: "1.1.15"
7+
tag: "1.1.16-PIDM-281-no-wisp"
88
pullPolicy: Always
99
livenessProbe:
1010
httpGet:

infra/aca/04_apim_gpd_for_aca.tf

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,4 +50,21 @@ resource "azurerm_api_management_api_operation_policy" "create_debt_position_v1_
5050
xml_content = templatefile("./api/create_base_policy.xml", {
5151
service_type_value = "ACA"
5252
})
53-
}
53+
}
54+
55+
# ACA v1 - GET
56+
resource "terraform_data" "sha256_get_list_debt_position_v1_policy" {
57+
input = sha256(file("./api/get_list_base_policy.xml"))
58+
}
59+
60+
61+
resource "azurerm_api_management_api_operation_policy" "get_debt_positions_for_aca_v1_policy" {
62+
api_name = format("%s-debt-positions-for-aca-service-api-v1", local.product)
63+
api_management_name = local.apim.name
64+
resource_group_name = local.apim.rg
65+
operation_id = "getOrganizationDebtPositions"
66+
67+
xml_content = templatefile("./api/get_list_base_policy.xml", {
68+
service_type_value = "ACA"
69+
})
70+
}
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
<policies>
2+
<inbound>
3+
<base />
4+
<set-variable name="service_type_value" value="${service_type_value}" />
5+
<include-fragment fragment-id="service-type-set"/>
6+
</inbound>
7+
<outbound>
8+
<base />
9+
</outbound>
10+
<backend>
11+
<base />
12+
</backend>
13+
<on-error>
14+
<base />
15+
</on-error>
16+
</policies>

infra/gps/04_apim_gpd_core.tf

Lines changed: 30 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -173,7 +173,7 @@ module "apim_api_debt_positions_api_v3" {
173173
## GPD CREATE DEBT POSITION POLICIES ####
174174
#########################################
175175

176-
# v1
176+
# v1 - CREATE
177177
resource "terraform_data" "sha256_create_debt_position_v1_policy" {
178178
input = sha256(file("./api/create_base_policy.xml"))
179179
}
@@ -188,7 +188,23 @@ resource "azurerm_api_management_api_operation_policy" "create_debt_position_v1_
188188
})
189189
}
190190

191-
# v2
191+
# v1 - GET
192+
resource "terraform_data" "sha256_get_list_debt_position_v1_policy" {
193+
input = sha256(file("./api/get_list_base_policy.xml"))
194+
}
195+
196+
resource "azurerm_api_management_api_operation_policy" "get_debt_positions_v1_policy" {
197+
api_name = format("%s-debt-positions-service-api-v1", local.product)
198+
api_management_name = local.apim.name
199+
resource_group_name = local.apim.rg
200+
operation_id = "getOrganizationDebtPositions"
201+
202+
xml_content = templatefile("./api/get_list_base_policy.xml", {
203+
service_type_value = "GPD"
204+
})
205+
}
206+
207+
# v2 - CREATE
192208
resource "terraform_data" "sha256_create_debt_position_v2_policy" {
193209
count = var.env_short != "p" ? 1 : 0 # disabled v2 external bulk prod
194210
input = sha256(file("./api/create_base_policy.xml"))
@@ -204,4 +220,16 @@ resource "azurerm_api_management_api_operation_policy" "create_debt_position_v2_
204220
xml_content = templatefile("./api/create_base_policy.xml", {
205221
service_type_value = "GPD"
206222
})
223+
}
224+
225+
# V3 - GET
226+
resource "azurerm_api_management_api_operation_policy" "get_debt_positions_v3_policy" {
227+
api_name = format("%s-debt-positions-service-api-v3", local.product)
228+
api_management_name = local.apim.name
229+
resource_group_name = local.apim.rg
230+
operation_id = "getOrganizationDebtPositions"
231+
232+
xml_content = templatefile("./api/get_list_base_policy.xml", {
233+
service_type_value = "GPD"
234+
})
207235
}
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
<policies>
2+
<inbound>
3+
<base />
4+
<set-variable name="service_type_value" value="${service_type_value}" />
5+
<include-fragment fragment-id="service-type-set"/>
6+
</inbound>
7+
<outbound>
8+
<base />
9+
</outbound>
10+
<backend>
11+
<base />
12+
</backend>
13+
<on-error>
14+
<base />
15+
</on-error>
16+
</policies>

integration-test/src/step_definitions/support/verify-payment-options.steps.js

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ const { createDebtPosition } = require('./clients/gpd_client');
66
const { gpdSessionBundle } = require('./utility/data');
77
const { executeVerifyPaymentOptions } = require('./logic/gpd_logic');
88
const Data = require('./utility/data');
9+
const { addDays } = require('./utility/helpers');
910

1011
setDefaultTimeout(30000);
1112

@@ -152,8 +153,8 @@ function buildPpV3SingleAndPlan(orgFiscalCode) {
152153
paymentOption: [
153154
{
154155
description: "Pagamento in un'unica soluzione",
155-
validityDate: '2026-01-15T09:00:00',
156-
retentionDate: '2026-02-22T09:00:00',
156+
validityDate: addDays(1),
157+
retentionDate: addDays(60),
157158
switchToExpired: false,
158159
debtor: {
159160
type: 'F',
@@ -175,7 +176,7 @@ function buildPpV3SingleAndPlan(orgFiscalCode) {
175176
iuv: singleNav,
176177
amount: 1000,
177178
description: 'Saldo unico',
178-
dueDate: '2026-02-15T09:00:00',
179+
dueDate: addDays(30),
179180
transfer: [
180181
{
181182
idTransfer: '1',
@@ -194,8 +195,8 @@ function buildPpV3SingleAndPlan(orgFiscalCode) {
194195
},
195196
{
196197
description: 'Piano rateale A (2 rate)',
197-
validityDate: '2026-01-15T09:00:00',
198-
retentionDate: '2026-04-22T09:00:00',
198+
validityDate: addDays(1),
199+
retentionDate: addDays(90),
199200
switchToExpired: true,
200201
debtor: {
201202
type: 'F',
@@ -217,7 +218,7 @@ function buildPpV3SingleAndPlan(orgFiscalCode) {
217218
iuv: planNav1,
218219
amount: 600,
219220
description: 'Piano A - Rata 1/2',
220-
dueDate: '2026-03-15T09:00:00',
221+
dueDate: addDays(45),
221222
transfer: [
222223
{
223224
idTransfer: '1',
@@ -240,7 +241,7 @@ function buildPpV3SingleAndPlan(orgFiscalCode) {
240241
iuv: planNav2,
241242
amount: 400,
242243
description: 'Piano A - Rata 2/2',
243-
dueDate: '2026-04-15T09:00:00',
244+
dueDate: addDays(75),
244245
transfer: [
245246
{
246247
idTransfer: '1',

0 commit comments

Comments
 (0)