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
- Relaciona-se com Notification.
- Relaciona-se com User por
recipientUserId.
Regras de negócio
- O par
notificationId+recipientUserIddeve ser único. NotificationRecipientguarda o estado por usuário; a mesma Notification pode ter múltiplos recipients.UNREADé o estado inicial.READdeve preencherreadAt.ARCHIVEDdeve preencherarchivedAt.deliveredAtrepresenta 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.requestedcomdomain = COMMUNICATIONeresource = NOTIFICATION_RECIPIENT.