Skip to main content
NotificationRecipient representa a entrega e o estado individual de uma Notification para um usuário. Ele permite controlar leitura, arquivamento e remoção por destinatário.

Campos

Relacionamentos

Regras de negócio

  • O par notificationId + recipientUserId deve ser único.
  • NotificationRecipient guarda o estado por usuário; a mesma Notification pode ter múltiplos recipients.
  • UNREAD é o estado inicial.
  • READ deve preencher readAt.
  • ARCHIVED deve preencher archivedAt.
  • deliveredAt representa entrega in-app ou realtime; envio externo por email/WhatsApp não é controlado por esta entidade.
  • Remoção lógica afeta apenas a visualização do destinatário e não apaga a Notification.
  • O destinatário só pode ler, arquivar ou remover recipients da própria audiência autenticada.
  • OPS aplica escopo obrigatório de organização; Customer, Driver e BKO aplicam escopo do próprio usuário destinatário.
  • Criação, marcação como lida, arquivamento, remoção e marcação em massa como lida publicam eventos notification_recipient.*.
  • As mesmas mutações solicitam auditoria por audit_log.requested com domain = COMMUNICATION e resource = NOTIFICATION_RECIPIENT.

Enums

NotificationRecipientStatus

Example