🏢 Feature Company
La feature Company gestisce tutte le operazioni legate alla configurazione, amministrazione e gestione di una azienda all’interno della piattaforma.
È accessibile solo ad utenti autenticati e collegati ad una company tramite il CompanyGuard.
📂 Struttura dei file principali
company/
├── company.component.ts # Entry point della feature
├── company.component.html # Template principale
├── company.module.ts # Modulo Angular della feature
├── service/
│ └── role-handler-form.service.ts # Gestione ruoli utente
├── company-properties/ # Gestione proprietà base della company
│ ├── company-properties.component.ts
│ ├── company-properties.component.html
│ └── company-properties.module.ts
├── partners/ # Gestione partner aziendali
│ ├── partners.component.ts
│ ├── partners.component.html
│ └── partners.module.ts
├── location-detail/ # Gestione sedi e dettagli localizzativi
│ ├── location-detail.component.ts
│ ├── location-detail.component.html
│ └── location-detail.module.ts
├── document-verification/ # Flusso di verifica documentale
│ ├── document-verification.component.ts
│ ├── document-verification.component.html
│ └── document-verification.module.ts
└── users/ # Gestione accessi e utenti della company
├── users.component.ts
├── users.component.html
└── users.module.ts
🔑 Componenti principali
CompanyComponent
- È il contenitore principale della sezione.
- Carica i sottocomponenti tramite routing.
- Coordina le interazioni tra i moduli (
properties,partners,locations,users,document-verification).
CompanyPropertiesComponent
- Permette di modificare informazioni base della company (nome, logo, descrizione, tipologia).
- Usa form Angular per la gestione dei dati.
- Comunica con i services backend.
PartnersComponent
- Gestisce l’elenco dei partner collegati alla company.
- Permette aggiunta, rimozione e aggiornamento partner.
LocationDetailComponent
- Gestisce le sedi (indirizzi, dettagli, contatti).
- Supporta creazione, modifica e cancellazione location.
DocumentVerificationComponent
- Gestisce il flusso di verifica documentale.
- Permette upload dei documenti richiesti.
- Mostra lo stato della verifica (pending, accettata, rifiutata).
UsersComponent
- Gestione utenti e accessi.
- Permette inviti, assegnazione ruoli e gestione permessi.
- Usa
RoleHandlerFormServiceper la gestione ruoli.
🔄 Flussi principali
-
Accesso alla sezione
AuthGuardverifica autenticazione.CompanyGuardcontrolla che l’utente sia connesso ad una company.- Viene caricato
CompanyComponent.
-
Gestione proprietà
CompanyPropertiesComponentmodifica i dati base della company.- Le modifiche vengono propagate allo store e sincronizzate col backend.
-
Gestione utenti
UsersComponentmostra e gestisce utenti e ruoli.RoleHandlerFormServicecentralizza la gestione dei ruoli.
-
Gestione sedi
LocationDetailComponentgestisce sedi e indirizzi.- Dati salvati su backend e mostrati all’utente.
-
Gestione partner
PartnersComponentmantiene i partner associati alla company.
-
Verifica documentale
DocumentVerificationComponentcarica i documenti.- Stato sincronizzato con backend e mostrato in UI.
🤝 Interazioni tra componenti
CompanyComponent→ orchestratore, carica e collega i moduli.UsersComponent↔RoleHandlerFormService→ gestione ruoli e permessi.DocumentVerificationComponent↔ backend → upload e stato documenti.CompanyPropertiesComponent→ gestione metadati base.PartnersComponent/LocationDetailComponent→ gestione dati operativi.
✅ Conclusione
La feature Company è il fulcro della gestione aziendale lato utente.
Centralizza configurazione, gestione utenti e sedi, verifica documentale e partner, orchestrando il tutto tramite CompanyComponent.