Mark notification as read
PUT/company/notifications/read/:id
Aggiorna lo stato di una notifica per contrassegnarla come letta, registrando la data e l'ora attuale della lettura.
Obiettivo
Consentire alle aziende di contrassegnare le notifiche come lette per mantenere un tracciamento accurato degli avvisi in sospeso e migliorare l'esperienza utente.
Casi d'uso
- Interazione utente: Quando l'utente fa clic su una notifica
- Sincronizzazione multi-dispositivo: Contrassegnare come letta su tutti i dispositivi
- Lettura massiva: Contrassegnare più notifiche in blocco
- Gestione notifiche: Aggiornamento dello stato dal pannello delle notifiche
Flusso di aggiornamento
flowchart TD
A[PUT /read/{id}] --> B{ID Fornito?}
B -->|No| C[Controlla Body]
B -->|Sì| D[Usa ID del Path]
C -->|Trovato| E[Usa ID del Body]
C -->|Non Trovato| F[Controlla Query]
F -->|Trovato| G[Usa ID della Query]
F -->|Non Trovato| H[400 Bad Request]
D --> I{Utente Autenticato?}
E --> I
G --> I
I -->|No| J[404 USER_NOT_FOUND]
I -->|Sì| K{Azienda Esiste?}
K -->|No| L[401 CIA_NOT_FOUND]
K -->|Sì| M{Notifica Esiste?}
M -->|No| N[404 NOTIFICATION_NOT_FOUND]
M -->|Sì| O[Aggiorna Notifica]
O --> P[Imposta isRead: true]
P --> Q[Imposta readedAt: now]
Q --> R[Salva nel Database]
R --> S[Ritorna Notifica - 200]
Flessibilità dei parametri
L'ID della notifica può essere inviato in tre modi (in ordine di priorità):
Request
Responses
- 200
- 401
- 404
Notifica contrassegnata come letta con successo.
Non autorizzato. L'utente non ha un'azienda associata.
CIA_NOT_FOUND:
- L'utente autenticato non ha un'azienda assegnata
- L'azienda è stata disattivata o eliminata
Risorsa non trovata. Ciò può essere dovuto a due ragioni:
USER_NOT_FOUND:
- Il token contiene un ID utente inesistente
NOTIFICATION_NOT_FOUND:
- L'ID fornito non corrisponde a nessuna notifica
- La notifica è stata eliminata in precedenza