# Model

Elenco dei model ritornati dalle API di lettura

### Link

Un link è l'entità che indica il legame fra un item gestore e un item gestito. Contiene tutte le connessioni relative alla coppia di item.

```JSON
{
  "id": "string",
  "managerId": "string",
  "managedId": "string",
  "managerDescription": "string",
  "managedDescription": "string",
  "connections": [...]
}
```

- **id:** identificativo univoco della connessione
- **managerId:** identificativo dell'item gestore della connessione
- **managedId:** identificativo dell'item gestito nella connessione
- **managerDescription:** ragione sociale dell'item gestore
- **managedDescription:** ragione sociale dell'item gestito
- **connections:** array contenente tutte le [connessioni](#bkmrk-connection) relative alla coppia gestore/gestita

### Connection

Entità che esprime una connessione per uno specifico servizio

```JSON
{
  "id": "string",
  "status": {
    "active": true,
    "activatedAt": "2020-09-10T14:30:22.575Z",
    "activatedBy": "string",
    "createdAt": "2020-09-10T14:30:22.575Z",
    "createdBy": "string",
    "modifiedAt": "2020-09-10T14:30:22.575Z",
    "modifiedBy": "string",
    "deleted": true,
    "deletedAt": "2020-09-10T14:30:22.575Z",
    "deletedBy": "string",
    "status": "string",
    "certificationStatus": "string"
  },
  "appId": "string",
  "featureCode": "string",
  "permission": "string",
  "approvalType": "string",
  "serviceId": "string"
}
```

- **id:** identificativo univoco della connessione
- **status:** informazioni sullo stato della connessione 
    - **active:** se true, la connessione è attiva ed utilizzabile
    - **activatedAt:** data ed ora di attivazione della connessione espressa come stringa
    - **activatedBy:** identificativo dell'utenza che ha creato la connessione
    - **createdAt:** data ed ora di creazione della connessione espressa come stringa
    - **createdBy:** identificativo dell'utenza che ha creato la connessione
    - **modifiedAt:** data ed ora di ultima modifica della connessione, espressa come stringa
    - **modifiedBy:** identificativo dell'utenza che ha modificato la connessione
    - **deleted:** se true, la connessione è stata eliminata e non è più utilizzabile
    - **deletedAt:** data di cancellazione della connessione, espressa come stringa
    - **deletedBy:** identificativo dell'utenza che ha effettuato la cancellazione
    - **status:** stato attuale della connessione. Per maggiori informazioni, vedi [ConnectionStatus](#h_47025088991599749112400)
    - **certificationStatus:** stato di certificazione della connessione. Per maggiori informazioni, vedi [CertificationStatus](#h_958833206111599749123457)
- **appId:** identificativo dell'applicazione a cui fa riferimento la connessione
- **featureCode:** identificativo della feature dell'applicazione a cui fa riferimento la connessione. Se l'applicazione non ha multiple feature, il campo è null
- **permission:** stringa che identifica il livello di permessi che la connessione fornisce al gestore. Valori possibili: **READ**, **READ\_WRITE**
- **serviceId:** identificativo del servizio al quale fa riferimento la connessione

### ConnectionStatus

Enum che indica lo [stato attuale di una connessione](https://digital-docs.ts-paas.com/link/93#bkmrk-flussi-di-stato "Flussi di stato"). I valori possibili sono:

- **PENDING\_REQUEST**: la connessione è in attesa di [accettazione](https://digital-docs.ts-paas.com/link/94#bkmrk-post-%2Fapi%2Fv2%2Fnotific "Accettazione di una connessione") o [rifiuto](https://digital-docs.ts-paas.com/link/94#bkmrk-post-%2Fapi%2Fv2%2Fnotific-1 "Rifiuto di una connessione") da parte di una gestita
- **REQUEST\_REJECTED**: la richiesta di connessione è stata rifiutata dalla gestita
- **UNVERIFIED**: la connessione è correttamente attiva, ma non ha ottenuto alcun tipo di [validazione](https://digital-docs.ts-paas.com/link/93#bkmrk-flusso-status "Flusso di validazione")
- **PENDING\_VALIDATION**: il gestore della connessione ha caricato un Atto d'Affidamento ed è ora in attesa che esso venga accettato o rifiutato
- **VALIDATION\_REJECTED**: l'Atto d'Affidamento caricato dal gestore è stato rifiutato, ed è quindi necessario procedere con l'upload di un nuovo AdA
- **VALIDATED**: la connessione è in stato convalidato

### CertificationStatus

Enum che indica lo [stato di certificazione attuale di una connessione](https://digital-docs.ts-paas.com/link/93#bkmrk-flusso-certification "Flusso di certificazione"). I valori possibili sono:

- **AWAITING\_UPLOAD**: un AdA precedentemente caricato per la connessione è stato invalidato ed è quindi necessario procedere con un nuovo upload
- **AWAITING\_APPROVAL**: il gestore della connessione ha caricato un Atto d'Affidamento ed è ora in attesa che esso venga accettato o rifiutato
- **CERTIFIED**: la connessione è stata correttamente certificata