Files
obis-gestionale-security/docs/development/devlog/2025-12-15-121500_phase5_notifications.md
2025-12-15 13:16:19 +01:00

1.2 KiB

Fase 5: Notifiche e Comunicazioni

Data: 2025-12-15 Stato: In Corso

Obiettivo

Implementare il sistema di generazione e invio delle notifiche di scadenza alle aziende.

Requisiti

  1. Generazione Automatica: Il sistema deve identificare i corsi in scadenza (es. preavviso 30gg) e generare una "proposta di notifica".
  2. Review Umana: Le notifiche non partono subito; l'operatore deve poterle visionare nella sezione "Comunicazioni" e approvarle.
  3. Queue System: Gestione dello stato della notifica (Pending -> Sending -> Sent/Error).
  4. Email Templates: Uso di template HTML per le mail.

Piano Tecnico

Backend

  • Installazione nodemailer e ejs per templating.
  • Aggiornamento Schema Prisma: Aggiunta model Notification (type: EXPIRING_REMINDER, status: PENDING/SENT).
  • notification.service.ts:
    • generateReminders(): Scansiona TrainingEvent e crea record Notification.
    • sendPending(ids[]): Invia le mail selezionate.
  • notification.controller.ts: Endpoints per lista, generazione e invio.

Frontend

  • CommunicationsPage.tsx: Tabella delle notifiche generate.
  • Azioni massive: "Genera Nuove" e "Invia Selezionate".