Skip to Content
TecnicaFunzionalitaAccount Dipendenti per App Mobile

Account Dipendenti per App Mobile

Panoramica

Sistema per creare account utente per i dipendenti, permettendo loro di accedere all’app mobile per consultare le proprie buste paga e documenti.

Caratteristiche

1. Modello Employee Aggiornato

File: backend/models/Employee.ts

Aggiunto campo:

user_id?: Types.ObjectId; // Account utente collegato

2. API Endpoint

File: src/app/api/employees/[id]/create-account/route.ts

POST - Crea Account

Crea un nuovo account utente per il dipendente.

Richiesta:

{ "email": "dipendente@esempio.it", "password": "password123" }

Risposta:

{ "success": true, "message": "Account dipendente creato con successo", "user": { "_id": "user_id", "email": "dipendente@esempio.it", "firstName": "Mario", "lastName": "Rossi", "role": "staff" } }

Validazioni:

  • Email e password obbligatori
  • Password minimo 8 caratteri
  • Email non già in uso
  • Dipendente non ha già un account
  • Solo owner e manager possono creare account

DELETE - Rimuovi Account

Disattiva l’account del dipendente (mantiene lo storico).

Risposta:

{ "success": true, "message": "Account dipendente rimosso con successo" }

Validazioni:

  • Solo owner può eliminare account
  • Dipendente deve avere un account attivo

3. Interfaccia Utente

File: src/app/(dashboard)/dipendenti/[id]/page.tsx

Funzionalità Aggiunte

  1. Pulsante Crea Account

    • Visibile quando il dipendente non ha un account
    • Colore verde con icona UserPlus
    • Apre modal per inserire email e password
  2. Pulsante Rimuovi Account

    • Visibile quando il dipendente ha un account attivo
    • Colore rosso con icona UserMinus
    • Conferma prima della rimozione
  3. Badge Account Attivo

    • Mostrato nella sezione “Dati Personali”
    • Icona chiave verde quando account attivo
  4. Modal Creazione Account

    • Form con email e password
    • Validazione client-side
    • Pre-compila email se presente nei dati dipendente
    • Note informative per l’utente

Workflow

Creazione Account

  1. Responsabile va nella pagina dettaglio dipendente
  2. Clicca su “Crea Account App”
  3. Inserisce email e password
  4. Sistema crea account con ruolo “staff”
  5. Collega account al dipendente (user_id)
  6. Aggiorna email del dipendente se diversa

Rimozione Account

  1. Responsabile va nella pagina dettaglio dipendente
  2. Clicca su “Rimuovi Account”
  3. Conferma l’azione
  4. Sistema disattiva l’utente (isActive: false)
  5. Rimuove collegamento dal dipendente

Ruoli e Permessi

Creazione Account

  • ✅ Owner
  • ✅ Manager
  • ❌ Altri ruoli

Rimozione Account

  • ✅ Owner
  • ❌ Altri ruoli

Account Dipendente

Gli account creati hanno le seguenti caratteristiche:

  • Ruolo: staff (dipendente)
  • Tenant: Stesso del dipendente
  • Accesso: App mobile per buste paga
  • Email: Per notifiche e recupero password
  • Password: Modificabile dopo primo accesso

Utilizzo App Mobile

I dipendenti con account possono:

  1. Login con email e password
  2. Consultare le proprie buste paga
  3. Scaricare PDF buste paga
  4. Visualizzare documenti personali
  5. Ricevere notifiche email

Note Tecniche

Database

  • Campo user_id opzionale in Employee
  • Indice su user_id per performance
  • Account User con role: "staff"
  • Soft delete (isActive: false) invece di eliminazione

Sicurezza

  • Password hashata automaticamente (bcrypt)
  • JWT per autenticazione API
  • Validazione permessi per ogni operazione
  • Email univoca nel sistema

Bearer Token

I dipendenti possono usare l’autenticazione Bearer Token per l’accesso API (vedi API_DOCUMENTATION.md)

Testing

Test Manuale

  1. Vai su /dipendenti/[id]
  2. Clicca “Crea Account App”
  3. Inserisci email e password
  4. Verifica creazione account
  5. Testa login con credenziali
  6. Verifica badge “Account Attivo”
  7. Testa rimozione account

Curl Example

# Login dipendente curl -X POST https://api.tuodominio.it/api/auth/login \ -H "Content-Type: application/json" \ -d '{ "email": "dipendente@esempio.it", "password": "password123" }' # Ottieni buste paga (con Bearer token) curl -X GET https://api.tuodominio.it/api/payslips \ -H "Authorization: Bearer YOUR_JWT_TOKEN"

Prossimi Sviluppi

  • Reset password via email
  • Notifiche push per nuove buste paga
  • Storico accessi dipendente
  • 2FA opzionale per dipendenti
  • App mobile nativa iOS/Android
Last updated on