# Model

Elenco dei model ritornati dalle API di lettura

### User

E' il model che definisce l'utente ts-digital, contiene tutte le info relative all'utente.

```JSON
{
  "roles": {},
  "profile": {},
  "status": {}
}
```

- **roles:** array contente tutti i ruoli dell' utente
- **profile:** informazioni sul profilo dell'utente
- **status:** informazioni sullo stato dell'utente

### Role

Entità che descrive un ruolo di uno specifico utente

```JSON
{
  "appId": "string",
  "resourceId": "string",
  "actionKey": "string",
  "featureCode": "string",
  "resourceUuid": "string",
  "createdAt": "2020-09-11T10:01:15.512Z",
  "createdBy": "string"
}
```

- **appId:** identificativo dell'applicazione a cui fa riferimento il ruolo
- **resourceId**: identificativo(id) della risorsa a cui fa riferimento il ruolo
- **actionKey**: identificativo del ruolo
- **featureCode:** identificativo della feature dell'applicazione a cui fa riferimento il ruolo. Se il ruolo non ha feature multiple, il campo è null
- **resourceUuid**: identificativo(uuid) della risorsa a cui fa riferimento il ruolo
- **createdAt:** data di assegnazione ruolo espressa come stringa
- **createdBy**: utente che ha assegnato il ruolo

### Profile

Entità che definisce le info di uno specifico utente

```JSON
{
 "id": "string",
 "type": "string",
 "description": "string",
 "firstName": "string",
 "lastName": "string",
 "language": "string",
 "tsid": "string",
 "ncsId": "string"
}
```

- **id**: identificativo univoco dell' utente
- **type**: tipologia di utente. (PERSONALE, TECNICA)
- **description**: descrizione dell'utente, è valorizzata solo per le utenze tecniche.
- **firstName**: nome dell'utente, è valorizzato solo per le utenze personale
- **lastName**: cognome dell'utente, è valorizzato solo per le utenze personale
- **language**: iso language + country code dell'utente (es. it-IT)
- **tsid:** identificativo univoco Team System.
- **ncsId**: identificativo univoco Notification Center

### Status

Entità che definisce lo stato di uno specifico utente

```JSON
{
 "active": true,
 "activatedAt": "2021-04-20T12:51:15.058Z",
 "activatedBy": "string",
 "createdAt": "2021-04-20T12:51:15.058Z",
 "createdBy": "string",
 "modifiedAt": "2021-04-20T12:51:15.058Z",
 "modifiedBy": "string",
 "deleted": true,
 "deletedAt": "2021-04-20T12:51:15.058Z",
 "deletedBy": "string"
}
```

- **active:** se true, l' utente è attivo ed utilizzabile
- **activatedAt:** data ed ora di attivazione dell'utente espressa come stringa
- **activatedBy:** identificativo dell'utenza che ha attivato l'utente
- **createdAt:** data ed ora di creazione dell'utente espressa come stringa
- **createdBy:** identificativo dell'utenza che ha creato l'utente
- **modifiedAt:** data ed ora di ultima modifica dell'utente espressa come stringa
- **modifiedBy:** identificativo dell'utenza che ha modificato l'utente
- **deleted:** se true, la connessione è stata eliminata e non è più utilizzabile
- **deletedAt:** data di cancellazione dell'utente espressa come stringa
- **deletedBy:** identificativo dell'utenza che ha effettuato la cancellazione