Skip to main content

🏢 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 RoleHandlerFormService per la gestione ruoli.

🔄 Flussi principali

  1. Accesso alla sezione

    • AuthGuard verifica autenticazione.
    • CompanyGuard controlla che l’utente sia connesso ad una company.
    • Viene caricato CompanyComponent.
  2. Gestione proprietà

    • CompanyPropertiesComponent modifica i dati base della company.
    • Le modifiche vengono propagate allo store e sincronizzate col backend.
  3. Gestione utenti

    • UsersComponent mostra e gestisce utenti e ruoli.
    • RoleHandlerFormService centralizza la gestione dei ruoli.
  4. Gestione sedi

    • LocationDetailComponent gestisce sedi e indirizzi.
    • Dati salvati su backend e mostrati all’utente.
  5. Gestione partner

    • PartnersComponent mantiene i partner associati alla company.
  6. Verifica documentale

    • DocumentVerificationComponent carica i documenti.
    • Stato sincronizzato con backend e mostrato in UI.

🤝 Interazioni tra componenti

  • CompanyComponent → orchestratore, carica e collega i moduli.
  • UsersComponentRoleHandlerFormService → 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.