diff --git a/src/core/README.md b/src/core/README.md
index 398c04890..e85c1e627 100644
--- a/src/core/README.md
+++ b/src/core/README.md
@@ -16,8 +16,6 @@
| Name | Source | Version |
|------|--------|---------|
-| [apim](#module\_apim) | git::https://github.com/pagopa/azurerm.git//api_management | v1.0.58 |
-| [apim\_snet](#module\_apim\_snet) | git::https://github.com/pagopa/azurerm.git//subnet | v1.0.58 |
| [appgateway\_snet](#module\_appgateway\_snet) | git::https://github.com/pagopa/azurerm.git//subnet | v1.0.58 |
| [key\_vault](#module\_key\_vault) | git::https://github.com/pagopa/azurerm.git//key_vault | v1.0.58 |
| [monitor](#module\_monitor) | git::https://github.com/pagopa/azurerm.git//api_management_api | v1.0.58 |
@@ -62,15 +60,12 @@
| Name | Description | Type | Default | Required |
|------|-------------|------|---------|:--------:|
-| [apim\_publisher\_name](#input\_apim\_publisher\_name) | apim | `string` | n/a | yes |
-| [apim\_sku](#input\_apim\_sku) | n/a | `string` | n/a | yes |
| [app\_gateway\_api\_certificate\_name](#input\_app\_gateway\_api\_certificate\_name) | Application gateway api certificate name on Key Vault | `string` | n/a | yes |
| [cidr\_subnet\_appgateway](#input\_cidr\_subnet\_appgateway) | Application gateway address space. | `list(string)` | n/a | yes |
| [cidr\_vnet](#input\_cidr\_vnet) | Virtual network address space. | `list(string)` | n/a | yes |
| [cidr\_vnet\_integration](#input\_cidr\_vnet\_integration) | Virtual network to peer with sia subscription. It should host apim | `list(string)` | n/a | yes |
| [env\_short](#input\_env\_short) | n/a | `string` | n/a | yes |
| [azdo\_sp\_tls\_cert\_enabled](#input\_azdo\_sp\_tls\_cert\_enabled) | Enable Azure DevOps connection for TLS cert management | `string` | `false` | no |
-| [cidr\_subnet\_apim](#input\_cidr\_subnet\_apim) | Address prefixes subnet api management. | `list(string)` | `null` | no |
| [cidr\_subnet\_redis](#input\_cidr\_subnet\_redis) | Redis network address space. | `list(string)` | `[]` | no |
| [dns\_default\_ttl\_sec](#input\_dns\_default\_ttl\_sec) | value | `number` | `3600` | no |
| [dns\_zone\_prefix](#input\_dns\_zone\_prefix) | The dns subdomain. | `string` | `null` | no |
diff --git a/src/core/api/base_policy.tpl b/src/core/api/base_policy.tpl
deleted file mode 100644
index 9b6e8953d..000000000
--- a/src/core/api/base_policy.tpl
+++ /dev/null
@@ -1,25 +0,0 @@
-
-
-
-
- %{ for origin in origins ~}
- ${origin}
- %{ endfor ~}
-
-
- *
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/core/api/base_policy.xml b/src/core/api/base_policy.xml
deleted file mode 100644
index ce1df461e..000000000
--- a/src/core/api/base_policy.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/core/api/dashboard/v1/dashboard-openapi.json.tpl b/src/core/api/dashboard/v1/dashboard-openapi.json.tpl
deleted file mode 100644
index 611ca453a..000000000
--- a/src/core/api/dashboard/v1/dashboard-openapi.json.tpl
+++ /dev/null
@@ -1,344 +0,0 @@
-{
- "openapi": "3.0.3",
- "info": {
- "title": "selc-dashboard",
- "description": "Self Care Dashboard API documentation",
- "version": "0.0.1-SNAPSHOT"
- },
- "servers": [
- {
- "url": 'https://${host}/${basePath}',
- "description": "Inferred Url"
- }
- ],
- "tags": [
- {
- "name": "institutions",
- "description": "Institution operations"
- },
- {
- "name": "products",
- "description": "Product operations"
- }
- ],
- "paths": {
- "/institutions/{institutionId}": {
- "get": {
- "tags": [
- "institutions"
- ],
- "summary": "getInstitution",
- "description": "The service allows the recovery of an Entity based on its id",
- "operationId": "getInstitutionUsingGET",
- "parameters": [
- {
- "name": "institutionId",
- "in": "path",
- "description": "Institution's unique identifier",
- "required": true,
- "style": "simple",
- "schema": {
- "type": "string"
- }
- },
- {
- "name": "x-selc-institutionId",
- "in": "header",
- "description": "Institution's unique identifier",
- "required": true,
- "allowReserved": false,
- "schema": {
- "type": "string"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/InstitutionResource"
- }
- }
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "bearerAuth": [
- "global"
- ]
- }
- ]
- }
- },
- "/institutions/{institutionId}/logo": {
- "put": {
- "tags": [
- "institutions"
- ],
- "summary": "saveInstitutionLogo",
- "description": "Service to upload and store the institution's logo",
- "operationId": "saveInstitutionLogoUsingPUT",
- "parameters": [
- {
- "name": "institutionId",
- "in": "path",
- "description": "swagger.dashboard.model.id",
- "required": true,
- "style": "simple",
- "schema": {
- "type": "string"
- }
- },
- {
- "name": "x-selc-institutionId",
- "in": "header",
- "description": "Institution's unique identifier",
- "required": true,
- "allowReserved": false,
- "schema": {
- "type": "string"
- }
- }
- ],
- "requestBody": {
- "content": {
- "multipart/form-data": {
- "schema": {
- "required": [
- "logo"
- ],
- "type": "object",
- "properties": {
- "logo": {
- "type": "string",
- "description": "Institution's logo",
- "format": "binary"
- }
- }
- }
- }
- }
- },
- "responses": {
- "200": {
- "description": "OK",
- "content": {
- "application/json": {
- "schema": {
- "type": "object"
- }
- },
- "multipart/form-data": {
- "schema": {
- "type": "object"
- }
- }
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "bearerAuth": [
- "global"
- ]
- }
- ]
- }
- },
- "/products/": {
- "get": {
- "tags": [
- "products"
- ],
- "summary": "getProducts",
- "description": "Service that returns the list of PagoPA products",
- "operationId": "getProductsUsingGET",
- "parameters": [
- {
- "name": "x-selc-institutionId",
- "in": "header",
- "description": "Institution's unique identifier",
- "required": true,
- "allowReserved": false,
- "schema": {
- "type": "string"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "content": {
- "application/json": {
- "schema": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/ProductsResource"
- }
- }
- }
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "bearerAuth": [
- "global"
- ]
- }
- ]
- }
- }
- },
- "components": {
- "schemas": {
- "InstitutionResource": {
- "title": "InstitutionResource",
- "required": [
- "IPACode",
- "category",
- "fiscalCode",
- "id",
- "mailAddress",
- "name",
- "status",
- "userRole"
- ],
- "type": "object",
- "properties": {
- "IPACode": {
- "type": "string",
- "description": "IPA code"
- },
- "category": {
- "type": "string",
- "description": "Institution's category"
- },
- "fiscalCode": {
- "type": "string",
- "description": "Fiscal code corresponding to the institution"
- },
- "id": {
- "type": "string",
- "description": "Institution's unique identifier"
- },
- "mailAddress": {
- "type": "string",
- "description": "Institution's email address"
- },
- "name": {
- "type": "string",
- "description": "Institution's name"
- },
- "status": {
- "type": "string",
- "description": "Institution's status"
- },
- "userRole": {
- "type": "string",
- "description": "Logged user's role"
- }
- }
- },
- "ProductsResource": {
- "title": "ProductsResource",
- "required": [
- "activationDateTime",
- "active",
- "authorized",
- "code",
- "id",
- "title",
- "urlBO"
- ],
- "type": "object",
- "properties": {
- "activationDateTime": {
- "type": "string",
- "description": "Date the products was activated/created",
- "format": "date-time"
- },
- "active": {
- "type": "boolean",
- "description": "flag indicating whether the institution has a valid contract related to the product",
- "example": false
- },
- "authorized": {
- "type": "boolean",
- "description": "flag indicating whether the logged user has the authorization to manage the product",
- "example": false
- },
- "code": {
- "type": "string",
- "description": "Product's code"
- },
- "description": {
- "type": "string",
- "description": "Product's description"
- },
- "id": {
- "type": "string",
- "description": "Product's unique identifier"
- },
- "logo": {
- "type": "string",
- "description": "Product's logo"
- },
- "title": {
- "type": "string",
- "description": "Product's title"
- },
- "urlBO": {
- "type": "string",
- "description": "URL that redirects to the back-office section, where is possible to manage the product"
- },
- "urlPublic": {
- "type": "string",
- "description": "URL that redirects to the public information webpage of the product"
- }
- }
- }
- },
- "securitySchemes": {
- "bearerAuth": {
- "type": "http",
- "description": "A bearer token in the format of a JWS and conformed to the specifications included in [RFC8725](https://tools.ietf.org/html/RFC8725)",
- "scheme": "bearer",
- "bearerFormat": "JWT"
- }
- }
- }
-}
diff --git a/src/core/api/hubspidlogin_api/v1/metadata_policy.xml.tpl b/src/core/api/hubspidlogin_api/v1/metadata_policy.xml.tpl
deleted file mode 100644
index 1c60f6a64..000000000
--- a/src/core/api/hubspidlogin_api/v1/metadata_policy.xml.tpl
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
- *
-
-
-
-
-
diff --git a/src/core/api/hubspidlogin_api/v1/postacs_policy.xml.tpl b/src/core/api/hubspidlogin_api/v1/postacs_policy.xml.tpl
deleted file mode 100644
index 3bf1181ef..000000000
--- a/src/core/api/hubspidlogin_api/v1/postacs_policy.xml.tpl
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-
- %{ for origin in origins ~}
- ${origin}
- %{ endfor ~}
-
-
-
-
-
diff --git a/src/core/api/hubspidlogin_api/v1/swagger.json.tpl b/src/core/api/hubspidlogin_api/v1/swagger.json.tpl
deleted file mode 100644
index 95986e2f1..000000000
--- a/src/core/api/hubspidlogin_api/v1/swagger.json.tpl
+++ /dev/null
@@ -1,142 +0,0 @@
-{
- "swagger": "2.0",
- "info": {
- "title": "HUB Login SPID",
- "version": "1.0",
- "description": "Login SPID Service Provider"
- },
- "host": "${host}",
- "basePath": "/spid/v1",
- "schemes": [
- "http",
- "https"
- ],
- "securityDefinitions": {},
- "security": [],
- "paths": {
- "/acs": {
- "post": {
- "description": "postACS",
- "operationId": "postACS",
- "summary": "postACS",
- "responses": {
- "200": {
- "description": "ok"
- }
- }
- }
- },
- "/error": {
- "get": {
- "description": "getError",
- "operationId": "getError",
- "summary": "getError",
- "responses": {
- "200": {
- "description": "ok"
- }
- }
- }
- },
- "/invalidate": {
- "post": {
- "description": "postInvalidate",
- "operationId": "postInvalidate",
- "summary": "postInvalidate",
- "responses": {
- "200": {
- "description": "ok"
- }
- }
- }
- },
- "/introspect": {
- "post": {
- "description": "postIntrospect",
- "operationId": "postIntrospect",
- "summary": "postIntrospect",
- "responses": {
- "200": {
- "description": "ok"
- }
- }
- }
- },
- "/login": {
- "get": {
- "description": "getLogin",
- "operationId": "getLogin",
- "summary": "getLogin",
- "responses": {
- "200": {
- "description": "ok"
- },
- "400": {
- "description": ""
- }
- }
- }
- },
- "/logout": {
- "post": {
- "description": "postLogout",
- "operationId": "postLogout",
- "summary": "postLogout",
- "responses": {
- "200": {
- "description": "ok"
- }
- }
- }
- },
- "/metadata": {
- "get": {
- "description": "getMetadata",
- "operationId": "getMetadata",
- "summary": "getMetadata",
- "responses": {
- "200": {
- "description": "ok"
- }
- }
- }
- },
- "/refresh": {
- "get": {
- "description": "getRefresh",
- "operationId": "getRefresh",
- "summary": "getRefresh",
- "responses": {
- "200": {
- "description": "ok"
- }
- }
- }
- },
- "/success": {
- "get": {
- "description": "getSuccess",
- "operationId": "getSuccess",
- "summary": "getSuccess",
- "responses": {
- "200": {
- "description": "ok"
- }
- }
- }
- },
- "/upgradeToken": {
- "post": {
- "description": "postUpgradeToken",
- "operationId": "postUpgradeToken",
- "summary": "postUpgradeToken",
- "responses": {
- "200": {
- "description": "ok"
- }
- }
- }
- }
- },
- "tags": []
-}
diff --git a/src/core/api/monitor/mock_policy.xml b/src/core/api/monitor/mock_policy.xml
deleted file mode 100644
index 9ab5d3f6b..000000000
--- a/src/core/api/monitor/mock_policy.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/core/api/monitor/openapi.json.tpl b/src/core/api/monitor/openapi.json.tpl
deleted file mode 100644
index 5a85227d1..000000000
--- a/src/core/api/monitor/openapi.json.tpl
+++ /dev/null
@@ -1,43 +0,0 @@
-{
- "openapi": "3.0.1",
- "info": {
- "title": "monitor",
- "description": "",
- "version": "1.0"
- },
- "servers": [{
- "url": "https://${host}"
- }],
- "paths": {
- "/*": {
- "get": {
- "summary": "GET",
- "operationId": "get",
- "responses": {
- "200": {
- "description": null
- }
- }
- }
- }
- },
- "components": {
- "securitySchemes": {
- "apiKeyHeader": {
- "type": "apiKey",
- "name": "Ocp-Apim-Subscription-Key",
- "in": "header"
- },
- "apiKeyQuery": {
- "type": "apiKey",
- "name": "subscription-key",
- "in": "query"
- }
- }
- },
- "security": [{
- "apiKeyHeader": []
- }, {
- "apiKeyQuery": []
- }]
-}
diff --git a/src/core/api/party_management/v1/getOrganizationById_policy.xml b/src/core/api/party_management/v1/getOrganizationById_policy.xml
deleted file mode 100644
index 6b38b10dc..000000000
--- a/src/core/api/party_management/v1/getOrganizationById_policy.xml
+++ /dev/null
@@ -1,33 +0,0 @@
-
-
-
-
-
-
-
- application/json
-
-
- {
- "id": "97c0f418-bcb3-48d4-825a-fe8b29ae68e5",
- "institutionId": "aoo=c_f205,o=c_f205,c=it",
- "taxCode": "FISCALCODE"
- "description": "AGENCY X",
- "digitalAddress": "email@pec.mail.org",
- "attributes": [
- "string"
- ]
- }
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/core/api/party_management/v1/party-management.yml.tpl b/src/core/api/party_management/v1/party-management.yml.tpl
deleted file mode 100644
index 93f79cf54..000000000
--- a/src/core/api/party_management/v1/party-management.yml.tpl
+++ /dev/null
@@ -1,941 +0,0 @@
-openapi: 3.0.3
-info:
- title: Party Management Micro Service
- description: This service is the party manager
- version: 'v1'
- contact:
- name: API Support
- url: 'http://www.example.com/support'
- email: support@example.com
- termsOfService: 'http://swagger.io/terms/'
- x-api-id: an x-api-id
- x-summary: an x-summary
-servers:
- - url: 'https://${host}/${basePath}'
- description: This service is the party manager
-tags:
- - name: party
- description: Manipulate party information
- externalDocs:
- description: Find out more
- url: 'http://swagger.io'
- - name: health
- description: Verify service status
- externalDocs:
- description: Find out more
- url: 'http://swagger.io'
-security:
- - bearerAuth: [ ]
-paths:
- '/persons/{id}':
- get:
- summary: Retrieves Person by ID
- tags:
- - party
- operationId: getPersonById
- description: 'returns the identified person, if any.'
- parameters:
- - name: id
- in: path
- schema:
- type: string
- format: uuid
- required: true
- description: Person ID
- responses:
- '200':
- description: Person
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/Person'
- '400':
- description: Bad Request
- content:
- application/problem+json:
- schema:
- $ref: '#/components/schemas/Problem'
- '404':
- description: Person not found
- content:
- application/problem+json:
- schema:
- $ref: '#/components/schemas/Problem'
- head:
- tags:
- - party
- summary: Verify if a Person exists for a given ID
- description: Return ok
- operationId: existsPersonById
- parameters:
- - name: id
- in: path
- description: The ID of the Person to check
- required: true
- schema:
- description: The Person ID.
- type: string
- format: uuid
- example: e72dd279-5f52-4039-afbe-2b7e432c490e
- responses:
- '200':
- description: Person exists
- '404':
- description: Person not found
- /persons:
- post:
- tags:
- - party
- summary: Create a new person
- description: Return ok
- operationId: createPerson
- requestBody:
- required: true
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/PersonSeed'
- responses:
- '201':
- description: successful operation
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/Person'
- '400':
- description: Invalid ID supplied
- content:
- application/problem+json:
- schema:
- $ref: '#/components/schemas/Problem'
- /organizations:
- post:
- tags:
- - party
- summary: Create an organization
- description: Return ok
- operationId: createOrganization
- requestBody:
- required: true
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/OrganizationSeed'
- responses:
- '201':
- description: successful operation
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/Organization'
- '400':
- description: Invalid ID supplied
- content:
- application/problem+json:
- schema:
- $ref: '#/components/schemas/Problem'
- /organizations/{id}:
- get:
- summary: Retrieves Organization by ID
- tags:
- - party
- operationId: getOrganizationById
- description: 'returns the identified organization, if any.'
- parameters:
- - schema:
- type: string
- format: uuid
- name: id
- in: path
- required: true
- description: Organization ID
- responses:
- '200':
- description: Organization
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/Organization'
- '400':
- description: Bad Request
- content:
- application/problem+json:
- schema:
- $ref: '#/components/schemas/Problem'
- '404':
- description: Organization not found
- content:
- application/problem+json:
- schema:
- $ref: '#/components/schemas/Problem'
- head:
- tags:
- - party
- summary: Verify if an organization exists for a given organizationId
- description: Return ok
- operationId: existsOrganizationById
- parameters:
- - name: id
- in: path
- description: The ID of the Organization to check
- required: true
- schema:
- description: to be defined
- type: string
- format: uuid
- example: e72dd279-5f52-4039-afbe-2b7e432c490e
- responses:
- '200':
- description: successful operation
- '404':
- description: Organization not found
- /organizations/external/{id}:
- parameters:
- - schema:
- type: string
- name: id
- in: path
- required: true
- description: External Organization ID
- get:
- summary: Retrieves Organization by ID
- tags:
- - party
- responses:
- '200':
- description: Organization
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/Organization'
- '400':
- description: Bad Request
- content:
- application/problem+json:
- schema:
- $ref: '#/components/schemas/Problem'
- '404':
- description: Organization not found
- content:
- application/problem+json:
- schema:
- $ref: '#/components/schemas/Problem'
- operationId: getOrganizationByExternalId
- description: 'returns the identified organization, if any.'
- /organizations/{id}/attributes:
- parameters:
- - schema:
- type: string
- format: uuid
- example: e72dd279-5f52-4039-afbe-2b7e432c490e
- name: id
- in: path
- required: true
- description: Organization ID
- get:
- summary: Retrieves attributes
- tags:
- - party
- responses:
- '200':
- description: Party Attributes
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/Attributes'
- '400':
- description: Bad Request
- content:
- application/problem+json:
- schema:
- $ref: '#/components/schemas/Problem'
- '404':
- description: Party not found
- content:
- application/problem+json:
- schema:
- $ref: '#/components/schemas/Problem'
- operationId: getPartyAttributes
- description: 'returns the attributes of the identified party, if any.'
- post:
- tags:
- - party
- summary: Retrieve the organization attributes for the given organizationId
- description: Return ok
- operationId: addOrganizationAttributes
- requestBody:
- required: true
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/Attributes'
- responses:
- '200':
- description: successful operation
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/Organization'
- '404':
- description: Organization not found
- content:
- application/problem+json:
- schema:
- $ref: '#/components/schemas/Problem'
- /relationships:
- post:
- tags:
- - party
- summary: Create a new relationship between a Person and an Organization
- description: Return ok
- operationId: createRelationship
- requestBody:
- required: true
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/RelationshipSeed'
- responses:
- '201':
- description: Created Relationship
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/Relationship'
- '400':
- description: Invalid ID supplied
- content:
- application/problem+json:
- schema:
- $ref: '#/components/schemas/Problem'
- get:
- tags:
- - party
- summary: Return a list of relationships
- description: Return ok
- operationId: getRelationships
- parameters:
- - in: query
- name: from
- schema:
- type: string
- format: uuid
- - in: query
- name: to
- schema:
- type: string
- format: uuid
- - in: query
- name: roles
- description: comma separated sequence of role to filter the response with
- schema:
- type: array
- items:
- $ref: '#/components/schemas/PartyRole'
- default: [ ]
- explode: false
- - in: query
- name: states
- description: comma separated sequence of states to filter the response with
- schema:
- type: array
- items:
- $ref: '#/components/schemas/RelationshipState'
- default: [ ]
- explode: false
- - in: query
- name: products
- description: comma separated sequence of products to filter the response with
- schema:
- type: array
- items:
- type: string
- default: [ ]
- explode: false
- - in: query
- name: productRoles
- description: comma separated sequence of product roles to filter the response with
- schema:
- type: array
- items:
- type: string
- default: [ ]
- explode: false
- responses:
- '200':
- description: successful operation
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/Relationships'
- '400':
- description: Invalid ID supplied
- content:
- application/problem+json:
- schema:
- $ref: '#/components/schemas/Problem'
- /relationships/{relationshipId}:
- delete:
- tags:
- - party
- summary: Deletes relationship
- description: Deletes the relationship identified by relationshipId
- operationId: deleteRelationshipById
- parameters:
- - name: relationshipId
- in: path
- description: The ID of the Relationship to delete
- required: true
- schema:
- type: string
- format: uuid
- responses:
- '204':
- description: relationship deleted
- '400':
- description: Bad Request
- content:
- application/problem+json:
- schema:
- $ref: '#/components/schemas/Problem'
- '404':
- description: Relationship not found
- content:
- application/problem+json:
- schema:
- $ref: '#/components/schemas/Problem'
- get:
- tags:
- - party
- summary: Retrieve the relationship for the given relationshipId
- description: Return relationship
- operationId: getRelationshipById
- parameters:
- - name: relationshipId
- in: path
- description: The ID of the Relationship to retrieve
- required: true
- schema:
- type: string
- format: uuid
- responses:
- '200':
- description: successful operation
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/Relationship'
- '400':
- description: Bad Request
- content:
- application/problem+json:
- schema:
- $ref: '#/components/schemas/Problem'
- '404':
- description: Relationship not found
- content:
- application/problem+json:
- schema:
- $ref: '#/components/schemas/Problem'
- '/relationships/{relationshipId}/suspend':
- parameters:
- - schema:
- type: string
- format: uuid
- name: relationshipId
- in: path
- required: true
- description: Relationship ID
- post:
- summary: Suspend Relationship by ID
- tags:
- - party
- responses:
- '204':
- description: Relationship suspended
- '404':
- description: Relationship not found
- content:
- application/problem+json:
- schema:
- $ref: '#/components/schemas/Problem'
- operationId: suspendPartyRelationshipById
- description: 'Suspend relationship by ID'
- '/relationships/{relationshipId}/activate':
- parameters:
- - schema:
- type: string
- format: uuid
- name: relationshipId
- in: path
- required: true
- description: Relationship ID
- post:
- summary: Activate Relationship by plaftorm ID
- tags:
- - party
- responses:
- '204':
- description: Relationship activated
- '404':
- description: Relationship not found
- content:
- application/problem+json:
- schema:
- $ref: '#/components/schemas/Problem'
- operationId: activatePartyRelationshipById
- description: 'Activate Relationship by ID'
- /tokens:
- post:
- tags:
- - party
- summary: Create a new token
- description: Return ok
- operationId: createToken
- requestBody:
- required: true
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/TokenSeed'
- responses:
- '201':
- description: successful operation
- content:
- application/octet-stream:
- schema:
- $ref: '#/components/schemas/TokenText'
- '400':
- description: Invalid ID supplied
- content:
- application/problem+json:
- schema:
- $ref: '#/components/schemas/Problem'
- /tokens/{token}:
- head:
- tags:
- - party
- summary: Retrieve token info
- description: Return ok
- operationId: verifyToken
- parameters:
- - name: token
- in: path
- description: The token to verify
- required: true
- schema:
- description: to be defined
- type: string
- responses:
- '200':
- description: successful operation
- '404':
- description: Token not found
- content:
- application/problem+json:
- schema:
- $ref: '#/components/schemas/Problem'
- '400':
- description: Invalid ID supplied
- content:
- application/problem+json:
- schema:
- $ref: '#/components/schemas/Problem'
- post:
- tags:
- - party
- summary: Consume a token
- description: Return ok
- operationId: consumeToken
- parameters:
- - name: token
- in: path
- description: The token to consume
- required: true
- schema:
- description: to be defined
- type: string
- requestBody:
- description: onboarding signed document
- content:
- multipart/form-data:
- schema:
- type: object
- required:
- - doc
- properties:
- doc:
- type: string
- format: binary
- required: true
- responses:
- '201':
- description: successful operation
- '400':
- description: Invalid ID supplied
- content:
- application/problem+json:
- schema:
- $ref: '#/components/schemas/Problem'
- delete:
- tags:
- - party
- summary: Invalidate a token
- description: Return ok
- operationId: invalidateToken
- parameters:
- - name: token
- in: path
- description: The token to invalidate
- required: true
- schema:
- type: string
- responses:
- '200':
- description: successful operation
- '400':
- description: Invalid ID supplied
- content:
- application/problem+json:
- schema:
- $ref: '#/components/schemas/Problem'
- /status:
- get:
- tags:
- - health
- summary: Health status endpoint
- description: Return ok
- operationId: getStatus
- responses:
- '200':
- description: successful operation
- content:
- application/problem+json:
- schema:
- $ref: '#/components/schemas/Problem'
- '/bulk/organizations':
- post:
- summary: Retrieves a collection of organizations
- tags:
- - party
- requestBody:
- required: true
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/BulkPartiesSeed'
- responses:
- '200':
- description: collection of organizations
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/BulkOrganizations'
- '400':
- description: Bad Request
- content:
- application/problem+json:
- schema:
- $ref: '#/components/schemas/Problem'
- '404':
- description: Organizations not found
- content:
- application/problem+json:
- schema:
- $ref: '#/components/schemas/Problem'
- operationId: bulkOrganizations
- description: 'returns a collection of all the parties for the corresponding identifiers.'
-components:
- schemas:
- PersonSeed:
- type: object
- properties:
- id:
- description: Internal id.
- type: string
- format: uuid
- required:
- - id
- additionalProperties: false
- Person:
- type: object
- properties:
- id:
- type: string
- format: uuid
- example: 97c0f418-bcb3-48d4-825a-fe8b29ae68e5
- required:
- - id
- additionalProperties: false
- OrganizationSeed:
- type: object
- properties:
- institutionId:
- description: organization id (e.g iPA code)
- example: 'c_f205'
- type: string
- description:
- type: string
- example: AGENCY X
- digitalAddress:
- example: email@pec.mail.org
- format: email
- type: string
- taxCode:
- description: organization tax code
- type: string
- products:
- type: array
- items:
- type: string
- description: product names associated to this organization
- uniqueItems: true
- attributes:
- $ref: '#/components/schemas/Attributes'
- required:
- - institutionId
- - description
- - digitalAddress
- - taxCode
- - attributes
- - products
- additionalProperties: false
- Organization:
- type: object
- properties:
- id:
- type: string
- format: uuid
- example: 97c0f418-bcb3-48d4-825a-fe8b29ae68e5
- institutionId:
- description: organization id (e.g iPA code)
- example: 'c_f205'
- type: string
- description:
- type: string
- example: AGENCY X
- digitalAddress:
- example: email@pec.mail.org
- format: email
- type: string
- taxCode:
- description: organization tax code
- type: string
- attributes:
- $ref: '#/components/schemas/Attributes'
- required:
- - id
- - institutionId
- - description
- - digitalAddress
- - taxCode
- - attributes
- additionalProperties: false
- BulkOrganizations:
- type: object
- required:
- - found
- - notFound
- properties:
- found:
- type: array
- description: the collection of organizations found.
- items:
- $ref: '#/components/schemas/Organization'
- notFound:
- type: array
- items:
- type: string
- description: the identifiers of organizations not found.
- BulkPartiesSeed:
- type: object
- required:
- - partyIdentifiers
- properties:
- partyIdentifiers:
- type: array
- items:
- type: string
- format: uuid
- description: the identifiers of party
- PartyRole:
- type: string
- description: Represents the generic available role types for the relationship
- enum:
- - MANAGER
- - DELEGATE
- - SUB_DELEGATE
- - OPERATOR
- RelationshipState:
- type: string
- description: Represents the party relationship state
- enum:
- - PENDING
- - ACTIVE
- - SUSPENDED
- - DELETED
- - REJECTED
- Attributes:
- type: array
- items:
- type: string
- RelationshipProductSeed:
- type: object
- properties:
- id:
- type: string
- role:
- type: string
- required:
- - id
- - role
- RelationshipSeed:
- type: object
- properties:
- from:
- type: string
- format: uuid
- description: person ID
- to:
- type: string
- format: uuid
- description: organization ID
- role:
- $ref: '#/components/schemas/PartyRole'
- product:
- $ref: '#/components/schemas/RelationshipProductSeed'
- additionalProperties: false
- required:
- - from
- - to
- - role
- - product
- RelationshipProduct:
- type: object
- properties:
- id:
- type: string
- role:
- type: string
- createdAt:
- type: string
- format: date-time
- required:
- - id
- - role
- - createdAt
- Relationship:
- type: object
- properties:
- id:
- type: string
- format: uuid
- from:
- type: string
- format: uuid
- description: person ID
- to:
- type: string
- format: uuid
- description: organization ID
- filePath:
- type: string
- description: path of the file containing the signed onboarding document
- fileName:
- type: string
- description: name of the file containing the signed onboarding document
- contentType:
- type: string
- description: content type of the file containing the signed onboarding document
- role:
- $ref: '#/components/schemas/PartyRole'
- product:
- $ref: '#/components/schemas/RelationshipProduct'
- state:
- $ref: '#/components/schemas/RelationshipState'
- createdAt:
- type: string
- format: date-time
- updatedAt:
- type: string
- format: date-time
- additionalProperties: false
- required:
- - id
- - from
- - to
- - role
- - product
- - state
- - createdAt
- Relationships:
- type: object
- properties:
- items:
- type: array
- items:
- $ref: '#/components/schemas/Relationship'
- additionalProperties: false
- required:
- - items
- RelationshipsSeed:
- type: object
- properties:
- items:
- type: array
- items:
- $ref: '#/components/schemas/RelationshipSeed'
- additionalProperties: false
- required:
- - items
- TokenSeed:
- type: object
- properties:
- seed:
- type: string
- example: 97c0f418-bcb3-48d4-825a-fe8b29ae68e5
- relationships:
- $ref: '#/components/schemas/RelationshipsSeed'
- checksum:
- type: string
- additionalProperties: false
- required:
- - seed
- - relationships
- - checksum
- TokenText:
- properties:
- token:
- type: string
- additionalProperties: false
- required:
- - token
- Problem:
- properties:
- detail:
- description: A human readable explanation specific to this occurrence of the problem.
- example: Request took too long to complete.
- type: string
- status:
- description: The HTTP status code generated by the origin server for this occurrence of the problem.
- example: 503
- exclusiveMaximum: true
- format: int32
- maximum: 600
- minimum: 100
- type: integer
- title:
- description:
- A short, summary of the problem type. Written in english and readable
- example: Service Unavailable
- type: string
- additionalProperties: false
- required:
- - status
- - title
- securitySchemes:
- bearerAuth:
- type: http
- description: 'A bearer token in the format of a JWS and comformed to the specifications included in [RFC8725](https://tools.ietf.org/html/RFC8725).'
- scheme: bearer
- bearerFormat: JWT
diff --git a/src/core/api/party_process/v1/confirmOnboarding_policy.xml b/src/core/api/party_process/v1/confirmOnboarding_policy.xml
deleted file mode 100644
index be57ec3f7..000000000
--- a/src/core/api/party_process/v1/confirmOnboarding_policy.xml
+++ /dev/null
@@ -1,80 +0,0 @@
-
-
-
-
-
-
-
-
-
-
- application/json
-
-
- {
- "detail": "Request took too long to complete.",
- "status": 503,
- "title": "Service Unavailable"
- }
-
-
-
-
-
-
-
- application/problem+json
-
-
- {
- "type": "string",
- "status": 409,
- "title": "Document validation failed",
- "detail": "string",
- "errors": [
- {
- "code": "002-100",
- "detail": "document validation fails"
- }
- ]
- }
-
-
-
-
-
-
-
- application/problem+json
-
-
- {
- "type": "string",
- "status": 409,
- "title": "Document validation failed",
- "detail": "string",
- "errors": [
- {
- "code": "002-102",
- "detail": "signature is invalid"
- }
- ]
- }
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/core/api/party_process/v1/getOnBoardingInfo_policy.xml b/src/core/api/party_process/v1/getOnBoardingInfo_policy.xml
deleted file mode 100644
index db5fbeeaf..000000000
--- a/src/core/api/party_process/v1/getOnBoardingInfo_policy.xml
+++ /dev/null
@@ -1,405 +0,0 @@
-
-
-
-
-
-
-
-
-
-
- application/json
-
- {
- "detail": "Request took too long to complete.",
- "status": 503,
- "title": "Service Unavailable"
- }
-
-
-
-
-
-
- application/json
-
- {
- "person": {
- "name": "name",
- "surname": "surname",
- "taxCode": "AAAAAA00A00A000A"
- },
- "institutions": [
- {
- "institutionId": "onboarded",
- "description": "AGENCY ONBOARDED",
- "taxCode":"onboardedFiscalCode",
- "digitalAddress": "digitalAddress",
- "state": "ACTIVE",
- "role": "MANAGER",
- "productInfo": {
- "id": "pagoPA",
- "role": "ADMIN",
- "createdAt": "2021-12-02T16:57:02.300Z"
- },
- "attributes": [
- {
- "id":"attId",
- "name":"attName",
- "description":"attDescription"
- }
- ]
- }
- ]
- }
-
-
-
-
-
-
- application/json
-
- {
- "person": {
- "name": "name",
- "surname": "surname",
- "taxCode": "AAAAAA00A00A000A"
- },
- "institutions": [
- {
- "institutionId": "pending",
- "description": "AGENCY PENDING",
- "taxCode":"pendingFiscalCode",
- "digitalAddress": "digitalAddress",
- "state": "PENDING",
- "role": "MANAGER",
- "productInfo": {
- "id": "pagoPA",
- "role": "LIMITED",
- "createdAt": "2021-12-02T16:57:02.300Z"
- },
- "attributes": [
- {
- "id":"attId",
- "name":"attName",
- "description":"attDescription"
- }
- ]
- }
- ]
- }
-
-
-
-
-
-
- application/json
-
- {
- "person": {
- "name": "name",
- "surname": "surname",
- "taxCode": "AAAAAA00A00A000A"
- },
- "institutions": []
- }
-
-
-
-
-
-
- application/json
-
- {
- "person": {
- "name": "name",
- "surname": "surname",
- "taxCode": "AAAAAA00A00A000A"
- },
- "institutions": []
- }
-
-
-
-
-
-
- application/json
-
- {
- "person": {
- "name": "string",
- "surname": "string",
- "taxCode": "string"
- },
- "institutions": [
- {
- "institutionId": "pippo",
- "description": "string",
- "taxCode": "string",
- "digitalAddress": "string",
- "state": "ACTIVE",
- "role": "MANAGER",
- "productInfo": {
- "id": "productId",
- "role": "ADMIN",
- "createdAt": "2021-12-01T17:15:38.101Z"
- },
- "attributes": [
- {
- "id": "string",
- "name": "string",
- "description": "category"
- }
- ]
- }
- ]
- }
-
-
-
-
-
-
- application/json
-
- {
- "person": {
- "name": "string",
- "surname": "string",
- "taxCode": "string"
- },
- "institutions": [
- {
- "institutionId": "pluto",
- "description": "string",
- "taxCode": "string",
- "digitalAddress": "string",
- "state": "ACTIVE",
- "role": "OPERATOR",
- "productInfo": {
- "id": "productId",
- "role": "LIMITED",
- "createdAt": "2021-12-01T17:15:38.101Z"
- },
- "attributes": [
- {
- "id": "string",
- "name": "string",
- "description": "category"
- }
- ]
- }
- ]
- }
-
-
-
-
-
-
- application/json
-
- {
- "person": {
- "name": "string",
- "surname": "string",
- "taxCode": "string"
- },
- "institutions": [
- {
- "institutionId": "paperino",
- "description": "string",
- "taxCode": "string",
- "digitalAddress": "string",
- "state": "ACTIVE",
- "role": "MANAGER",
- "productInfo": {
- "id": "productId1",
- "role": "ADMIN",
- "createdAt": "2021-12-01T17:15:38.101Z"
- },
- "attributes": [
- {
- "id": "string",
- "name": "string",
- "description": "category"
- }
- ]
- },
- {
- "institutionId": "paperino",
- "description": "string",
- "taxCode": "string",
- "digitalAddress": "string",
- "state": "ACTIVE",
- "role": "OPERATOR",
- "productInfo": {
- "id": "productId2",
- "role": "LIMITED",
- "createdAt": "2021-12-01T17:15:38.101Z"
- },
- "attributes": [
- {
- "id": "string",
- "name": "string",
- "description": "category"
- }
- ]
- }
- ]
- }
-
-
-
-
-
-
- application/json
-
- {
- "person": {
- "name": "name",
- "surname": "surname",
- "taxCode": "AAAAAA00A00A000A"
- },
- "institutions": [
- {
- "role": "MANAGER",
- "description": "Comune di Bari",
- "taxCode":"ComunediBariFiscalCode",
- "state": "PENDING",
- "institutionId": "1",
- "attributes": [
- {
- "id":"attId1",
- "name":"attName1",
- "description":"category1"
- }
- ],
- "digitalAddress": "",
- "productInfo": {
- "id":"pagoPA",
- "role":"ADMIN",
- "createdAt":"2021-12-02T16:57:02.300Z"
- }
- },
- {
- "role": "MANAGER",
- "description": "Comune di Milano",
- "taxCode":"ComunediMilanoFiscalCode",
- "state": "PENDING",
- "institutionId": "2",
- "attributes": [
- {
- "id":"attId2",
- "name":"attName2",
- "description":"category2"
- }
- ],
- "digitalAddress": "",
- "productInfo": {
- "id":"pagoPA",
- "role":"LIMITED",
- "createdAt":"2021-12-02T16:57:02.300Z"
- }
- },
- {
- "role": "MANAGER",
- "description": "Comune di Roma",
- "taxCode":"ComunediRomaFiscalCode",
- "state": "ACTIVE",
- "institutionId": "3",
- "attributes": [
- {
- "id":"attId3",
- "name":"attName3",
- "description":"category3"
- }
- ],
- "digitalAddress": "",
- "productInfo": {
- "id":"pagoPA",
- "role":"ADMIN",
- "createdAt":"2021-12-02T16:57:02.300Z"
- }
- },
- {
- "role": "MANAGER",
- "description": "Comune di Napoli",
- "taxCode":"ComunediNapoliFiscalCode",
- "state": "ACTIVE",
- "institutionId": "4",
- "attributes": [
- {
- "id":"attId4",
- "name":"attName4",
- "description":"category4"
- }
- ],
- "digitalAddress": "",
- "productInfo": {
- "id":"pagoPA",
- "role":"LIMITED",
- "createdAt":"2021-12-02T16:57:02.300Z"
- }
- },
- {
- "role": "OPERATOR",
- "description": "Comune di Napoli",
- "taxCode":"ComunediNapoliFiscalCode",
- "state": "PENDING",
- "institutionId": "5",
- "attributes": [
- {
- "id":"attId5",
- "name":"attName5",
- "description":"category5"
- }
- ],
- "digitalAddress": "",
- "productInfo": {
- "id":"PDND",
- "role":"LIMITED",
- "createdAt":"2021-12-02T16:57:02.300Z"
- }
- },
- {
- "institutionId": "onboarded",
- "description": "AGENCY ONBOARDED",
- "taxCode":"onboardedFiscalCode",
- "digitalAddress": "digitalAddress",
- "state": "ACTIVE",
- "role": "MANAGER",
- "productInfo": {
- "id":"pagoPA",
- "role":"ADMIN",
- "createdAt":"2021-12-02T16:57:02.300Z"
- },
- "attributes": [
- {
- "id":"attId",
- "name":"attName",
- "description":"category"
- }
- ]
- }
- ]
- }
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/core/api/party_process/v1/invalidateOnboarding_policy.xml b/src/core/api/party_process/v1/invalidateOnboarding_policy.xml
deleted file mode 100644
index 7a4e56f74..000000000
--- a/src/core/api/party_process/v1/invalidateOnboarding_policy.xml
+++ /dev/null
@@ -1,36 +0,0 @@
-
-
-
-
-
-
-
-
-
-
- application/json
-
-
- {
- "detail": "Request took too long to complete.",
- "status": 503,
- "title": "Service Unavailable"
- }
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/core/api/party_process/v1/onboardingOrganization_policy.xml b/src/core/api/party_process/v1/onboardingOrganization_policy.xml
deleted file mode 100644
index 3130b9ab5..000000000
--- a/src/core/api/party_process/v1/onboardingOrganization_policy.xml
+++ /dev/null
@@ -1,47 +0,0 @@
-
-
-
-
-
-
-
-
-
-
- application/json
-
-
- {
- "detail": "Request took too long to complete.",
- "status": 503,
- "title": "Service Unavailable"
- }
-
-
-
-
-
-
-
- application/json
-
-
- {
- "token": "string",
- "document": "string"
- }
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/core/api/party_process/v1/party-process.yml.tpl b/src/core/api/party_process/v1/party-process.yml.tpl
deleted file mode 100644
index 344a9bfd4..000000000
--- a/src/core/api/party_process/v1/party-process.yml.tpl
+++ /dev/null
@@ -1,769 +0,0 @@
-openapi: 3.0.3
-info:
- title: Party Process Micro Service
- description: This service is the party process
- version: 'v1'
- contact:
- name: API Support
- url: 'http://www.example.com/support'
- email: support@example.com
- termsOfService: 'http://swagger.io/terms/'
- x-api-id: an x-api-id
- x-summary: an x-summary
-servers:
- - url: 'https://${host}/${basePath}'
- description: This service is the party process
-security:
- - bearerAuth: [ ]
-tags:
- - name: process
- description: Implements party process
- externalDocs:
- description: Find out more
- url: 'http://swagger.io'
- - name: health
- description: Verify service status
- externalDocs:
- description: Find out more
- url: 'http://swagger.io'
-paths:
- '/onboarding/info':
- get:
- security:
- - bearerAuth: [ ]
- tags:
- - process
- summary: get on boarding info
- description: Return ok
- operationId: getOnboardingInfo
- parameters:
- - name: institutionId
- description: UUID of an institution you can filter the retrieval with
- in: query
- schema:
- type: string
- responses:
- '200':
- description: successful operation
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/OnboardingInfo'
- '400':
- description: Invalid ID supplied
- content:
- application/problem+json:
- schema:
- $ref: '#/components/schemas/Problem'
- /onboarding/organization:
- post:
- security:
- - bearerAuth: [ ]
- tags:
- - process
- summary: Organization onboarding on the platform
- description: it performs the onboarding of a new organization on the platform
- operationId: onboardingOrganization
- requestBody:
- required: true
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/OnboardingRequest'
- responses:
- '201':
- description: successful operation
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/OnboardingResponse'
- '400':
- description: Invalid ID supplied
- content:
- application/problem+json:
- schema:
- $ref: '#/components/schemas/Problem'
- /onboarding/legals:
- post:
- security:
- - bearerAuth: [ ]
- tags:
- - process
- summary: legals onboarding
- description: creates legals entries on already onboarded institution
- operationId: onboardingLegalsOnOrganization
- requestBody:
- required: true
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/OnboardingRequest'
- responses:
- '200':
- description: successful operation
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/OnboardingResponse'
- '400':
- description: Invalid ID supplied
- content:
- application/problem+json:
- schema:
- $ref: '#/components/schemas/Problem'
- /onboarding/subdelegates:
- post:
- security:
- - bearerAuth: [ ]
- tags:
- - process
- summary: subdelegates onboarding
- description: creates subdelegates entries on already onboarded institution
- operationId: onboardingSubDelegatesOnOrganization
- requestBody:
- required: true
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/OnboardingRequest'
- responses:
- '200':
- description: successful operation
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/OnboardingResponse'
- '400':
- description: Invalid ID supplied
- content:
- application/problem+json:
- schema:
- $ref: '#/components/schemas/Problem'
- /onboarding/operators:
- post:
- security:
- - bearerAuth: [ ]
- tags:
- - process
- summary: operators onboarding
- description: performs operators onboarding on an already existing organization
- operationId: onboardingOperators
- requestBody:
- required: true
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/OnboardingRequest'
- responses:
- '201':
- description: successful operation
- '400':
- description: Invalid ID supplied
- content:
- application/problem+json:
- schema:
- $ref: '#/components/schemas/Problem'
- /institutions/{institutionId}/relationships:
- get:
- security:
- - bearerAuth: [ ]
- tags:
- - process
- summary: returns the relationships related to the institution
- description: Return ok
- operationId: getUserInstitutionRelationships
- parameters:
- - name: institutionId
- in: path
- description: The identifier of the institution
- required: true
- schema:
- type: string
- format: uuid
- - in: query
- name: roles
- description: comma separated sequence of role to filter the response with
- schema:
- type: array
- items:
- $ref: '#/components/schemas/PartyRole'
- default: [ ]
- explode: false
- - in: query
- name: states
- description: comma separated sequence of states to filter the response with
- schema:
- type: array
- items:
- $ref: '#/components/schemas/RelationshipState'
- default: [ ]
- explode: false
- - in: query
- name: products
- description: comma separated sequence of products to filter the response with
- schema:
- type: array
- items:
- type: string
- default: [ ]
- explode: false
- - in: query
- name: productRoles
- description: comma separated sequence of product roles to filter the response with
- schema:
- type: array
- items:
- type: string
- default: [ ]
- explode: false
- responses:
- '200':
- description: successful operation
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/RelationshipsResponse'
- '400':
- description: Invalid institution id supplied
- content:
- application/problem+json:
- schema:
- $ref: '#/components/schemas/Problem'
- /institutions/{institutionId}/products:
- get:
- security:
- - bearerAuth: [ ]
- tags:
- - process
- summary: institution products retrieval
- description: retrieves the products this institution is related to.
- operationId: retrieveInstitutionProducts
- parameters:
- - name: institutionId
- in: path
- description: The identifier of the institution
- required: true
- schema:
- type: string
- format: uuid
- responses:
- '200':
- description: successful operation
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/Products'
- '404':
- description: Institution not found
- content:
- application/problem+json:
- schema:
- $ref: '#/components/schemas/Problem'
- /relationships/{relationshipId}:
- get:
- security:
- - bearerAuth: [ ]
- tags:
- - process
- summary: Gets the corresponding relationship
- description: Gets relationship
- operationId: getRelationship
- parameters:
- - name: relationshipId
- in: path
- description: The identifier of the relationship
- required: true
- schema:
- type: string
- format: uuid
- responses:
- '200':
- description: successful operation
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/RelationshipInfo'
- '400':
- description: Invalid id supplied
- content:
- application/problem+json:
- schema:
- $ref: '#/components/schemas/Problem'
- '404':
- description: Not found
- content:
- application/problem+json:
- schema:
- $ref: '#/components/schemas/Problem'
- delete:
- security:
- - bearerAuth: [ ]
- tags:
- - process
- summary: Relationship deletion
- description: Given a relationship identifier, it deletes the corresponding relationship.
- operationId: deleteRelationshipById
- parameters:
- - name: relationshipId
- description: the identifier of the relationship to be deleted
- required: true
- in: path
- schema:
- type: string
- format: uuid
- responses:
- '204':
- description: relationship deleted
- '400':
- description: Bad request
- content:
- application/problem+json:
- schema:
- $ref: '#/components/schemas/Problem'
- '404':
- description: Relationship not found
- content:
- application/problem+json:
- schema:
- $ref: '#/components/schemas/Problem'
- /relationships/{relationshipId}/activate:
- post:
- security:
- - bearerAuth: [ ]
- tags:
- - process
- summary: Activate the relationship
- description: Activate relationship
- operationId: activateRelationship
- parameters:
- - name: relationshipId
- in: path
- description: The identifier of the relationship
- required: true
- schema:
- type: string
- format: uuid
- responses:
- '204':
- description: Successful operation
- '400':
- description: Invalid id supplied
- content:
- application/problem+json:
- schema:
- $ref: '#/components/schemas/Problem'
- '404':
- description: Not found
- content:
- application/problem+json:
- schema:
- $ref: '#/components/schemas/Problem'
- /relationships/{relationshipId}/suspend:
- post:
- security:
- - bearerAuth: [ ]
- tags:
- - process
- summary: Suspend the relationship
- description: Suspend relationship
- operationId: suspendRelationship
- parameters:
- - name: relationshipId
- in: path
- description: The identifier of the relationship
- required: true
- schema:
- type: string
- format: uuid
- responses:
- '204':
- description: Successful operation
- '400':
- description: Invalid id supplied
- content:
- application/problem+json:
- schema:
- $ref: '#/components/schemas/Problem'
- '404':
- description: Not found
- content:
- application/problem+json:
- schema:
- $ref: '#/components/schemas/Problem'
- '/onboarding/complete/{token}':
- post:
- security:
- - bearerAuth: [ ]
- tags:
- - process
- summary: create an onboarding entry
- description: Return ok
- operationId: confirmOnboarding
- parameters:
- - name: token
- in: path
- description: the token containing the onboardind information
- required: true
- schema:
- type: string
- requestBody:
- description: A E-Service seed
- content:
- multipart/form-data:
- schema:
- type: object
- required:
- - contract
- properties:
- contract:
- type: string
- format: binary
- encoding:
- contract:
- contentType: application/octet-stream
- required: true
- responses:
- '200':
- description: successful operation
- '400':
- description: Invalid ID supplied
- content:
- application/problem+json:
- schema:
- $ref: '#/components/schemas/Problem'
- '409':
- description: Document validation failed
- content:
- application/problem+json:
- schema:
- $ref: '#/components/schemas/Problem'
- delete:
- security:
- - bearerAuth: [ ]
- tags:
- - process
- summary: invalidate an onboarding request
- description: Return ok
- operationId: invalidateOnboarding
- parameters:
- - name: token
- in: path
- description: The token to invalidate
- required: true
- schema:
- type: string
- responses:
- '200':
- description: successful operation
- '400':
- description: Invalid ID supplied
- content:
- application/problem+json:
- schema:
- $ref: '#/components/schemas/Problem'
- /onboarding/relationship/{relationshipId}/document:
- get:
- security:
- - bearerAuth: [ ]
- tags:
- - process
- summary: Get an onboarding document
- operationId: getOnboardingDocument
- parameters:
- - name: relationshipId
- in: path
- description: the relationship id
- required: true
- schema:
- type: string
- responses:
- "200":
- description: Signed onboarding document retrieved
- content:
- application/octet-stream:
- schema:
- type: string
- format: binary
- "404":
- description: Document not found
- content:
- application/problem+json:
- schema:
- $ref: '#/components/schemas/Problem'
- "400":
- description: Bad request
- content:
- application/problem+json:
- schema:
- $ref: '#/components/schemas/Problem'
- /status:
- get:
- security:
- - bearerAuth: [ ]
- tags:
- - health
- summary: Health status endpoint
- description: Return ok
- operationId: getStatus
- responses:
- '200':
- description: successful operation
- content:
- application/problem+json:
- schema:
- $ref: '#/components/schemas/Problem'
-components:
- schemas:
- OnboardingRequest:
- properties:
- users:
- type: array
- items:
- $ref: '#/components/schemas/User'
- institutionId:
- type: string
- additionalProperties: false
- required:
- - users
- - institutionId
- OnboardingResponse:
- properties:
- token:
- type: string
- document:
- type: string
- format: binary
- additionalProperties: false
- required:
- - token
- - document
- RelationshipInfo:
- type: object
- properties:
- id:
- type: string
- format: uuid
- from:
- type: string
- format: uuid
- name:
- type: string
- surname:
- type: string
- email:
- type: string
- role:
- $ref: '#/components/schemas/PartyRole'
- product:
- $ref: '#/components/schemas/ProductInfo'
- state:
- $ref: '#/components/schemas/RelationshipState'
- createdAt:
- type: string
- format: date-time
- updatedAt:
- type: string
- format: date-time
- additionalProperties: false
- required:
- - id
- - from
- - name
- - surname
- - role
- - product
- - state
- - createdAt
- RelationshipsResponse:
- type: array
- items:
- $ref: '#/components/schemas/RelationshipInfo'
- User:
- properties:
- name:
- type: string
- surname:
- type: string
- taxCode:
- type: string
- role:
- $ref: '#/components/schemas/PartyRole'
- email:
- type: string
- product:
- type: string
- productRole:
- type: string
- additionalProperties: false
- required:
- - name
- - surname
- - taxCode
- - role
- - product
- - productRole
- PersonInfo:
- properties:
- name:
- type: string
- surname:
- type: string
- taxCode:
- type: string
- additionalProperties: false
- required:
- - name
- - surname
- - taxCode
- ProductInfo:
- type: object
- properties:
- id:
- type: string
- role:
- type: string
- createdAt:
- type: string
- format: date-time
- required:
- - id
- - role
- - createdAt
- OnboardingData:
- properties:
- institutionId:
- type: string
- description:
- type: string
- taxCode:
- type: string
- digitalAddress:
- type: string
- state:
- $ref: '#/components/schemas/RelationshipState'
- role:
- $ref: '#/components/schemas/PartyRole'
- productInfo:
- $ref: '#/components/schemas/ProductInfo'
- attributes:
- type: array
- description: certified attributes bound to this institution
- items:
- $ref: '#/components/schemas/Attribute'
- additionalProperties: false
- required:
- - institutionId
- - taxCode
- - description
- - digitalAddress
- - state
- - role
- - productInfo
- - attributes
- Attribute:
- type: object
- properties:
- id:
- type: string
- name:
- type: string
- description:
- type: string
- required:
- - id
- - name
- - description
- OnboardingInfo:
- properties:
- person:
- $ref: '#/components/schemas/PersonInfo'
- institutions:
- type: array
- items:
- $ref: '#/components/schemas/OnboardingData'
- additionalProperties: false
- required:
- - person
- - institutions
- Products:
- type: object
- properties:
- products:
- type: array
- items:
- $ref: '#/components/schemas/ProductInfo'
- required:
- - products
- ProductRolesResponse:
- title: ProductRolesResponse
- type: object
- description: This payload contains the currently defined bindings between roles and platform roles.
- properties:
- managerRoles:
- type: array
- description: binding between manager and its platform roles
- items:
- type: string
- delegateRoles:
- type: array
- description: binding between delegate and its platform roles
- items:
- type: string
- operatorRoles:
- type: array
- description: binding between operator and its platform roles
- items:
- type: string
- required:
- - managerRoles
- - delegateRoles
- - operatorRoles
- PartyRole:
- type: string
- description: Represents the generic available role types for the relationship
- enum:
- - MANAGER
- - DELEGATE
- - SUB_DELEGATE
- - OPERATOR
- RelationshipState:
- type: string
- description: Represents the party relationship state
- enum:
- - PENDING
- - ACTIVE
- - SUSPENDED
- - DELETED
- - REJECTED
- Problem:
- properties:
- detail:
- description: A human readable explanation specific to this occurrence of the problem.
- example: Request took too long to complete.
- maxLength: 4096
- pattern: '^.{0,1024}$'
- type: string
- status:
- description: The HTTP status code generated by the origin server for this occurrence of the problem.
- example: 503
- exclusiveMaximum: true
- format: int32
- maximum: 600
- minimum: 100
- type: integer
- title:
- description: 'A short, summary of the problem type. Written in english and readable'
- example: Service Unavailable
- maxLength: 64
- pattern: '^[ -~]{0,64}$'
- type: string
- additionalProperties: false
- required:
- - status
- - title
- securitySchemes:
- bearerAuth:
- type: http
- description: 'A bearer token in the format of a JWS and comformed to the specifications included in [RFC8725](https://tools.ietf.org/html/RFC8725).'
- scheme: bearer
- bearerFormat: JWT
diff --git a/src/core/api/party_process/v1/retrieveInstitutionProducts_policy.xml b/src/core/api/party_process/v1/retrieveInstitutionProducts_policy.xml
deleted file mode 100644
index e0246316a..000000000
--- a/src/core/api/party_process/v1/retrieveInstitutionProducts_policy.xml
+++ /dev/null
@@ -1,40 +0,0 @@
-
-
-
-
-
-
-
- application/json
-
- {
- "products": [
- {
- "id": "productId1",
- "role": "string",
- "createdAt": "2021-12-03T17:00:48.638Z"
- },
- {
- "id": "productId2",
- "role": "string",
- "createdAt": "2021-12-03T17:00:48.638Z"
- },
- {
- "id": "productId3",
- "role": "string",
- "createdAt": "2021-12-03T17:00:48.638Z"
- }
- ]
- }
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/core/api/party_registry_proxy/v1/getInstitutionById_policy.xml b/src/core/api/party_registry_proxy/v1/getInstitutionById_policy.xml
deleted file mode 100644
index 01836c154..000000000
--- a/src/core/api/party_registry_proxy/v1/getInstitutionById_policy.xml
+++ /dev/null
@@ -1,133 +0,0 @@
-
-
-
-
-
-
-
-
-
-
- application/json
-
-
- {
- "id": "id",
- "o": "o",
- "ou": "ou",
- "aoo": "aoo",
- "taxCode": "00000000000",
- "administrationCode": "00000000000",
- "category": "c7",
- "managerName": "Mario",
- "managerSurname": "Rossi",
- "description": "AGENCY X",
- "digitalAddress": "mail@pec.mail.org"
- }
-
-
-
-
-
-
-
- application/json
-
-
- {
- "id": "error",
- "o": "errorO",
- "ou": "errorUu",
- "aoo": "errorAoo",
- "taxCode": "11111111111",
- "administrationCode": "11111111111",
- "category": "c7",
- "managerName": "Mario:ERROR",
- "managerSurname": "Rossi_ERROR",
- "description": "AGENCY ERROR",
- "digitalAddress": "mail_ERROR_@pec.mail.org"
- }
-
-
-
-
-
-
-
- application/json
-
-
- {
- "id": "onboarded",
- "o": "onboardedO",
- "ou": "onboardedUu",
- "aoo": "onboardedAoo",
- "taxCode": "22222222222",
- "administrationCode": "22222222222",
- "category": "c7",
- "managerName": "Mario_ONBOARDED",
- "managerSurname": "Rossi_ONBOARDED",
- "description": "AGENCY ONBOARDED",
- "digitalAddress": "mail_ONBOARDED_@pec.mail.org"
- }
-
-
-
-
-
-
-
- application/json
-
-
- {
- "id": "pending",
- "o": "pendingO",
- "ou": "pendingUu",
- "aoo": "pendingAoo",
- "taxCode": "33333333333",
- "administrationCode": "33333333333",
- "category": "c7",
- "managerName": "Mario_PENDING",
- "managerSurname": "Rossi_PENDING",
- "description": "AGENCY PENDING",
- "digitalAddress": "mail_PENDING_@pec.mail.org"
- }
-
-
-
-
-
-
-
- application/json
-
-
- {
- "id": "infoError",
- "o": "infoErrorO",
- "ou": "infoErrorUu",
- "aoo": "infoErrorAoo",
- "taxCode": "99999999999",
- "administrationCode": "99999999999",
- "category": "c7",
- "managerName": "Mario_INFOERROR",
- "managerSurname": "Rossi_INFOERROR",
- "description": "AGENCY INFO ERROR",
- "digitalAddress": "mail_INFOERROR_@pec.mail.org"
- }
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/core/api/party_registry_proxy/v1/party-registry-proxy.yml.tpl b/src/core/api/party_registry_proxy/v1/party-registry-proxy.yml.tpl
deleted file mode 100644
index bd0430af6..000000000
--- a/src/core/api/party_registry_proxy/v1/party-registry-proxy.yml.tpl
+++ /dev/null
@@ -1,286 +0,0 @@
-openapi: 3.0.3
-info:
- title: Party Registry Proxy Server
- description: This service is the proxy to the party registry
- version: 'v1'
- contact:
- name: API Support
- url: http://www.example.com/support
- email: support@example.com
- termsOfService: http://localhost/terms
- x-api-id: an x-api-id
- x-summary: an x-summary
-servers:
- - url: 'https://${host}/${basePath}'
- description: This service is the proxy to the party registry
-tags:
- - name: institution
- description: Retrieve information about institution
- externalDocs:
- description: Find out more
- url: http://swagger.io
- - name: health
- description: Verify service status
- externalDocs:
- description: Find out more
- url: http://swagger.io
-
-paths:
- /institutions/{institutionId}:
- get:
- tags:
- - institution
- summary: Find institution by ID
- description: Returns a single institution
- operationId: getInstitutionById
- parameters:
- - name: institutionId
- in: path
- description: ID of institution to return
- required: true
- schema:
- type: string
- maxLength: 32
- responses:
- '200':
- description: successful operation
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/Institution'
- '400':
- description: Invalid ID supplied
- content:
- application/problem+json:
- schema:
- $ref: '#/components/schemas/Problem'
- '404':
- description: Institution not found
- content:
- application/problem+json:
- schema:
- $ref: '#/components/schemas/Problem'
- /institutions:
- get:
- tags:
- - institution
- summary: Find institution by ID
- description: Returns a single institution
- operationId: searchInstitution
- parameters:
- - in: query
- name: search
- required: true
- schema:
- type: string
- - in: query
- name: page
- required: true
- schema:
- type: integer
- format: int32
- - in: query
- name: limit
- required: true
- schema:
- type: integer
- format: int32
- responses:
- '200':
- description: successful operation
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/Institutions'
- '400':
- description: Invalid ID supplied
- content:
- application/problem+json:
- schema:
- $ref: '#/components/schemas/Problem'
- '404':
- description: Institution not found
- content:
- application/problem+json:
- schema:
- $ref: '#/components/schemas/Problem'
- /categories:
- get:
- tags:
- - institution
- summary: Get all ipa categories
- description: Returns the ipa categories list
- operationId: getCategories
- responses:
- '200':
- description: successful operation
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/Categories'
- '404':
- description: Categories not found
- content:
- application/problem+json:
- schema:
- $ref: '#/components/schemas/Problem'
- /status:
- get:
- tags:
- - health
- summary: Health status endpoint
- description: Return ok
- operationId: getStatus
- responses:
- '200':
- description: successful operation
- content:
- application/problem+json:
- schema:
- $ref: '#/components/schemas/Problem'
-components:
- schemas:
- Institution:
- type: object
- additionalProperties: false
- properties:
- id:
- type: string
- description: iPA code
- example: age
- pattern: '^[a-z]{1,12}$'
- maxLength: 12
- o:
- type: string
- description: o
- example: age
- pattern: '^[a-z]{1,12}$'
- maxLength: 12
- ou:
- type: string
- description: ou
- example: age
- pattern: '^[a-z]{1,12}$'
- maxLength: 12
- aoo:
- type: string
- description: aoo
- example: age
- pattern: '^[a-z]{1,12}$'
- maxLength: 12
- taxCode:
- type: string
- description: institution fiscal code
- example: '00000000000'
- pattern: '[\d]{10,13}'
- maxLength: 13
- category:
- type: string
- description: institution category
- example: 'c7'
- pattern: '[a-zA-Z\d]{1,12}'
- maxLength: 13
- manager:
- $ref: '#/components/schemas/Manager'
- description:
- type: string
- description: institution description
- example: AGENCY X
- format: '^[A-Za-z èàòùìÈÀÒÙÌ]{2,30}$'
- maxLength: 30
- digitalAddress:
- type: string
- description: digital institution address
- example: mail@pec.mail.org
- format: mail
- maxLength: 20
- required:
- - id
- - category
- - taxCode
- - digitalAddress
- - description
- - manager
- Institutions:
- properties:
- items:
- type: array
- items:
- $ref: '#/components/schemas/Institution'
- count:
- type: integer
- format: int64
- required:
- - items
- - count
- Category:
- type: object
- additionalProperties: false
- properties:
- code:
- type: string
- name:
- type: string
- kind:
- type: string
- required:
- - code
- - kind
- - name
- Categories:
- properties:
- items:
- type: array
- items:
- $ref: '#/components/schemas/Category'
- required:
- - items
- Manager:
- type: object
- additionalProperties: false
- properties:
- givenName:
- type: string
- description: manager name
- example: Mario
- format: '^[A-Za-z èàòùìÈÀÒÙÌ]{2,30}$'
- maxLength: 30
- familyName:
- type: string
- description: manager surname
- example: Rossi
- format: '^[A-Za-z èàòùìÈÀÒÙÌ]{2,30}$'
- maxLength: 30
- required:
- - givenName
- - familyName
- Problem:
- properties:
- detail:
- description:
- A human readable explanation specific to this occurrence of the problem.
- example: Request took too long to complete.
- maxLength: 4096
- pattern: '^.{0,1024}$'
- type: string
- status:
- description:
- The HTTP status code generated by the origin server for this occurrence
- of the problem.
- example: 503
- exclusiveMaximum: true
- format: int32
- maximum: 600
- minimum: 100
- type: integer
- title:
- description:
- A short, summary of the problem type. Written in english and readable
- example: Service Unavailable
- maxLength: 64
- pattern: '^[ -~]{0,64}$'
- type: string
- additionalProperties: false
- required:
- - status
- - title
diff --git a/src/core/api/party_registry_proxy/v1/searchInstitution_policy.xml b/src/core/api/party_registry_proxy/v1/searchInstitution_policy.xml
deleted file mode 100644
index 7509e06b0..000000000
--- a/src/core/api/party_registry_proxy/v1/searchInstitution_policy.xml
+++ /dev/null
@@ -1,93 +0,0 @@
-
-
-
-
-
-
-
- application/json
-
-
- {
- "items": [
- {
- "id": "id",
- "o": "o",
- "ou": "ou",
- "aoo": "aoo",
- "taxCode": "00000000000",
- "administrationCode": "00000000000",
- "category": "c7",
- "managerName": "Mario",
- "managerSurname": "Rossi",
- "description": "AGENCY X",
- "digitalAddress": "mail@pec.mail.org"
- },
- {
- "id": "error",
- "o": "errorO",
- "ou": "errorUu",
- "aoo": "errorAoo",
- "taxCode": "11111111111",
- "administrationCode": "11111111111",
- "category": "c7",
- "managerName": "Mario:ERROR",
- "managerSurname": "Rossi_ERROR",
- "description": "AGENCY ERROR",
- "digitalAddress": "mail_ERROR_@pec.mail.org"
- },
- {
- "id": "onboarded",
- "o": "onboardedO",
- "ou": "onboardedUu",
- "aoo": "onboardedAoo",
- "taxCode": "22222222222",
- "administrationCode": "22222222222",
- "category": "c7",
- "managerName": "Mario_ONBOARDED",
- "managerSurname": "Rossi_ONBOARDED",
- "description": "AGENCY ONBOARDED",
- "digitalAddress": "mail_ONBOARDED_@pec.mail.org"
- },
- {
- "id": "pending",
- "o": "pendingO",
- "ou": "pendingUu",
- "aoo": "pendingAoo",
- "taxCode": "33333333333",
- "administrationCode": "33333333333",
- "category": "c7",
- "managerName": "Mario_PENDING",
- "managerSurname": "Rossi_PENDING",
- "description": "AGENCY PENDING",
- "digitalAddress": "mail_PENDING_@pec.mail.org"
- },
- {
- "id": "infoError",
- "o": "infoErrorO",
- "ou": "infoErrorUu",
- "aoo": "infoErrorAoo",
- "taxCode": "99999999999",
- "administrationCode": "99999999999",
- "category": "c7",
- "managerName": "Mario_INFOERROR",
- "managerSurname": "Rossi_INFOERROR",
- "description": "AGENCY INFO ERROR",
- "digitalAddress": "mail_INFOERROR_@pec.mail.org"
- }
- ],
- "count": 5
- }
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/core/apim.tf b/src/core/apim.tf
deleted file mode 100644
index f24fabd98..000000000
--- a/src/core/apim.tf
+++ /dev/null
@@ -1,346 +0,0 @@
-# APIM subnet
-module "apim_snet" {
- source = "git::https://github.com/pagopa/azurerm.git//subnet?ref=v1.0.58"
- name = format("%s-apim-snet", local.project)
- resource_group_name = azurerm_resource_group.rg_vnet.name
- virtual_network_name = module.vnet.name
- address_prefixes = var.cidr_subnet_apim
-
- enforce_private_link_endpoint_network_policies = true
- service_endpoints = ["Microsoft.Web"]
-}
-
-resource "azurerm_resource_group" "rg_api" {
- name = format("%s-api-rg", local.project)
- location = var.location
-
- tags = var.tags
-}
-
-locals {
-
- origins = {
- base = concat(
- [
- format("https://api.%s.%s", var.dns_zone_prefix, var.external_domain),
- format("https://%s.%s", var.dns_zone_prefix, var.external_domain),
- ],
- var.env_short != "p" ? ["https://localhost:3000", "http://localhost:3000", "https://localhost:3001", "http://localhost:3001"] : []
- ),
- spidAcsOrigins = concat(
- var.enable_spid_test ? [format("https://%s", module.spid-test-env.spid_testenv_url)] : [],
- [
- "https://id.lepida.it",
- "https://identity.infocert.it",
- "https://identity.sieltecloud.it",
- "https://idp.namirialtsp.com",
- "https://login.id.tim.it",
- "https://loginspid.aruba.it",
- "https://posteid.poste.it",
- "https://spid.intesa.it",
- "https://spid.register.it"
- ]
- )
- }
-}
-
-###########################
-## Api Management (apim) ##
-###########################
-
-module "apim" {
- source = "git::https://github.com/pagopa/azurerm.git//api_management?ref=v1.0.58"
- subnet_id = module.apim_snet.id
- location = azurerm_resource_group.rg_api.location
- name = format("%s-apim", local.project)
- resource_group_name = azurerm_resource_group.rg_api.name
- publisher_name = var.apim_publisher_name
- publisher_email = data.azurerm_key_vault_secret.apim_publisher_email.value
- sku_name = var.apim_sku
- virtual_network_type = "External"
-
- redis_connection_string = null
- redis_cache_id = null
-
- # This enables the Username and Password Identity Provider
- sign_up_enabled = false
- lock_enable = false
-
- application_insights_instrumentation_key = azurerm_application_insights.application_insights.instrumentation_key
-
- xml_content = templatefile("./api/base_policy.tpl", {
- origins = local.origins.base
- })
-
- tags = var.tags
-
- depends_on = [
- azurerm_application_insights.application_insights
- ]
-}
-
-#########
-## API ##
-#########
-
-## monitor ##
-module "monitor" {
- source = "git::https://github.com/pagopa/azurerm.git//api_management_api?ref=v1.0.58"
- name = format("%s-monitor", var.env_short)
- api_management_name = module.apim.name
- resource_group_name = azurerm_resource_group.rg_api.name
-
- description = "Monitor"
- display_name = "Monitor"
- path = ""
- protocols = ["https"]
-
- service_url = null
-
- content_format = "openapi"
- content_value = templatefile("./api/monitor/openapi.json.tpl", {
- host = "selc-d-apim.azure-api.net" //azurerm_api_management_custom_domain.api_custom_domain.proxy[0].host_name
- })
-
- xml_content = file("./api/base_policy.xml")
-
- subscription_required = false
-
- api_operation_policies = [
- {
- operation_id = "get"
- xml_content = file("./api/monitor/mock_policy.xml")
- }
- ]
-}
-
-resource "azurerm_api_management_api_version_set" "apim_hub_spid_login_api" {
- name = format("%s-spid-login-api", var.env_short)
- resource_group_name = azurerm_resource_group.rg_api.name
- api_management_name = module.apim.name
- display_name = "SPID"
- versioning_scheme = "Segment"
-}
-
-module "apim_hub_spid_login_api_v1" {
- source = "git::https://github.com/pagopa/azurerm.git//api_management_api?ref=v1.0.58"
- name = format("%s-spid-login-api-v1", local.project)
- api_management_name = module.apim.name
- resource_group_name = azurerm_resource_group.rg_api.name
- version_set_id = azurerm_api_management_api_version_set.apim_hub_spid_login_api.id
-
-
- description = "Login SPID Service Provider"
- display_name = "SPID V1"
- path = "spid"
- api_version = "v1"
- protocols = ["https"]
-
- service_url = format("http://%s/spid/v1", var.reverse_proxy_ip)
-
- content_format = "swagger-json"
- content_value = templatefile("./api/hubspidlogin_api/v1/swagger.json.tpl", {
- host = "selc-d-apim.azure-api.net" //azurerm_api_management_custom_domain.api_custom_domain.proxy[0].host_name
- })
-
- xml_content = file("./api/base_policy.xml")
-
- subscription_required = false
-
-
- api_operation_policies = [
- {
- operation_id = "postACS"
- xml_content = templatefile("./api/hubspidlogin_api/v1/postacs_policy.xml.tpl", {
- origins = local.origins.spidAcsOrigins
- })
- },
- {
- operation_id = "getMetadata"
- xml_content = file("./api/hubspidlogin_api/v1/metadata_policy.xml.tpl")
- }
- ]
-}
-
-resource "azurerm_api_management_api_version_set" "apim_uservice_party_process" {
- name = format("%s-party-prc-api", var.env_short)
- resource_group_name = azurerm_resource_group.rg_api.name
- api_management_name = module.apim.name
- display_name = "Party Process Micro Service"
- versioning_scheme = "Segment"
-}
-
-module "apim_uservice_party_process_v1" {
- source = "git::https://github.com/pagopa/azurerm.git//api_management_api?ref=v1.0.58"
- name = format("%s-party-prc-api-v1", local.project)
- api_management_name = module.apim.name
- resource_group_name = azurerm_resource_group.rg_api.name
- version_set_id = azurerm_api_management_api_version_set.apim_uservice_party_process.id
-
-
- description = "This service is the party process"
- display_name = "Party Process Micro Service V1"
- path = "party-process"
- api_version = "v1"
- protocols = ["https"]
-
- service_url = format("http://%s/party-process/v1", var.reverse_proxy_ip)
-
- content_format = "openapi"
- content_value = templatefile("./api/party_process/v1/party-process.yml.tpl", {
- host = "selc-d-apim.azure-api.net" //azurerm_api_management_custom_domain.api_custom_domain.proxy[0].host_name
- basePath = "party-process/v1"
- })
-
- xml_content = file("./api/base_policy.xml")
-
- subscription_required = false
-
- // TODO these are mocks! remove me after integration
- api_operation_policies = [
- {
- operation_id = "getOnboardingInfo"
- xml_content = file("./api/party_process/v1/getOnBoardingInfo_policy.xml")
- },
- {
- operation_id = "invalidateOnboarding"
- xml_content = file("./api/party_process/v1/invalidateOnboarding_policy.xml")
- },
- {
- operation_id = "confirmOnboarding"
- xml_content = file("./api/party_process/v1/confirmOnboarding_policy.xml")
- },
- {
- operation_id = "retrieveInstitutionProducts"
- xml_content = file("./api/party_process/v1/retrieveInstitutionProducts_policy.xml")
- },
- {
- operation_id = "onboardingOrganization"
- xml_content = file("./api/party_process/v1/onboardingOrganization_policy.xml")
- },
- ]
-}
-
-resource "azurerm_api_management_api_version_set" "apim_uservice_party_management" {
- name = format("%s-party-mgmt-api", var.env_short)
- resource_group_name = azurerm_resource_group.rg_api.name
- api_management_name = module.apim.name
- display_name = "Party Management Micro Service"
- versioning_scheme = "Segment"
-}
-
-module "apim_uservice_party_management_v1" {
- source = "git::https://github.com/pagopa/azurerm.git//api_management_api?ref=v1.0.58"
- name = format("%s-party-mgmt-api-v1", local.project)
- api_management_name = module.apim.name
- resource_group_name = azurerm_resource_group.rg_api.name
- version_set_id = azurerm_api_management_api_version_set.apim_uservice_party_management.id
-
-
- description = "This service is the party manager"
- display_name = "Party Management Micro Service V1"
- path = "party-management"
- api_version = "v1"
- protocols = ["https"]
-
- service_url = format("http://%s/party-management/v1", var.reverse_proxy_ip)
-
- content_format = "openapi"
- content_value = templatefile("./api/party_management/v1/party-management.yml.tpl", {
- host = "selc-d-apim.azure-api.net" // azurerm_api_management_custom_domain.api_custom_domain.proxy[0].host_name
- basePath = "party-management/v1"
- })
-
- xml_content = file("./api/base_policy.xml")
-
- subscription_required = false
-
- // TODO these are mocks! remove me after integration
- api_operation_policies = [
- {
- operation_id = "getOrganizationById"
- xml_content = file("./api/party_management/v1/getOrganizationById_policy.xml")
- }
- ]
-}
-
-resource "azurerm_api_management_api_version_set" "apim_uservice_party_registry_proxy" {
- name = format("%s-party-reg-proxy-api", var.env_short)
- resource_group_name = azurerm_resource_group.rg_api.name
- api_management_name = module.apim.name
- display_name = "Party Registry Proxy Server"
- versioning_scheme = "Segment"
-}
-
-module "apim_uservice_party_registry_proxy_v1" {
- source = "git::https://github.com/pagopa/azurerm.git//api_management_api?ref=v1.0.58"
- name = format("%s-party-reg-proxy-api-v1", local.project)
- api_management_name = module.apim.name
- resource_group_name = azurerm_resource_group.rg_api.name
- version_set_id = azurerm_api_management_api_version_set.apim_uservice_party_registry_proxy.id
-
-
- description = "This service is the proxy to the party registry"
- display_name = "Party Registry Proxy Server V1"
- path = "party-registry-proxy"
- api_version = "v1"
- protocols = ["https"]
-
- service_url = format("http://%s/party-registry-proxy/v1", var.reverse_proxy_ip)
-
- content_format = "openapi"
- content_value = templatefile("./api/party_registry_proxy/v1/party-registry-proxy.yml.tpl", {
- host = "selc-d-apim.azure-api.net" //azurerm_api_management_custom_domain.api_custom_domain.proxy[0].host_name
- basePath = "party-registry-proxy/v1"
- })
-
- xml_content = file("./api/base_policy.xml")
-
- subscription_required = false
-
- // TODO these are mocks! remove me after integration
- api_operation_policies = [
- {
- operation_id = "searchInstitution"
- xml_content = file("./api/party_registry_proxy/v1/searchInstitution_policy.xml")
- }, {
- operation_id = "getInstitutionById"
- xml_content = file("./api/party_registry_proxy/v1/getInstitutionById_policy.xml")
- }
- ]
-}
-
-resource "azurerm_api_management_api_version_set" "apim_b4f_dashboard" {
- name = format("%s-b4f-dashboard-api", var.env_short)
- resource_group_name = azurerm_resource_group.rg_api.name
- api_management_name = module.apim.name
- display_name = "Self Care Dashboard"
- versioning_scheme = "Segment"
-}
-
-module "apim_b4f_dashboard_v1" {
- source = "git::https://github.com/pagopa/azurerm.git//api_management_api?ref=v1.0.58"
- name = format("%s-b4f-dashboard-api-v1", local.project)
- api_management_name = module.apim.name
- resource_group_name = azurerm_resource_group.rg_api.name
- version_set_id = azurerm_api_management_api_version_set.apim_b4f_dashboard.id
-
-
- description = "Self Care Dashboard API documentation"
- display_name = "Self Care Dashboard V1"
- path = "dashboard"
- api_version = "v1"
- protocols = ["https"]
-
- service_url = format("http://%s/dashboard/v1", var.reverse_proxy_ip)
-
- content_format = "openapi"
- content_value = templatefile("./api/dashboard/v1/dashboard-openapi.json.tpl", {
- host = "selc-d-apim.azure-api.net" //azurerm_api_management_custom_domain.api_custom_domain.proxy[0].host_name
- basePath = "dashboard/v1"
- })
-
- xml_content = file("./api/base_policy.xml")
-
- subscription_required = false
-}
diff --git a/src/core/env/dev/terraform.tfvars b/src/core/env/dev/terraform.tfvars
index aa52ce335..93985414a 100644
--- a/src/core/env/dev/terraform.tfvars
+++ b/src/core/env/dev/terraform.tfvars
@@ -22,7 +22,6 @@ cidr_subnet_redis = ["10.1.132.0/24"]
cidr_subnet_vpn = ["10.1.133.0/24"]
cidr_subnet_dns_forwarder = ["10.1.134.0/29"]
cidr_subnet_cosmosdb_mongodb = ["10.1.135.0/24"]
-cidr_subnet_apim = ["10.1.136.0/24"]
cidr_subnet_contract_storage = ["10.1.137.0/24"]
# dns
@@ -34,10 +33,6 @@ azdo_sp_tls_cert_enabled = true
enable_azdoa = true
enable_iac_pipeline = true
-# apim
-apim_publisher_name = "pagoPA SelfCare DEV"
-apim_sku = "Developer_1"
-
# app_gateway
app_gateway_api_certificate_name = "api-dev-selfcare-pagopa-it"
diff --git a/src/core/env/prod/terraform.tfvars b/src/core/env/prod/terraform.tfvars
index 14a5f1cd6..e0e21cf64 100644
--- a/src/core/env/prod/terraform.tfvars
+++ b/src/core/env/prod/terraform.tfvars
@@ -22,7 +22,6 @@ cidr_subnet_redis = ["10.1.132.0/24"]
cidr_subnet_vpn = ["10.1.133.0/24"]
cidr_subnet_dns_forwarder = ["10.1.134.0/29"]
cidr_subnet_cosmosdb_mongodb = ["10.1.135.0/24"]
-cidr_subnet_apim = ["10.1.136.0/24"]
cidr_subnet_contract_storage = ["10.1.137.0/24"]
# dns
@@ -34,10 +33,6 @@ azdo_sp_tls_cert_enabled = true
enable_azdoa = true
enable_iac_pipeline = true
-# apim
-apim_publisher_name = "pagoPA SelfCare PROD"
-apim_sku = "Developer_1"
-
# app_gateway
app_gateway_api_certificate_name = "api-selfcare-pagopa-it"
app_gateway_min_capacity = 0 # todo change to at least 1
diff --git a/src/core/env/uat/terraform.tfvars b/src/core/env/uat/terraform.tfvars
index 8c38a91bb..74d2f2c5c 100644
--- a/src/core/env/uat/terraform.tfvars
+++ b/src/core/env/uat/terraform.tfvars
@@ -22,7 +22,6 @@ cidr_subnet_redis = ["10.1.132.0/24"]
cidr_subnet_vpn = ["10.1.133.0/24"]
cidr_subnet_dns_forwarder = ["10.1.134.0/29"]
cidr_subnet_cosmosdb_mongodb = ["10.1.135.0/24"]
-cidr_subnet_apim = ["10.1.136.0/24"]
cidr_subnet_contract_storage = ["10.1.137.0/24"]
# dns
@@ -34,10 +33,6 @@ azdo_sp_tls_cert_enabled = true
enable_azdoa = true
enable_iac_pipeline = true
-# apim
-apim_publisher_name = "pagoPA SelfCare UAT"
-apim_sku = "Developer_1"
-
# app_gateway
app_gateway_api_certificate_name = "api-uat-selfcare-pagopa-it"
diff --git a/src/core/mongodb.tf b/src/core/mongodb.tf
index 5a530d006..5774b04bf 100644
--- a/src/core/mongodb.tf
+++ b/src/core/mongodb.tf
@@ -11,7 +11,7 @@ locals {
]
}
-# APIM subnet
+# cosmosdb-Mongo subnet
module "cosmosdb_mongodb_snet" {
source = "git::https://github.com/pagopa/azurerm.git//subnet?ref=v1.0.58"
name = format("%s-cosmosb-mongodb-snet", local.project)
diff --git a/src/core/security_kv.tf b/src/core/security_kv.tf
index bcd420d73..1ff65bf8c 100644
--- a/src/core/security_kv.tf
+++ b/src/core/security_kv.tf
@@ -20,18 +20,6 @@ module "key_vault" {
tags = var.tags
}
-# ## api management policy ##
-resource "azurerm_key_vault_access_policy" "api_management_policy" {
- key_vault_id = module.key_vault.id
- tenant_id = data.azurerm_client_config.current.tenant_id
- object_id = module.apim.principal_id
-
- key_permissions = []
- secret_permissions = ["Get", "List"]
- certificate_permissions = ["Get", "List"]
- storage_permissions = []
-}
-
## user assined identity: (application gateway) ##
resource "azurerm_key_vault_access_policy" "app_gateway_policy" {
key_vault_id = module.key_vault.id
diff --git a/src/core/spid_testenv_conf/config.yaml b/src/core/spid_testenv_conf/config.yaml
index 708fe0292..191e43d6f 100644
--- a/src/core/spid_testenv_conf/config.yaml
+++ b/src/core/spid_testenv_conf/config.yaml
@@ -3,7 +3,7 @@
#########################
# The base URL where spid-testenv2 is reachable at.
-base_url: "https://selc-u-spid-testenv.westeurope.azurecontainer.io"
+base_url: "https://selc-d-spid-testenv.westeurope.azurecontainer.io"
# Key and certificate used to sign SAML messages.
key_file: "./conf/idp.key"
@@ -16,7 +16,7 @@ cert_file: "./conf/idp.crt"
# using different sources.
metadata:
remote:
- - "https://api.uat.selfcare.pagopa.it/spid/v1/metadata"
+ - "https://api.dev.selfcare.pagopa.it/spid/v1/metadata"
# Application configuration
diff --git a/src/core/variables.tf b/src/core/variables.tf
index 33f9c83b0..766ae0896 100644
--- a/src/core/variables.tf
+++ b/src/core/variables.tf
@@ -403,12 +403,6 @@ variable "cidr_vnet" {
description = "Virtual network address space."
}
-variable "cidr_subnet_apim" {
- type = list(string)
- description = "Address prefixes subnet api management."
- default = null
-}
-
variable "cidr_subnet_appgateway" {
type = list(string)
description = "Application gateway address space."
@@ -458,15 +452,6 @@ variable "dns_zone_prefix" {
description = "The dns subdomain."
}
-# apim
-variable "apim_publisher_name" {
- type = string
-}
-
-variable "apim_sku" {
- type = string
-}
-
# cdn
variable "azuread_service_principal_azure_cdn_frontdoor_id" {
type = string