# Feature gestione del profilo utente

## Contesto

L'utente che si registra all'applicazione attraverso l'endpoint "/api/register" crea un entità User (@src/main/java/it/sw/pa/comune/artegna/domain/User.java). Associata all'entità User con una relazione OneToOne c'è l'entità UtenteApp (@src/main/java/it/sw/pa/comune/artegna/domain/UtenteApp.java): questa entità contiene informazioni essenziali da inserire nella richiesta di prenotazione, quindi è necessario, anche se non obbligatorio, che l'utente, dopo la registrazione possa accedere ad una interfaccia nella quale inserire e modificare i propri dati dell'UtenteApp.

## Dettagli funzionalità

Per l'utente che ha completato la propria registrazione all'applicazione, va previsto un controllo sull'inserimento dei dati dell'entità UtenteApp associata al proprio User. Nel caso l'utente non abbia ancora inserito le informazioni dell'entità UtenteApp deve essergli proposta una interfaccia per completare il suo profilo con le informazioni richieste.L'interfaccia deve essere un form suddiviso in due diverse sezioni:
* la prima sezione contiene i campi associati ai dati personali dell'utente: nome, cognome, data di nascita, luogo di nascita, residente, telefono; il campo username e email devono essere valorizzati dall'entità User (proprietà "internalUser") associata e devono essere campi disabilitati per questo form.
* la seconda sezione, facoltativa, contiene le informazioni riguardo alla società o associazione per la quale l'utente intende operare le prenotazioni: nome società, sede, codice fiscale, telefono della società, email della società.
